今日の戯言 by maa
基本的にただの独り言です。有益な情報を求めてはいけませんw
基本的にただの独り言です。有益な情報を求めてはいけませんw
レガシー BIOS の古い PC ばかり使っていたので、今回 UEFI-PC への初インストールとなったわけだが、かなり勝手が違っていたのでトライアンドエラーで思いがけず研鑽を積んでしまった。よく調べてからやれよって感じだが、Debian のインストーラーを信じていたのだ... とりあえず現状 HDD 全体を RAID1 化できている。どちらの HDD からでも boot できるようになった。
基本的にはここに書いてくれていることが全てだが、/boot/efi に充てる RAID1(必ずレベル1のミラーで)デバイス作成時のメタデータバージョンは必ず 1.0(--metadata=1.0)で作ること。そうでないと起動できない。
それから、なんかうっかり間違ったことをしたままインストールを終了して起動できなかった時は、いきなり再インストールしなくとも、インストールメディアで起動後、オプションメニューからレスキューモードで起動して、インストール時に作成済みの RAID を構成して、ルートパーティションと /boot パーティション、それから、/boot/efi パーティションに問題がないのであればそれもマウントして(/boot/efi が原因ならマウントせずあとで修正してから手動でマウント)、マウントしたルートでシェルを得る。/var が必要になると思うので、パーティションが別なら追加でマウントしておく。そして最初に示したここを再確認しながら修正(/boot/efi の RAID1 を解体して作り直してマウントしてあれこれするとか)していけば問題ない。
さて、改めて構成を見ると、4TB の HDD 2台(sda と sdb)それぞれを、/boot/efi 用に sda1 512MB、/boot 用に sda2 512MB、論理ボリューム(LVM)用に sda3 残り全部に切り分けて(/dev/sdb も同じ)、sda2+sdb2=md1、sda3+sdb3=md2 で RAID1 を構成する(そのままやるとそれぞれ md0,md1となり特に問題はないが、なんとなく先頭(後から RAID1 化する sda1+sdb1)から md0,1,2 と付けたかったので、本来インストール時にはやってはいけない efi 用の sda1+sdb1=md0 を最初に作って残りが md1,2 となるようにしてから、md0 を解体した。解体したあと sda1,sdb1 のパーティションを必ず削除してから改めてパーティションを作成し、ファイルシステム に EFI を選択する。)。そして md2 を LVM の PV(物理ボリューム)に、それをそのまま VG(ボリュームグループ)に割り当て、必要に応じて LV(論理ボリューム)に切り分ける(今回は /, /tmp, /var, /home, swap 用に切り分けた。)。
そしてそれぞれのファイルシステムとマウントポイントを設定する。sda1 と sda2 はそれぞれ EFI システムパーティション に、md1 は ext2(debian の方針)で /boot に、その他の LV パーティションは ext4 でそれぞれの場所にマウント、swap はもちろんファイルシステム swap に(HDD が壊れたときに swap 使用中のアプリが死なないように swap も RAID1 上に作った。)指定する。ここまで間違いがなければパーティショナーを抜けて、滞りなくインストール作業がエラーなく終了する。この時点ではまだ /boot/efi のパーティションは sda1 もしくは sdb1 のどちらかで md0 はない。インストール終了後、無事に HDD から起動できたらここの指示に当てはめて sda1+sdb1=md0 を構成して完成形に持っていく。
ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/md0 487M 5.9M 481M 2% /boot/efi /dev/md1 455M 151M 280M 35% /boot /dev/mapper/vg1-lv_root 19G 5.6G 12G 33% / /dev/mapper/vg1-lv_var 7.3G 970M 6.0G 14% /var /dev/mapper/vg1-lv_tmp 1.8G 136K 1.7G 1% /tmp /dev/mapper/vg1-lv_home 3.6T 161M 3.4T 1% /home
Personalities : [raid1][linear][multipath][raid0][raid6][raid5][raid4][raid10] md1 : active raid1 sda2[0] sdb2[1] 498688 blocks super 1.2 [2/2] [UU] md2 : active raid1 sdb3[1] sda3[0] 3905886208 blocks super 1.2 [2/2] [UU] bitmap: 3/30 pages [12KB], 65536KB chunk md0 : active raid1 sda1[0] sdb1[1] 498624 blocks super 1.0 [2/2] [UU] unused devices: <none>
基本的に設定をいじる時は新しいソフトを入れる時と、OS をアップグレードする時。しかし、通常よくやる PC そのまま OS だけアップグレードする時は、多くのソフト(Exim4, Dovecot, apache2, samba, etc...)についての設定は大体引き継がれるので一からやり直すことはないが、今回のように PC を買い換えた場合は全部一からやるしかない。かつて設定したはずだがうっかり忘れていることも多く、今回も例にもれず結構ハマっている...
設定は絶対あっているはずなのに、なぜか Windows からアクセスすると認証に引っかかる。
#smbpasswd -a USERNAME
/etc/apache2/mods-enabled/mime.conf をついつい見逃してしまう。
AddHandler cgi-script .cgi
あと、cgi 用の Perl の独自ライブラリは
/usr/local/lib/site_perl
内に入れること。
サーバーなのに勝手にサスペンドしてしまうのは /etc/gdm3/greeter.dconf-defaults をいじる必要がある。
[org/gnome/settings-daemon/plugins/power] sleep-inactive-ac-timeout=0 sleep-inactive-battery-timeout=0
それから、gdm3 のログインメニューからリブートやシャットダウンできないようにするには
[org/gnome/login-screen] disable-restart-buttons=true
TLS 接続できず、doveconf って結局何なんだな感じだったので、昔書いた記事を Debian12 に合わせて修正した。
NAS がマウントできないと思ったら mount.cifs がないと怒られた。cifs-utils パッケージに収録されている。
apt upgrade でパッケージを更新したあと、再起動が必要なプロセスがないかチェックしてくれる checkrestart は debian-goodies パッケージに収録されている。
またハマったらつけたしていこう...
さて、件の Z440 だが、サーバーとしての設定は滞りなく済んだように思うのだが、GNOME デスクトップ環境で最低限メールの読み書きはできるようにしておきたいので、標準メーラーの Evolution とそこで Google カレンダーも扱えるようにするために GNOME の「インターネットアカウント」の登録をすることにした。ところが Evolution をクリックすると無反応で、プロセスだけなんか動いたまま。「インターネットアカウント」で Google と Microsoft を登録しようとクリックすると無反応... 困った。で、journal(syslog じゃないのね...)でログを探すと関係しそうなのが以下の2種類。
org.gnome.Evolution.desktop[8435]: bwrap: Can't bind mount /oldroot/usr/local_share_fonts on /newroot/usr/local/share/fonts: Unable to mount source on destination: No such file or directory
org.gnome.Settings.desktop[8946]: bwrap: Can't bind mount /oldroot/usr/local_share_fonts on /newroot/usr/local/share/fonts: Unable to mount source on destination: No such file or directory
/usr/local/share/fonts/ はサイトローカルのフォントを入れておく一般的な場所だが、当方の方針で /usr/local/ 以下のディレクトリを週1でバックアップ取るようにしているので /usr/local/ 以下に巨大なフォントを入れずに /usr/local_share_fonts/ にフォントの実体を入れておき、それを /usr/local/share/fonts/ にシンボリックリンクしてあるのだ。そう、うち独自の設定なので明らかにこれが原因ぽい。もちろんこの状態でローカルフォントは正しく認識しているし、$\LaTeX$ でもちゃんと使えているので問題ないはずなのだが、何が悪い?? bwrap ってコンテナらしいけどよくわからんし。そこでとりあえずシンボリックリンクの /usr/local/share/fonts/ を消してみたら、どちらもちゃんと動くようになった...
Google と Microsoft のアカウントを無事に登録し、Evolution も無事に起動でき Google カレンダーの予定もちゃんと表示されてる。でも、シンボリックリンクをもとに戻すと Evolution が起動できなかった... さてどうするかな...
そこで、/usr/local/share/fonts というディレクトリだけ実体で作って、/usr/local_share_fonts/* 内の個々のディレクトリごとにシンボリックリンクしたら解決できた。あと、$\LaTeX$ 用に /usr/share/fonts/* 内にも個々にシンボリックリンクしておかないとダメなよう。まぁ動くしこれでいいか...
なんかアプリの起動がぎこちないと思い、HDD のセルフチェックをかけたらやっぱりエラーが出てる模様... セットアップ中の Z440 じゃなくて、現行サーバーの xw4600 の方。
This message was generated by the smartd daemon running on: host name: maa DNS domain: x.icc.ac.jp The following warning/error was logged by the smartd daemon: Device: /dev/sdb [SAT], Self-Test Log error count increased from 0 to 1 Device info: WDC WD20EFRX-68EUZN0, S/N:WD-WCC4M4YLZ7JL, WWN:5-0014ee-262847ff5, FW:82.00A82, 2.00 TB For details see host's SYSLOG. You can also use the smartctl utility for further investigation. Another message will be sent in 24 hours if the problem persists.
RAID1 の片割れの /dev/sdb 2TB の HDD。まだ RAID からは弾かれてないけど、早めに交換しないと。研究室を探すとこれまたお古の 2TB HDD が 1 台保管されていたので、適当な授業の合間を見て作業をしないと。今日はこのあと4,5 限と授業あるしできないけど、明日ならできそうかな。
5 限が終わったところでまだ元気があったので、サクッと HDD の交換をした。現在 RAID のリペア中。っていうか、前回交換したのはつい最近の約 1 年前、しかも、その時交換した方が壊れてた。これリルド品だったのだけど、やっぱり耐久力ないのかな。明日の朝、ブートローダーをインストールするの忘れないようにしないと。