シンプルUSBディスクマウントコマンド

シンプルUSBディスクマウントコマンド

PCManFMなどの一般的なGUIファイルマネージャでは、USBドライブアイコンをクリックするだけでドライブをマウントできます。ドライブをマウントする前に、正しい場所(/media/USER/label)にディレクトリを自動的に作成するために使用できる同様のコマンドがありますか?私はDebian 9を使用しています。

答え1

この場合、最良の方法はudevを使用することです。これソリューションをコピーして貼り付ける準備ができました。

次の内容で/etc/udev/rules.d/11-media-by-label-auto-mount.rulesファイルを作成するだけです。

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"  
# Import FS infos  
IMPORT{program}="/sbin/blkid -o udev -p %N"  
# Get a label if present, otherwise specify one  
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"  
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"  
# Global mount options  
ACTION=="add", ENV{mount_options}="relatime"  
# Filesystem-specific mount options  
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"  
# Mount the device  
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"  
# Clean up after removal  
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"  
# Exit  
LABEL="media_by_label_auto_mount_end"

スクリプトを作成して保存したら、次のコマンドを使用してudevを再ロードします。

udevadm control --reload-rules

USBストレージデバイスを接続すると、udevはデバイスIDまたはデバイスラベル(指定した場合)を使用して/ mediaの下に自動的にディレクトリを作成し、デバイスをマウントする必要があります。デバイスが切断されると、ドライブディレクトリ(/mediaにあります)は自動的に削除されます。

udevの詳細については、以下をお読みください。これ

答え2

USB 2

udiskctl mount -b /dev/sdXy

はい

udiskctl mount -b /dev/sdb1

マウント1. /dev/sdbパーティションから

ユティカ

udisks --mount /dev/sdXy

答え3

インストールする各デバイスのタグを保持する空のディレクトリがコンピュータに残っているため、これは最善の解決策ではありません。

ただし、次のように試すことができます(警告:まだテストしていません)。

MYDEVICE=/dev/foo
MYDEVLABEL=$(e2label $MYDEVICE)
mkdir -p /media/$USER/$MYDEVLABEL
mount $MYDEVICE /media/$USER/$MYDEVLABEL

コマンドに必要なオプションを追加することを忘れないでくださいmount

答え4

私は純粋なudevの答えを好みますが、以下を介してマウントできるusbmountというツールがあります。

apt-get install usbmount

ディスクを自動的にマウントし、構成ファイルを介して構成するのは非常に簡単です。
私は自動マウントをまったく好きではありませんが、一部のクライアントはこれを要求します。

関連情報