× К оглавлению На главную Об авторе

   Дата и время публикации:

Проблемы и решение

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 репозитариев