Чтение домашней папки старого компьютера на новом компьютере

Я предполагаю, что вы установили IFS на , для анализа CSV. По крайней мере, когда я это делаю, я получаю то же сообщение об ошибке, что и вы:

IFS=,
FIELDS="NAME PRETTY_NAME DESC"
while read $FIELDS; do
    echo $NAME
done < some.csv

Это потому, что оболочка анализирует read $ FIELDS , используя $ IFS , поэтому ищет ], для разделения аргументов; таким образом, NAME PRETTY_NAME DESC в конечном итоге интерпретируется как единственный аргумент вместо трех, и результатом является недопустимое имя идентификатора.

В этом случае можно использовать массив, предложенный GMaster :

IFS=,
FIELDS=(NAME PRETTY_NAME DESC)
while read ${FIELDS[@]}; do
   echo $NAME
done < some.csv

1
17.08.2018, 02:15
1 ответ

Каталог /media/linkan/Bubba root/homeпуст, потому что в вашей старой системе /homeбыла отдельной файловой системой. Пока что вы смонтировали только корневую файловую систему со старого диска.

Кроме того, на старом диске была файловая система /homeвнутри логического тома LVM, на что указывает эта строка в старом файле fstab:

/dev/mapper/bubba-storage   /home   ext3    defaults        0   2

Итак, ваша старая файловая система /homeнаходилась в группе томов LVM с именем bubbaв логическом томе с именем storage. По историческим причинам существует два пути устройства для обращения к такому логическому тому:/dev/mapper/bubba-storageи /dev/bubba/storage. Оба относятся к одному и тому же.

При горячем -подключении диска, содержащего группу томов LVM,есть один дополнительный шаг :: вы должны активировать группу томов, прежде чем сможете смонтировать любой из логических томов в ней. Запустите sudo vgchange -ay bubba, чтобы активировать группу томов :, в случае успеха устройство /dev/mapper/bubba-storageдолжно стать доступным в вашей системе. (В случае сбоя сообщение об ошибке от команды vgchangeбудет иметь важное значение для выяснения проблемы.)

Затем вы можете смонтировать его куда угодно, но, возможно, будет разумнее смонтировать его на старую точку монтирования. Сначала закройте все окна диспетчера файлов с графическим интерфейсом, которые в данный момент обращаются к каталогу /media/linkan/Bubba root/home, чтобы избежать сообщений об ошибках mount point is busy, и выполните:

cd /
sudo mount /dev/mapper/bubba-storage "/media/linkan/Bubba root/home"

Если вы не можете получить доступ к своему старому домашнему каталогу под /media/linkan/Bubba root/home/с помощью обычной учетной записи пользователя, возможно, это связано с тем, что ваша учетная запись в старой системе использовала другой номер UID, чем в новой системе. Это можно легко исправить. (Я предполагаю, что ваше текущее имя пользователя linkan, а имя пользователя/домашний каталог в старой системе было old_linkan. Измените по мере необходимости.)

cd "/media/linkan/Bubba root/home"
sudo chown -R linkan: old_linkan

После завершения команды chownваш старый домашний каталог теперь должен отображаться как принадлежащий вам в списке ls -lи должен быть доступен как обычно.

3
27.01.2020, 23:23

Теги

Похожие вопросы