Наконец-то мне удалось добавить нового пользователя в виртуальный терминал (Ctrl + Alt + F1), поскольку su
# adduser donald
# su - donald
$ startx
вошел в него, добавил его в список суперпользователей и запустил его как su
sudo chown -hR username:username /home/username/
, где имя пользователя - старое имя пользователя. Это сработало, я думаю, что это сделано.
Я заметил, что атрибут devpath
является постоянным для моих портов USB. Вы можете добавить новое правило udev
и создать определенные символические ссылки на основе портов, к которым затем подключаются устройства. Просто добавьте новый файл в каталог /etc/udev/rules.d
, который будет выглядеть так:
#new symlink for my front USB port:
KERNELS=="2-1.8", SUBSYSTEMS=="usb", ATTRS{devpath}=="1.8", SYMLINK+="usb_port1"
и убедитесь, что его имя заканчивается на .rules
, например port1.rules
. С этого момента вы можете сделать запись fstab
, используя / dev / usb_port1
, поскольку любое устройство, подключенное к этому конкретному порту, будет указано под указанной символической ссылкой в / dev /
. То же самое для SD-карты, и вы должны быть урегулированы.
Происходит то, что мы проверяем уникальные свойства конкретного порта (части ==
), и как только они совпадают, добавляем ( + =
) новую символическую ссылку на / dev /
.
Информацию об атрибутах, которые вы хотите сопоставить, можно получить с помощью udevadm info -a / dev / sdb1
(для устройства sdb1
). Убедитесь, что вы берете атрибуты только из одного родительского блока устройства, и это должен быть тот, который имеет уникальные записи devpath
и KERNELS
- попробуйте использовать несколько USB-портов, если они доступны. изменение.
PS: udev
также позволит запускать сценарий при подключении устройства - может пригодиться для ваших нужд резервного копирования. Однако я не знаю, будет ли загрузка вашей системы считаться подключением к сети, поэтому вам нужно будет проверить поведение.
Я, скорее всего, воспользуюсь ответом Фиксимана, но для полноты картины я написал пример сценария для монтирования устройства, которое меньше по размеру и еще не смонтировано.
#!/bin/bash
output=$(lsblk -b -I 8 -i | grep "^[\`|]-sd.1" | awk '{print substr($1,3), $4, $7}')
cursize=999999999999999
while read dev size mountpath; do
echo $dev :: $size :: $mountpath
if [[ $size -lt $cursize && -z $mountpath ]]
then
cursize=$size;
dev2mount=$dev;
fi
done <<< "$output"
echo to mount: $dev2mount of $cursize size