Дата и время публикации:
Проблемы и решение
1. Суть проблемы
Использование внешнего жеткого диска для монтирования в пользовательской директории, например, /home/$USER/yocto-poky под пользовательской УЗ c символьной меткой user, как показано в дампе 1.1
Дамп 1.1
$ $ mount | grep yocto-poky /dev/sdb1 on /home/$USER/yocto-poky type ext4 (rw,nosuid,nodev,noexec,relatime,user=user)
2. Решение
2.1 Разбиение и форматирование под linux
Родной и самой используемой файловой системой в linux является etx4, которая позволяют управлять правами доступа к файлам и директориям, в данном случае пользователя user в домашней директории /home/$USER/, куда буду монтировать внешний жесткий диск.
Поэтому, для начала, выполнил разбиение внешнего диска к указанной файловой системе, как показано в дампе 2.1
Дамп 2.1
$ sudo fdisk /dev/sdb ... Device Boot Start End Sectors Size Id Type /dev/sdb1 * 2048 1953522863 1953520816 931,5G 7 HPFS/NTFS/exFAT ... Hex code or alias (type L to list all): 83 Changed type of partition 'HPFS/NTFS/exFAT' to 'Linux'. ... Command (m for help): p ... Device Boot Start End Sectors Size Id Type /dev/sdb1 * 2048 1953522863 1953520816 931,5G 83 Linux
Затем, выполнил форматирование с проверкой битые блоки и установку новой метки партиции YOCTO-POKY с помощью mkfs.ext4(),как показано в дампе 2.2
Дамп 2.2
~$ sudo mkfs.ext4 -c -L YOCTO-POKY /dev/sdb1 mke2fs 1.46.2 (28-Feb-2021) /dev/sdb1 contains a ntfs file system labelled 'TOSHIBA EXT' Proceed anyway? (y,N) y ...
2.2 Монтирование под обычным пользователем
Производим пробное монтирование в предназначенную поддиректорию /mnt , как показано в дампе 2.3
Дамп 2.3
$ sudo mount -t ext4 /dev/sdb1 /mnt && sudo ls -la /mnt && sudo umount /mnt итого 24 drwxr-xr-x 3 root root 4096 фев 8 19:56 . drwxr-xr-x 19 root root 4096 янв 21 17:54 .. drwx------ 2 root root 16384 фев 8 19:56 lost+found
После чего, делаем автоматическое монтирование в ранее указанную директорию /home/$USER/yocto-poky, как показано в дампе 2.4
Дамп 2.4
$ mkdir -p -m 750 /home/$USER/yocto-poky $ sudoedit /etc/fstab ... LABEL=YOCTO-POKY /home/$USER/yocto-poky ext4 defaults,auto,user,exec,rw 0 0 ... user@home2:~$ sudo mount -a user@home2:~$ sudo df | egrep 'yocto-poky' /dev/sdb1 960301672 28 911447240 1% /home/$USER/yocto-poky
При этом, по крайне мере в Debian-11, рекомендую после первого монтирования назначить имя владелца пользователя и его группы, как показано в дампе 2.5
Дамп 2.5
$ sudo chown -R $USER:$GROUP yocto-poky
После чего можно приступить к сохранению нужных файлов и директорий. В этом случае, рекомендую воспользоваться rsync, который гарантирует перезапись. Также неплохой мыслью будет использовать носитель информации в качестве локального хранилища Git репозитариев [3.1]. Для чего, нужно перенести все файлы директории /home/git/repos в директорию /home/$USER/yocto-poky/git-repors на внешний носитель информации с меткой YOCTO-POKY и создать символьную ссылку /home/git/repos на директорию с локальным хранилищем Git репозитариев.
3. Библиография
3.1 Как развернуть свое собственное локальное хранилище Git репозитариев