發表文章

Google Python 風格指南-命名規則, Main, 編後語

為某紅色的海公司服務的凍仁,近來研究了 藉由 DRBL/Clonezilla SE 來大量部署 OS 的 solution ,也使用了 Python 和 shell-script 來撰寫批次更換主機名稱 (hostname)、IP ... 等的差異化程式。這中間牽址到磁碟分割、DHCP、網路架構、PXE 網路開機、系統權限 … 等技術,其系統架構凍仁在此就不多詳加述,有興趣的伙伴可至 官網 詳讀。 因公司培訓的關係,凍仁現在很注重 程式碼的品質 ,更找到了這篇在介紹 Python coding style 的好文,就在此與大家分享了。

etckeeper - 追蹤記錄 /etc 下設定檔的好工具

在使用 Linux 架設服務 (service) 時常會依各種需求而更改設定檔 (configure),可往往這些修改的過程是難以被記錄的,更別說是在多人共同管理的情況下,除了養成手動備份的習慣外,其實我們還可以藉由 etckeeper 來輔助追蹤和記錄其版次的。 etckeeper 是一個藉由版本控制系統 (Version Control System, VCS) 來儲存和蒐集 /etc 設定檔的工具。有了它我們就可以在修改 configure 時附上簡短的敘述以便於後續追蹤,而它同時也整合了套件管理員,我們在進行套件的新增、修改、刪除時也會進行追蹤。以下將以凍仁較慣用 Git 版本控制系統進行示範。

在 Debian 7.0+ (MATE) 安裝 Compiz 特效

圖片
相信在 2010 年以前接觸過 Ubuntu 的伙伴都會懷念以前那 Gnome 2 和 Compiz 那客制化超高的炫麗年代 (詳情請看 Ubuntu 7.10 加 Windows Vista,超華麗雙重開機 一文),現在凍仁在 Debian 7.0 上把它們找了回來了,能在 Gnome 3, Unity 分歧的現在找回當初的感動,真是太棒了! ▲ CCSM 於 Debian 8.0 的截圖。

在 Cron Job, Jenkins 或其它程式中使用 GPG

凍仁於 Jenkins CI 的 build script 中使用到的 GPG 指令時,出現了 gpg: cannot open `/dev/tty\': No such device or address 的錯誤訊息。 查了一下才得知 GPG 在正常情狀下預設是會將結果輸出至具有互動的終端機 (Terminal, tty) 底下,但如果今天我們是藉由 Cron Job, 自行撰寫的程式或是 Jenkins 來操作時則會有以上的錯誤訊息, 這時我們只需加上「 --no-tty 」的選項即可避開之。

停用 Ubuntu 擾人的更新和升級通知

圖片
更新管理員 (update manager) 是 Ubuntu 內建的軟體更新套件,它就如同 Windows 一般會在背景 偷偷 運作並跳出 善意的 通知,讓我們知道可以進行更新 (Update) 和升級 (Upgrade)。 這對哥倆還有個共同的特色,那就是它們都會跳出 煩人的 對話視窗來打斷我們的思緒,對於喜愛使用指令 (command) 進行 GNU/Linux 更新和升級的凍仁而言是個很擾人的存在,幸好在 Ubuntu 上我們還可以手動關閉它,以下分別為圖形化介面 (GUI)和終端機介面 (Console) 的設定方法。