Я знаю, что это не точно, что запрашивает автор, но кажется, что у них уже есть свой ответ, таким образом, я добавляю это для других как я, которые натыкаются на вопрос.
Следующее должно помочь, если более гибкое решение требуется, такие как наличие набора разорванных символьных связей, которые могут быть зафиксированы путем замены части целей символьной ссылки.
например, После изменения имени пользователя, для замены старого имени пользователя новым именем пользователя в цели многих ссылок после того, как было уже сделано перемещение. Создайте сценарий, названный заменой-simlinks, показанной ниже:
#!/bin/bash
link=$1
# grab the target of the old link
target=$(readlink -- "$1")
# replace the first occurrence of oldusername with newusername in the target string
target=${target/oldusername/newusername}
# Test the link creation
echo ln -s -- "$target" "$link"
# If the above echo shows the correct commands are being issued, then uncomment the following lines and run the command again
#rm "$link"
#ln -s "$target" "$link"
и назовите его со следующей командой:
find /home/newusername/ -lname '/home/oldusername/*' -exec ~/bin/replace-simlinks {} \;
Надеюсь эта справка кто-то
править: Спасибо Gilles для запущения на этом сценарии и подсказке об использовании сценария символьных ссылок для создания родственника ссылок.
Необходимо сначала выйти из chroot сессии, обычно простое exit
сделаю:
exit
Затем umount ВСЕ связанные каталоги:
umount /mnt/rescue/dev/
umount /mnt/rescue/proc/
umount /mnt/rescue/sys/
Затем:
umount /mnt/rescue
В случае, если Вы волновались это sync
не используется здесь, обратите внимание, что это не имеет никакого влияния на то, возможно ли размонтирование. Размонтирование сбрасывает ожидающий записи так или иначе (оно имеет к, потому что нигде не было бы, чтобы они следовали за размонтированием). Присутствие процесса chrooted не важно (кроме которого оно предотвращает размонтирование). В операции нормальной системы синхронизация не имеет никакого заметного эффекта. синхронизация только имеет значение, если устройство физически отключено, не будучи размонтированным или если система отказывает, в то время как устройство смонтировано.
Выполните команду ниже, чтобы заставить и отсоединить файловую систему из иерархии файловой системы, и очистить все ссылки на файловую систему, как только она больше не занята.
umount -lf /mnt/rescue
Причина, по которой вы получаете сообщение «цель занята». сообщение связано с тем, что точка монтирования ( / mnt / rescue
) открыта в файловом браузере или в сеансе терминала, а также порядок размонтирования (здесь я имею в виду dev / pts
должен быть размонтирован перед dev /
)
Что ж, чтобы успешно размонтировать там все fs:
cd
)! Размонтируйте fs с соблюдением порядка dev / pts => dev / => proc / => sys /
:
sudo umount / mnt / rescue / dev / pts
{{1} } sudo umount / mnt / rescue / dev
sudo umount / mnt / rescue / proc
sudo umount / mnt / rescue / sys
sudo umount / mnt / rescue
Вот как я поступаю с schroot
в Ubuntu версии 10.04 и выше:
# list all sessions:
schroot --list --all-sessions
# if the above command does not work, just type `mount`. The bind mount
# points with something like this in the mount path is the session name you want to get:
precise-a4aac8e0-663c-4fec-8fb2-16e4b06557e3 (<chroot_name>-<id>)
# now run this to properly end the session:
schroot -e -c precise-ca6c72e4-0e9f-4721-8a0e-cca359e2c2fd
Выйти из chroot. В хост-системе команда «mount» покажет весь смонтированный путь. (Включает те пути, которые смонтированы в chroot.) Например:
binfmt_misc on /home/user/projects/jsroot/proc/sys/fs/binfmt_misc
Затем войдите в среду chroot. В среде chroot запустите unmount, чтобы размонтировать все пути по порядку. (Подпуть должен быть размонтирован перед родительским путем.)
unmount /proc/sys/fs/binfmt_misc
unmount /proc/sys
unmount /proc
sync
полностью бесполезно. – Gilles 'SO- stop being evil' 21.01.2013, 00:54sync
бесполезно? Это становится бесполезным в текущем ядре? Или только в этом случае (спасают режим)? Я поместил его там на всякий случай существует огромная незаконченная запись к диску, который предотвратит umount после выхода chroot. – John Siu 21.01.2013, 04:44sync
не имеет никакого влияния на то, возможно ли размонтирование. Размонтирование сбрасывает ожидающий записи так или иначе (оно имеет к, потому что нигде не было бы, чтобы они следовали за размонтированием). Присутствие процесса chrooted не важно (кроме которого оно предотвращает размонтирование). В операции нормальной системы,sync
не имеет никакого заметного эффекта.sync
только имеет значение, если устройство физически отключено, не будучи размонтированным или если система отказывает, в то время как устройство смонтировано. – Gilles 'SO- stop being evil' 21.01.2013, 12:35