デバイスが接続されていて、エラーがないか存在しない場合、起動時に中断された場合は、LUKS暗号化された外部USBを自動的にマウントします。

デバイスが接続されていて、エラーがないか存在しない場合、起動時に中断された場合は、LUKS暗号化された外部USBを自動的にマウントします。

想像する

LUKSで暗号化された外部デバイスを使用すると、接続時に自動的にインストールされ、起動時に外部デバイスがなくても問題は発生しません。

このトピックに関するほとんどの質問は、起動時にインストールに関するものです。これは私が望む仕事ではありません。

また、USBデバイスがないときに誤って書き込みが発生しないようにマウントポイントを保護する必要があります。chattr +i <mountpoint>

質問

  1. 外部デバイスがマウントされていない場合、マウントポイントにアクセスしようとすると、タイムアウトするまで中断されます。これによりシステムが不安定になる可能性があります。

  2. デバイスが接続されると、パスワードの入力を求められ、デバイスのロックは解除されますが、インストールされません。その後、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にコピーしましたが、削除された状態のディレクトリを一覧表示すると疑問符が表示されることがありますが、サイレントインストールは正しく機能します。以前のシステムでは、マウントポイントに不変属性を設定していませんでした。

関連


もしそうなら、マウントポイントにアクセスすると、??????????????????が発生するのはなぜですか?古いfstabと新しいsystemdの間に魔法変数が見つからないようです。

デバイスタイムアウトを設定しない場合は、システムがクラッシュする理由を知っておくと便利です。


2023年8月に更新

システムデバイスのマウントと自動マウント...説明? ? ? ?.automountデバイスがアクセスのためにマウントポイントを開こうとした場合。

私はまだ私が望む動作を達成できず、何も構成されていないので、それが使用されているかどうか疑問に思いますudev。その場合、唯一の質問は、マウントポイントとして使用されるディレクトリをカスタマイズできるかどうかです。fstab項目が生成されると、システム/run/systemd/generator単位が生成され、動作が変更されます。

plymouthsystemdがCPUを100%使用し、システムが停止したときにエラーが発生するため、新しいシステムにも問題があるようです。私の古いラップトップではこれは起こりません。

ベストアンサー1

ただ早く考えてみると…

おそらくudevスクリプト/アプリケーションを起動し、マウントポイントのディレクトリを作成してから、すべてのcryptsetup操作を実行している可能性があります。スクリプトはUSBドライブのキーを使用できます。

fstabを使用せずにすべての作業を完了してみてください。

(申し訳ありません。ご質問にはお答えできません。)

おすすめ記事