我有一台在 ubuntu 20.04 上运行的服务器,我使用 usbmount 在以下安装点上安装外部驱动器:
/home/bric/usb0
/home/bric/usb1
/home/bric/usb2
/home/bric/usb3
/home/bric/usb4
...
有时,当我重新启动时,驱动器会安装在与以前不同的点上,我只是想知道是否可以设置规则,以便每个驱动器只能安装在单个点上,例如以下磁盘:
$ sudo fdisk -l
Disk /dev/sdb: 465,78 GiB, 500107862016 bytes, 976773168 sectors
Disk model: 2115
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd31fd8de
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 976773119 976771072 465,8G c W95 FAT32 (LBA)
始终安装在以下点上:
$ df -h
/dev/sdb1 466G 337G 129G 73% /home/bric/usb0
我还没有找到有关此主题的帖子或文档。
/etc/usbmount/usbmount.conf
MOUNTPOINTS="/home/bric/usb0 /home/bric/usb1 /home/bric/usb2 /home/bric/usb3
/home/bric/usb4 /home/bric/usb5 /home/bric/usb6 /home/bric/usb7"
FILESYSTEMS="vfat ext2 ext3 ext4 hfsplus ntfs"
MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime,umask=0"
FS_MOUNTOPTIONS=""
VERBOSE=yes
答案1
所以我找到了一个避免使用 usbmount 的解决方案,其想法是通过驱动器标签识别每个驱动器,然后将其安装到所需的安装点:
#!/bin/bash
# mount disk 0 on usb0
volume_label="DISK"
mounting_point="usb0"
volume=$(lsblk -lo NAME,LABEL | grep "$volume_label" | tr -d " $volume_label")
echo **** | sudo -S mount -t vfat /dev/$volume /home/bric/$mounting_point -o uid=1000
该脚本在启动时通过 systemctl .service 触发