如果在 Linux 想想變更檔案的最後修改時間,可以用 touch 指令,格式為 「touch -t 年月日時分秒 檔案」,例如:
touch -t 200507012015.10 readme.txt
以上指令會把檔案 readme.txt 的最後修改時間改為 2005 年 7 月 1 日 20 時 15 分 10 秒。
如果想改成現時的時間,只需輸入 「touch readme.txt」。
關於 PHP, Linux, Open Source 及個人生活記載的網誌。
如果在 Linux 想想變更檔案的最後修改時間,可以用 touch 指令,格式為 「touch -t 年月日時分秒 檔案」,例如:
touch -t 200507012015.10 readme.txt
以上指令會把檔案 readme.txt 的最後修改時間改為 2005 年 7 月 1 日 20 時 15 分 10 秒。
如果想改成現時的時間,只需輸入 「touch readme.txt」。
在檔案內搜尋指定文字,search_key 是搜尋字串,/path/to/filename 是檔案名稱:
grep search_key /path/to/filename
功能同上,但不分大小寫:
grep -i search_key /path/to/filename
搜尋檔案:在指定目錄中搜尋檔案,以下是在 /var/www/ 目錄下搜尋 upload.php 的檔案:
find /var/www/ -name upload.php
功能同上,但目標不是檔案,而是目錄:
find /var/www/ -name uploads -type d
還有更多有用的功能,以上只列出較常用的用法。
因為 MySQL 在 4.1 或以上的版本的認證加密方法更改了,那即是說在 php 程式內即使密碼正確也會連接失敗。解決方法為:
1. 重新編譯 PHP
將 –with-mysql 的選項改為 –with-mysqli=mysql_config_path/mysql_config,其中 mysq_config_path 是 MySQL 的安裝路徑下的 bin 目錄。
2. 修改 my.cnf
打開 /etc/my.cnf,在 "[mysqld]" 下加入一行
old-passwords
然後重啟 MySQL,這樣就會強逼 MySQL 使用舊加密認證。
FreeBSD 預設沒有支援 quota 功能,如果需要支援 quota 便要重新編譯 kernel。以下是巨體實現方法:
cd /usr/src/sys/i386/conf
vi GENERIC
加上 options QUOTA(中間分隔的是 TAB 而非空白鍵)。
然後執行:
config GENERIC
cd ../../compile/GENERIC
make depend all install
編譯完成後,修改 /etc/fstab 檔案,例如要在 /home 這個分割區做空間管理,在 /home 的那行將 "rw" 改成 "rw,userquota"。
然後修改 /etc/rc.config,加入:
check_quotas="YES"
完成後輸入 "sync;sync;reboot" 重新開機。
在第一次執行 quota 時,請先執行以下指令:
cd /home
quotacheck -avug
最後建立 /usr/local/etc/rc.d/quota_on.sh 檔案,讓開機時自動執行 quota,以下是 /usr/local/etc/rc.d/quota_on.sh 的內容:
if [ -x /usr/sbin/quotaon ]
then
echo "Turning on quota."
/usr/sbin/quotaon -avug
fi
在 linux 裏,如果想對 ping 指令沒有反應,其實是忽略 icmp 封包,可以用以下指令實現:
echo 1 < /proc/sys/net/ipv4/icmp_echo_ignore_all
想回復原來設定可以用:
echo 0 < /proc/sys/net/ipv4/icmp_echo_ignore_all
OpenOffice.org 是目前在 Linux 下的辦公室套件主流,但它的啟動實在太慢了,以下是 OpenOffice.org 加快啟動時間的技巧,我在 Ubuntu 7.10 上裡試驗後十分明顯,而只需更改 OpenOffice.org Word Processor,其他 OpenOffice.org 軟件也會自動生效。
首先開啟 OpenOffice.org Word Processor,然後按 "工具" -> "選項"。
然後選擇 "記憶體",並根據以下設定:
– 復原 步數: 20
– 圖形記憶體 用於 OpenOffice.org: 20
– 物件數量: 20
– 選取 systray 快速啟動
然後選擇左邊的 "Java",並取消選取 "Use a Java runtime environment"。最後按 "確定"。現在可以嘗試開啟其他 OpenOffice.org 軟件,會發覺啟動速度加速了不少。
如果想用 shell script 發送郵件,可以用 mail 實現:
以上語句會發送一封標題為 "email subject" 的電郵到 you@emaildomain,其中 "email content" 為電郵內容。
以下簡單的兩行 shell script 便會將檔案系統使用量,透過電郵發送給指定的電郵信箱:
轉用 gcin 輸入法
一直也不太喜歡用 SCIM,首先是 SCIM 不太穩定,而且它和 Firefox 有衝突,在 Ubuntu 7.10 轉用 gcin 也很簡單,只要輸入兩個指令便完成:
然後按 Ctrl + Alt + Backspace 組合鍵重新啟動 X 便完成了。
vi 的方向鍵及 backspace 鍵
在 Ubuntu 使用 vi 的 insert 模式時,按下方向鍵會出現 ABCD,而 backspace 鍵則不會刪除字符,解決方法是在 home directory 建立 .vimrc 檔案,並加入以下內容:
set nocompatible
set backspace=2
今天將 laptop 升級為 Ubuntu 7.10,新版本的開發代號為 Gutsy Gibbon,照例 Ubuntu 的開發團隊也沒有令我們失望。主要更新包括 Ubuntu 7.10 將 Linux kernel 更新為 2.6.22,桌面環境建構在 X.org 7.2 上,glibc 及 GCC 的版本分別為 2.6 及 4.2。
印象最深刻的是驅動程式的部份,當我安裝好系統後,系統便自動彈出有新的顯示咭驅動程式,跟著指示很快便更新完成,感覺真的很方便。另外用上一個版本當瀏覽一些較多 client side 語言之類的網站時,會出現很慢的情況,不知是 Firefox 還是其他套件的改進,現在瀏覽頁面較複雜的網頁時也很暢順。其他更新包括:
– 預設已經支援 NTFS 寫入檔案系統,不用手動安裝。
– 內建 Compiz 0.6.0 及 Compiz Fusion 0.5.2,可以實現超炫的 3D 桌面效果。
– 使用 Gnome 2.20,OpenOffice.org 2.3,IMP 2.4 RC 3 及即時通訊軟件 Pidgin 2.2.1。
有用 BIND 架設 DNS Server 的朋友都應該知道,當加入 zone 及修改 DNS record 後,需要 reload 或重新啟動 Bind 才可以生效。而且 BIND 的 zone 資料是用文字檔儲存,為避免輸入錯誤格式等問題,所以自己管理的 BIND 也是用 script 來加入 zone。
而 DLZ (Dynamically Loadable Zones) 這個 BIND 9 的 patch 正可以解決以上問題,因為它可以讓 BIND 儲存 zone 資料在資料庫內,那麼便可以減低記憶體的用量及重新啟動時間,而我認為最重要的一點是管理上更加容易。雖然坊間有其他 DNS Servers 用資料庫儲存 zone 資料,但大多數也不支援所有 BIND 的功能,只支援基本的功能。
今日安裝一台新 Server,系統是 RHEL 5,在編譯 MySQL 4.0.x 的時候出現問題:
看來 MySQL 4.0 不支援新核心使用了 NTPL 這種新的線程,最後用了這個方法解決:
然後重新編譯及加入 –with-pthread 及 –with-named-thread-lib 兩個參數:
這樣就可以正常編譯及安裝 MySQL 4.0 了。
以下是一些實用的 .htaccess 範例,可以不改動 php.ini 及 httpd.conf 便設定伺服器變數:
關閉 magic_quotes_gpc
# Only if you use PHP
<ifmodule mod_php4.c>
php_flag magic_quotes_gpc off
</ifmodule>
減少 Bandwidth 使用量
# Only if you use PHP
<ifmodule mod_php4.c>
php_value zlib.output_compression 16386
</ifmodule>
變更 scripts 副檔名
AddType application/x-httpd-php .php4
以上語句會將 .php4 當成 PHP 程式編譯。
禁止 .htaccess 開放瀏覽
<files file-name>
order allow,deny
deny from all
</files>
變更預設頁面
DirectoryIndex myhome.htm index.htm index.php
自訂錯誤頁面
ErrorDocument 403 /forbidden.html
ErrorDocument 404 /notfound.html
ErrorDocument 500 /servererror.html
開放/禁止瀏覽目錄
# 禁止
Options All -Indexes
# 開啟
Options +Indexes
期待已久的 Ubuntu 7.10 已經發佈,以下為下載連結:
The latest releases of Ubuntu 7.10 for desktop and server are available today for download.
在 Linux/FreeBSD 的文字模式或 shell script 要發送帶有附件的電郵,可以透過 Mutt 實現,Mutt 是一個功能豐富的文字模式電郵軟件。FreeBSD 可以用 ports 安裝:
以下是 mutt 的使用方法:
它的參數 -s 是郵件標題,-a 是發送的附件。如要同時發送多個附件,只要每個附件使用 -a:
ClamAV 是十分受歡迎的開源掃毒軟件,尤其應用在配合 email server 過濾病毒電郵,而且病毒定義檔更新也很頻密。而 SaneSecurity 是 ClamAV 的非官方定義檔,為 ClamAV 加入過濾詐騙及釣魚電郵。對於過濾一些難以用 spamassassin rules 過濾的電郵 (例如 pdf 及 圖片垃圾電郵等) 十分有用,以下使用方法:
1. 到 SaneSecurity 網站 下載最新定義檔。
2. 將定義檔解壓到 ClamAV 資料庫目錄,一般會放在:
/var/lib/clamav/
/usr/local/share/clamav/
3. 下載 phish_sigtest,並以附件的方法發送到電郵伺服器內的電郵帳號,以測試過濾 fhishing email 的功能。