MENU
  • 異国情緒漂う淡路島カレーの魅力とは
  • ピーターズについて
大阪の野田にあったカフェの店主が運営するサイトです
旅行カフェ「ピーターズ」
  • 異国情緒漂う淡路島カレーの魅力とは
  • ピーターズについて
旅行カフェ「ピーターズ」
  • 異国情緒漂う淡路島カレーの魅力とは
  • ピーターズについて
  1. ホーム
  2. IT関連
  3. ラズベリーパイ
  4. apt autoremoveでネットワークとRAIDが壊れた話 – Raspberry Pi + OMV環境での実録と復旧手順

apt autoremoveでネットワークとRAIDが壊れた話 – Raspberry Pi + OMV環境での実録と復旧手順

2026 3/06
ラズベリーパイ
2026-03-06
apt autoremoveでネットワークとRAIDが壊れた話 - Raspberry Pi + OMV環境での実録と復旧手順

「apt autoremoveは不要パッケージを消すだけの安全なコマンド」という認識でいたのですが、今回の経験でその認識は完全に改まりました。実行後の再起動でネットワークが消え、RAIDアレイまで停止するという事態に陥りました。

今回はRaspberry Pi (Debian) + OpenMediaVault (OMV) によるNASサーバーで発生したトラブルと、その復旧手順を実録として残しておきます。同じ状況で困っている方の参考になれば幸いです。

目次

何が起きたのか

定期メンテナンスとして以下を実行しました。

sudo apt upgrade
sudo apt autoremove
sudo reboot

再起動後、SSHで接続できなくなりました。ネットワークが消えていたのです。

autoremoveで削除されたもの

/var/log/apt/history.logを確認したところ、autoremoveによって以下のような重要パッケージが根こそぎ削除されていました。

  • netplan.io / libnetplan0 — ネットワーク設定管理ツール
  • salt-minion — OMVの設定管理デーモン(OMVの動作に必須)
  • samba / samba-common-bin — ファイル共有サービス
  • nginx / php-fpm — OMVのWeb UIに必要なWebサーバー
  • mdadm — RAIDアレイ管理ツール
  • collectd / rrdtool — パフォーマンス監視

OMVに必要なパッケージがほぼ全て消えていました。autoremoveは「不要なパッケージ」を削除するコマンドですが、依存関係の判定が実態と合っていない場合に、動作中のシステムに必要なパッケージまで削除することがある様です。

トラブル1:ネットワークが消えた

原因

ネットワーク管理に関連するパッケージが削除されたことで、インターフェースの命名・設定ルールが壊れました。それまでeth0として認識・設定されていた本体の有線LANが、起動後にend0という見慣れない名前に変わってしまい、接続設定が機能しない状態になりました。

今回のトラブルで初めて、オンボードNICのLinux内部での扱いを意識することになりました。Raspberry Piの本体有線LANは、OS側の命名規則によってeth0やend0など異なる名前が付くことがあります。

応急処置:/etc/network/interfaces をべた書きして復旧

キーボードとモニターをRaspberry Piに直接接続し、ローカルで操作しました。まず現在認識されているインターフェース名を確認します。

ip address show

あるいは

ifconfig -a

この時点でインターフェース名がeth0からend0に変わっていることが判明しました。次に/etc/network/interfacesの中身を確認したところ、ほぼ空の状態になっていました。そこで直接設定を書き込みます。

sudo vi /etc/network/interfaces

以下の内容を記述して保存します(インターフェース名はip address showで確認したものに合わせてください)。

auto lo
iface lo inet loopback

auto end0
iface end0 inet dhcp

保存後、ネットワークを再起動します。

sudo systemctl restart networking

これでネットワークへの接続が復旧しました。

OMVの再インストールでeth0が復活

応急処置のあと、壊れたOMV環境を修復するためにOMVを再インストールしました。すると、インストール処理の中でOMVが自動的に/etc/systemd/network/10-persistent-eth0.linkというファイルを生成し、オンボードNICがeth0に固定されました。

cat /etc/systemd/network/10-persistent-eth0.link
[Match]
MACAddress=xx:xx:xx:xx:xx:xx

[Link]
Name=eth0

MACアドレスを指定してインターフェース名を固定する仕組みです。この.linkファイルがあると、udevの自動命名(end0やenx...)よりも優先されてインターフェース名が確定します。これがトラブル前のeth0に戻った理由でした。

補足:USB NICをeth1に固定する方法

同じ仕組みを使えば、USB接続のイーサネットアダプタも好きな名前に固定できます。例えばenx112233445566という名前になっているUSB NICをeth1に固定するには、同様のファイルを作成するだけです。

sudo tee /etc/systemd/network/11-persistent-eth1.link << 'EOF'
[Match]
MACAddress=11:22:33:44:55:66

[Link]
Name=eth1
EOF

再起動後にip link showでeth1として認識されるようになります。

トラブル2:RAIDアレイが停止した

OMVを再インストールして各種サービスは復旧したものの、今度はRAIDのステータスが「Missing」となりデータにアクセスできない状態になりました。

原因

mdadmが削除されていたことでRAIDの管理デーモンが消え、OMV再インストール後もアレイがinactive状態のまま起動するようになっていました。

Step 1: 現状確認

cat /proc/mdstat

以下のような表示が出た場合、アレイは認識されているが非アクティブな状態です。

md127 : inactive sdb[1](S) sdd[3](S) sdc[2](S) sda[4](S)
      15627545952 blocks super 1.2
# アレイ情報のスキャン
sudo mdadm --examine --scan
ARRAY /dev/md/VolRaid5  metadata=1.2 UUID=xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx name=hostname:VolRaid5

UUIDが表示されれば、データ自体は無事な可能性が高いです。

Step 2: 各ディスクのスーパーブロックを確認

sudo mdadm --examine /dev/sda | grep -E "Role|Events|Array State"
sudo mdadm --examine /dev/sdb | grep -E "Role|Events|Array State"
sudo mdadm --examine /dev/sdc | grep -E "Role|Events|Array State"
sudo mdadm --examine /dev/sdd | grep -E "Role|Events|Array State"

確認すべきポイントは2つです。

  • Device RoleがActive device 0〜Active device 3と表示されているか → データが存在している証拠
  • Eventsの数値が全台で揃っているか → ずれている場合は後述の--forceオプションが必要

今回はsdaとsddがEvents: 112338、sdbとsdcがEvents: 112343と数カウントずれており、このズレがアクティブ化を妨げていました。

Step 3: 強制アセンブル

Eventsの値が大きい(より新しい)ディスクを先頭に指定して強制アセンブルします。

# まず既存の不完全なアレイを停止
sudo mdadm --stop /dev/md127

# Eventsが新しいディスク(今回はsdb)を先頭に指定して強制アセンブル
sudo mdadm --assemble --force /dev/md127 \
  /dev/sdb /dev/sdc /dev/sda /dev/sdd
# 状態確認
cat /proc/mdstat
sudo mdadm --detail /dev/md127

State : activeまたはactive, degradedと表示されれば成功です。degradedはRAID5の場合1台欠損状態ですが、データは読めます。

Step 4: マウントとOMVへの反映

# マウントポイントを作成してマウント(パスはOMVの設定に合わせて)
sudo mount /dev/md127 /srv/dev-disk-by-uuid-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

# データが見えることを確認
ls /srv/dev-disk-by-uuid-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/

マウントが確認できたら、OMVのWeb UIから Storage → File Systems → Mount を実行し、右上の Apply Changes を適用します。

Step 5: 永続化(再起動後も自動マウントされるよう設定)

# mdadm.confを正しい情報で上書き
sudo mdadm --detail --scan | sudo tee /etc/mdadm/mdadm.conf

# initramfsを更新(これをしないと再起動後に再びinactiveになる)
sudo update-initramfs -u

# 確認
cat /etc/mdadm/mdadm.conf

備忘録:OMVはカーネルバージョンを固定している

今回の調査で知ったことですが、OMVは動作対象のカーネルバージョンを固定しています。実際、以前カーネルアップデートを行った後にOMVのWeb UIが起動しない状態になった経験がありましたが、これが原因でした。

あわせて読みたい
RaspbianのDebianをbullseyeからbookwormにカーネル更新しました 最近は、ピーターズで使うシステムのOSはUbuntu1択なのですが、これに揃える前に導入したものは、RaspbianやらArmbianといったSBC専用に作られた変わり種OSを使っていま…

OMVのメジャーバージョンは特定のDebianバージョン(=カーネルバージョン)に対応しており、カーネルを上げると互換性が失われてWeb UIが起動しなくなります。

対処方法としては、新しいカーネルに対応した新しいOMVバージョンが出るのを待ち、OMVのバージョンも合わせてアップグレードするという手順が必要です。カーネルだけ先に上げることは避けましょう。

アップグレードの前に必ずOMVの公式サイトやリリースノートで対応状況を確認することをお勧めします。

今後のために:autoremoveは必ずdry-runで確認してから

今回の教訓として、apt autoremoveを実行する前には必ず--dry-runオプションで削除対象を確認することを強くお勧めします。

# 削除されるパッケージを確認するだけで、実際には何も削除しない
sudo apt autoremove --dry-run

出力にsalt-minion、samba、mdadm、nginx、php-fpmなどが含まれている場合は、そのまま実行すると重大な障害につながります。

また、重要なパッケージを自動削除対象から保護するには以下のようにします。

# 重要パッケージを自動削除対象から除外
sudo apt-mark manual mdadm salt-minion samba nginx php8.2-fpm

apt-mark manualでマーク済みのパッケージは、autoremoveの対象から外れます。OMVのように独自の依存関係を持つシステムでは、インストール後に一度このコマンドを実行しておくと安心です。

まとめ

今回のトラブルは、apt autoremoveが引き起こした連鎖障害でした。

障害原因復旧方法
ネットワーク消失(eth0→end0)netplan等のネットワーク関連パッケージ削除/etc/network/interfacesに直接記述でネット復活 → OMV再インストールでeth0復活
RAIDがinactivemdadm削除 + Eventsのズレ--forceオプションで強制アセンブル → initramfs更新で永続化
OMV Web UI停止salt-minion / nginx / php-fpm削除OMV再インストール

apt autoremoveは便利なコマンドですが、OMVやDockerなど独自の依存関係を持つシステムでは、必ず--dry-runで確認してから実行することを習慣にしてください。また、OMVのカーネル固定の仕様も忘れずに頭に入れておきましょう。

同じようなトラブルに見舞われた方の参考になれば幸いです。

ラズベリーパイ
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • RaspbianのDebianをbullseyeからbookwormにカーネル更新しました

関連記事

  • RaspbianのDebianをbullseyeからbookwormにカーネル更新しました
    RaspbianのDebianをbullseyeからbookwormにカーネル更新しました
    2025-06-07
  • GitHubではなく、超軽量のGiteaを導入して使ってみました:Giteaの特徴と活用事例
    GitHubではなく、超軽量のGiteaを導入して使ってみました:Giteaの特徴と活用事例
    2025-05-05
  • Raspberry Pi
    Raspberry Pi 5
    2024-02-13
  • 全国のお出かけ情報

© 旅行カフェ「ピーターズ」

目次