Showing posts with label FreeBSD. Show all posts
Showing posts with label FreeBSD. Show all posts

2010-06-05

[筆記] 在 eeebox (B202) 上裝 FreeBSD 8 然後用上面的 Ralink 無線網卡

  1. grab the driver from http://repo.or.cz/w/ralink_drivers/rt2860_fbsd8.git
  2. copy the driver to the target machine, extract, make install, and `kldload rt2860`
  3. assume you know the wireless channel (ex: 6,11.. etc). if you don't know, run WirelessNetView on a windows box.
  4. write ur own /etc/wpa_supplicant.conf:
    network={
    ssid="CCC"
    psk="1111111111"
    }
  5. cmd instructions
    # ifconfig wlan0 create wlandev rt28600 wlanmode sta
    # ifconfig wlan0 channel 11 ssid CCC up
    # wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
    (now switch to another VT)
    # dhclient wlan0

其它自己看:
http://wiki.freebsd.org/AsusEee
http://www.freebsd.org/doc/en/books/handbook/network-wireless.html
http://forums.freebsd.org/showthread.php?t=7010
http://www.nirsoft.net/utils/wireless_network_view.html

2009-01-18

FreeBSD 版號後面的 p 與 # 意思

ptt 的 osuer 問到了
7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #3

7.0-RELEASE FreeBSD 7.0-RELEASE #0
#後面的 數字是代表 使用新kernel 嗎

關於這個 #p 可以看看 /usr/src/sys/conf/newvers.sh

# 後面數字的初始值是 0,隨著每次重新 build 會累加次數
也就是 echo `expr ${v} + 1` > version
比方說打 expr 0 + 1 會得到 1

p 後面的數字,簡單講代表共歷經幾發 SA patch 數
舉個例子:
2008-12-23 發佈了 FreeBSD-SA-08:13.protosw
2009-01-07 發佈了 FreeBSD-SA-09:01.lukemftpd 以及 FreeBSD-SA-09:02.openssl
2009-01-13 發佈了 FreeBSD-SA-09:03.ntpd 以及 FreeBSD-SA-09:04.bind

先就 2008-12-23 的講,請看一下 FreeBSD-SA-08:13.protosw.asc
裡面會有列出哪些已經是有修正過的版本 (Corrected)
Corrected: 2008-12-23 01:23:09 UTC (RELENG_7, 7.1-PRERELEASE)
2008-12-23 01:23:09 UTC (RELENG_7_1, 7.1-RC2)
2008-12-23 01:23:09 UTC (RELENG_7_0, 7.0-RELEASE-p7)
2008-12-23 01:23:09 UTC (RELENG_6, 6.4-STABLE)
2008-12-23 01:23:09 UTC (RELENG_6_4, 6.4-RELEASE-p1)
2008-12-23 01:23:09 UTC (RELENG_6_3, 6.3-RELEASE-p7)

所以若原先你的是 RELENG_7_0 歷經這次 SA 的 patch 更新、compile、install 之後,會是 7.0-RELEASE-p7 才對,因為這是 7.0-RELEASE 出來之後所歷經的第七次 patch。

而 2009-01-07 同日一起發佈的 SA-09:01.lukemftpdFreeBSD-SA-09:02.openssl 若你在這之後也再次循 RELENG_7_0 更新會是 7.0-RELEASE-p8 才對。

同理 2009-01-13 同日所發佈的 FreeBSD-SA-09:03.ntpdFreeBSD-SA-09:04.bind 若你在這之後也再次循 RELENG_7_0 更新會是 7.0-RELEASE-p9 才對。



而 FreeBSD SA 的命名規則是 SA-西元年度後兩位-該年度第幾發


以上如有說錯之處,還請各方先進指正。

2008-02-25

簡介 #bsdchat 一些設定用法

◆ 以 screen + irssi 來處理 Unicode 環境及自動轉碼:

以下步驟主要都是來自這篇《MiniHowToUTF8》,若已經有裝的就可以略過不理。

---
先裝 PieTTY (用 UTF-8 )或 PuTTY 設定的 Window -> Translation 裡,將 "Received data assumed to be in which character set" 設成 UTF-8

再裝 screen:
cd /usr/ports/sysutils/screen ; make install clean

進入 screen 的 Unicode 模式,打 screen -U,或在 ~/.screenrc 設定檔裡寫 defutf8 on
(日後若要 attach 回 screen 則用 screen -rU )

最後裝 irssi (IRC client):
cd /usr/ports/irc/irssi ; make install clean

開始執行
env LANG=zh_TW.UTF-8 irssi -c irc.freenode.net

然後打(下面這些行若懶得設定的話,
可直接抓這檔案存為 ~/.irssi/config
ps.為了怕有人亂 autojoin 進進出出,這設定檔預設不 autojoin)
/set term_charset UTF-8
/set recode_fallback UTF-8
/set recode_out_default_charset UTF-8
/set recode_transliterate on
/recode add #bsdchat
/save


這時候開始打 /j bsdchat 以加入 #bsdchat。
(若還是看不到中文,請先按 ctrl + a 然後打 :encoding utf8 utf8 再按 enter 如下圖)


如果仍然看不到中文或沒辦法輸入 UTF-8 中文,最好檢查一下是否少做了什麼步驟。尤其是 LANG 或 LC_ALL 應該要設成 zh_TW.UTF-8 或 screen 的 UTF-8 模式要開啟之類的...


◆ 記得為自己在 IRC 上所用的 nickname 註冊

請打
/msg nickserv register 想要設定的密碼
來進行註冊,其餘用法請打 /msg chanserv help register 參閱相關說明


◆ QA時間...
(感謝 Cpyang, gslin, Jedi_, jnlin, Eintisy, evilc, llwang 諸位頻眾大德惠賜妙方)

Q:nickserv 跟 chanserv 這是?
A:關於帳號的是 nickserv,關於頻道動作的是 chanserv

Q:關於 nickname 的密碼設定、忘記密碼、被人搶走相關問題,該怎麼辦?
A:/msg nickserv help

Q:
怎麼設定類似自動 op?
A: 找有緣人授予 lv 即可 (作法就類似 /msg chanserv access #bsdchat add chinsan 30)
然後 op 部份只要有 lv 一定程度以上,一進頻 chanserv 就會自動給了

Q:為何我一樣是 lv 30 但要發給對方 lv 30 會出現說"You cannot add an access level greater than [29]" ?
A:你現在是 30 就只能給 30 以下的,頂多到 29

Q: 但我下次進來的時候... level 還在嗎?level 不會 reset ?
A: 仍然會在,不會 reset, 只要妳重新登入 freenode 時, 有先打
/msg nickserv IDENTIFY 你所設定的密碼
認證過了,就會自動發 op..
另外,等級夠高的人若被 deop 而沒 op,也可以隨時 /msg chanserv op 要回 op。

Q:何為 op?
A:以下有很妙的回答 XD
16:44 @Jedi_> 表示是接線生
16:44 @Jedi_> 如果你被困在 Matrix 出不來,就要趕快找這些人
16:44 @Jedi_> 請他們告訴你最近的出口在哪裡
16:44 @Jedi_> 這很重要喔,不要忘了
16:44 @Jedi_> 也就是說,生死攸關~
:
:
17:10 mathiss> operator: 我要訂 pizza


Q:recode 只能指定 channel 不能指定 network+channel 嗎?
A:請用 /recode add networkname/channelname UTF-8
比方說 /recode add freenode/#bsdchat UTF-8

Q:如何設定 channel mode 為 nst ?
A:/msg chanserv set #bsdchat mlock +nst

Q:有等級設定相關說明嗎?
A:/msg chanserv help level 以及 /msg chanserv level #bsdchat list

2008-01-31

Darkstat-統計指定網卡的封包流量

【前言】

[Darkstat - Nework Traffic Analyzer] 簡單來說就是把通過指定網卡的封包利用圖表統計方式呈現,讓您可以很簡單的了解現在網卡上進、出的流量。

Darkstat 特色:

  • 使用圖表方式來呈現 Host、Port。
  • 使用嵌入式網頁伺服器 (因此不需安裝 Web Server)。
  • 預設使用 DNS 來解析分析到的 Host。
  • 體積小、可攜式、單執行緒、高效率、不複雜。

Darkstat 成果展示畫面:

[Darkstat Graphs Screenshots]

[Darkstat Hosts Screenshots]

[Darkstat Hostnames Screenshots]

【作業環境】

FreeBSD 5.4-RELEASE-p7

darkstat-3.0.707

【安裝及設定】

Step1.安裝 darkstat 套件

 #cd /usr/ports/net-mgmt/darkstat    //切換到安裝路徑
#make install clean //安裝套件並清除安裝中不必要的檔案

Step2.編輯 /etc/rc.conf

編輯 /etc/rc.conf 來達到開機啟動 Darkstat 及指定要監聽的網卡名稱

 #vi /etc/rc.conf
darkstat_enable="YES" //開機啟動 Darkstat service
darkstat_interface="em0" //指定監聽的網卡名稱

Step3.啟動 darkstat

 #/usr/local/etc/rc.d/darkstat.sh start
Starting darkstat.
darkstat 3.0.707 (built with libpcap 2.4)
darkstat (03360): starting up
darkstat (03360): daemonizing to run in the background!
darkstat (03360): parent waiting
darkstat (03361): I am the main process
darkstat (03362): set uid/gid to 65534/65534
darkstat (03361): DNS child has PID 3362
darkstat (03361): caplen is 54
darkstat (03361): capturing in promiscuous mode
darkstat (03361): listening on 0.0.0.0:667
darkstat (03361): loaded 131 protos
darkstat (03361): loaded 1002 tcp and 968 udp servs, from total 1975
darkstat (03361): chrooted into: /var/run/darkstat
darkstat (03361): set uid/gid to 65534/65534
darkstat (03361): local_ip update(em0) = 61.60.59.58
darkstat (03361): entering main loop
darkstat (03360): parent done reading, calling waitpid
darkstat (03360): waitpid ret 0, status is 0

檢查 darkstat service 是否啟動

 #/usr/local/etc/rc.d/darkstat.sh status
darkstat is running as pid 3361.

檢查 darkstat service 是否開啟服務的 Port (Default 667)

 #sockstat |grep 667
nobody darkstat 3361 10 tcp4 *:667 *:*

檢查 darkstat process 是否執行中

 #ps ax |grep darkstat
3361 ?? Ss 0:00.01 /usr/local/sbin/darkstat -i em0 --chroot /var/run/darkstat --pidfile darkstat.pid --user nobody
3362 ?? Is 0:00.00 darkstat: DNS child (darkstat)

補充參數說明

參數說明
-i interface指定監聽的網路卡名稱
--debug開啟除錯模式
--no-promisc不使用混亂模式(promiscuous mode )
--no-dns不使用 DNS 來解析 IP -> Hostname 名稱
-p port指定 embedded webserver 使用的 Port (預設為 667)
-b bindaddr指定 embedded webserver 使用的 IP Address 預設使用 0.0.0.0
-f filter指定過濾 (packet filter),詳細過濾語法請參考 man tcpdump
-l network/netmask定義本地網段(local network),所以進入及出去的封包將會顯示在圖表(Graphs)中
--chroot dir指定 Chroot 資料夾
--user username指定執行服務的使用者 (預設使用 nobody)
--daylog filename指定 daily Log traffic statistics (必須配合 --chroot 設定)
--import filename匯入 darkstat database
--export filename匯出 darkstat database(必須配合 --chroot 設定)
--pidfile filename建立 darkstat process ID

【Me FAQ】

Q1.無法安裝 darkstat?

Error Meaage:

無法安裝 darkstat 並出現如下錯誤訊息

 #cd /usr/ports/net-mgmt/darkstat ; make install clean
On FreeBSD before 6.2 ports system unfortunately can not set default X11BASE by itself so please help it a bit by setting X11BASE=${LOCALBASE}
in make.conf.On the other hand, if you do wish to use non-default X11BASE, please set variable USE_NONDEFAULT_X11BASE. *** Error code 1 Stop.

Ans:

因 為本次安裝的機器為 FreeBSD 5.4-RELEASE-p7 而訊息也很清楚說明,若你在更新 Port tree 後且您的 FreeBSD 版本為 6.2 以前的話,那麼若是在安裝此套件時會安裝 X11 套件或不想安裝的話可以把相關的參數加到 /etc/make.conf 內。

 #vi /etc/make.conf                  //視個人需求加入吧
X11BASE=${LOCALBASE} //會安裝 X11 相關套件
USE_NONDEFAULT_X11BASE=yes //不安裝 X11 相關套件

【參考】

[Darkstat - Nework Traffic Analyzer or Network Monitor and Screenshots]

[苗栗縣大湖鄉大南國民小學FreeBSD 全球資訊網路架站日誌 - 流量統計 darkstat]

【Log】

初稿-2008/01/31

2008-01-23

Visitors-利用 web log達成流量統計圖表化

【前言】

[Visitors - fast web log analyzer] 設計為可快速分析 Linux、Windows、Unix-link 等架設 Web 伺服器的 Log,使用方式很簡單只要使用命令列並指定 Log 名稱及輸出流量分析報告格式 (Txt / Html) 即可,因此很適合線上即時查看流量。

Visitors 特色如下

  • 不需安裝,每秒可處理 150,000 行 (視機器效能而定,但至少比其它分析軟體快多了)
  • 設計上採用指令模式並可輸出 (Txt / Html),因此使用 SSH 登入主機時能夠非常方便且即時查看流量
  • 從 Visitors v0.3 以後便支援即時統計、遊客流量統計
  • 可清鬆指定產生的流量分析報表項目,相對應參數請參考 [Visitors on line documentation]
  • Visitors 為可攜式 C 語言程序,因此可方便使用在不同的系統中。
  • 產生的 HTML 報表並不包含圖片或外部的 CSS,因此能方便的將報表透過電子郵件來寄送。
  • Visitors 為使用 GPL 授權的自由軟體,所以使用它並不用付費,如果您有興趣想訂製符合您需要的報表歡迎與原作者連絡 antirez (at) invece (dot) org

[Visitors - on line documentation for 0.7]

[Visitors 官網 ScreenShot]

【作業環境】

FreeBSD 6.2-RELEASE

visitors-0.7.0_1

【安裝及設定】

Step1.安裝 visitors 套件

 #cd /usr/ports/www/visitors     //切換至安裝路徑
#make install clean //安裝並清除安裝過程中不必要的檔案

Step2.產生分析圖表

接下來就是開始分析報表吧。

  • -A:分析所有報表項目
  • -m 10:項目最多顯示 10 行 (Requested pages、Requested images and CSS...)
  • Web Log:200801.log
  • -o html:輸出的報表格式
  • /home/web/200801.html 為報表輸出的路徑及檔案名稱

若在你的 web log 中有您不想分析的網站時 (例如自已的網站),可加上參數 ex. -P http://your.site.com 即可。

 #/usr/local/bin/visitors -A -m 10 200801.log  -o html > /home/web/200801.html
--
7055 lines processed in 1 seconds
0 invalid lines, 0 blacklisted referers

我測試一下我使用的機器處理效能,大概是每秒 6.3 萬行左右。

 CPU: Intel(R) Core(TM)2 CPU 6300  @ 1.86GHz (1867.21-MHz 686-class CPU)
real memory = 2146299904 (2046 MB)

以下是測試分析不同行數的 web log 分析速度

 #wc -l 200708.log | awk '{print$1}'
56133 //5.6 萬行
#/usr/local/bin/visitors -A -m 50 200708.log -o html > /home/web/200708.html
--
56133 lines processed in 1 seconds //分析時間花費 1 秒
0 invalid lines, 0 blacklisted referers
#wc -l 2007.log | awk '{print$1}'
318290 //31 萬行
#/usr/local/bin/visitors -A -m 100 2007.log -o html > /home/web/2007.html
--
318290 lines processed in 5 seconds //分析時間花費 5 秒
0 invalid lines, 0 blacklisted referers

Step3.排程

因為我的 web log 都是每天產生的,所以就寫個簡單的 shell 然後排程執行吧。

 #vi /usr/local/sbin/visitors.sh             //建立 shell 檔內容如下
#!/bin/sh
TODAY=`date +%Y%m%d`
LOG="/home/log/apache"
DES="/home/web"
VISITORS=/usr/local/bin/visitors
SHOW="50"
${VISITORS} -A -m ${SHOW} ${LOG}/${TODAY}.log -o html > ${DES}/${TODAY}.html
#chmod +x /usr/local/sbin/visitors.sh

再來就是設定排程

 #crontab -e
55 23 * * * /usr/local/sbin/visitors.sh //每天 23:55 執行

【參考】

[Visitors - fast web log analyzer]

[Visitors, on line documentation for 0.7]

[Visitors - ScreenShot]

[2007-03-06 - IT四重奏]

[1秒で10万行を処理するフリーの超高速なログ解析ソフト「Visitors」 - GIGAZINE - IT四重奏]

[GIS Notes by Rupert » Blog Archive » HTTP access_log analysis]

[えせSEの1日1Hack : 2005-08-17]

[Birds Of a Feather | ログ解析ツール Visitors のプチ改造]

【Log】

初稿-2008/01/18

2008-01-19

6.3 發公告了

03:24 -!- rafan changed the topic of #bsdchat to: 6.3-R
03:45 <@evi1c> [FreeBSD-Announce] FreeBSD 6.3-RELEASE Available
03:45 <@evi1c> rafan: 手快 (Y)

ref: http://lists.freebsd.org/pipermail/freebsd-announce/2008-January/001167.html

2007-12-04

經驗

18:01 <@E> A: 剛剛我才到 Beta4 ... -.-a
18:01 <@E> A: 好奇怪的感覺...
18:01 <@A> E: 怎麼說?
18:01 <@E> A: 說不上來的感覺...
18:02 <@A> E: 不過iso還沒出來
18:02 <@E> A: 好像很遠,也好像很近... XD
18:02 <@E> A: 明天再好好來玩玩..
18:04 <@E> A: 從 6.2R 到 7-Beta4 ... 好像沒什麼陣痛... 對,就是這個感覺. XD
18:05 <@A> E: 我可是很痛啊...該死的/
18:06 <@E> A: 我本來預期應該會有陣痛的... @@"
18:11 <@v> E: 你又不是妹, 怎麼會痛.
18:11 <@v> 也不是第一次了
18:16 <@A> @_@
18:17 <@y> 經驗多了以後,大家也比較會僑角度了

2007-10-27

義賣 Absolute FreeBSD 第二版首印本

FreeBSD 基金會把 Michael Lucas 捐贈的 Absolute FreeBSD 第二版首印本放在 ebay 這邊義賣,希望能稍微補足還不夠的基金會運作經費。拍賣預計 11/02 結束。

FreeBSD 基金會首頁可以看到今年基金經費籌募狀況

Fundraising meter

2007-09-07

HD移機 on FreeBSD

幾個星期前,機房的AD backup退下來了,剛好這台機子可以替換掉我玩的Celeron 500Mhz的FreeBSD機器,我的想法是HD轉到那台去,開機就會自己抓到了,至少我玩Linux都是這個樣子的...

chwong :Linux "可以"認 label, and 現在很多 distributions 是認 label
chwong :FreeBSD default 是認 device file

但是開機後,出現找不到root file system,就習慣的把指令打上去,mount -a...
把每個partition都打過一次了,還是失敗,懶人懶的上網爬文了,馬上call給學長chwong求救,事情果然很容易就解決了..

-------------------------------------------------------------------------------------
原因:預設root file system為ad0s1a,而新機變為ad1s1a,因為ad0被其它device搶走了..

chwong :你要這麼說也是可以,但實際上是因為 unix 在編硬體編號的時候,是根據 channel 來編的
chwong :在 IDE 介面上面,一個 channel 可以兩個硬碟
chwong :所以假如你在第三個 channel, 第一個硬碟,那編號就是 4 (0 1 2 3 4)

1)開機後出現找不到root file system,因為它並不是在os底下,所以它的語法就不同了..
它下面會有說明,ex:ufs:ad1s1a
通常root file system為ad?s1a,尾數為a。

2)接著會進入single mode,此時你必需再將root重新mount..

chwong :
進 single user mode 的時候 default 只會 mount 成 read-only

3)把/usr mount上,因為軟體是放在/usr底下的,沒mount上,無法使用editor..

4)修改/etc/fstab改成新的代號

5)Finally,save and reboot..

Successed!!

2007-07-31

openntpd log not write issue

產生的 openntpd 的 log 要修改 /etc/syslog.conf 加入

ntp.info /var/log/openntpd.log

應該要寫 daemon.info 還是 ntp.info 才會有校時資料寫入?跟你安裝的 openntpd 版本有關系,至於新版的 openntpd 為何要設定為 ntp.info 原因請看這篇使用 LOG_NTP 的原因

openntpd-3.9p1,2 設定 daemon.info /var/log/openntpd.log
openntpd-3.9p1_1,2 設定 ntp.info /var/log/openntpd.log

2007-07-30

termatrix -- 駭客任務(The Matrix)螢幕特效的 terminal 模擬程式

剛剛在某處看到覺得蠻有趣的,就順手打包到 misc/termatrix 了,其實 FreeBSD port 以前也有個 misc/matrix-kmod 是可以做 console 的 screensaver,但那個 port 後來因為抓不到檔案所以被移除了(或許要再讓它回來?),而這個 termatrix 好處是可以在 terminal 上也可以顯示。

ps.要停止的話就按 Ctrl + C 即可。

以下是執行畫面

2007-07-11

gcc42 黑客松(Hackaton):這週末 7/14-7/15

pav@ 召集的,主要是為了解決一些 port 在 gcc 4.2 版會無法編譯的問題(即將出爐的 FreeBSD 7.0-RELEASE 內建 gcc 會是 4.2):

gcc42 Hackaton: This coming weekend

We decided to have a concentrated bug fixing effort, hackaton if you please, this coming weekend, July 14-15, focused on fixing as many gcc42 failures in ports tree as possible. You’re all invited to join #bsdports on EFnet and show us your patches. We will be approving fixes to other people’s ports for maintainers who neglected their own ports (maintainer overrides). There is currently a little short of 400 ports that works on 6.2 but fail on 7.0, so there’s plenty of opportunities for you to help.

如果您也有興趣的話,歡迎參加,參加辦法如上或者 send-pr(1) 也可以。
並參考 Pointyhat 上面所列出所有在 FreeBSD 7.X 會編譯不過的 ports 列表,大約有400 個

Port Aff. Size CVS Maintainer Reason Build date

找 Reason 是 gcc4 error 就可以了,當然若仍有餘力的話,也可以幫忙順便修一修其他 error 之處。 :)

要測試的話,可以使用 tinderbox或直接裝 7-CURRENT 機器也可以,
也有更簡單方式,就是裝 lang/gcc42

cd /usr/ports/lang/gcc42 ; make install clean

然後在 /etc/make.conf 設以下兩行,這樣子在編譯 port 時就會以 gcc42 來編譯

CC=/usr/local/bin/gcc42
CXX=/usr/local/bin/g++42

(Note: some ports do not respect these variables currently, but this is another bug that should be fixed).