メインコンテンツまでスキップ

Wiki Server のアップグレード

2022/5/26
島田

Ubuntu18.04 → Ubuntu22.04 へのアップグレードをしました

ssh接続をしていると怒られたので、tmuxを使って作業しました。

一応tmuxを使う時のやり方を残しておきます。 tmuxから抜けるときには、Ctrl+bdで抜けるようにしてください。(Ctrl+dで抜けると使用する意味がなくなってしまいます。)

# 新しくsessionを作る
tmux new -s upgrade
# upgradeに入る
tmux a -t upgrade

とりあえず現在のOSなどのバージョンの確認と最新のパッケージに更新をします。 ここは飛ばしても構わないかもしれません。

lsb_release -a
uname -a
sudo apt update
# 更新の確認
apt list --upgradable
sudo apt upgrade
# サーバーの再起動 -- ssh接続が切れるので、もう一度入り直します。
# tmux も切れるのでもう一度作り直します。
sudo reboot

以下のコマンドをターミナルに打つことで、LTSの最新版にアップグレードすることができます。 今回は18.04→22.04と2段階上げるため、2回必要になりました。(おそらく一度に上げられないため)

sudo do-release-upgrade

/etc/update-manager/release-upgrades のような文字が標準出力に出てきたら、おそらくまだ次のLTSが出ていないので、大人しく待つか下のようにdevelopingのオプションを指定すると入ります(付けると18.04→20.04は見つかりませんでした)。

また、22.04が(リリースはされているが)まだ開発途中のようだったので、オプションの引数に-dをつけて、developingモードで入れました(秋頃の停電のタイミングで最新に更新をした方が良い?)。

sudo do-release-upgrade -d

再起動した後に、nodejsが消えたので、入れ直しました。

# nodejsのインストール 現在は16が入る(16がLTSから切れたら、これを消してネットからスクリプトを落としてくるのが良いです)
# sudo apt install nodejs だとバージョンが古いので、やめておいてください。
sudo ./setup_lts.x
sudo apt-get install -y nodejs

Wikiの自動デプロイ用のサーバーも再起動時に手動で立ち上げる必要があるので、再起動させました。

cd server
./start.sh

PukiWikiがPHP 8.1 で動かなかったので、これでPHPのバージョン7.4を入れました (参考) (PHPのバージョンをダウングレード)

OSのアップグレードの時の質問内容です。

設定ファイル '/etc/systemd/resolved.conf'
==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
==> パッケージ配布元が更新版を提供しています。
どうしますか? 以下の選択肢があります:
Y か I : パッケージメンテナのバージョンをインストールする
> N か O : 現在インストールされている自分のバージョンを残す
D : 両バージョンの差異を表示する
Z : 状況を調査するためにシェルを開始する

現在インストールされている自分のバージョンを残す を選びました​

sources.list にあるサードパーティが提供するリポジトリを使わない設定にしました。アップグレード完了後、'ソフトウェアソース' ツールもしくはパッケージマネージャーを使って再び利用可能な設定にすることができます。 ​

 サードパーティが提供するリポジトリを使わない設定にしました。 ​

設定ファイル /etc/apt/apt.conf.d/50unattended-upgrades の新しいバージョン(/etc/apt/apt.conf.d/50unattended-upgrades.ucftmp) が利用可能ですが、現在インストールされているバージョンは、ローカルで変更されています。変更された設定ファイル 50unattended-upgrades について何を行いたいですか? ​
パッケージメンテナのバージョンをインストール
> 現在インストールされているローカルバージョンを保持
バージョン間の差異を並行表示
バージョン間の差異を表示
利用可能なバージョン間の 3 ウェイ差分を表示
利用可能なバージョン間の 3 ウェイマージを実行
状況を検討するための新しいシェルを起動

現在インストールされているローカルバージョンを保持しました