結局,SlackwareARMのサーバー,古いCore i7の第2 ワークステーションの第1 OSであるManjaro AMD64, 第2 OSであるDebian AMD64,全部zramをswapに使うようにして,ディスクのswapパーティションを使うのをやめました.
あとは仮想マシンが残っていますが,緊急性はないのでぼちぼちやっていきます.
しばらく様子を見たいと思います.
横断歩道での一時停止は善意ではなく義務 (Powered by WordPress)
結局,SlackwareARMのサーバー,古いCore i7の第2 ワークステーションの第1 OSであるManjaro AMD64, 第2 OSであるDebian AMD64,全部zramをswapに使うようにして,ディスクのswapパーティションを使うのをやめました.
あとは仮想マシンが残っていますが,緊急性はないのでぼちぼちやっていきます.
しばらく様子を見たいと思います.
世の中みんなsystemdになってきました.筆者が最初にいじったsystemdのシステムは,1〜2代前のRaspberry Pi OSで,たぶん2017年頃だったと思います.Raspberry Piに赤外線リモコンのソフトを組み込んだ時,デーモンの起動にsystemdを使いました.
その後はたぶん,Gentoo, Manjaro, Debianをインストールして評価して,いつものように,習うより慣れろ的にやってきました.
今回,とあるサーバーの更新に際して,慣れたSlackwareではなく,次のLTSへのupgradeもオンラインでできることを期待して,Debianにしました.
で,いろいろ必要なサービスを設定していくのですが,そのために細かいことまでsystemdに対応するようservice設定をしているところです.設定が終わったら,
systemctl start サービス名
で,起動して,動作を確認する場合は,
systemctl status サービス名
なので,キーボードの上矢印を押して前のコマンドを編集するわけですが,まん中のコマンドを書き換えるのは,ちょっとやりにくいなと感じています.
systemctl サービス名 コマンド
というシンタックスにして欲しかったです.
それはさておき,困るのは,何か困った時に,
debian 困った事柄
で,ネット検索しても.systemdでない方の情報が圧倒的に多いことです.
いちいち検索のキーワードにsystemdを入れるか,あるいはdebianは入れずに,
systemd 困った事柄
で検索するようにしています.
RaspberryPi OS以外のARMのLinux distroでMozcは使えますよね,あ,でも実例が示せない,ということで久しぶりにManjaro ARMをインストールしてみました.サーバーの予備機の位置づけのRaspberry Pi 4 RAM 4GB (RPi4 4G)です.
しかし,新規インストールからどうやってもMozcが使えません.昔の下卑た言い方でいうと「やきが回った」ようです😓 省略しますがいろいろやりました.fcitx (古いversion4のほう)も,fcitx5も試しましたが,動いてくれません.
また,けしからんことにjoeがなくて,ネットで調べるとしばらくupdateされていないから,去年のいつか,Manjaroから削除されてしまったそうです.
記憶が正しければ,去年まではMozcが使えていたはずなので,どこかに去年いじっていたManjaro ARMのバックアップはないかなとあまり期待しないで探したらありました.2021年3月23日のものです.
SSDのvfatパーティションに/bootの内容を,残りをext4のパーティションにrsyncに–deleteオプションを付けてコピーしました.
RPi4 4GにSSDをつないで起動すると,ちゃんとManjaroのログイン画面まで進みます.たいしたもんです.
しかし,ここから先が苦難の道です.わずか1年3か月前の状態なのに,GUIのupdaterではupdateできません.
あちこちを参照して,まず(以下全てroot権限),
pacman-mirrors -f
をしました.これは成功しますが,その後のupdateではエラーが出ます.エラーメッセージにlibcanberraとlibcanberra-pulseがなんだかんだ言うので,その2つを,
pacman -R libcanberra libcanberra-pulse
で削除しました.よく見ませんでしたが,依存性のあるたくさんのパッケージが削除されました.それでも,次に,
pacman -Syyu
をしたら,今度は成功します.起動するとシンプルなグリーターが出ますが,パスワードを入力してリターンしても先に進みません.
そこでさらにあちこちの情報を参照したりしなかったりして,以下のパッケージをインストールしたり削除したりまたインストールしたりしました.
最終的には,gnomeとgdmは削除して,
ここら辺の記事を参考に,sddmとkdeのパッケージについて再インストールしたところ,無事KDE plasma desktopが起動するようになりました.
ここまで何とか来ましたが,マウスポインターの動きが遅くて使い物にならなくなりました.これは “known issue”だそうです.
要は,/boot/config.txtの dtoverlay=vc4-fkms-v3d
を dtoverlay=vc4-kms-v3d-pi4
に書き換えればよいです.
Mozcもjoeも使えます.あちこち壊れている可能性もありますが,updaterは “Up to date” といいます.
やっぱりバックアップは取っとくもんです.
実マシンから,仮想ディスクにまるまるコピーできたら,あとは若干のまじないが必要です.
一つは,まじないというより即物的な設定で,/etc/fstabの書き換えです.とりあえずは,仮想ディスクを/dev/sdaとして設定しておきます.この作業はコピーが終了したら仮想ディスクのイメージをマウントしたまま作業した方が楽です,というか,他にやりようがないです.
次は一番肝心なgrubのインストールです.grubをインストールするためには,そのターゲットとなるディスクから起動した環境が必要となります.しかし,まだ起動の仕組みがないので自力ではできません.そのためにchrootを利用しますが,色々ややこしいので,後で自分でわかるように,固定ページに書いときました.
ちなみに,Slackwareの場合は,インストールDVDイメージから起動する際に,ルートパーティションを指定できるので,chrootしなくてもgrubのインストールができます.
ターゲットのパーティションをルートにできたら,ルート権限で,
grub-install /dev/sda grub-mkconfig -o /boot/grub/grub.cfg
実行します.これは,Slackware, Manjaro, Debian共通です.
これで,実マシンからコンバートした仮想マシンが起動しますが,Debianでは
sudo update-initramfs -u
を実行するなど,多少のチューニングが必要です.
コピーは終わりましたが, “BIOS boot” というパーティションを作っていないことを思い出して,パーティションを切り直すことにしました.
しかし,これまでupdate不能状態とは言え,その “BIOS boot” パーティションなしで動いていたのに必要なのか,と疑問がわきました.たぶん,今まではDOSパーティションだったので不要だったのでしょう.gptで “BIOS boot” パーティションを含むようにしてパーティションを切り直し,必然的にルートのパーティションをフォーマットし直しました.
もう一度,qcow2型式のルートパーティションをマウントして,念のためにリードオンリーでマウントしたコピー元になる実マシンのManjaroのパーティションからrsyncでコピーしました.
そういえば,以前はnbdで接続したディスクイメージをマウントする場合,mountコマンドにオフセット指定が必要でしたが,最近は改善されて,
mount /mnt/nbd /dev/nbd0p2
と,そのままマウントできるようになりました.人間がますますバカになります😥