網絡技術日誌

關於 PHP, Linux, Open Source 及個人生活記載的網誌。

Entries for January, 2007

設定 Ubuntu 開機的 fsck

Ubuntu 預設的情況下,每掛載檔案系統 30 便會執行 fsck 檢查檔案系統,簡單來說每開機 (包括 reboot) 便會檢查檔案系統。如果要改變檢查的時間,可以用 tune2fs 來實現,例如: $sudo tune2fs -c 60 以上指令會設定每掛載檔案系統 60 次便執行 fsck。如果想系統下一次開機略過 fsck,可以建立 /fastboot 檔案: $sudo touch /fastboot 但這個 /fastboot 檔案會在開機後自動刪除,所以只可以略過一次 fsch 檢查。

Leave a Comment

用 Sed 做 Search and replace

在本站另一篇文章介紹了用 Perl 來做 search and replace,而用 sed 也可以做到相同效果,語法為: sed -i ‘s/src_str/new_str/g’ filename 以上指令會將 filename 檔案內的 src_str 替換成 new_str。

Leave a Comment

PuTTY 釋出新版本 0.59

PuTTY 這個開源 Telnet/SSH client 已經很有名,在 Windows 下使用的免費 SSH Client 它可以說是首選,上一個版本 0.58 的釋出時間已經是 2005 年 4 月。新一個版本 0.59 在性能及安全性上有所改善。 完整的更新內容可參考 PuTTY Change Log

Leave a Comment

PHP 透過 Sudo 執行 root 指令

一直以來要用 PHP 以 root 身份執行系統管理工作的問題,就是 PHP 會以 apache 的身份執行,解決方法有安裝 suPHP 或 super 這類工具,但個人認為還是 Sudo 較為安全。首先要安裝 Sudo,據我所知 RHEL, Ubuntu 已經內置,Debian 只要用 apt-get 安裝就可以,以下是 FreeBSD 的安裝方法: FreeBSD 安裝 Sudo # cd /usr/ports/security/sudo # make && make install 當系統有 Sudo 後,基於安全理由,不要直接編輯組態檔 /etc/sudoers,改用 visudo 來做編輯。visudo 為防止多個使用者同時修改,它會先鎖住 /etc/sudoers,並且確保組態檔的文法正確,一旦發現錯誤會拒絕儲存動作。 假如你的 Apache 的執行身份為 apache,而想透過 PHP 重新啟動 DNS server,用 root 輸入指令 visudo,便會用 vi [...]

Comments (5)

學習 Python 一星期

首先介紹一下 Python,Python 是一種支援物件導向的高階程式語言,具備簡單易學、可攜性及互動等優點。只有具備有基本的程式設計知識便會很快上手,即使是對於初學者也是十分好的入門語言。 雖然 Python 沒有 C 的執行速度,但 Python 開發速度快,又有很多現成的模組可以用。而且在一些關鍵的地可以借助 Python 的 API 使用 C 或 C++ 的擴展。 現在我編寫 Python 還是入門階段,還要點時間來學習,而我想最有效還是從實踐中學習,空餘時間寫點什麼。

Comments (3)

刪除 Qmail queue 內的郵件

在 sendmail 要刪除在 queue 內的郵件很簡單,只需直接在 /var/spool/mqueue 下面刪除就好,但在 Qmail 就較麻煩,執行以下指令會刪除 queue 內所有郵件: qmailctl stop find /var/qmail/queue/mess -type f -exec rm {} ; find /var/qmail/queue/info -type f -exec rm {} ; find /var/qmail/queue/local -type f -exec rm {} ; find /var/qmail/queue/intd -type f -exec rm {} ; find /var/qmail/queue/todo -type f -exec rm {} ; find /var/qmail/queue/remote [...]

Leave a Comment

程式從 setuid 轉用 sudo

今天是星期日,原本想好好休息一下,但下午回家後又不其然地開始工作。首先是將一些原本用 C 及 Perl 寫成的系統管理工具修改,理由是這些程式是用 setuid 來執行一些系統工作,例如 restart server,但這實在存有安全性的問題。現在改為使用 sudo 來實現,而 sudo 就是一個讓某些使用者以其他用戶身份 (包括 root) 執行特定指令的程式,如果有用 Ubuntu 的朋友應該不會陌生。 我只將原本的 C 及 Perl 修改,而實際上 sudo 也可以該 PHP 或其他 scripting language 執行一些系統管理工作。 然後傾好替一個網站做 maintain 的工作,但那個網站是用 JSP 寫成,還好只是 maintain,因為我的 JSP 語法已經忘記得七七八八,至於為何星期日也接到 job,因為那位合作伙伴與我一樣星期日也工作。

Comments (1)

元朗南生圍

今日去了南生圍,那裡有很多人前去影相,以及有一班搖控飛機發燒友玩搖控飛機。女朋友告訴我,有時更會有一些新婚夫婦前來影婚紗相。沿途的風景以鳥類很吸引,特意拍了一些照片回來。              

Leave a Comment

FreeBSD 複製系統帳號

假設要將 A 主機的帳號及密碼複製到 B 主機,可以這樣做: 1. 先將 B 主機的 /etc/master.passwd 及 /etc/group 備份。 2. 將 A 主機的 /etc/master.passwd 及 /etc/group 複製到 B 主機。 3. 用 root 執行指令: pwd_mkdb -p -d /etc /etc/master.passwd

Leave a Comment

泊車王世界紀錄

有揸車的朋友都應該有同該,在馬路上揸車很容易,要搵位泊車就難了,而且對於很多新牌來說,L 型及 S 型泊車往往是他們的「最大挑戰」。這個有美日兩國的特技員用飃移來泊車的比賽,美國代表以 「車身長度 + 45cm」 刷新世界紀錄,打破了舊有的 「車身長度 + 50cm」 紀錄。 看完之後我在想,如果不用飃移來泊這個位,要用普通的 S 型泊位,不知要用多少手肽才入倒這個位。 泊車王世界紀錄

Leave a Comment

HTML5 的新表單功能

HTML 4.0 在 1998 年推出後便一直沒有更新,剛剛在 Opera Developer Community 介紹 HTML5 的表單新功能,在 HTML5 裡面內建了表單驗證功能,以及連表單欄位內需要填 url 或 email 等也可以指定。 雖然以上功能現在也可以做到,但就需要借助 javascript 來做,而 HTML5 就可以用較簡單直接的語法來實現。但對於 web developer 現在的問題是,到底何時 HTML5 也可以成為主流。這個需要待各家瀏覽器廠商對其產品加入 HTML5 的支援,而且要用家升級到新版本,這也要多等一段時間。

Comments (2)

MySQL 不再開放 binary 檔

MySQL AB 不會再開放 MySQL 最新版本的 binary 檔,而 source code 會繼續開放開放,那就表示在安裝前需要編譯程式碼,在 MySQL Download 看到所有 binary 檔的版本為 5.0.27,而 source code 的版本則是 5.0.33。 我自己安裝 MySQL 一向都會重新編譯,而影響較大的是在 Windows 下安裝 MySQL 的用戶,以往只需按幾下 "Next" 便完便安裝,現在需要用 Visual Studio .Net 2003 這類 compiler 編譯。雖然 MySQL 官方有 Windows 安裝 MySQL 教學,但我想還會為很多用戶造成不便。 開源的 DBMS 除了 MySQL 外,還有 PostgreSQL,而 PostgreSQL 除了提供 source code 外,還有 Linux 及 [...]

Comments (3)

沒有註解的程式碼

近日有一項工作是優化程式的執行速度,照慣例我要先看看程式碼才報價。開啟程式碼一看,雖然程式的縮排做得很好,但竟然完全沒有 comment。 當然面對這類程式,要維護實在要花點時間看程式碼,所以在寫程式時不管什麼理由,也該花點時間寫註解,這不單是為了往後接手的程式員著想,也是為了自己著想。試想想如果過了一兩年後要進行維護,我想連自己寫的是什麼也會忘記。還好這個程式有做縮排及命名變數及函數沒有馬虎,不然我想我不會接這個 job。 進度方面,現在已找到問題根源,但因為要更改 mysql 資料表結構,可能還要一兩天才做好優化及測試。

Leave a Comment

昨天到白泥看日落

上次自己到白泥沒有拍照,昨天和女朋友一起去看日落及拍一些照片。因為今天是周日,那裡有很多人看日落,可惜天氣不好有很多雲,尤其是太陽落到水平線上。而且空氣質素的問題,本來可以看到中國大陸及港珠澳大橋,但現在看得很不清楚。以下是其中一張我覺得不錯的照片。

Comments (2)

測試網站在流動裝置的外觀

現在流動上網越來越流行,而現在的流動上網裝置不一定是 laptop,有可能是 PDA 或手機。如果要開發一個給 PDA 及手機使用的系統,要測試網頁的呈現效果可有幾種方法: 1. 調較視窗大小 只需將瀏覽器的視窗大小縮小成與流動裝置一樣,那就可以測試,Firefox 有一個很好的 Add-on 是 Web Developer 可以較鬆實現。以下是一些流動裝置的大小: * 176 x 208 * 240 x 160 * 320 x 240 2. 模擬器 可以安裝一些模擬器,而很多流動裝置瀏覽器的廠商也有提供 windows emulators: * WinWap Smartphone Emulator * OpenWave Browser * Nokia Browser Simulator * Microsoft Pocket PC Emulators * Online Mobile Simulator * Online WAP [...]

Leave a Comment