バックアップから仮想マシン作成 (Debian)

長年こんなことをやってます.ただし,年がら年中でなく,時々思い出したようにやるのでたいてい前のことは覚えていません.

そんなわけで自分用のメモです.

前提条件

稼働している実マシンないし仮想マシンから,定期的にrsyncにて差分もしくは完全バックアップを取っている.

まあ,完全と言っても,/dev, /tmp, /proc, /sysはたいてい外していると思います.

また,バックアップ元のマシンはSWAPはzramのみでSWAPパーティションはなく,ルートパーティションも一本でマウントするボリュームはなしです.

仮想ディスクの作成

仮想ディスクは,qemu-imgで作ります.形式はQEMU/KVMならばqcow2,VMWareならばvmdkでしょう.もちろんraw形式や他の形式でも大丈夫ですが,最終的に収まる仮想マシンのデフォルトにしておくのが無難でしょう.

qemu-img create -f qcow2 ファイル名.qcow2 40G

次にパーティションを切ります.nbdの出番です.以下はroot権限での作業になります.

modprobe nbd
qemu-nbd --connect /dev/nbd0 ファイル名.qcow2
fdisk /dev/nbd0

パーティション形式はGPTにします.EFI用のパーティション512MBを “BIOS boot” 形式にして,残りをLinux filesystemにします.

そして,mkfsでフォーマットします.

mkfs -t ext4 -j /dev/nbd0p2
mkfs -t vfat /dev/nbd0p1

引き続き,/dev/nbd0p2を/mnt/hdなどにマウントして,

rsync -artlvd --numeric-ids バックアップのディレクトリー /mnt/hd

バックアップしてない必要なディレクトリーを作ります.

cd /mnt/hd
mkdir dev tmp sys proc
chmod -v a+rwx tmp
cd
umount /mnt/hd
qemu-nbd --disconnect /dev/nbd0
rmmod nbd

仮想ディスクをブータブルに (GPT)

仮想ディスクを仮想マシンのホストで一つの仮想マシンのディスクとして登録します.次に,バックアップしたDebianと同じバージョンのインストーラーをダウンロードして,その仮想マシンのDVD/CDとして登録し,起動ディスクに指定します.

あとは,Advanced > Rescueとして,メニューに従って進めば,仕立てた仮想ディスクをルートにマウントしてくれるので,

dpkg-reconfigure grub-pc

とすれば,ブータブルになりますので,DVD/CDを外してディスクから起動させます.何かエラーが出たら修正します.

仮想ディスクをブータブルに(MBR)

仮想ディスクをGPTでなくてMBRでパーティションを切ってしまった場合,上記の方法ではうまく行かないかもしれません.この場合,筆者の標準的なパーティションはルートだけの一つになっています.

grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

で,うまく行くと思います.

起こりがちなエラー

エラーとしてありがちなのは,/etc/fstabに記したルートドライブの情報が仮想マシンの仮想ディスクとマッチしないことです.その場合は,もう一度レスキューモードにして,/etc/fstabを修正したうえで,dpkg-reconfigure grub-pcをやり直します.

ネットなどについては起動してから修正できます.

案外簡単です.

不定期的でも問題ないですが.

LIRC再び (2)

自分の記事を元にLIRCに再挑戦のつもりが,あまりに設定などに違いがあるので,他所様の記事を参考に設定完了までこぎつけました.

しかし,その先がいかんです.参考にした記事はsystemdではない😅

まあでも,そこだけ気をつければ行けそうです.

systemctl status lircd
sudo systemctl stop   lircd
mode2 -d /dev/lirc1

で,なんかそれらしいものを受信するようになりました.

次は目的のリモコンのコードの解析です.

ThunderbirdがDovecotに繋がらなくなった件 (解決済み)

自前のサーバーで動くLet’s Encryptの証明書をupdateしてからどうもクライアントであるThunderbirdの挙動がおかしくなりました.

TLSのimap (=imaps)でつないでいます.ログインはできて新着メールは読めるのだけれど読んだメールをサブディレクトリーに移そうとしてもうまく操作ができません.

Appleの iOSやmacOSの “Mail” では正常に動作します.

サーバーのログを見ると,

というのがあり,たぶんこれだと思います.ネット検索した所,どうもDovecotのSSL/TLS設定が良くなかったようです.これまで,/etc/dovecot/conf.d/10-ssl.confのssl_certの設定は,

ssl_cert = </etc/letsencrypt/live/FQDN/cert.pem

としていました.これでこれまでAppleの “Mail” (iOS, macOS)もThunderbirdもつながっていましたが,

ssl_cert = </etc/letsencrypt/live/FQDN/fullchain.pem

としないといけないようです😅

これで,サーバーのDovecotのログにエラーは出ず,Thunderbirdも正常にサブフォルダーをアクセスできるようになったようではあります.

しかし,違うマシンのThunderbirdでアクセスすると見えないサブフォルダーが存在するなど今いち動作の信頼に欠けます.

Distroによっては番号が違う場合があります.

サーバー不安定

下記のようにUSB HUBの故障かと思いましたが,予備用のHUBを使っても起動後しばらくしてシステムがハングアップしてしまいます.トラブルの原因の特定にはもう少し時間がかかりそうです.

USB HUBの故障と推定(たぶん誤り)

某サーバーですが,本日電力系統への落雷が原因と思われる停電があり,数分後に復電しましたが,ブートしなくなりました.

BIOSのメッセージからブート用のメディアが見つからないようです.メインのSSDは,/bootとROOTとの2パーティションなので,たぶん/bootがファイル的に壊れたものと思い,他のLinuxマシン(以下 “作業用マシン” )でfsckをかけました.致命的ではない軽微な修復がなされましたが,サーバーに繋いでも症状は変わりません.

もう一度作業用マシンに繋いで/bootとROOTもfsckをかけました.ext4のROOTは頑強で何の問題もありませんでした.念の為/bootはフォーマットしたうえで今朝のバックアップをコピーしました.

それでも症状は変わりません.これは本体かなと思い,サーバー機とほぼ同じスペックの予備機と入れ替えましたが,やはりブート用のメディアが見つかりません.

これはひょっとしてと思い,USB3.0のHUBをとばしてSSDをサーバー本体に繋いだらブートしました.

これは間違いなくUSB3.0HUBの故障です.予備用のUSB3.0HUBを使って従前と同じマスストレージの接続形態に戻したら,サーバーは無事にブートしました.

当面はこの予備用のHUBを使いますが,安くて良さそうなUSB3.0HUBを探して注文することにします.

本当はBIOSではないのですが,一般的なPCならBIOSなので,説明の省略も兼ねてそう記します.

DOSBox-Xメモ (2) Flatpakのトラブル

DOSBox-Xは正式なチャンネルでインストールできるdistroはないものの,Slackware系ではSlackBuilds (sbopkg)でインスール可能で,また,Flatpakを正式にサポートしているDebian (Raspberry Pi OSを含む)とManjaroで利用可能である可能性が広がります.

早速手当り次第やってみたところ,Raspberry Pi OS (RPiOS)でFlatpakのインストール後,

flatpak install dosbox-x

としても,見つからないよ,とエラーが出ます.

昨夜はヤホーの検索の結果をいくつか眺めていましたが,そのひとつにgitでDOSBox-Xのソースを取り寄せてbuildして,Flatpakのパケージを作って,ローカルからflatpakでインストールしろなんて途方もない事が書かれていました.

自力でbuildするなら敢えてflatpakを使用する意味がないような気がします.

今朝,何気なくもう一度検索してみたら正しい答えが見つかりました.

Abhishek Prakashさんの “Fixing Flatpak Error: No remote refs found similar to ‘flathub’” (It’s Foss)より,

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

をroot権限で実行することにより解決しました.

あくまで,筆者が日常的に実マシン・仮想マシンをいじっている中の話です.
本当はGoogle検索です.