想像する
LUKSで暗号化された外部デバイスを使用すると、接続時に自動的にインストールされ、起動時に外部デバイスがなくても問題は発生しません。
このトピックに関するほとんどの質問は、起動時にインストールに関するものです。これは私が望む仕事ではありません。
また、USBデバイスがないときに誤って書き込みが発生しないようにマウントポイントを保護する必要があります。chattr +i <mountpoint>
質問
外部デバイスがマウントされていない場合、マウントポイントにアクセスしようとすると、タイムアウトするまで中断されます。これによりシステムが不安定になる可能性があります。
デバイスが接続されると、パスワードの入力を求められ、デバイスのロックは解除されますが、インストールされません。その後、fstab設定を正しく使用しているように見える
mount /mnt/backup
デバイスを使用するか、手動でマウントする必要がありました。mount /dev/mapper/fit
構成
# /etc/crypttab
fit UUID=xxxxxxxx-xxxxx-xxxxxxxx-xxxxxxxxxx none luks,noauto
# /etc/fstab
/dev/mapper/fit /mnt/backup ext4 noatime,user,noauto,x-systemd.automount,x-systemd.device-timeout=5ms,x-systemd.mount-timeout=100ms 0 0
誰かが名前を知りたい場合に備えて、私は偶然にSamsung Fit USBフラッシュドライブを持っています。
外部機器がない場合にマウントポイントにアクセス
# Accessing the mountpoint when the drive is NOT plugged in
andy@pop-os:mnt$ ll
ls: cannot access 'backup': No such device
total 0
d????????? ? ? ? ? ? backup/
andy@pop-os:mnt$ mountpoint /mnt/backup
/mnt/backup is a mountpoint
# journalctl
Jan 21 16:33:34 pop-os systemd[1]: mnt-backup.automount: Got automount request for /mnt/backup, triggered by 5192 (ls)
Jan 21 16:33:34 pop-os systemd[1]: dev-mapper-fit.device: Job dev-mapper-fit.device/start timed out.
Jan 21 16:33:34 pop-os systemd[1]: Timed out waiting for device /dev/mapper/fit.
Jan 21 16:33:34 pop-os systemd[1]: Dependency failed for /mnt/backup.
Jan 21 16:33:34 pop-os systemd[1]: mnt-backup.mount: Job mnt-backup.mount/start failed with result 'dependency'.
Jan 21 16:33:34 pop-os systemd[1]: dev-mapper-fit.device: Job dev-mapper-fit.device/start failed with result 'timeout'.
正常な除去プロセス
# Absolute path is required if not using sudo (`user` was set in fstab)
andy@pop-os:mnt$ umount /mnt/backup
andy@pop-os:mnt$ sudo cryptsetup close fit
andy@pop-os:mnt$ sudo eject /dev/sdx
暫定的な解決
マウントポイントをアンマウントすると(マウントされたデバイスがない場合でも)、この問題を一時的に解決できますが、システムを再起動するか、デバイスを再マウント/マウント解除すると問題が再発生します。
andy@pop-os:mnt$ sudo umount backup
andy@pop-os:mnt$ ll
total 4.0K
drwxr-xr-x 2 root root 4.0K Jan 19 10:16 backup/
andy@pop-os:mnt$ lsattr
----i---------e------- ./backup
andy@pop-os:~$ mountpoint /mnt/backup
/mnt/backup is not a mountpoint
使用noauto
して含めないと、x-systemd.automount
デバイスが存在しないときに起動時にディレクトリがマウントポイントになるという問題を回避できますが、デバイスがロック解除されたままになっても自動マウントされません。
外部機器の取り付け
パスワードを入力して端末のロックを解除するように求められます。
andy@pop-os:mnt$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sdb crypto_LUKS 2 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
└─fit ext4 1.0 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
andy@pop-os:mnt$ ll backup/
ls: cannot access 'backup/': No such device
MOUNTPOINTS は空です。
# journalctl -f
Jan 21 17:17:26 pop-os kernel: usb 6-2: new SuperSpeed USB device number 2 using xhci_hcd
Jan 21 17:17:26 pop-os kernel: usb 6-2: New USB device found, idVendor=090c, idProduct=1000, bcdDevice=11.00
Jan 21 17:17:26 pop-os kernel: usb 6-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 21 17:17:26 pop-os kernel: usb 6-2: Product: Flash Drive FIT
Jan 21 17:17:26 pop-os kernel: usb 6-2: Manufacturer: Samsung
Jan 21 17:17:26 pop-os kernel: usb 6-2: SerialNumber: 0123456789123
Jan 21 17:17:26 pop-os kernel: usb-storage 6-2:1.0: USB Mass Storage device detected
Jan 21 17:17:26 pop-os kernel: scsi host7: usb-storage 6-2:1.0
Jan 21 17:17:26 pop-os mtp-probe[10452]: checking bus 6, device 2: "/sys/devices/pci0000:00/0000:00:08.1/0000:0b:00.4/usb6/6-2"
Jan 21 17:17:26 pop-os mtp-probe[10452]: bus: 6, device: 2 was not an MTP device
Jan 21 17:17:26 pop-os mtp-probe[10467]: checking bus 6, device 2: "/sys/devices/pci0000:00/0000:00:08.1/0000:0b:00.4/usb6/6-2"
Jan 21 17:17:26 pop-os mtp-probe[10467]: bus: 6, device: 2 was not an MTP device
Jan 21 17:17:29 pop-os kernel: scsi 7:0:0:0: Direct-Access Samsung Flash Drive FIT 1100 PQ: 0 ANSI: 6
Jan 21 17:17:29 pop-os kernel: sd 7:0:0:0: Attached scsi generic sg1 type 0
Jan 21 17:17:29 pop-os kernel: sd 7:0:0:0: [sdb] 501253132 512-byte logical blocks: (257 GB/239 GiB)
Jan 21 17:17:29 pop-os kernel: sd 7:0:0:0: [sdb] Write Protect is off
Jan 21 17:17:29 pop-os kernel: sd 7:0:0:0: [sdb] Mode Sense: 43 00 00 00
Jan 21 17:17:29 pop-os kernel: sd 7:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesnt support DPO or FUA
Jan 21 17:17:29 pop-os kernel: sdb: sdb1
Jan 21 17:17:29 pop-os kernel: sd 7:0:0:0: [sdb] Attached SCSI removable disk
Jan 21 17:17:41 pop-os systemd[1]: Starting Cryptography Setup for fit...
Jan 21 17:17:41 pop-os systemd-cryptsetup[10585]: Volume fit already active.
Jan 21 17:17:41 pop-os systemd[1]: Finished Cryptography Setup for fit.
Jan 21 17:17:41 pop-os systemd[1]: Reached target Block Device Preparation for /dev/mapper/fit.
Jan 21 17:17:41 pop-os gnome-shell[3744]: Unable to mount volume 257 GB Encrypted: Gio.IOErrorEnum: Operation was cancelled
Jan 21 17:17:41 pop-os udisksd[1382]: Unlocked device /dev/sdb1 as /dev/dm-4
udisksdが「デバイスのロック解除...」を報告する前に、2行目の「操作解除」が表示されます。
私は2つの異なるデバイス、つまりフルディスクブロック暗号化を使用するデバイスと暗号化パーティションを使用するデバイスでこれを試しましたが、違いはありません。
時々時間が経つと...
andy@pop-os:mnt$ mount /mnt/backup
mount: /mnt/backup: /dev/mapper/fit already mounted on /mnt/backup.
...しかし、通常、期待どおりにデバイスがインストールされます。
その他
- 設定しないと
x-systemd.device-timeout
デフォルトの90秒よりはるかに短いと、システムがゆっくり応答しなくなり、競合が発生します。systemd
パスワード入力を待っている間にタイムアウトがある可能性があると思いましたが、タイムアウトが長くても役に立たないようです。 - 以前のUbuntu 22.04システムの構成をPop!_OS 22.04にコピーしましたが、削除された状態のディレクトリを一覧表示すると疑問符が表示されることがありますが、サイレントインストールは正しく機能します。以前のシステムでは、マウントポイントに不変属性を設定していませんでした。
関連
- a-luks暗号化USBフラッシュドライブを自動的にマウントするときのインストールエラー- さまざまなエラーとインストール方法
- Debian の USB スティック自動マウント
nofail
- 代わりに少し異なるアプローチを使用しますnoauto
が、残念ながら私の質問には答えません。 - より多くの情報を得ることができますが、
systemctl show mnt-backup.mount
役に立ちません。 - マニュアルページシステムテーブル外部デバイスの処理方法について説明しますが、これらの設定によりデバイスが自動的にマウントされなくなり、起動プロセスが中断されます。
もしそうなら、マウントポイントにアクセスすると、??????????????????が発生するのはなぜですか?古いfstabと新しいsystemdの間に魔法変数が見つからないようです。
デバイスタイムアウトを設定しない場合は、システムがクラッシュする理由を知っておくと便利です。
2023年8月に更新
システムデバイスのマウントと自動マウント...説明? ? ? ?.automount
デバイスがアクセスのためにマウントポイントを開こうとした場合。
私はまだ私が望む動作を達成できず、何も構成されていないので、それが使用されているかどうか疑問に思いますudev
。その場合、唯一の質問は、マウントポイントとして使用されるディレクトリをカスタマイズできるかどうかです。fstab
項目が生成されると、システム/run/systemd/generator
単位が生成され、動作が変更されます。
plymouth
systemdがCPUを100%使用し、システムが停止したときにエラーが発生するため、新しいシステムにも問題があるようです。私の古いラップトップではこれは起こりません。
ベストアンサー1
ただ早く考えてみると…
おそらくudev
スクリプト/アプリケーションを起動し、マウントポイントのディレクトリを作成してから、すべてのcryptsetup操作を実行している可能性があります。スクリプトはUSBドライブのキーを使用できます。
fstabを使用せずにすべての作業を完了してみてください。
(申し訳ありません。ご質問にはお答えできません。)