- 首先到7或8版的Fedora/os/images下載boot.iso並燒成Boot CD,並拿來開機。
- 進入GRUB後選擇第2,安裝或升級(使用文字模式),因為試著用圖形介面裝,好像都不會動,不曉得是機器太慢造成還是怎樣就不了改了。
- 選擇使用安裝方式,我是選擇使用FTP。
- 輸入ftp site和欲安裝的Fedora Core的原始檔位置,找到某某版本的os目錄就對了
- 接下來就是一般正常的文字安裝了
2008-01-07
使用網路安裝Fedora
工作上的原因,必須使用到Fedora,原本想裝新一點的版本,但是機器太舊所以機器上沒有DVD-ROM可用,因為Fedora7和8都只看到DVD的ISO沒看到CD的ISO檔,因此就把腦筋動到網路了。
2008-01-02
FreeRadius + pam_pop3 多部mail server pop3認證
工作上需要用到radius來進行無線網路的帳號,可是又不想另外維護獨立的radius的帳號,第一是我太懶了,第二是太麻煩了,但是又還沒建置LDAP把帳號統一,所以把念頭打到了現行的mail server上,可以利用現成的帳號密碼來進行無線認證。
經過測試後發現使用FreeRadius+pam_pop3模組,依預設值的話只能針對一部mail server進行pop3的認證,問題來了,因為認證時可能會同時使用到兩部mail server,所以必須進行程式修改。
在網路上找到了資料,發現交通大學的"北台灣社區網路建置及分析"計劃已有相同的做法,但是沒有source code可供參考 >"<,只好自己挖糞塗牆了。 需要修改的部份有兩個,就是FreeRadius和pam_pop3,雖然交大的文件上說只要修改FreeRadius就可以符合需求,但測了半天覺得兩個都要改到,反正沒source code所以還是用自己的方法吧!
經過測試後發現使用FreeRadius+pam_pop3模組,依預設值的話只能針對一部mail server進行pop3的認證,問題來了,因為認證時可能會同時使用到兩部mail server,所以必須進行程式修改。
在網路上找到了資料,發現交通大學的"北台灣社區網路建置及分析"計劃已有相同的做法,但是沒有source code可供參考 >"<,只好自己挖糞塗牆了。 需要修改的部份有兩個,就是FreeRadius和pam_pop3,雖然交大的文件上說只要修改FreeRadius就可以符合需求,但測了半天覺得兩個都要改到,反正沒source code所以還是用自己的方法吧!
- FreeRadius
- 作業系統FreeBSD-6.2-RELEASE
> cd /usr/ports/net/freeradius
>make install - 解開原始檔進行修改
> tar xvfj /usr/ports/distfiles/freeradius-xx.tar.bz2 - 修改rlm_pam.c
> cd freeradius-xx/src/modules/rlm_pam
> vi rlm_pam.c
找到以下字樣的下面那段code把mark掉/*
* FreeBSD 3.x doesn't have account and session management
* functions in PAM, while 4.0 does.
*/
if !defined(__FreeBSD_version) || (__FreeBSD_version >= 400000) - 把修改過的FreeRadius重新包裝起來放回/usr/ports/distfiles把原檔覆蓋掉,再用port直接安裝省得麻煩
> tar cvfj freeradius-xxx.tar.bz2 freeradius-xxx
> cp freeradius-xxx.tar.bz2 /usr/ports/distfiles/freeradius-xxx.tar.bz2
> cd /usr/ports/net/freeradius
> make deinstall
> make NO_CHECKSUM=yes install clean - 修改radius的相關設定
- 作業系統FreeBSD-6.2-RELEASE
- pam_pop3
- 一樣使用port安裝並使用已經過patch的code來修改
> cd /usr/ports/security/pam_pop3/
> make install
> cd ~
> cp -r /usr/ports/security/pam_pop3/work/pam_pop3 . - 修正 pam_pop3.c
> cd pam_pop3
> vi pam_pop3.c
找到 char *pwprompt="Password: "; 在下面插入一行char delim[]="@";
找到以下的codeif (username==NULL)
在下面接著以下這兩行
{
if (pam_get_user(pamh,(const char **)&username,NULL)!=PAM_SUCCESS)
{
syslog(LOG_ERR,"Could not get username from libpam !");
return result;
}username=strtok(username,delim);
這樣就可以把xxx@mail.abc.com.tw的格式正確的導到正確的伺服器囉!
hostname=strtok(NULL,delim); - 手動compiler後再把原先安裝的pam_pop3.so檔覆蓋
> make clean
> cc -O2 -fno-strict-aliasing -pipe -march=pentiumpro -fpic -DPIC -Wall -c pam_pop3.c -o pam_pop3.o
> ld -x --shared -o pam_pop3.so pam_pop3.o -lpam -lcrypt
> cp pam_pop3.so /usr/local/lib/pam_pop3.so - 在/etc/pam.d/ 新增一個檔名字叫radius,內容如下
auth required /usr/local/lib/pam_pop3.so info pwprompt=Passwort: timeout=20
- 一樣使用port安裝並使用已經過patch的code來修改
2007-11-28
Apache裝在UNIX like上檔案大小寫的問題
今天單位對外上了一門教育訓練課程,在將成果上傳時..讓人三條線的狀況出現..
在本機可以正常的瀏覽,但是在上傳到FreeBSD的web server後就掛了,查了之後才發現是檔案名稱大小寫的問題,在Windows上是不分大小寫的聽說在MAC OS X也是,所以沒辦法只好去找資料把Apache重新compiler後才解決。
1.在 configure 加上 --enable-speling 的參數。
2.編輯 httpd.conf,加上 CheckSpelling on。
3.重新啟動 Apache。
在本機可以正常的瀏覽,但是在上傳到FreeBSD的web server後就掛了,查了之後才發現是檔案名稱大小寫的問題,在Windows上是不分大小寫的聽說在MAC OS X也是,所以沒辦法只好去找資料把Apache重新compiler後才解決。
1.在 configure 加上 --enable-speling 的參數。
2.編輯 httpd.conf,加上 CheckSpelling on。
3.重新啟動 Apache。
2007-11-09
screen
之前用了一陣子的screen,只用到了它的皮毛,後來看到一些更好用的,原始資料來是來自台大電機吳慶鴻分享的大作,不過資料確是來自香港的網站...
另外在yungyuc的筆記與雜記裡看到他所分享出來的screenrc的設定,畫面變得更容易辨識了,不會搞不清楚到底自己開了多少個window,值得推薦。
"^A"代表"Ctrl + A"鍵
$ ^A c = Create,開一個新的 window
$ ^A n = Next,切換到下一個 window
$ ^A p = Previous,回到前一個 window
$ ^A ^A = 在兩個 window 間切換
$ ^A w = Windows,列出已開啟的 windows 有那些
$ ^A 0...9 = 切換到第 0..9 個 window
$ ^A t = Time,顯示目前的時間,與系統的 loading
$ ^A K = kill window,強制關掉目前的 window
$ ^A ? = Help,顯示說明
$ ^A d = detach,將目前的 screen session丟到背景執行
$ screen -ls = 顯示所有的 screen sessions
$ screen -r [keyword] =把背景執行的 screen session 弄回來
另外在yungyuc的筆記與雜記裡看到他所分享出來的screenrc的設定,畫面變得更容易辨識了,不會搞不清楚到底自己開了多少個window,值得推薦。
$ vi .screenrc
caption always "%{= wk} %{= KY} [%n]%t @ %H %{-} %= %{= KR} %l %{-} | %{= KG} %Y-%m-%d %{-} "
hardstatus alwayslastline " %-Lw%{= Bw}%n%f %t%{-}%+Lw %=| %0c:%s "
2007-09-11
FreeBSD大量修改使用者密碼
今天把舊的mail server從4.4升到4.8,但是發生一個怪現象,結果的我的密碼變成錯誤,
以為其他帳號也是這樣,但是有些人的又可以進去,真是怪怪..
不過為了以防萬一,去找了怎麼大量變更使用者密碼的方法,真不錯用,不過有點慢就是了,看樣子mail server真的該換了。
echo 'password' | /usr/sbin/pw usermod username -m -h 0
以為其他帳號也是這樣,但是有些人的又可以進去,真是怪怪..
不過為了以防萬一,去找了怎麼大量變更使用者密碼的方法,真不錯用,不過有點慢就是了,看樣子mail server真的該換了。
echo 'password' | /usr/sbin/pw usermod username -m -h 0
2007-08-31
Remotely Enable Remote Desktop
在網上要找控制"遠端桌面"的register,結果看到這篇。
Windows Server Hacks: Remotely Enable Remote Desktop
Windows Server Hacks: Remotely Enable Remote Desktop
Windows XP/2003 registree 裡的Firewall rules 位置
Norton Antivirus可以使用中央控管的方式更新使用者的病毒碼或設定值,也可以要求client端進行病毒掃瞄,但是在XP更新到SP2後新增加了防火牆的功能,開起來後造成防毒主機主控台無法對client下命令,原因是防毒主機是透過port 2967和client進行通訊。
為了要解決這個問題,就需要要求使用者手動開起2967這個port,但是問題來了,並不是每個員工都知道防火牆是啥米碗糕,執行上是有困難度的,所以最佳的解決方案就是自行開發工具請每個員工執行即可。
我是使用Delphi為開發工具,以下是WinXP/2003在registree裡firewall rule的位置:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\
FirewallPolicy\StandardProfile\GloballyOpenPorts\List
為了要解決這個問題,就需要要求使用者手動開起2967這個port,但是問題來了,並不是每個員工都知道防火牆是啥米碗糕,執行上是有困難度的,所以最佳的解決方案就是自行開發工具請每個員工執行即可。
我是使用Delphi為開發工具,以下是WinXP/2003在registree裡firewall rule的位置:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\
FirewallPolicy\StandardProfile\GloballyOpenPorts\List
2007-06-08
你的 sendmail 回應有點慢嗎?
最近把服務了6年的郵件伺服器換下來,不過還是有個問題沒解決,就是使用telnet 去測smtp時,回應有點慢,在其他上線問題較少之後,來網路上找找,在sendmail.cf下找到一個參數Timeout.ident = 5s,這個是預設值,只要把它改小了回應速度就變快了哦。
2007-05-03
FreeBSD on IXP425 part 2
看了一些網路上相關的文章,後來終於compiler好了一個kernel,雖然不曉得在IXDPG425(Monte Jade)是不是也可以用,但是這個方法比前一篇的方法省事多了。AVILA的config檔是for另一塊開發板的,所以應該還要花點時間修改吧!我想,以下是步驟:
- 使用cvsup或csup,將source tree更新到7.0-CURRENT
> cd /usr/src
> make update - 編譯for ARM的FreeBSD系統核心
> cd /usr/src
> make TARGET=arm TARGET_ARCH=arm buildkernel KERNCONF=AVILA
> kernel的位置在/usr/obj/arm/usr/src/sys/AVILA/kernel.bin,這個kernel已經可以開機 - 製作rootfs的image檔
> cd /usr/src
> make TARGET_ARCH=arm TARGET_CPUTYPE=xscale TARGET_BIG_ENDIAN=true buildworld
> make TARGET_ARCH=arm TARGET_CPUTYPE=xscale TARGET_BIG_ENDIAN=true DESTDIR=$ROOT installworld
> for ARM版本的程式會被安裝到 $ROOT,再把需要的檔案做到rootfs即可 - 將rootfs的image檔和kernel整併在一起
> strings -at d kernel.bin | grep "MFS Filesystem"
3129956 MFS Filesystem goes here
6275684 MFS Filesystem had better STOP here
> head -c 3129956 kernel.bin > kernel.new
> cat rootfs.bin >> kernel.new
> tail -c +6275685 kernel.bin >> kernel.new - 完成
Spyware Terminator
從網路雜誌上看到的推薦的spyware偵測軟體,它是一套FREE的軟體,而且內建可以支援病毒掃瞄,而病毒掃瞄的部份則是自網路上下載著名的免費掃毒軟體ClamAV並安裝,以下是官方網站。
http://www.spywareterminator.com/dnl/landing.aspx
http://www.spywareterminator.com/dnl/landing.aspx
2007-04-17
postfix File too large的問題
原本前兩天要把新機上線,真是慶幸第一次測試發現問題後馬上又把舊機換回來。在後來又發現到兩個沒注意到的問題,一個就是樓下那篇,一個就是這個了。
原本以為把資料移過來後就大功告成,但因為postfix預設的設定,才會造成上線的延遲,嚴格上來說也不算是出問題,只是重改設定而已。
這次造成的狀況是當mail box大到某一定的程度時,會造成postfix無法寫入新mail,因為postfix有個系統預設參數mailbox_size_limit,預設值大約是50M,所以只要mail box大於這個值就會無法寫入新信,因為我是使用作業系統的Quota,所以我就把這個參數值設為0,那使用者就可以充分使用到所有的mail空間。
另一個需要注意的問題,當postfix配合procmail使用時,會造成procmail無法把postfix所產生的錯誤訊息正確的回覆給使用者,目前還不知道解決辦法,所以如果要看正確錯誤回應,就先把procmail關掉就看得到囉。
原本以為把資料移過來後就大功告成,但因為postfix預設的設定,才會造成上線的延遲,嚴格上來說也不算是出問題,只是重改設定而已。
這次造成的狀況是當mail box大到某一定的程度時,會造成postfix無法寫入新mail,因為postfix有個系統預設參數mailbox_size_limit,預設值大約是50M,所以只要mail box大於這個值就會無法寫入新信,因為我是使用作業系統的Quota,所以我就把這個參數值設為0,那使用者就可以充分使用到所有的mail空間。
另一個需要注意的問題,當postfix配合procmail使用時,會造成procmail無法把postfix所產生的錯誤訊息正確的回覆給使用者,目前還不知道解決辦法,所以如果要看正確錯誤回應,就先把procmail關掉就看得到囉。
2007-04-16
postfix too many hops的問題
昨天要把服役許久的mail server換掉,當然是先架好一台再把資料移過來,在一切都搞定後終於換過去了,結果一測...哇咧收不到mail.. >"<,postfix回應的問題是"too many hops",看樣子是產生了loop,奮鬥到了凌晨三點半,還是先換肥去吧 =.=。
今天早上來花了一點時間測了一下,終於找到了問題,問題出在postfix的transport的設定方法。一般在使用並不需要使用到transport,但是因為我在mail server前面擋了一部mailspam,也拿來當gateway,是使用postfix+SpamAssassin+RBL所構成,後面躲了兩部mail server,後面的mail server是使用sendmail,但是新機也換成了postfix,原來的sendmail也設定了mailertable讓所有mail出去都會經過我的gateway,設定如下:
但是咧在換成postfix之後,要使用transport,一開始的設定是仿照sendmail的,因為postfix標榜的就是和sendmail相容,所以懶的要死的豬頭我就依樣畫葫蘆的寫成以下的transport的設定:
但是實際上必須寫成這樣才不會造成loop:
看了transport的說明,是當destination是本機時就不需要去變更nexthop的遞送資訊,所以問題解決了,在以上得到一個定理,那就是,設定前請先瞄一下說明檔吧。
今天早上來花了一點時間測了一下,終於找到了問題,問題出在postfix的transport的設定方法。一般在使用並不需要使用到transport,但是因為我在mail server前面擋了一部mailspam,也拿來當gateway,是使用postfix+SpamAssassin+RBL所構成,後面躲了兩部mail server,後面的mail server是使用sendmail,但是新機也換成了postfix,原來的sendmail也設定了mailertable讓所有mail出去都會經過我的gateway,設定如下:
abc.123.com.tw smtp:[%0]
. smtp:[spam.123.com.tw]
但是咧在換成postfix之後,要使用transport,一開始的設定是仿照sendmail的,因為postfix標榜的就是和sendmail相容,所以懶的要死的豬頭我就依樣畫葫蘆的寫成以下的transport的設定:
abc.123.com.tw smtp:[abc.123.com.tw]
* smtp:spam.123.com.tw
但是實際上必須寫成這樣才不會造成loop:
abc.123.com.tw :
* smtp:spam.123.com.tw
看了transport的說明,是當destination是本機時就不需要去變更nexthop的遞送資訊,所以問題解決了,在以上得到一個定理,那就是,設定前請先瞄一下說明檔吧。
2007-04-14
FreeBSD on IXP425
今天下午比較沒事,就去做了FreeBSD source code的更新,更新時無意間發現了FreeBSD已經port到IXP425的平台上了,所以就迫不及待的在網路上找找看有沒有相關的資料,果然,已經有對岸的網友已經有把資料放到網路上來了。以下把自己做的過程紀錄下來:
OS:FreeBSD-6.2-Release
OS:FreeBSD-6.2-Release
- 建立跨平台編譯環境
- 首先建立CrossTool要安裝的目錄,我放置在/usr/cross_arm,並且建立以下3個目錄
> mkdir -p /usr/cross_arm/usr/bin
> mkdir -p /usr/cross_arm/usr/include
> mkdir -p /usr/cross_arm/usr/share
在安裝的過程中你會發現有不少錯誤,大部份都是沒有這些目錄,把它們補上再重跑一次安裝即可。 - compiler GCC
> cd /usr/src/gnu/usr.bin/cc
> make TARGET_ARCH=arm TOOLS_PREFIX=/usr/cross_arm depend all
> make DESTDIR=/usr/cross_arm instal - compile LIBC
> cd /usr/src/lib/libc
> make TARGET_BIG_ENDIAN=Y
> make DESTDIR=/usr/cross_arm install - compiler BINUTILS
> cd /usr/src/gnu/usr.bin/binutils
> make TARGET_ARCH=arm TOOLS_PREFIX=/usr/cross_arm depend all
> make DESTDIR=/usr/cross_arm instal - 設定環境變數
請依照你使用shell,去設以下的環境變數,bash、sh請用export,csh請用setenv
> export AS=/usr/cross_arm/usr/bin/as
> export NM=/usr/cross_arm/usr/bin/nm
> export RANLIB=/usr/cross_arm/usr/bin/ranlib
> export LD=/usr/cross_arm/usr/bin/ld
> export OBJCOPY=/usr/cross_arm/usr/bin/opjcopy
> export SIZE=/usr/cross_arm/usr/bin/size
> export MACHINE=arm
> export MACHINE_ARCH=arm - 待續......
- 2007-05-03補
這個方法有點麻煩,而且依網路上的文章去做..還是出現一些問題。
- 首先建立CrossTool要安裝的目錄,我放置在/usr/cross_arm,並且建立以下3個目錄
2007-04-10
Foxit Reader
Foxit Reader是一套free的PDF 讀取和列印工具,它不但小巧而且速度夠快,不像Adobe Reader那般肥大,而且Adobe Reader常用的功能Foxit Reader一樣也不缺,把Adobe Reader砍了吧~
官方網站
http://www.foxitsoftware.com/
官方網站
http://www.foxitsoftware.com/
Microsoft Research
在找MSR的過程中發現的一個好站台,應該是微軟研究發展新技術的官方網站。有不少好玩的東東。
http://research.microsoft.com/
新版軟體釋出下載的連結
http://research.microsoft.com/research/downloads/default.aspx
自己有興趣的東西
http://research.microsoft.com/conferencexp/
https://research.microsoft.com/nec/
https://research.microsoft.com/nec/msrsense/
http://atom.research.microsoft.com/sensormap/
http://research.microsoft.com/
新版軟體釋出下載的連結
http://research.microsoft.com/research/downloads/default.aspx
自己有興趣的東西
http://research.microsoft.com/conferencexp/
https://research.microsoft.com/nec/
https://research.microsoft.com/nec/msrsense/
http://atom.research.microsoft.com/sensormap/
MSR Networked Embedded Sensing Toolkit (MSR Sense)
微軟出了一個可蒐集WSN(Wireless Sensor Network)資料的架構。透過Getway直接把Tmote傳回的資料以XML packet的方式直接傳回SQL Server,方便後續的資料統計分析。
微軟官方網站
https://research.microsoft.com/nec/msrsense/
https://research.microsoft.com/nec/msrsense/tutorial-v0.2a.pdf
其他網站資料
http://www.tinyos.net/scoop/section/news/2
http://research.microsoft.com/~stansley/
微軟官方網站
https://research.microsoft.com/nec/msrsense/
https://research.microsoft.com/nec/msrsense/tutorial-v0.2a.pdf
其他網站資料
http://www.tinyos.net/scoop/section/news/2
http://research.microsoft.com/~stansley/
2007-03-23
FreeBSD port upgrade HowTo
用了快6年的mail server要除役了,主機當然會換成好一點的,系統也將由原本的FreeBSD-4.4-STABLE換成FreeBSD-6.2-RELEASE。此次的更新中也將使用portupgrade的機制來更新系統上的軟體,之前因為系統上的軟體經過特定的修改,為了避免某一天的豬頭症發作,造成系統無法正常運作,所以一直沒使用portupgrade。使用方法很簡單:
- 先更新你的port tree到最新
- > portsdb -Uu
- > pkgdb -F
- > portupgrade -aWy
- 通常portupgrade是要自動更新目前系統上所安裝的程式,但是在使用時須要建立更新INDEX,所以需要去掃瞄ports tree,但是有時候某些相關聯的軟體會被刪除或改名之類的問題,就會造成執行portsdb -Uu時錯誤,這時只要用link的的方式就可以騙過去囉。
- 當要再執行pkgdb -F時,狀況會延續下來,這時只要換個參數就可以解決囉,pkgdb -f。
FreeBSD port install 設定錯誤怎麼辦??
FreeBSD是我在架設伺服器時的第一選擇,使用它也好幾年了,但是本人習慣不太好,通常過一段時間會把解決的方法給忘了,這次又如預期的發生,所以...
如果使用FreeBSD的port機制安裝軟體時,安裝參數下錯了造成無法順利安裝,只要下make config 重新設定即可,以下為其他的make參數:
make install : 安裝Port
make deinstall : 移除已安裝的 Port
make reinstall : 移除之後再安裝一次
make clean : 安裝完畢後移除 make 資料夾下的檔案
make distclean : 移除安裝後的原始檔案,以節省磁碟空間
make all-depends-list
make install
make install clean
make install clean distclean
如果使用FreeBSD的port機制安裝軟體時,安裝參數下錯了造成無法順利安裝,只要下make config 重新設定即可,以下為其他的make參數:
make install : 安裝Port
make deinstall : 移除已安裝的 Port
make reinstall : 移除之後再安裝一次
make clean : 安裝完畢後移除 make 資料夾下的檔案
make distclean : 移除安裝後的原始檔案,以節省磁碟空間
make all-depends-list
make install
make install clean
make install clean distclean
2007-03-19
jelie - free software for XScale developement
老板要我們弄出一個embedded system debug的環境,而且要用opensource的方案,OCDremote已經卡住了,OpenOCD目前也還不行用,jelie目前的期待所在。
官網:http://lapwww.epfl.ch/dev/arm/index.php?tools
jelie 1.4:http://ftp.k-team.com/korebot/jelie/ 一個叫korebot開發板的相關資料
官網:http://lapwww.epfl.ch/dev/arm/index.php?tools
jelie 1.4:http://ftp.k-team.com/korebot/jelie/ 一個叫korebot開發板的相關資料
訂閱:
文章 (Atom)