表題のとおりです。より正確に表現すると、LMDE2 のパッケージマネージャの依存関係データベースがふっ飛んだ上に systemd
などの OS の実行に必要な機能が使えなくなりました。
電源を入れても Linux Mint のロゴが表示されるだけで、init
の次でコケている模様。ちょうど LMDE3 もリリースされていることだし、必要なファイルを避難させてインストールし直すことにしました。
ストレージ構成
元々の環境は以下のとおりです。
- /dev/sda … GRUB
- /dev/sda1 … スワップ領域
- /dev/sda2 … 「/」にマウント。ext4。
- /dev/sdb
- /dev/sdb1 … RAID10 アレイ (1)
- /dev/sdc
- /dev/sdc1 … RAID10 アレイ (2)
- /dev/sdd
- /dev/sdd1 … RAID10 アレイ (3)
- /dev/sde
- /dev/sde1 … RAID10 アレイ (4)
RAID10 環境の復旧と、パーティションを切っていない /
以下の必要ファイルの復旧が目的です。なお、sda
は 256GB SSD、sdb
〜 sde
はそれぞれ 3TB の HDDです。
ソフトウェア RAID ツールの mdadm を用いて、sdb1
〜 sde1
までの RAID10 アレイすべてを合わせて /dev/md0
として認識させていました。
サルベージ
まず、対象マシンが起動できないとどうにもこうにもならないので、別マシンで LMDE3 x64 の Live DVD イメージをダウンロード。Unetbootin を使って、ブータブル USB キーを作成しました。
次に対象マシンの電源を入れ、ブートシーケンス設定で USB Key をプライマリに設定。作成したブータブル USB キーを USB ポートに挿して、LMDE3 をライブ起動しました。(…ライブ起動っていう表現でいいのかな。要は、対象マシンの内蔵ストレージにインストールせずに起動。)
ライブ起動した LMDE3 上のコンソールで /dev
を確認すると、sda
〜 sde
まですべて確認することができました。
sudo mkdir /mnt/sda1
sudo mount /dev/sda1 /mnt/sda1
/dev/sda1
をマウントすると、そのまま LMDE2 の/
を覗くことができます。ここから必要なファイルを RAID ストレージに移動したいのですが、ライブ起動した LMDE3 には /dev/md0
がありません。
そこで、ターミナルより
sudo apt update
sudo apt install mdadm
とし、ソフトウェア RAID の mdadm
を導入。
sudo mdadm --assemble --scan
すると、RAID アレイを認識し /dev/md/0
と /dev/md0
の仮想デバイスファイルが作成されました。あとはマウントして旧 /
配下のファイルを救出するだけです。
# マウントポイントを作成
sudo mkdir /mnt/md0
# マウント
sudo mount /dev/md0 /mnt/md0
# バックアップディレクトリを作成
sudo mkdir /mnt/md0/backup
# バックアップ
sudo time rsync -aAXv /mnt/sda1/ --exclude={"/mnt/sda1/dev/*",\
"/mnt/sda1/proc/*","/mnt/sda1/sys/*","/mnt/sda1/tmp/*",\
"/mnt/sda1/run/*","/mnt/sda1/mnt/*","/mnt/sda1/media/*",\
"v/lost+found"} /mnt/md0/backup; date
やたら時間がかかったので、 /mnt/md0
内にあるマンガを mcomix
で読みながら待っていました。バックアップが終わったら、/dev/sda1
および /dev/md0
をアンマウントし、新しい OS をインストールします。
LMDE3 Cindy x64 のインストール
デスクトップにある「Linux Mintをインストール」アイコンから GUI で入れていきます。最近のディストリはインストールがとても簡単だし、Youtube を見ながらネットサーフィンしながらできるし、とても快適ですね〜。
ストレージの構成だけ注意して、 /dev/sda1
をこれまでどおりスワップ領域に、/dev/sda2
を新しい OS の /
にして EXT4 でフォーマット。/dev/sda
に GRUB をインストールする設定で進みました。
あと、セットアップウィザード中で行ったことといえば、僕は英語キーボード (PFU Happy Hacking Keyboard) を使っているのでキーレイアウトを US 配列にした程度です。滞りなくできました。
インストール完了後、USB キーを抜いて内蔵ストレージから再起動します。
環境の再構築
無事に起動できたら、また mdadm をインストール。マウントします。
sudo apt update
sudo apt upgrade
sudo apt install mdadm
sudo mdadm --asemble --scan
sudo mount /dev/md0 /mnt
OS 上で一度スキャンすると、/etc/mdadm/mdadm.conf
にアレイ情報が書き込まれるようですね。
続いて、ユーザーやグループ情報の移動を行い、これまで使っていたソフトのインストールを行いました。
起動できなくなった時は少し焦ったけど、とりあえず使える程度までには現状回復できたし、ゴミファイルの整理にもなって良かったと思います。
イシューズ
下記は積み項目。
- IMの調子が変。UIM で SKK 使いなんだけど、入力のタイミングでキーが変なことになったり、辞書を引き継げなかったり。
- GeForce GTX460 の nVidia の公式ドライバの組み込みに失敗する。いや、組み込みはできるんだけど、cinnamon がクラッシュする。以前は lightdm を停止して X を殺して、端末から
startx
してたら起動できたけどそれも無理。んー、今のところ、noveau ドライバで問題ないけど…。グラボの替え時かなぁ。 - 動画やコミックアーカイブのサムネイル表示が nemo でできなくなってる。ffmpegthumbnailer や ffmpegthumbs をインストールしても改善せず。謎ファイル名の動画が多いんで割と不便。
- Ruby や Python といったプログラミング環境は必要になったら順次、入れていこうと思う。とりあえず Git は入れておいた。
- オーディオや動画のオーサリングツール系も必要に応じて入れる。
- LMDE3って標準で mozjpeg が入ってるんだ!