昨日なんとか終わった、サーバのOS更新。12時間近く掛かった。そのあとも細かい修正をしていた。

デスクトップと同様、サーバもバージョンを2つ(Ubuntu 16 → 18 → 20)上げるため なかなか大変だったが、最初から思わぬトラブルばかりだった。

まず、もしもの時のため※、サーバ(VPS)の仮想コンソールが開けることを確認しようとしたら、そのログインのためのデスクトップPCの二要素認証のアプリが起動せず、そこから対処する羽目になったw (少し前に、そのアプリが使っている、snapという大嫌いなクソシステム(Ubuntu(Canonical)謹製)の設定を変えたのだが、それが悪かったようだ。)

※「まあ、使わないだろう」と高をくくっていたら、大活躍する羽目になったw

それから準備して、最初の更新を始めた。Ubuntuのリリースノートに書かれているようにdo-release-upgradeコマンドを実行したら、パッケージのダウンロードが途中で失敗してしまった。。。 サーバを変えようかと思ったが、面倒だったので、少し待って再実行したら成功したように見えたが、インストール中にハングしてしまった。。。

仕方なく強制再起動して、仮想コンソールで更新を再実行したら、途中でカーネルパニックで落ちた。これは、以前問題になって暫定対処したもの(telinitというコマンドを実行すると落ちる)を、更新の邪魔になるかも知れないと思って元に戻したせいだ。それで、その暫定対処を再度入れた。

それから、再び、更新の準備としてインストールされているパッケージの更新をしようと"sudo aptitude upgrade"をしたら、ハングはしないが全然進まない。どうやらメモリフルになっている感じで、途中でaptitudeが強制終了されてしまった。さっき途中で落ちたせいでシステムが壊れてしまって、最初からインストールかと思ったが、ダメ元で"apt-get upgrade"としたら、嘘のように処理が進み、なんとか通ってしまった。僕の思い込みだったのだが、aptitudeはapt-getの上位互換ではないようだ。全く馬鹿だった。

それで、今度こそ本来のOSの更新をしようとdo-release-upgradeを実行したら、パッケージの更新はしたつもりなのに、"Please install all available updates for your release before upgrading."と出る。調べて、関係ないとは思ったが、"sudo apt autoremove"をして再起動してみた。

すると、また起動中に落ちた。やれやれである。今度は、plymouth-upstart-bridgeとかいう初めて見たものでパニックになっていた。検索したら既知の問題で、それを起動しているスクリプトに待ちを入れると何とかなるとのことだったが、そうしたくても起動中に落ちるのだが・・・ 使いにくいリカバリモードで起動して対処するか、0から再インストールしかないのかと思いつつ、まさに勘で起動時のブートセレクタで別のモード(Extendedの上から2番目の"systemd"とかいうもの)を選んでみたら何とか起動し、その修正を入れられた。ただ、systemdの方が筋が良さそうなので、そっちをデフォルトに変更した。

ただ、再度do-release-upgradeを実行しても、やっぱり駄目だった。それで、もしかしてと思ってOSのバージョンを調べたら、Ubuntu 18(一段目の更新先)になっていた。どうしてかは分からないし、それが正しいのかも分からないが、正しいとすればapt-get upgradeでOSが更新されたようだ。。。

更に調べてみたら、do-release-upgradeの前に、インストールされているパッケージの更新をするために、"sudo apt dist-upgrade"が必要とのことだった("sudo aptitude upgrade"ではなかった)。そんなのリリースノートに書いてなかったはずだが・・・ 確かに前回(Ubuntu 16にした時)はそうしたが、今回は書いてなかったので しなくていいと思ったのだ。

それで、とりあえず、二段目のUbuntu 20に更新しようと、"sudo apt dist-upgrade"と"do-release-upgrade -d"を実行したら、今度は妙にスムーズに終わってしまった。ここまでで7時間くらい掛かった。。。 さすがに疲労困憊だ。

それから動作確認と修正をしようとしたら、sshで繋がらなかった。また仮想コンソールで調べたら、ネットが動いていなかった。どうやら、パケットフィルタリングに使っている、iptablesコマンドの場所が/sbinから/usr/sbinに変わって、それを使っているスクリプトがエラーになったためのようだ。聞いてないんですが・・・ 理由は分からないが、ネット周りの標準が従来のifupからnetplan.ioとかいうシステムになったせいだろうか(最初は、このせいでネットが有効にならないのかと思った)。ちなみに、なぜかnetplan.ioの設定やコマンドではなく、従来の設定が有効だった。謎とイライラは多い。

それからは、概ね細かい修正ばかりだった。例によってmysqlもphp-fpmも起動しなかった。前者はバージョンが上がったらなぜかクエリーキャッシュという機能が減って(マジでクソだと思う)※、その関連の設定がエラーになったため(余計な設定だったら警告でいいと思うのに、全くセンスが悪い)、後者はwebサーバと通信するためのソケットのファイル名が変わったためだった。

※確証はないが、デスクトップのdigiKam(mysqlを使っている)が近頃遅いのは このためのせいの気がする。

それから、更新で上書きされた設定ファイルを探して自分の変更した設定とマージして ようやく更新工程が終わり、動作確認・修正してようやく終了となった。ここまでで11時間くらい掛かった。

やれやれ。

だったのだが、今朝、更に思わぬ問題も発覚した。DNS関係のdigやhostやnslookupコマンドが動かないのである(それでよくOSが起動したものだ・・・)。SSL証明書の更新スクリプトがエラーになっていて気付いた。検索しても余り出て来ないので全然分からなかったが、それらのコマンドが参照している、問題のコマンドやその参照しているライブラリが参照しているライブラリの場所を調べたら、驚くべきことが分かった。

libuv.so.1というライブラリが、標準のものでなく、(おそらく何かのために自分で入れたであろう、)古い版になっていた。標準のライブラリは正しい位置にあるのだが、古いものが/usr/local/libにあって それらしく動いていたので、気付かなった。それで、その古いライブラリを削除したらdigなどが動くようになったので、/usr/local関係を綺麗にしてOSを再起動した。

これは自分が忘れた、かつ、事前準備を怠ったせい(/usr/local/binはチェックしたが、libは関係ないと思い込んでいた)だが、まったく溜息しか出ない。そしてきっと、これ以外にもこれからもちょこちょこ出そうだ。まあ、仕方ない。

そして、前にも書いたが、OSの更新を溜めると変更点が増えて失敗の確率が高まるうえに、更新にまつわる作業が増えて良くない。※ かといって、こんな、つまらないうえに疲れることなんて毎年やってられないし・・・

※溜めると言っても、(LTSなので)元のバージョンだってサポート期間内なので、こんなに問題が起こる方がおかしいと思うのだが、それは甘いのだろうか? 甘いとして、それはどうしてだろう。甘いのは作っている方じゃないか? こんなんだったら"LTS"なんて言うなって思うわ!

 

僕の印象では、OSの更新で一番安心そうなのはmacOSだ。いかにも堅そうだ。(もちろん、使う気は1000%なしw) でもまあ、あれだけ自由(カスタマイズ)を制限していれば、ユーザ側のバリエーションが減るから、更新が失敗する確率は随分下がって当然と思う。

 

それにしても、毎回書いているが、更新でこんなに苦労するようでは、ユーザーが増えるどころか どんどん減って、マニアしか残らなくなるように思う(もう既にそうか)。それでいいのだろうか? 今はいいけど、明るい未来はないと思う(これって、日本の出生率が低下し続けていて未来がないのと近いものがあるのでは?) Linux開発者は、自分たち(お友達?)の世界に閉じこもって好き勝手なことをしていて(一方、バグも要望も長年放置ばかり)いいのだろうか?? 特別、みんなに使ってもらいたいとは思っていないのだろうか?

とは言え、有料のWindowsも似たようなものだから それよりはいいとは言えるか。でも、ものすごく低レベルな比較だ。

(11/13 7:27) 昨夜、書いたあとで"snap s*cks"や"snap f*cking"とか"Ubuntu fuc*ing"で検索したらw、Hackner newsのなかなか深いスレッド"Ubuntu 20.04 LTS’ snap obsession has snapped me off of it (jatan.blog)"が出て来た。2/3くらいまでしか読まなかったが、「(もちろん)snapはクソ。押し付けるな!」、「(だから・そして)Ubuntuもクソ。なにを考えている・どこに進もうとしているんだろうか?」、「UbuntuはWindowsに近付いている」、「Debianはまとも」、「Appleは更新でがらっと変えてしまうから、ユーザは対応するのが大変」といった意見(僕の意見で色付けしてまとめたw)があって、なるほどと思った。

あと、何人かが"Pop! OS"という(僕が嫌いな系統の名前の)なんか怪しいOS(ディストリビューション)がいいと言っていたが、賛同する人がほとんど居なかったのが妙で笑えた。でも、Ubuntuよりはましかも知れない。

(11/13 15:20) 詳しくは分からないが、近頃、macOSは更に自由がなくなったようで、ここまで来ると個人用コンピュータと言えるのか疑問だ。信心が試されるってことだろうが、僕には関係のないシロモノであることは確かだ。

 

いろいろ嫌になり、また、考えさせられた一日だった。

 

PS. この前はLinux Mintはイマイチだと思ったが、Ubuntuもかなりクソだと思った(寄付したのは無駄だったと思うくらい)。近頃はレベルが落ちているのかも知れないな。

そういう点で、Mintが嫌になったからディストリビューションを変えようと思っている件は、変化は大きいものの、Ubuntu系以外のカッチリしたものを選びたい気がしている。そういうものがあるとしてだが・・・ 全然分からないが、Arch系や(気乗りはしないが)CentOSとかなのだろうか。あとは全然気乗りしないが、BSD系??

  •  1
  •  0

コメントを書く / Write a comment

名前 / Name    

メール / Mail 

URL