uBuntu 14.04 LTS 釋出已經有一小段時間,決定將遠端機房中上一個 LTS 版的 uBuntu 12.04 升級上來。uBuntu 現在做的很貼心,只要透過一個簡單的指令就能夠升級,由 SSH 連線至遠端主機,在 command line 輸入下面的指令: $ sudo do-release-upgrade 執行後是一個互動式的升級過程,逐一的檢查與詢問項目後才進行升級的動作,由於下載更新的時間較長,利用等待的時間出去覓食,回來之後就發生杯具了!互動的過程卡在一個詢問步驟...而且還不能動 XD,沒錯,因爲 SSH connection timeout。更新到一半也不能重新開機,否則問題可能會更大。 很幸運的,uBuntu update 程序的設計者似乎瞭解使用者這樣的「意外」!將系統版本的 update 放在 screen 裡執行。GUN screen 是一種在 Server 上執行的終端,只要 screen 本身沒有被終止,就可以繼續恢復原來的內容。 所以,我重新以 SSH連上了 Server 並且執行了下面的指令來觀察 Server 上現有的 screen session 有哪些: $ sudo screen -list There are screens on: 9129.ubuntu-release-upgrade-screen-window (10/07/2014 08:50:08 PM) (Attached) 2 Sockets in /var/run/screen/S-root. 可以由列表發現目前仍在執行的 screen session 名稱,如果我們要引用回原來的 session session,只要使用「-d -r [session擁有者]/[pid.tty.host]」的方式: $ sudo screen -d -r root/9129.ubuntu-release-upgrade-screen-window 很感動的,我拉回了原先因 timeout 僵住的詢問步驟,而且可以繼續下去,也完成了整個系統版本升級的過程。