Cryptsetupは何ヶ月も問題なく動作していましたが、今日システムで行ったことがハングアップしました。
# cryptsetup --debug --verbose luksOpen /dev/sdb home --key-file=/home.key --verbose
...
Key slot 1 unlocked.
...
# Udev cookie 0xd4d949a (semid 32768) decremented to 1
# Udev cookie 0xd4d949a (semid 32768) waiting for zero
また、lsblk -f
を実行すると、以前はすべてのデバイス(sdb
を含む)のUUIDを取得していましたが、現在はrootfsのUUIDとFSTYPEのみを取得しています(他のすべてのデバイスがリストされていますが、FSTYPE 、LABEL、およびUUIDは空です)。ただし、blkid
はすべてのデバイスのUUIDを表示します。
また、ネットワークデバイスも表示されません。eth0
とwlp4s0
がip link
とifconfig
にありません。
元のライブUSBから起動すると、すべてが完全に機能します。すべてのパーティションをマウントし、WiFiに接続して、壊れたシステムにArch-chroot
することができます。その後、pacman -Syuu
を実行し、今日インストールしたすべてのパッケージ(f2fs-tools
、exfat-utils
、Fuse-exfat
)をアンインストールし、initramfsをmkinitcpio -p linux
で更新しました。
私の愚かさ.bash_history
:
#1448399392
chroot rootfs /bin/bash -x <<'EOF'
ln -s /dev/null /etc/systemd/system/systemd-udevd.service
ln -s /dev/null /etc/systemd/system/systemd-udevd-control.socket
ln -s /dev/null /etc/systemd/system/systemd-udevd-kernel.socket
ln -s /dev/null /etc/systemd/system/proc-sys-fs-binfmt_misc.automount
exit
EOF
恐ろしい恐ろしいシンボリックリンクを削除し、すべてが正常になりました。 LXCコンテナ内ではなく、メインシステムで上記のリンクを誤って実行しました。 ( https://wiki.archlinux.org/index.php/Linux_Containers#Systemd_conflicts_in_the_.2Fdev_tree )
このUdev cookie ... waiting for zero
は、次の条件のいずれかが当てはまる場合にも発生します。
/lib/udev/rules.d/${NUMBER}-dm.rules
ファイルがありません。少なくとも、Ubuntu 15.10Wilyでは${NUMBER}
は55
です。 ( 詳細 )udev
はSudo service udev start
で開始する必要がありますudev
は実行中ですが、Sudo service udev restart
で再起動する必要があります(システムのマウントされたボリュームの状態を何らかの方法で変更し、Udevがその状態をリセットする必要があるため)