Резервное копирование ROSA Linux

Обсуждения статей на wiki Росы. Внимание: придерживаемся правила "одна статья на вике -- один топик"
Закрыто
Bash
Сообщения: 104
Зарегистрирован: 31 дек 2012, 02:15
Operating system: ROSA Desktop.Fresh 2012 x86
Откуда: Томск

Резервное копирование ROSA Linux

Сообщение Bash » 09 янв 2013, 15:48

Статья в Wiki

1. Не знаю, по какой версии ROSA писалась статья, но приведенный синтаксис не работает должным образом:

Код: Выделить всё

tar cvpzf mysysbackup.tgz −−exclude=/proc −−exclude=/lost+found −−exclude=/mysysbackup.tgz −−exclude=/media /
На ROSA Desktop Fresh 2012 x86 имеющаяся версия tar (1.26) наотрез не хочет воспринимать шаблоны опции "--exclude".
Пользовался гуглом, нашёл вагон и маленькую тележку (не перестаю удивляться Linux'у о_О) т.н. "шаблонов" исключающей опции для tar — никакой вариант не подошёл из найденных.
tar как пихал, так и продолжает пихать всё в архив без исключений. Кстати, под конец архивирования tar «давится» (из-за большого количества ошибок завершает работу) на содержимом папки /usr/tmp. Её тоже надо в исключения добавлять по умолчанию.

В общем, нужен правильный синтаксис шаблонов для исключения содержимого каталогов и т. д. для данной версии tar. По командам man tar, tar —help, tar —usage подробной информации по синтаксису найти не удалось.

http://www.gnu.org/software/tar/manual/ ... clude.html
http://www.gnu.org/software/tar/manual/ ... clude.html

Почитал инфу по приведенным выше ссылкам, так и не понял, какой вариант должен работать (нужен знак равенства? не нужен?). Вроде все проверил, ни один из описанных не работает. Как-то отчаянно определенности захотелось... :) Может версию tar в репы другую?

2. При стандартной разбивке диска, которую предлагает ROSA Fresh во время установки:
12 Гб для /
около 4 Гб для Linux-swap
остальное под /home
tar завершает работу из-за нехватки свободного места на первом диске.
Надо в команде или путь прописывать или /home тоже в исключения добавлять. Вообще, если из-за видео-драйвера система перестанет стартовать, восстановление бекапа только раздела / поможет?

3. Лазая в гугле, нашёл упоминание программы Simple BackUp (sbackup) для Ubuntu. По описанию — тот же tar, только с GUI, плюс расписание задать можно. Может репозиторий какой надо подключить? Имею большое желание попользовать.

PastorDi
Сообщения: 2743
Зарегистрирован: 25 авг 2011, 12:34
Operating system: IBM DOS, OS/2
Откуда: Санкт-Петербург
Контактная информация:

Re: Резервное копирование ROSA Linux

Сообщение PastorDi » 10 янв 2013, 18:44

В Fresh все работает, как в Wiki без проблем. Версия tar-1.26-6-rosa2012.1.x86_64

Bash
Сообщения: 104
Зарегистрирован: 31 дек 2012, 02:15
Operating system: ROSA Desktop.Fresh 2012 x86
Откуда: Томск

Re: Резервное копирование ROSA Linux

Сообщение Bash » 10 янв 2013, 23:00

Спасибо. Данная инфа заставила крепко задуматься... :)

Ппц... Всё дело в минусцах (они же тире) оказалось. В wiki в написании первой команды тире какой-то не подходящей системы, а далее идут правильные (читай — понятные терминалу):
минусцы-то разные!.png
минусцы-то разные!.png (12 КБ) 15424 просмотра
Я с аккуратностью хирурга беру копи-пастом бережно и нежно всю строку из wiki и переношу её в документ Libre Office, там редактирую и копирую отредактированную в терминал.
Первый раз вообще не стал ничего менять, решил проверить как есть. Скопировал в терминал — и всё.
И ведь писал минусы вручную, но потом увидел, что символы разные - скопи-пастил из имеющихся в команде, а вручную написанные правильные удалил.

Linux удивляет. :D

Жаль инфа поздновато пришла, я уже загрузку Росы установкой beta Fedora 18 испортить успел.

Аватара пользователя
ДроноваЮ
Сообщения: 2636
Зарегистрирован: 01 июн 2011, 13:11
Operating system: Ubuntu/ROSA
Откуда: Москва

Re: Резервное копирование ROSA Linux

Сообщение ДроноваЮ » 11 янв 2013, 08:37

Bash писал(а): Ппц... Всё дело в минусцах (они же тире) оказалось. В wiki в написании первой команды тире какой-то не подходящей системы, а далее идут правильные
Поправила. Хорошо бы проверить. Это Пастор из-под венды небось статейку писал :P

Bash
Сообщения: 104
Зарегистрирован: 31 дек 2012, 02:15
Operating system: ROSA Desktop.Fresh 2012 x86
Откуда: Томск

Re: Резервное копирование ROSA Linux

Сообщение Bash » 11 янв 2013, 09:10

ДроноваЮ писал(а): Поправила. Хорошо бы проверить.
Проверил. Работает. В смысле, воспринимает символы... сейчас ещё до конца прогоню. Там с папкой Trash проблемы начались.
Это Пастор из-под венды небось статейку писал :P
Вот и засланный казачёк обозначился. :D Буду рядом с пультом управления ракетами, обязательно на него наведусь. ;)

Bash
Сообщения: 104
Зарегистрирован: 31 дек 2012, 02:15
Operating system: ROSA Desktop.Fresh 2012 x86
Откуда: Томск

Re: Резервное копирование ROSA Linux

Сообщение Bash » 11 янв 2013, 21:27

Код: Выделить всё

tar cvpzf mysysbackup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mysysbackup.tgz --exclude=/media /
I. Синтаксис всё равно не тот. Слеш не нужен для исключения каталогов и файлов. Как минимум, это можно проверить на исключении самого архива, чтобы сам себя не пытался запаковать. С написанием слеша, архив пытается сам себя запихать, но обламывается из-за того, что в процессе данные файла изменились. Время только тратит зря.

В поисках синтаксиса погонял tar на отдельной структуре файлов и папок с наличием файла с таким же именем, как у каталога. При написании слеша в исключениях — пакует указанные файлы и папки, при отсутствии — не пакует. Подобрал синтаксис для исключения содержимого каталогов, но не файлов с таким же именем. Ниже в пункте III команду привел.

Даже с учётом неверного синтаксиса приведенной выше команды, работа tar проходит до конца, судя по объему данных (забегая вперед, - практически равен тому, что я получил, загрузившись с Live), но с кучей ошибок. Например, при работе с папкой /sys/ часто встречаются такие:
1. «Файл урезан на 4072 байта; дополнен нулями» (туча подобных ошибок с байтами 40XX)
2. «Функция open завершилась с ошибкой: Отказано в доступе»

Есть ещё, например, следующие:

Код: Выделить всё

tar: /dev/log: сокет проигнорирован
tar: /var/run/rpcbind.sock: сокет проигнорирован
tar: /run/systemd/journal/syslog: сокет проигнорирован
tar: /run/udev/control: сокет проигнорирован
tar: /run/user/500/gvfs: Функция stat завершилась с ошибкой: Отказано в доступе
Это всё из-за того, что tar пытается работать с системными файлами на работающей системе. Навряд ли можно говорить о правильном резервировании данных в данном случае.
Завершается работа tar с такой ошибкой:

Код: Выделить всё

tar: Завершение работы с состоянием неисправности с из-за возникших ошибок
В команде также не учтено исключение раздела /home. Надо исключать, т. к. примонтирован как папка. Места по-любому в корне не хватает.

II. Если же работать с tar с Live CD, то приведенная команда вообще не сработает, потому что начнёт паковать данные самого Live CD. Нужно монтировать раздел HDD и вставлять в конец команды длинную точку монтирования, начинающуюся с «/media/...». При этом исключение «--exclude=media» (в любом написании после --exclude) нужно удалять. Иначе tar даже не стартует, т. к. исключен сам раздел назначения полностью.

Даже загрузившись в Live-системе, сохранять файл в корень = серьезный риск нарваться на нехватку места на этом разделе. То есть по хорошему, надо в команде указывать один /media/-раздел для самого архива, а в конце - архивируемый /media/-раздел.

III. Моя версия рабочей команды из Live-системы (проверил, прошла без ошибок), из-под root, само-собой:

Код: Выделить всё

tar cvpzf /media/2/mysysbackup.tgz --exclude proc/* --exclude mnt/* --exclude lost+found/* --exclude mysysbackup.tgz /media/1
где:
/media/2 — большой раздел с длинным цифро-буквенным названием для бэкап-файла
/media/1 — раздел / резервируемой системы с другим цифро-буквенным названием

Исключения proc, mnt и lost+found — перестраховка, скорее... При загрузке с Live-системы эти папки на HDD пусты, как и /media, которую исключать нельзя.

В спойлере вывод команды df, после монтирования разделов Dolphin'ом:
konsole - df.png
Выделена точка монтирования раздела / в 12 Гб
Присутствует также раздел /home с длинной точкой монтирования в Live-системе
P.S.
Стало жутко интересно, как работает убунтовский Simple Backup. Неужели без ошибок пакует прямо в действующей системе занятые работой файлы.

P.P.S.
Проверяйте. Если есть возможность проще и эффективнее зарезервировать данные - выкладывайте инфу.

Bash
Сообщения: 104
Зарегистрирован: 31 дек 2012, 02:15
Operating system: ROSA Desktop.Fresh 2012 x86
Откуда: Томск

Развертывание резервного файла с Live-системы ROSA

Сообщение Bash » 12 янв 2013, 11:54

Загружаемся с ROSA Live. Dolphin'ом пристыковываем оба нам известных раздела: который резервировали и на который записывали файл. На последнем открываем терминал, выводим список пристыкованных дисков по df и, из-под root, запускаем:

Код: Выделить всё

tar xvpzf mysysbackup.tgz -C /media/3 --strip-components=2
где:
/media/3 — тот же 12 Гб раздел HDD, но уже с другим цифро-буквенным именем, нежели /media/1
--strip-components=2 — говорит о том, что надо из путей установки удалить два начальных компонента, иначе в разделе появятся папки /media/1/...

Проверено. Восстановил систему ноутбука после неудачной попытки установки проприетарного драйвера Catalyst 12.6.

P.S.
Не знаю, как надо, но перед развёртыванием я чистил раздел HDD командой:

Код: Выделить всё

rm -rf /media/3/*
Хотел вообще-то gparted запустить, но на Live-системе его не оказалось.

Закрыто

Вернуться в «Роса wiki»