2
tar cvf backup.tar  -C /  /   # or
tar cvf backup.tar    /

производит архив как

etc/

и дает предупреждения

tar: Removing leading `/' from member names
tar: Removing leading `/' from hard link targets

с другой стороны

tar cvf backup.tar  -C /  . 

производит архив как

./etc/

и не дает никаких предупреждений. Я получил последний из учебника по Debian.

Что лучше для резервного копирования системы, они работают точно так же?


Разве нет разницы между производством tar-tvh

./так далее/

из архива

и tar -tvh производства

так далее/

из архива

?

3 ответа3

0

Оба примера, которые вы приводите, по сути эквивалентны - вы получаете относительные пути в архиве.

Если вы хотите включить абсолютные пути в архив, используйте -P, но имейте в виду, что восстанавливать его куда-либо, кроме корня, будет неудобно.

0

Я нашел решение sed , это лучше, чем использовать tar дважды.

tar cvfz backup.tar.gz -C /path/to/dir/ --transform 's/^\.//' .
0

То, что вы хотите использовать, зависит от того, что вы делаете.

Если вы просто пытаетесь сделать резервную копию своих файлов, то команда tar будет работать для вас (подробнее об этом ниже). Если вы пытаетесь создать образ своего жесткого диска, используйте команду dd . Пожалуйста, знайте, что вы не можете просто поместить резервную копию tar на новый диск и загрузиться с ним.

Проблема, с которой вы столкнетесь при помощи команды tar заключается в том, что ваш файл будет помещен в каталог /, что и является резервной копией. Так что вам нужно исключить ваш файл резервной копии.

cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz /

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .