Linux(Debian)をライブアップグレードしてみた

使用しているLinux(Debian)環境を最新にライブアップグレードしてみた

使用している環境の確認
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

設定メモ

  • スーパーユーザーに昇格しておく
$ su
Password:
  • とりあえず現在の環境で最新にアップデートしておく
# apt-get update
# apt-get -y upgrade
  • パッケージのソースリストを書き換える
# sed -i 's/jessie/stretch/g' /etc/apt/sources.list
  • Raspbian(Debian系)を使用しているRaspberryPiの場合は下記もあわせて実行しておく
# sed -i 's/jessie/stretch/g' /etc/apt/sources.list.d/raspi.list
  • アップデートを実行する
# apt-get update
# apt-get -y upgrade
# apt-get -y dist-upgrade

途中で確認を求められることが何度かありましたが、全てデフォルト値を選択しました

遅いマシン(RaspberryPiなど)でリモート接続して行う場合

sshの接続が切れてしまったりすることがあるのでscreenコマンド等を使っておくとよい

# screen
# 時間の掛かりそうなコマンド

実行中に[Control]+[a]キーを押した後[d]キーを押すとコマンドは実行されたままコンソールを一時的に切り離すことができる
頃合いをみて

# screen -r

で切り離しておいたコンソールに再接続することができ、接続が切れてしまっても結果が受け取れるようになる

  • アップデートが完了したら再起動する
# reboot
  • 不要になったゴミの類を削除
# apt-get -y autoremove --purge
# apt-get autoclean
# apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')

ライブアップグレードの結果

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

まとめ

環境によって時間がかかることもありますが、思っていたよりはるかに簡単でした
WindowsUpdateもこんな感じでサクッと終わればいいのにとか思ったり..