駆け足で Debian をアップグレード

WordPress Jetpack 4.8が古いphpで盛大にバグを出したのに巻き込まれてしまったので、サーバーのOSを、Debian 6から8までアップデートしました。2012年に借りたときからほぼ放置だったので新しいApacheは動かず、phpも5.3.xのままという、ちょっと酷い状態だったわけで。

Jetpackの方は4.8.1で問題を解消していたのだけど、さすがに6年前の環境はまずい、ということで半日かけてアップデートできるところまで頑張ってみようと思った次第。まずはパッケージマネージャーの勉強から。yumとかbrewじゃないんだっけ……。

$sudo apt-get update

いきなり動かず焦ってしまう。ソースその他のダウンロード先がないとのこと。サポートが終わるというのはこういうことですね。この段階でDebian 6 (Squeeze)のままphpだけアップデートしようという計画は放棄。OSそのものをアップデートすることに。

Debianのアップグレードについては、Debian 6(squeeze)を7.5(wheezy)にアップグレードする方法! など、ほんとうにたくさんの情報がありました。先輩達に感謝。

$sudo vim /etc/apt/sources.list

squeezeをwheezyに変更。vimはつい最近、vimを愛用している作家に関するエッセイを書くために練習していたのです。vimの高度な編集機能はやっぱり英語や設定ファイルでこそ活きますね。そして再び apt-get update からの apt-get upgrade 。233個のプロジェクトが書き換えられるというメッセージを見て肝を冷やしつつ……

$sudo apt-get dist-upgrade

当然のことながら問題発生。

  • perlにlocaleがないと怒られる
  • /usr/local/sbin と /usr/local/bin にPATHが通っていないと怒られる

なんとなく apt-get がちゃんと動いていない気がしたので、もう一つの apt 管理コマンドでアップグレードしてみることに。

$sudo aptitude update
$sudo aptitude dist-upgrade

Debian 7へ移行することができましたが、 mysqld が動いてない。エラーを見ると UTF-8 の設定で落ちている様子。 6 – 7 のアップグレードはこなしてくれた aptitude ですが、7 -8 では推奨されないとのこと。やはり apt-get で警告された locale がない問題を解消しておかなければならないのでしょうということで locale を生成しようとしたが、今度は cd がないと怒られた。

ここでようやく気づきました。sudoにPATHが通っていなかったのです。

よくいままで動いてたな……。

このあとは apt-get で Debian 8まで(それなりにハマりつつ)移行できました。Apacheも2.4.xに、phpも丹念にエラーを潰していくのって、ほんと大切なことですね。Linux のアップグレードなんてやったのは10年ぶりぐらいなのですが、情報が増えていることにも驚かされました。文書を残してくださったコミュニティの皆さん、ほんとうにありがとうございます。

%d人のブロガーが「いいね」をつけました。