星期四, 三月 05, 2009

Debian Linux Package 快速製作筆記(deb)

快速製作 Debian Package, 單純 Hello world 版, 若要詳細版本可見:

Debain Package 相關資料

 (閱讀全文)

星期三, 三月 04, 2009

FreeBSD Package 快速製作 筆記

快速製作 FreeBSD Package, 單純 Hello world 版, 若要詳細版本可見:

那此快速製作的簡易版, 主要是包自己的 Package 用, 只寫基本 build package 需要的檔案.

 (閱讀全文)

星期二, 三月 03, 2009

於 Linux、FreeBSD 使用 lockf 避免程式未結束,又被再次執行

程式設到 crontab 去執行是很常做的事情, 通常也會避免同時執行過多的 Script, 不過, 通常最怕的是程式要執行很久, 結果遇到程式還沒執行結束, 同樣的程式又被執行了一隻的狀況.

通常有幾種做法:

  1. 把時間拉長避開
  2. 程式寫 file.lock / ps 等, 去判斷是否執行結束
  3. 使用 lockf 來判斷

註: 關於 lockf 安裝可見 - 於 Debian Linux 安裝 lockf 或 參考 flock 用法

 (閱讀全文)

星期一, 三月 02, 2009

於 Debian Linux 安裝 lockf

以前都不知道有 lockf (execute a command while holding a file lock) 這麼方便的程式, 直到 Leeym 長輩 提醒才知道~

不過這個只有 FreeBSD 有, 在 Debian Linux 裡面翻不到, 最後打算找 Source code 來試著改寫看看, 就找到有人改寫好的程式囉~ :D

  • 註1: 在此先不詳細介紹 lockf 使用時機, 另外, 有空再來包 Debian package, 目前只有 tarball 可以安裝使用~:)
  • 註2: 其它版本 Linux 應該也都可以正常編譯, 只是我沒測試過.
 (閱讀全文)

星期五, 二月 27, 2009

使用 PHP 對所有 MySQL Database 做 Optimize / Repair 的動作

發現 Blog 的速度越來越慢, 主要原因應該是資料越來越多, Database 也開太多(資料蒐集 等等), 於是想說要來為所有 DB 做 Optimize 和 Repair 的動作.

詳可見:

 (閱讀全文)

星期四, 二月 26, 2009

MySQL Replication Slave 使用 PHP 來忽略錯誤語法

MySQL 使用量越來越大時, 就會遇到不少莫名奇妙的事, 不管是 Replication 還是 Data Import 等等.

最常見的就是這個: MySQL Replication 出現 Duplicate Key

註: 此狀況只會發生在 MySQL Replication 的 Slave, 所以下述程式也是給 Slave 用, Master 不需要.

 (閱讀全文)

星期三, 二月 25, 2009

查看 MySQL 各 Table 的使用空間

想知道 MySQL 每個 Table 到底使用多少空間, 如果是用 MyISAM 格式, 直接 ls -lh 去看即可. (下述路徑是 Debian Linux 預設 MySQL DB 存放路徑)

查看 MySQL Table 使用容量 (看 *.MYI)

  • ls -lh /var/lib/mysql/DB_NAME/
  • ls -lh /var/lib/mysql/DB_NAME/ | grep MYI # root 身份 可以直接 ls -lh /var/lib/mysql/DB_NAME/*.MYI

取出 MySQL Table 使用容量 依容量大小排序

  • ls -l /var/lib/mysql/DB_NAME/ | grep MYI | awk '{print $5,$8}' | sort -nr
  • 簡化: ls -l /var/lib/mysql/DB_NAME/ | awk '/MYI/ {print $5,$8}' | sort -nr # 感謝 artchiu 提供

不過若使用 InnoDB, 因為檔案只有一個, 就沒辦法使用此方法來查.

 (閱讀全文)

星期一, 二月 23, 2009

Ubuntu / Debian Linux Mplayer codecs 安裝 & 更新

Linux 看電影都是用 Mplayer, 平常所有影片都能看, 但是最近有個 rmvb 不能看(有聲音, 沒畫面), 但是我新灌的電腦可以看, 應該是 codecs 太舊的原因, 所以來更新看看.

如果您只是要安裝 Mplayer 與 確定可以正常顯示等等, 請先試此篇文章這兩個步驟:

  • 安裝 / 更新 Mplayer Codecs
  • 設定 視頻輸出驅動 (vo)

如果不行, 再參考本篇內其它步驟~ :)

註: 感謝 shell 的指點, Debian 有寫好的 Script 可以直接執行, 就會自動安裝好.

sudo /usr/share/mplayer/scripts/binary_codecs.sh install
 (閱讀全文)

星期五, 二月 20, 2009

使用 AWK 來做垂直數字加總

數字垂直加總

檔案內容 (num.txt)

1
2
3
  • 加總: cat num.txt | awk '{sum += $1} END {print sum}'
  • 輸出: 6

加總 Apache access log 輸出的流量

  • cat access.log | awk '{sum += $10} END {print sum}'
  • 數值就是輸出的流量.

相關網頁

星期一, 元月 12, 2009

MySQL Import / 資料還原 忽略錯誤訊息

要將 MySQL 的資料備份還原(mysqldump), 但是出現下面這些錯誤訊息: (mysql -u root DBNAME < DB.sql)

ERROR 1062 (23000) at line 43238: Duplicate entry '?' for key 2
ERROR 1062 (23000) at line 50788: Duplicate entry '?' for key 2
ERROR 1062 (23000) at line 50860: Duplicate entry '?' for key 2
ERROR 1062 (23000) at line 50923: Duplicate entry '?' for key 2

平常狀況這個應該是不存在的(或許吧? 業主的 DB 不知道為何會匯出這樣子的資料), 總之要先 Import 進去, 才能開始進行開發的工作.

出現上述的錯誤訊息, 匯入的動作就會停止, 所以要讓 MySQL 不要管這些訊息, 強制匯入.

 (閱讀全文)

星期二, 元月 06, 2009

開始使用 Debian Linux 桌面環境

前幾天遇到悲慘的狀況, 使用中的桌機, 硬碟突然就掛了. 幸好現在資料大部份都在網路上, 就沒什麼好留念的~

這台電腦裡面還有兩顆 IDE 硬碟(但是感覺都不太行了), 還是拿新的 SATA 硬碟來用, 所以現在電腦裡面的狀況就是 SATA + IDE 共存, 感覺好像沒什麼問題, 但是灌 Ubuntu 就有狀況了, Ubuntu (8.04/8.10) 無法光碟開機, 殘念.

還是回來使用 Debian, Debian 光碟可以正常開機, 但是直接安裝桌面環境, 裝完後連開機選單都出不來... 還是認命重灌~ 只灌最基本的系統, 然後跑 apt-get install gnome xorg 等命令來安裝桌面環境.

 (閱讀全文)

星期三, 十二月 24, 2008

MySQL 的 mysqldump 移除 AUTO_INCREMENT=* 字串

MySQL 備份或者資料庫架構的匯出, 都會使用 mysqldump 來匯, 備份資料/還原都很方便, 但是匯出資料庫架構這方面, 對於 AUTO_INCREMENT 的處理就有點小麻煩了.

MySQL 匯出 DB Schema 的參數:(不匯出資料)

mysqldump -u root -d DB_NAME # "-d" 就不會將資料一起匯出來
 (閱讀全文)

星期一, 十二月 22, 2008

Ubuntu 8.10 Firefox 輸入框過長解法

Ubuntu 8.10 不管是升級還是灌全新版, 都會發現 Input 的欄位超長, 版面看起來就很亂, 在頁面製作上就會有點困擾(比正常長度多太多).

 (閱讀全文)

星期五, 十二月 19, 2008

讓 Vim、Screen 支援 256 色

此篇設定於 Windows(putty) / Linux 都適用.

在 Linux 很少用 Gvim, 但是又覺得 Gvim 的顏色很不錯, 都想是因為 Terminal 的 Vim 只支援 16色, 原來 Terminal 的 Vim 早就支援 256 色了.

 (閱讀全文)

星期三, 十二月 17, 2008

WordPress 升級到 2.7 的步驟

雖然我現在還是用 LifeType, 但幫老婆用的是 WordPress, 原本是不太想管這個, 但是看到這篇: WordPress 2.7可能的漏洞?, 還是乖乖的幫她升級上去. (註: WordPress 2.7 至今仍未發現重大漏洞 - 感謝香腸提供的資訊)

到底是從哪個版本升上去的, 我也不知道, 但是 WordPress 的升級還蠻聰明的, 隨便亂丟也升級完成. XD (還是只是我運氣好?)

 (閱讀全文)