Debian/Ubuntu 自動更新

要如何設定 Debian/Ubuntu 自動做更新呢?這可以使用 dpkg-reconfigure -plow unattended-upgrade 來設定

sudo dpkg-reconfigure -plow unattended-upgrades

執行指令後,會跳出視窗詢問是否要自動更新,選擇 Yes 就可以了。執行以後,會更新 /etc/apt/apt.conf.d/20auto-upgrades 這個檔案的內容

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

如果有不想自動更新的套件,可以用黑白名單來設置,這邊可以參考 /etc/apt/apt.conf.d/50unattended-upgrades 檔案裡的範例來設定。

有些套件在更新後,會需要重新開機,unattended-upgrade 也可以做到自動重開機,主要是在 /etc/apt/apt.conf.d/20auto-upgrades 加入以下設定

//Unattended-Upgrade::Automatic-Reboot "false";
//Unattended-Upgrade::Automatic-Reboot-WithUsers "true";
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";

除了可以指定是否自動重開機外,也可以指定自動重開機的時間。

了解 Debian/Ubuntu 如何自動更新以後,相信在管理主機上會更為輕鬆。

參考資料

debian package 的相依性圖形

找了半天找不到適當的指令顯示套件的相依套件,想起之前無意找到的 apt-cache dotty,就想說用圖形來看套件的相依性還是最快的。

產生圖形的方法:

  • apt-cache:apt-cache 本身就有提供 dotty command 可以產生,用法是 apt-cache dotty your_package > out.dot
  • debtree:debtree 需要另外安裝,好處是有提供更多額外的參數來產生圖形,用法是 debtree your_package > out.dot

接著就可以利用 dot 指令來產生圖形了,dot 是 graphviz 套件提供的指令,可以根據 dot 語法來產生圖形,用法是 dot -T png -o out.png out.dot。用 apt-cache dotty 產生的 dot 語法,會讓 dot 產生圖形的速度變得非常慢;而 debtree 所產生出來的 dot 語法,就不會如此。我猜想是 debtree 有預先排除掉 libc6, libstdc++6 與 zlib1g 的關係吧。

The Debian Administrator’s handbook

這本電子書是免費的,你可以在 The Debian Administrator’s handbook 網站上取得。

之前在 LinuxToy 上看到這本書可以下載,有利用 git 去抓取原始碼,後來就擱在硬碟裡。最近在整理硬碟時,看到這份原始碼,看了一下,居然可以產生 epub ,又看到 publican.cfg,以為是用 Python Pelican 產生的,就想說要找一天來仔細看看。今天再仔細一看,發現這誤會可大了,原來人家是用 publican,不是 pelican。

publican 的安裝很簡單,依照原始碼裡的文件,就用 sudo apt-get install publican 就可以,但在 Ubuntu 12.04 下,並沒有 publican-debian 。執行 publican 時,會有錯誤訊息:”Failed to load brand file”。所以我修改了 publican.cfg 裡的 brand,將其改為 common 就可以順利執行。指令是這樣下的,要產生 PDF:publican build –format=pdf –langs=en-US ;要產生 epub:publican build –format=epub –langs=en-US 。看原始碼裡有簡體中文的翻譯,有試著產生一份,但是發現並沒有翻譯完全,在 gitcafe 有看到 fork 一份出來,但是一樣不全,看來是停止翻譯了。