星期六, 元月 06, 2007
Ubuntu 升級到 Edgy 6.1.0
今天看到 Wiki 的 Ubuntu6.10Install, 此篇下面有 Dapper 升級到 Edgy 的方法, 只要執行 gksudo "update-manager -d -c" 這樣子, 上面就有個升級按鈕, 點了就會開始升級.
但是試過的結果是不行的, 系統跟我說有套件會相衝, 然後就無法升級, 但是看到那頁面中的預覽, 看起來還不錯, 很心動... 於是就開始做下面的不歸路了.. XD
Ubuntu Edgy 的其它程式安裝: Unofficial Ubuntu 6.10 (Edgy Eft) Starter Guide
(閱讀全文)星期二, 元月 02, 2007
Linux 指令: kill 常用參數
Kill 算是基本且常用的指令(送一個信號給 process), 但是在 kill 一個 process(程序)有很多優雅的方法, 不要每次都暴力的 -9 來砍掉, 以下來列幾個參數, 不得已再來用 -9 砍吧 :)
(閱讀全文)星期六, 十二月 23, 2006
Postfix 加上 DNSBL, Postgrey 防 Spam
看到 Leeym 長輩發表的 "ORDB 要關門了,改改 DNSBL 設定吧" 這篇文章後, 想想, 好像自己被垃圾信困擾很久, 都已經直接把連絡方式改成 gmail 了, 但是自己平常管理的系統還是一堆廣告信, 總是很煩~
之前防 Spam 的處理已經全被我拿掉了, 自從我發現到那些處理會讓每封信進來, 都讓 CPU 滿載一次~ 我就全權交給 gmail 了(記得好像是會經過兩次防毒, 一次 spamassassin, 然後 procmail filter ... 等等).. XD
(閱讀全文)星期四, 十二月 21, 2006
MySQL Master Crash, Slave Replication 快速修復
MySQL Master 如果意外的當掉, 重新開機.. 等等狀況, 造成 Replication 不會動, 通常會是 binlog 壞掉造成的, 通常看到這個能做的大多是重新把 Master 的資料倒出來, 再倒回 Slave, 然後重新開始, 但是當運氣不太好, 三天兩頭就有機器又燒起來的狀況, 就會去想更好的解法......
(閱讀全文)星期二, 十二月 19, 2006
讓遠端可 VNC 或 AOC 進 NAT 內的電腦(IPTABLES)
讓遠端外面的機器可以連進 NAT 的某台電腦, 只要 iptables 設定兩個 port 即可.
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 5800 -i ppp0 -j DNAT --to 192.168.1.1
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 5900 -i ppp0 -j DNAT --to 192.168.1.1
- ppp0: 看對外的網卡是哪個, 就換成哪個 ex: eth0, eth1
- 192.168.1.1: 要連進內部的 IP 是哪個, 由此設定.
星期四, 十二月 14, 2006
Unix 基本指令: Cut
突然發現 cut 的好用, 來做 Linux (Unix) 基本指令介紹, 也當做筆記來用~~
cut 有三個參數:
- -c list: 一段範圍清單, 以','隔開, 直列切割(ex: 1,3,5-10,33)
- -d delim: 可以設中間間隔符號要哪種, 預設是tab分隔切割, 通常會搭配 -f(決定要取切割欄位的哪欄)
- -f list: 以欄位為主, 作剪下的動作, list 是欄位編號或一段範圍的清單(類同 -c 參數)
星期日, 十二月 03, 2006
rsync - get 和 push 目錄同步
rsync 兩台機器間的檔案要相互同步, 只比對時間較新就是新資料.(記得兩台機器都得要有 rsync)
以下例子假設兩台機器的 src 目錄要同步(刪除檔案若要相互刪掉, 需各加 --delete)
get:
rsync -avuzb HOSTNAME:PATH/src PATH
push:
rsync -Cavuzb PATH/src HOSTNAME:PATH
每次要 sync, 就先 get 再 push 即可(類同 cvs update 再 commit, 但沒 cvs 那麼強大功能, 請小心使用.), 可以加入以下兩個 alias(請自行修改, 將大寫換掉)
alias rget='rsync -avuzb HOSTNAME:PATH/src PATH'
alias rpush='rsync -Cavuzb PATH/src HOSTNAME:PATH'
星期六, 十一月 25, 2006
在 Ubuntu 上安裝 Freemind
看 FreeMind at Gea-Suan Lin's BLOG 後, 就會很心動想要裝來玩.
原本想說有 deb 檔應該是直接安裝即可, 沒想到有些麻煩存在, freemind 的 deb 檔並不會自己去把相關的 library 拉進來, 但是卻會造成其它 package 有衝突的狀況, 不過依照他的錯誤訊息狀況, 照以下順序即可完成.
以下有一部份轉載自: FreeMind 在 Ubuntu Edgy Eft 中的安?
因安裝時忘了記錄, 正好看到此文章寫的很完整, 所以下述是摘要此文的流程, 如有不清楚的, 可以直接參考上述文章. :)
(閱讀全文)星期六, 十一月 11, 2006
debian php and mysql upgrade
今天心血來潮, 突然想到來把 php & mysql 一起升級, 升級到 php5 & mysql5 ~
升級流程:
- backup mysql, mysql config, php config
- mysqldump --all-databases --user=root --password='xxx' > mysql-date.sql
- tar zcvf mysql-date.tgz /var/lib/mysql # 保險還是整個壓起來, 出問題可以 rollback 用
- tar zcvf mysql_conf.tgz /etc/mysql
- tar zcvf php_conf.tgz /etc/php4
- apt-get install php5 ... (和 其它相關 package, 這個在 restart apache 時看錯誤, 再解決即可)
- apache 會出現的錯誤大概就是 php4.conf 要移掉 .. 還有在 php.ini 若有修改, 在 php5 也記得要改.
- apt-get install mysql-server (自動會抓 mysql-server 5.0)
沒想到這麼簡單就升級完成, 不用做任何匯入匯出的動作~ :p
目前看起來狀況好像還不錯, 先試用看看囉 :)
星期日, 十一月 05, 2006
Email 認證用 Domain Key(Gmail)
有很多系統在製作時, 都會寄些通知信, 或者其它提醒之類的信, 但是發現寄到 gmail 都被退信.
仔細看一下被退的信才知道, 現在一定得要有設 domain key 才能寄的進去(被退的信裡面有教怎麼設定此 domain key)...
詳細可見: Google Mail Help Page: Bulk Email Senders
其它參考:
(閱讀全文)星期三, 十月 04, 2006
Firefox 效能最佳化(效能調校)
相信大家使用 Firefox 時總會遇到一個問題, 就是網頁多開一點, 記憶體就會用光了, 特別是 Javascript 用較多的網頁, 都會有此狀況.
但是實際上是不需要用那麼多記憶體的, 大多都是頁面整個畫完後, 就可以釋放掉的記憶體, 但卻都留在上面, 不知道該怎麼清除.
(閱讀全文)星期二, 十月 03, 2006
PHP mysql_connect() 出現 function not define 問題解決
Redhat MySQL 預設會將 mysql.sock 放在 /var/lib/mysql/mysql.sock, 但是另外自己 make 的 php, 預設會去拉 /tmp/mysql.sock, 所以會連不到 MySQL, 或者 mysql_connect() 會出現 function not define 等問題(php.ini 有 extension=mysql.so, 並也 restart apache, 卻還出現此錯誤).
只要去修改 my.cnf, 將 /var/lib/mysql/mysql.sock 的路徑, 改到 /tmp/mysql.sock 即可. 如同以下步驟:
- vi /etc/my.cnf
- #socket=/var/lib/mysql/mysql.sock # 註解掉
- socket=/tmp/mysql.sock # 設到 /tmp/mysql.sock
此完成後即可正常使用.
星期日, 十月 01, 2006
將路徑下的所有目錄列出來
將此路徑(目錄)的所有目錄列出來(不列檔案), 有以下幾種做法:
- ls */ -d
目錄下的所有目錄、階層都列出來(不列檔案).
- tree -d
- find /path -type d
- find [dir] -type d -print
星期一, 九月 18, 2006
Bash Shell 快速鍵
Bash Shell 快速鍵列表
- Alt-F: 到此行最後面
- Alt-B: 到此行最前面
- Ctrl-A: 回到此行最前面
- Ctrl-E: 到此行的最後面
- Ctrl-U: 清除一行中游標之前的所有文字
- Ctrl-K: 清除一行字游標之後的所有文字
- Ctrl-H: 移除游標前的一個字元(同 backspace)
- Ctrl-D: 移除游標後的一個字元(若於命令列有字的話)
- Ctrl-D: 結束輸入(如果您在 shell 下,就會跳出該 shell)
- Ctrl-C: 終止正在執行的程式
- Ctrl-Z: 暫時停止程式(將該工作放到背景) (fg 1, fg 2 拿回)
- Ctrl-S: 停止輸出到畫面上(類似 Scroll Lock, ex: cat xxx 需暫停時使用)
- Ctrl-Q: 回復輸出到畫面上(恢復Ctrl+S的輸出)
- Ctrl-W: 刪除游標之前的最後一個單字
- Ctrl-R: 搜尋過去的命令
- Ctrl-F: 游標向後移動
- Ctrl-B: 游標向前移動
- Ctrl-P: 找上個指令(同上箭頭)
- Ctrl-N: 找下個指令(同下箭頭)
- Ctrl-T: 相近兩個字元互換位置
- Ctrl-Z: 丟到背景執行, 可用 fg 回復
- Ctrl-L: 清畫面
- Ctrl-J: 同 Enter
- Ctrl-I: 同 Tab
- Ctrl-V: 加上要輸入特殊字元, ex: Ctrl-V Ctrl-C 會出現 ^C 而不是中斷
- Ctrl-V TAB: 輸入 TAB,而不是命令列擴展
- C-xC-e 可以使用 vim 寫入 script 讓他一次執行
- Alt-d: 刪除游標之後的一個單字
- TAB: 擴展要輸入的檔案到命令列上
- 上/下箭頭: 開始搜尋過去的命令
- ESC-T: 最後 兩個 "單字" 互換位置
- C-xC-e 可以使用 VIM 寫入 Script 讓他一次執行
Bash Shell 可以設多種 Mode, 可參考如下:
- set -o # 可以列出所有 Mode
- set -o vi # 可以用 vi 操作法來操作 Bash Shell(用此 Mode 上述的快速鍵即無作用)
- set -o emacs # Bash 預設就是此 Mode.
更多 Bash 應用 可參考以下網站:
星期六, 八月 12, 2006
遠端執行命令、多台機器管理(Push.sh)
當手上有 1 台機器, 管理的方法是 ssh 到那台機器做事.
當手上有 5 台機器, 管理的方法就會想要遠端執行, 就會使用
用法: ssh 主機名稱 "要執行指令"
ssh hostname 'sudo cp http.conf /usr/local/apache/conf/'
ssh hostname "ls"
ssh hostnmae "sudo /usr/local/apache/bin/apachectl restart"
當手上有 30 台機器的時後, 管理的方法就會如下:
用法: for i in i的值; do 目前機器要下的命令 '遠端機器要下的命令'; done;
for i in 1 2 3; do scp xxx.conf w$i.hostname:; done;
for i in 1 2 3; do /usr/bin/ssh w$i.hostname 'sudo mv xxx.conf /usr/loca/conf'
for i in 1 2 3; do /usr/bin/ssh w$i.hostname 'sudo ls /'; done;
1 2 3 ... 自己寫要幾台都行, 可以改成自己其它取的值
注意: 目前機器要下的命令, 不要用 " 或 ' 包起來, 只有要給 遠端機器 的指令才要用 " 或 ' 包起來.
(閱讀全文)


