LINUX.ORG.RU

Как правильно копировать файлы

 , ,


0

1

Решил перенести /home на другой раздел, примонтировал его в /mnt/tmp, потом копирую:

sudo cp -rpx /home/* /mnt/tmp/

По идее, параметр -p должен сохранять все права, но владельцем скопированных директорий почему-то становится root. ЧЯНТД?

Есть права, а есть владелец (и ещё группа, расширенные атрибуты, времена доступа и изменения).

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

в убунте в man cp писано так

-p     same as --preserve=mode,ownership,timestamps

--preserve[=ATTR_LIST]
              preserve the specified attributes (default: mode,ownership,time‐stamps), if  possible  additional  attributes:  context, links, xattr, all
судя по первой строчке при -p должны сохранятся права, владелец, временные метки.или нет ??

pfg ★★★★★ ()
Ответ на: комментарий от Deleted
sudo chown -v "you":"you" /mnt/tmp

Как мне поможет смена владельца? Мне нужно что бы сохранялись все атрибуты, а не что бы владельцем стал я.

fingolfin ()
Ответ на: комментарий от Deleted

А «куда» и «кому» ты копируешь?

Может я не до конца понимаю. Мне нужно просто получить аналогичную файловую систему, то есть те же данные, владельцы, атрибуты и пр. Я примонтировал раздел во временную директорию с тем, что бы перенести в него файлы, а потом сменить /home в fstab. Получается, владелец /mnt/tmp вообще ни при чем должен быть?

fingolfin ()
rsync -av --progress /home/ /mnt/tmp
Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Опции монтирования и какая фс?

Монтировал так:

sudo mount /dev/mapper/s1 /mnt/tmp -t btrfs -o defaults,noatime,compress=lzo,subvol=/home/
fingolfin ()
Ответ на: комментарий от pfg

у меня «sudo cp -pr ./test1 ./test2» сохранило владельца файлов

посмотри что писано в man cp

По man'у и по --help всё должно быть так. Но у меня не получается. Что-то я вообще не врубаюсь...

Попробую еще rsync'ом, как выше предложили, но это какая-то фигня, не могу тупо скопировать файлы, чувствую себя полным ламером ))

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

compress=lzo

Интересно, а компрессия от «чьего» имени производится?

Попробую еще rsync'ом

Попробуй и через tar:

$ cd /home
$ sudo sh -c "tar -cp * | tar -xpv -C /mnt/tmp"
Deleted ()
Ответ на: комментарий от Deleted

Интересно, а компрессия от «чьего» имени производится?

В смысле, от чьего имени? Драйвера btrfs ведь встроены в ядро, значит и сжатие где-то в ядре должно происходить, нет?

В общем, спасибо за ответы, завтра буду с новыми силами пробовать :)

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

По man’у и по –help всё должно быть так.

Да, должно работать. И работает — тут в треде отписывались, что работает. И у меня работает.

В твоём случае остаётся только через strace гонять и смотреть, что cp в реальности делает.

i-rinat ★★★★★ ()

С помощью tar сделал. С cp как-нибудь потом разберусь… Всем спасибо за ответы!

fingolfin ()

cp --backup=numbered --interactive --one-file-system --preserve=mode,ownership --recursive

anonymous ()

На всякий случай уточню, вы дожидались окончания выполнения cp или смотрели по ходу и обрывали выполнение через ″Ctrl+C″? cp сначала всё копирует, а потом проходит и меняет права.

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

Именно так.

Ну ёксель-моксель. Только народ взбаламутил. :)

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

Ну ты телепаат! :)

и даже не в отпуске!

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