mount /dev/loop0p2 /mnt/target
cd /mnt/target/home/
mount /dev/loop0p3 /mnt/target/home/
mkdir -p /mnt/target/home/user/resources
Вы вызываете mkdir
с рабочим каталогом, установленным на /home
на /dev/loop0p2
. Этот рабочий каталог раньше был доступен по пути /mnt/target/home
, но теперь он скрыт за точкой монтирования для /dev/loop0p3
. Когда вы вызываете mkdir
, путь /mnt/target/home
указывает на каталог /
на /dev/loop0p3
.
Не понимаю, зачем mkdir
заботиться о своем рабочем каталоге, но это выглядит странно. Если вы упростили свой сценарий, прежде чем показывать его в своем вопросе, проблема, с которой вы столкнулись, вполне может быть связана с путаницей из-за каталога, скрытого за точкой монтирования.
Так что попробуйте cd
выйти из /mnt/target/home
перед установкой. Или вообще не используйте cd
и используйте опцию -C
для вызова tar
и абсолютный путь для rm
.
Как правило, избегайте монтирования чего-либо в каталог, который используется каким-либо образом. Целевой каталог должен быть пустым и не должен быть рабочим каталогом какого-либо процесса. Операционная система будет поступать правильно, но то, что она считает правильным, может оказаться неожиданным, и в любом случае это может запутать людей и программное обеспечение.
Никакой разницы.
/etc/redhat-release
является символической ссылкой на/etc/centos-release
На терминале выполните следующее и запишите вывод:
$ ls -l /etc/redhat-release
lrwxrwxrwx. 1 root root 14 Dec 10 2019 /etc/redhat-release -> centos-release