lsblkの出力がubuntu/LinuxMintで変わりました
1.概要
この記事は2024年の記事です。丁度、ubuntu 22.04に本格移行をする必要に迫られて、作業を開始した時にlsblkの出力結果がubuntu 20.04と異なることがわかり、運用しているshellの見直しをした時に記述しました。ubuntu 22.04移行でがっかりした時の気持ちを残したいと思って、記事を備忘録に残すことにしました。
ubuntuのVersion移行は定期的な行事と同じです。何らかの問題が普通に起きてしまいます。特に導入手順をshellを利用した自動化を勧めていると、細かい設定がとても気になります。設定が変更されることで自動化したshellの見直しが必要になるためです。
今回はlsblkのコマンドの実行結果表示が1項目増加したために、その結果を利用した自動化shellで問題が起きてしまいました。定期的な行事とは言えますが、shellを見直すことは案外辛い作業です。
ubuntu-20.04からubuntu-22.04へ移行をするための試験PCを準備して環境構築をしています。ubuntu-20.04で利用していたlsblkコマンドを利用していたshellが正しく実行されないので調べてみると、lsblkの表示項目が1項目増えていました。その内容に関して記述します。
私の評価は以下の通りです。
(1) ubuntu 22.04からlsblkにFSVER項目が追加、使われてない気がします。
(2) 本当に必要な項目ならば、ubuntu 20.04等の過去バージョンも揃えてほしい。
2.詳細
lsblk利用してDiskのUUIDを調べていますが、ubuntu-20.04とubuntu-22.04では、FSVER項目が追加されていることに気が付きました。ヘッダー情報を記述します。(a) ubuntu-22.04
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
(b) ubuntu-20.04
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
FSVERが追加されてことで、UUIDの場所がズレてしまい処理が正しく実行されませんでした。FSVERには1.0の値です。ubuntu-20.04とubuntu-22.04が共存するのでOSのversionに合わせる処理を追加することにしました。
3.所見
LinuxMint 21以降も同じ修正が入っています。lsblkの出力結果はよく参照するので、項目数を変更するならば最後に追加してほしいものです。これが運用に影響してプログラムなどの修正が必要になった例はあると思います。
shell programingはお気に入りの処理方式です。PythonなどのProgramを利用するよりもshell protramingを多用します。理由はすぐに実行できて結果を得られるからです。1行で実行するshell programingもあり、使い慣れると様々な用途に応用することができます。
4.追加
ubuntuのversion移行で一番嫌だったことは、ubuntu 22.04からubuntu 24.04のインストーラの変更です。外観を変えるだけでなく、bootデバイスをMBR部分だけしか選択できなくなりました。マルチブートは既定値では実行させませんという意思表示だと思います。
この件に関して、UbuntuOneに問い合わせをしたところ、ubuntu LTSの機能としては、PBRブートは可能であり、MBR上のマルチブートも可能との回答を受けました。インストーラをPBRサポート可能に変更要望を出しましたが、実現されていません。
同じようなインストーラの大きな変更経験がCentOSでありました。こちらも大幅に変更されてしまい使い勝手が悪くなったことが原因でUbuntu 16.04に移行しました。既存利用者はインストーラの変更を必要としているか否かを確認してほしいものです。
インストーラの変更が負担なかった製品がVMwareのハイバーバイザーのインストーラです。見たことがないインストーラでしたが、推測ではSUSEベースではないかと個人的に思っていました。こちらは、良く考えられており、改良された製品だと思えるものでした。
参考
・shell scriptを入れ子にした場合のteeの挙動について調べました
コメント
コメントを投稿