sudo tar cvpzf завершается с ошибкой из-за предыдущей ошибки

Я посмотрел на другой вопрос, касающийся этой проблемы, но думаю, что у меня может быть другая настройка.

Я тоже пытаюсь сделать резервную копию своей машины с Ubuntu, но здесь есть разница. Я использовал Wubi для установки Ubuntu 11.10 вместе с Vista на свой ноутбук. Я потратил немало времени, чтобы добраться до этого момента в настройке, которую я решил, что, вероятно, было бы неплохо сделать все это на моем внешнем жестком диске.

Итак, из разных источников я собрал следующее: сначала я перешел на свой внешний жесткий диск, затем создал папку резервного копирования на этом диске, а затем ввел следующее с терминала:

sudo tar cvpzf mybackup.tgz2 --exclude="/host/*"  --exclude="/media/*" --exclude="/mnt/*" --exclude="/proc/*" --exclude="/tmp/*" /

И Процесс длился около 20 минут, когда он, наконец, вылетел с выходящим сообщением. Я заметил, что в начале были некоторые ошибки чтения, но он продолжил обработку, затем у него было три «изменения файлов, когда мы читали» и через 3-4 минуты он завершился.

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

После запуска резервного копирования теперь только с sudo tar cpf и всеми предыдущими исключениями плюс добавлением --exclude="/dev/" я получил эту ошибку:

tar: removing '/' from front of names
tar: /sys/module/bnep/sections/__mount_loc: file sharnk by 4085 bytes; padding with zeroes …. a whole bunch of these the paths are different
tar: /home/tom/.gvfs: cannot stat: permission denied
tar: /run/synaptic.socket: socket ignored …. 8 of these different folders
tar: /var/lib/citadel/data: file changes as we read it …. 5 of these different folders

Надеюсь, кто-то понимает, что происходит, потому что я немного встревожен, что у меня есть эти ошибки. Спасибо за любую помощь или предложения.

5
задан 6 October 2015 в 13:48

2 ответа

Об ошибках, с которыми вы столкнулись:

tar: удаление '/' в начале имени

Это не ошибка, она просто сообщает вам о том, что он делает. Он говорит вам, что хранит путь как относительный путь. Когда вы распаковываете, вам необходимо находиться в корневом каталоге (т.е. /), чтобы он распаковывался в /home...etc. а не /directory/you/are/in/home.

tar: / sys / module / bnep / section / __ mount_loc: файл sharnk на 4085 байт; заполнение нулями

Существует несколько каталогов, которые являются «специальными» и не должны храниться где-либо (поскольку они создаются при загрузке и не содержат ничего особенного, что нужно сохранять). Эти каталоги

/dev
/proc
/sys

Действительно, попытка сохранить их дает некоторые странные результаты, которые вы испытываете. Поэтому вы должны исключить их, как вы это сделали для /dev.

tar: /home/tom/.gvfs: невозможно stat: разрешение отклонено

Не вдаваясь в подробности, почему, вам не следует беспокоиться о сбое этого каталога, так как вы, вероятно, не хочу включать содержимое. Если вы действительно обеспокоены, вы можете исключить все ошибки gvfs с помощью

--exclude="/home/*/gvfs/*"

Для получения дополнительной информации см. страницу википедии

tar: / run / synaptic.socket: сокет игнорируется ... 8 из этих разных папок

Это просто информирует вас о том, что он игнорирует сокеты. Они создаются при загрузке и использовании компьютера, поэтому вы можете доверять его суждениям об их игнорировании.

0
ответ дан 6 October 2015 в 13:48

Что означают сообщения

Во-первых, давайте рассмотрим сообщения по отдельности:

tar: removing '/' from front of names

Вы сказали tar Архив абсолютных путей. По умолчанию (если вы не передадите опцию -P), tar сохраняет относительные пути, например, он хранит etc/fstab, когда вы указываете его хранить /etc/fstab. Это помогает, если вы хотите разархивировать свою резервную копию в некотором подкаталоге (программа tar в Ubuntu делает это и при извлечении, поэтому сохранение абсолютного пути имеет значение, только если вы извлекаете архив в системе, отличной от Linux). Вы можете игнорировать это сообщение.

tar: /sys/module/bnep/sections/__mount_loc: file sharnk by 4085 bytes; padding with zeroes

Эта ошибка находится в пределах /sys. Как и /proc, файлы в /sys не хранятся на вашем диске, они генерируются ядром на лету, и нет смысла их резервировать.

tar: /home/tom/.gvfs: cannot stat: permission denied

~/.gvfs - это точка монтирования , используемая GVFS , компонентом среды рабочего стола Gnome, которая позволяет получить доступ к сетевым файловым системам, архивам и многому другому. Здесь нечего отступать.

tar: /run/synaptic.socket: socket ignored

Сокет является «местом встречи» между клиентами и сервером. Там нет хранящихся данных, и сервер создаст сокет при запуске. Резервное копирование сокетов не требуется, поэтому это сообщение безвредно.

tar: /var/lib/citadel/data file changes as we read it

Это сообщение - то, что написано на банке. Если файл изменяется во время создания резервной копии, вы не обязательно ожидаете наличия последней версии файла.

Состояние вашей резервной копии

Большинство из этих предупреждений безвредны; Вы можете выборочно отключить их .

Вместо того, чтобы исключать каталоги, о которых вы знаете, исключите все точки монтирования, чтобы в итоге вы создали резервные копии только того, что находится на вашем диске. Если у вас есть несколько разделов (например, если у вас есть отдельный /home), не забудьте перечислить их все.

tar -czf mybackup.tgz --one-file-system /

Я бы сказал, что у вас есть полная резервная копия на данный момент. Конечно, вы должны проверить это, прежде чем стереть свои данные.

Дополнительные советы

Если у вас недостаточно места на диске, я рекомендую клонировать вашу установку, чтобы вы могли запустить ее непосредственно с USB-диска. (См. Перемещение установки linux на новый компьютер ; также Как перенести пользовательские настройки и данные на новую машину? )

Примечание, не связанное с этим: post - «file sharnk» (фактическое сообщение «file shrank»), «файл изменяется, когда мы его читаем» (фактическое сообщение «file изменился, когда мы его читаем»). Вы должны копировать их! Отсутствие копирования-вставки значительно снижает доверие, которое мы можем иметь к ситуации, как вы описываете. Если ваша система обычно не отображает сообщения на английском языке, сначала запустите export LC_MESSAGES=C, чтобы получить сообщения об ошибках на английском языке.

0
ответ дан 6 October 2015 в 13:48

Другие вопросы по тегам:

Похожие вопросы: