Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как мне легче будет восстановить/переустановить всю систему?  (Прочитано 3294 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн papakota

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Heider,
Скажите, а для чего надо делать эти две команды, что Вы написали:
sudo mkdir /mnt/dumpи
sudo mount /dev/sdbZ /mnt/dumpЧто это еще за "dump"? Такого раздела у меня, вроде, нет...

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1269
    • Просмотр профиля
dump это точка монтирования. Все равно, как Вы ее назовете. Главное потом к ней примонтировать нужное устройство для архива (раздел винта или внешний HDD\SSD). В команде устройство обозначено sdbZ. Обозначение условное, если его просто скопировать, то команда не сработает. Вместо него нужно поставить реальное обозначение архивного устройства в системе. Чтобы подсмотреть, как Ваша система назвала устройство для архива, нужно подключить его, а потом выполнить команду:
lsblk

Оффлайн papakota

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Heider,
Во-первых, спасибо, что мне ответили.
Ну, хорошо. А можно так сделать... У меня Ubuntu (ext4) находится на внешнем диске (подсоединенным к ноутбуку через USB3). А на внутреннем диске установлена десятка с NTFS. Т.е. у меня dual-boot с GRUB2. Так возможно ли выбрать внутренний диск как место, где будет создаваться архив? Т.е. у меня sda -- это внутренний диск, т.е. я должен буду проверить мой C:\ и если он, к примеру, sda1, то так и писать. Т.е. так?
sudo mount /dev/sda1 /mnt/dump

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1269
    • Просмотр профиля
Да, все правильно. Правда, я бы побоялся писать архив в ntfs, лучше бы отрезал от него кусок и создал бы новый раздел с ext4. Возможно, это просто религиозный предрассудок, но мне так спокойнее.  :)

Оффлайн papakota

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
А нельзя ли в моем случае просто вообще не использовать внутренний диск с NTFS, а определить диск для сохранения архива тем же внешним, где Ubuntu? Почему я не могу записать / (корень) в мой /home, к примеру? Вот и будет с ext4 на ext4.
/home я вообще могу не архивировать, это не принципиально, там ничего особого нет (если нельзя хомяка на хомяк писать).
У меня в /home свободного места 200 ГБ. Весь рут поместится, даже с пустым местом...
Мне бы не хотелось трогать W10. Тем паче, у меня нет её диска (я делал легальный бесплатный апгрейд с семёрки).

И еще... ну, допустим, это всё можно, что я написал выше. Но вопрос -- а ГДЕ на диске будет распологаться архив? Диск то большой... Иди потом ищи его... Почему нельзя выбрать не просто какой-то диск, а еще и полный путь к определенной ДИРЕКТОРИИ на этом диске для записи и сохранения в ней архива?

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1269
    • Просмотр профиля
Отчего же нельзя? Можно. И путь полный указать можно.
sudo mkdir /mnt/root
sudo mkdir /mnt/home
sudo mount /dev/sdaX /mnt/root
sudo mount /dev/sdaY /mnt/home
sudo tar -caf /mnt/home/путь/к/архиву/root.tar.bz2 /mnt/root/*
Архив будет находиться в папках путь/к/архиву/, которые будут находиться домашней папке. Потом Вы его можете скопировать куда угодно. В то же облако, к примеру.

А вот архивировать корень в корень или хомяк в хомяк - плохая идея. Может, привести к зацикливанию. tar создаст архивный файл, в который заархивирует файлы и папки из корня (хомяка), в том числе и сам недоделанный архивный файл. Хотя, и это можно обойти, если заранее создать список файлов и папок командой ls, к примеру. Если нужен именно такой вариант, я для Вас составлю нужные команды.

Пользователь решил продолжить мысль 28 Января 2016, 17:30:40:
Вы поясните толком, что Вам нужно. В принципе, в Линукс можно все, что угодно сделать. Если Вам нужно быстро развернуть систему в прежнем состоянии после ее случайного краха, то Вам лучше именно хомяк сохранять. В хомяке хранятся все Ваши настройки в скрытых файлах (такие файлы начинаются с точки). А пакеты лучше не старые из архива извлекать, а установить новые из репозитория. Если не помните, что устанавливали, то можете сохранить еще и список пакетов. Тогда их можно будет установить одной командой. Функция сохранения списка пакетов есть в утилитах synaptic и aptitude. Достаточно будет даже не полный список сохранить, а только список пакетов установленных вручную. Система их помечает особым образом и их легко вынести в отдельный список.
« Последнее редактирование: 28 Января 2016, 17:30:40 от Heider »

Оффлайн papakota

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Я хочу сохранить снимок текущего состояния системы для возможного дальнейшего восстановления. Я не знаю, как проще это объяснить. Что тут неясного? Раз хомяк важен, так я, может, рискну и сделаю ext4 раздел на внутренней диске, где у меня стоит W10. Точнее говоря, сам системный раздел я трогать не буду, а у меня там есть еще один NTFS-ный раздел для моих файлов. Его то я и могу попробовать "обрезать". Думаю, это точно не должно никак затронуть работоспособность Виндоус. Но тут возникает как минимум 2 вопроса.
1) При помощи какого инструмента лучше "обрезать" раздел NTFS. Есть сторонний софт (виндоузятнический) и есть инструменты Убунты, если я это правильно понимаю. Может, тот же GParted??? Вы религиозный, так что, скорее всего, выберете второй вариант?
2) Сколько мне понадобиться места? У меня занято на Убунте системными и моими файлами около 15 ГБ (чуть больше). Т.е это то, что у меня в руте и хомяке. Остальное - это свободное место. Грубо говоря, я почти 30 ГБ мог бы выделить под ext4.
P.S. Давайте dump тогда назовем как то иначе, пусть хотя бы backup. А то само слово пугает. Будто б еще что-то надо учить...
P.S.S. Я немного покапался в командах и хотел бы у Вас уточнить. Собственно, я выгуглил страничку, где описывается аналогичный процесс, но там немного иначе:
https://help.ubuntu.ru/wiki/backup
а) у них, как Вы видите, не
tar -caf а
tar -cvzpf б) У них на конце нет *;\ и просто *. То есть у Вас так:
sudo tar -caf /mnt/dump/root.tar.bz2 /mnt/root/*;\а у них так:
sudo tar -cvzpf /mnt/backup/ubuntu-sda1.tar.gz /mnt/rootи размонтирование по разному. У Вас так:
sudo umount -R /mntУ них так:
sudo umount /mnt/root{/boot,/var,/home,} /mnt/backupИ еще они не предлагают удалять точку монтирования.
« Последнее редактирование: 29 Января 2016, 02:29:20 от papakota »

Оффлайн maks05

  • Старожил
  • *
  • Сообщений: 6786
    • Просмотр профиля
papakota, я не большой специалист по командам, но кое-что постараюсь пояснить (хотя, будет хорошо, если Heider, или ещё кто, даст более полную версию).

И так, по порядку:
1) Работать с разделом NTFS лучше всего либо встроенной утилитой Windows, либо Gparted, запущенного как с LiveCD, так и из установленной Ubuntu. Не стоит пользоваться Акрониксом: на него было много жалоб - потом возникают проблемы с ext-разделами. За Парагон точно не скажу, а вот всякий " сторонний виндоузятнический софт" я бы вообще не рекомендовал - не предсказуемо, либо долго придётся искать отклики в интернете.
2) Место много не бывает, тем более, что некоторые программы архивации создают архив немного большего объёма, чем изначальные данные. Плюс, ext4 может забрать место под служебные файлы. В общем, чем больше места сможете выделить - тем лучше.

По командам:
1) Насколько я понимаю, в обоих случаях пользователь сам создаёт каталог для точки монтирования (команда mkdir) а потому конечный каталог можно назвать по-другому.
2) -caf и -cvzpf - это краткое написание "ключей" команды - дополнительных опций. -cvzpf несколько универсальней: отличается алгоритмом компрессии и даёт пользователю больше информации о ходе выполнения команды, но -caf по результату не хуже.
Введите в терминале
man tar и прочитайте краткую справку, в том числе по используемым ключам команды tar. (Насколько я понял, речь здесь идёт именно о tar, так как одни и те же краткие ключи могут у разных команд выполнять разную функцию). Так же внимательно прочтите инструкцию по ссылке, что сами здесь привели - там есть некоторые пояснения о значении "ключей". Обращайте внимание на регистр букв!
3) На счёт *;\ не подскажу - не совсем в курсе.
4) В примере Heider, ключ -R отмонтирует всё, что есть в каталоге /mnt, а в инструкции рассматривается более частный случай.
« Последнее редактирование: 29 Января 2016, 06:14:18 от maks05 »

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1269
    • Просмотр профиля
maks05 все прекрасно Вам пояснил :)

Добавлю /mnt/root/* это список файлов в примонтированной папке, а /mnt/root/ это сама примонтированная папка. Ключ -а команды tar рекурсивный, и в обоих случаях запакует все вложенные файлы и папки. Но в первом случае не будет создана папка с именем /mnt/root в структуре архива, а во втором будет. На мой взгляд, распаковка первого архива удобнее. Но это опять же вопрос вкуса.

; - это разделитель команд. Если Вы  наберете две команды с этим разделителем вот так: команда1; команда2, то терминал их выполнит обе. Сначала одну, потом другую. Если команды выполняются очень долго (несколько часов), то Вам не придется возвращаться к терминалу после выполнения первой команды, чтобы запустить вторую.

\ - экранирующий символ. Записывать две длинные команды в одну строчку некрасиво, а там, где нет красоты, часто заводятся ошибки. Но терминал воспринимает символ перевода строки, как запуск команды. Чтобы этого не было, я экранировал перевод строки этим символом. Вот эти две записи эквивалентны:
команда1; команда2и
команда1;\
команда2

Ну и добавлю насчет справки.
man tarвыведет наиболее полную справку в удобном виде со скроллингом страницы и возможностью поиска по справке. К сожалению, большинство манов на английском языке, поэтому, можно сначала ознакомиться с
tar --helpэта команда выведет краткую справку просто как текст. Большинство хелпов уже переведено на русский язык.

Оффлайн papakota

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Спасибо вам обоим за ваши ответы!
Да, теперь яснее... Ладно, я сделаю ext4 раздел и отпишусь что и как с этим.

По поводу команд... А можно я сделаю так:
sudo mkdir /mnt/root
sudo mkdir /mnt/home
sudo mkdir /mnt/backup

После этого так:

sudo mount /dev/sdaX /mnt/root -o ro
sudo mount /dev/sdaY /mnt/home -o ro
sudo mount /dev/sdbZ /mnt/backup

Потом так:

sudo tar -cvzpf /mnt/backup/root.tar.gz /mnt/root/
sudo tar -cvzpf /mnt/backup/home.tar.gz /mnt/home/

А потом так:

sudo umount /mnt/root /mnt/backup
sudo umount /mnt/home /mnt/backup

А потом выключаюсь/перезагружаюсь. Так тоже можно???
« Последнее редактирование: 29 Января 2016, 15:14:52 от papakota »

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1269
    • Просмотр профиля
Вроде все правильно. Пожалуйста. :)

ЗЫ: Это хорошо, что Вы не копируете команды бездумно, а стараетесь сами разобраться. Линукс очень быстро повернется к Вам лицом. ;)

Оффлайн staso

  • Активист
  • *
  • Сообщений: 437
    • Просмотр профиля
алгоритм.
есть раздел который жил (т.е. создавались, удалялись файлы)
цель - забить свободное место 0-ми

dd if=/dev/null of=/dev/sdXY/myfile.iso bs=1024


реализация -
sudo if=/dev/zero of=/dev/sdXY
где X - a, b, cи т.д | Y - 1, 2, 3 и т.д - точное указание раздела на котором убиваем пустое место
bs - количество байт на цикл, сами решайте.

затем удалить myfile.iso

все пустое место забито 0-ми и соответственно максимально жмется любым архиватором

после делается слепок радела с помошью dd
при желании жмется архиватором.
======
обратный процесс аналогичен. разворачиваем, пишем на доступный хдд.
ну и восстанавливаем загрузчик с лайв сд
=====

sudo mount /dev/sda1 /mnt
sudo grub-install --root-directory=/mnt /dev/sda


собственно все. работает безотказно.

Оффлайн sergey109

  • Активист
  • *
  • Сообщений: 619
    • Просмотр профиля
Цитировать
sudo tar -cvzpf /mnt/backup/root.tar.gz /mnt/root/
sudo tar -cvzpf /mnt/backup/home.tar.gz /mnt/home/
Я делал так на дебиане лет 5 назад.
Но лучше ,для многоядерных цпу, так: (c livcd)
Цитировать
mkdir /mnt/backap
mkdir /mnt/disk
mount /dev/sdX /mnt/backap/
mount /dev/sdY /mnt/disk
cd /mnt/backap
tar cf /mnt/disk/mybackap.tar.bz2 --use-compress-prog=pbzip2 ./
Восстановить grub и вперед. В восемь потоков минут за 5 захерячит.
На ssd я полностью делаю сброс с помощью hdparm ,возвращаясь к заводским параметрам и создаю раздел по-новой.
Тут уж надо смотреть, т.к изменится uuid раздела, надо изменить его в grub.cfg и fstab.
А можно раскомментировать /etc/default/grub
Цитировать
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true - это
и сделать
sudo update-grub
  Временно, потом вернуть.
Можно снять образ всего диска или раздела. Там достаточно просто (Partimage est une alternative à Ghost, Drive-image ou True Image):
http://www.system-rescue-cd.org/Page_Principale
Загрузите ,очень полезный дистрибутивчик для таких работ.
 Я делал по-своему, эти утилитки все однопоточные и слишком долго всё это происходит.
« Последнее редактирование: 29 Января 2016, 19:27:11 от sergey109 »
SysV и dmix.

Оффлайн papakota

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Ну, в общем так...
Во-первых, я в W10 убрал все файлы с раздела NTFS на внутреннем диске, назвал его EXT4 и в Убунте при помощи GParted отформатировал его в ext4. Получился "небольшой" раздельчик весом в 165 ГБ. Но Вы же сказали, что места много не бывает.
Всё прошло на ура, только был небольшой error после последней команды:

sudo umount /mnt/home /mnt/backup
Типа, мол, раздел backup не смонтирован. Я так понимаю, что он размонтировался еще предыдущей командой и это уже делать было излишне? Т.е этой:

sudo umount /mnt/root /mnt/backup
В результате я получил на EXT4 разделе, что у меня на внутреннем диске два сжатых тарбола. Всего размером около 5 ГБ.
Если всё нормально, то тогда мы приступаем ко второй части марлезонского балета, а именно к restoration (т.е. восстановлению).
Понятно, что толку от этих тарболов будет как от козла молока, если я не буду знать, что с ними делать!
Для экспериментирования у меня есть второй ноутбук. Мы его не юзаем особо. На нем стоит восьмерка (W8.1) У меня есть лицензионный диск (коробка), так что это не проблема...
Вопрос такой... Как теперь при помощи тарболов довести второй ноутбук (его внутренний диск) к точной копии того, что у меня установлено на наружном диске, подключенном к первому ноутбуку (где у меня стоит Ubuntu)?

« Последнее редактирование: 30 Января 2016, 01:06:12 от papakota »

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1269
    • Просмотр профиля
Скопируйте файлы с архивами куда-нибудь на внешний HDD. Можно даже в свой хомяк, помнится, что он у Вас на внешнем диске. Загрузитесь на Вашем экспериментальном ноуте с внешнего диска с Ubuntu. Примонтируйте корень будущей системы:
sudo mkdir /mnt/root
sudo mount /dev/sda1 /mnt/root
(вместо sda1 - Ваше значение корневого раздела будущей системы)

Если хомяк решили на ноуте тоже вынести на отдельный раздел, то примонтируйте и его:
sudo mkdir /mnt/home
sudo mount /dev/sda2 /mnt/home
(вместо sda2 - Ваше значение раздела для /home будущей системы)

Распаковываем архивы командами:
sudo tar -xvf root.tar.gz  -C /
sudo tar -xvf home.tar.gz  -C /

Устанавливаем загрузчик в новую систему:
sudo grub-install --root-directory=/mnt/root /dev/sda
sudo update-grub --output=/mnt/root/boot/grub/grub.cfg
(Внимание! sda в первой команде без цифры! В данном случае имеется ввиду именно диск, на котором расположен Ваш новый корень, а не раздел. Возможно, у Вас будет другая буква, например sdb или sdc)

Чистим /mnt:
sudo rm /mnt/*
Выключаем ноут и на выключеном ноуте отключаем внешний диск. Включаем, при загрузке выбираем правильный пункт меню загрузчика. Он скорее всего будет не первым (первым будет загрузка с внешнего диска). Чтобы это исправить уже в новой системе делаем:
sudo update-grubПосле этого в меню загрузчика исчезнут лишние пункты (загрузка с внешнего HDD), а загрузка с внутреннего диска станет первой.

Подробнее об установке загрузчика из другой системы здесь.

Пользователь решил продолжить мысль [time]30 Январь 2016, 13:52:44[/time]:
Разумеется, все это можно сделать и с LiveCD. Тогда последняя команда не нужна.
« Последнее редактирование: 31 Января 2016, 10:47:01 от Heider »

 

Страница сгенерирована за 0.057 секунд. Запросов: 25.