LINUX.ORG.RU

Перенос системы на другую ФС


0

1

Как правильно сделать сабж с сохранением всех прав, символьных и жестких ссылок, таймстампов и т. п.? rsync -aH --exclude=/home --exclude=/dev --exclude=/mnt/* --exclude=/proc --exclude=/proc --exclude=/sys --exclude=/tmp / /mnt/newroot? Что-то еще может побиться? ACL'ы и метки SELinux не используются, но интересно, как быть с ними. Насколько ресурсоемок будет процесс учета жестких ссылок для ФС с количеством файлов, приближающимся к миллиону?

★★

Ответ на: комментарий от gentoo_root

Capabilities, extended attributes.

И как быть с ними?
Вообще, мне кажется, учитывая, что дополнительные атрибуты могут быть какими угодно, одна утилита должна заниматься именно копированием, а воспомогательные, своя для каждого дополнительного атрибута - переносить его значения с файлов исходной иерархии на файлы скопированной. Такие решения существуют?

shatsky ★★
() автор топика
Ответ на: комментарий от shatsky

И как быть с ними?

В случае capabilities я просто брал и делал getcap -r в какой-то файл, а потом его читал построчно, выделял имя файла и capabilities и устанавливал их setcap'ом. cp -a их почему-то не копировало.

Extended attributes я не пользовался, но думаю, что можно сделать как-то аналогично.

Такие решения существуют?

Вспомогательные утилиты для разных дополнительных атрибутов есть — это те же chmod, chown, setcap и т.п., но я не встречал такой программы копирования, которая бы поддерживала плагины-атрибуты и вызывала бы эти вспомогательные утилиты. Такая программа работала бы медленно, если бы вызывала их все, но, возможно, она и существует — лично я не видел.

gentoo_root ★★★★★
()
Ответ на: комментарий от lnx

cp -a

Судя по ману, это как --recursive --no-dereference --preserve=context,links,xattr
links - сохраняет ли хардлинки?
xattr - все ли дополнительные атрибуты хранятся в них?
context - это что вообще такое?

shatsky ★★
() автор топика
Ответ на: комментарий от gentoo_root

cp -a их почему-то не копировало.

Крайне странно. Пишут, что capabilities сидят в xattr.

chmod, chown, setcap

Имеется ввиду не присвоение конкретному файлу, а рекурсивный перенос на уже скопированную иерархию.

shatsky ★★
() автор топика
Ответ на: комментарий от shatsky

context - это что вообще такое?

это из SELinux

lnx
()
Ответ на: комментарий от shatsky

Имеется ввиду не присвоение конкретному файлу, а рекурсивный перенос на уже скопированную иерархию.

Для этого пишется костыль-обёртка на баше. Или своя версия утилиты. Готового не встречал.

gentoo_root ★★★★★
()

Как правильно сделать сабж с сохранением всех прав, символьных и жестких ссылок, таймстампов и т. п.?

man tar

drBatty ★★
()

зачем rsync ? cp -ax

SI ★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.