it-swarm.com.ru

Как сделать резервную копию настроек и списка установленных пакетов

Если я хочу сделать резервную копию всего, что я сделал после новой установки Ubuntu, каковы возможные варианты? Что все я должен сделать резервную копию? Я хочу получить все настройки, которые я изменил, все установленные мной пакеты и т.д.

271
n1kh1lp

Программы

Быстрый способ создания резервной копии списка программ заключается в следующем:

dpkg --get-selections > ~/Package.list
Sudo cp -R /etc/apt/sources.list* ~/
Sudo apt-key exportall > ~/Repo.keys

Он сохранит их в формате, который может прочитать dpkg* после переустановки, вот так:

Sudo apt-key add ~/Repo.keys
Sudo cp -R ~/sources.list* /etc/apt/
Sudo apt-get update
Sudo apt-get install dselect
Sudo dselect update
Sudo dpkg --set-selections < ~/Package.list
Sudo apt-get dselect-upgrade -y

* Возможно, вам придется обновить список доступных пакетов dpkg, или он просто проигнорирует ваш выбор (для получения дополнительной информации см. эта ошибка Debian ). Вы должны сделать это до Sudo dpkg --set-selections < ~/Package.list, например так:

apt-cache dumpavail > ~/temp_avail
Sudo dpkg --merge-avail ~/temp_avail
rm ~/temp_avail

Настройки и личные данные

Прежде чем переустанавливать, вам, вероятно, следует сделать резервную копию настроек некоторых ваших программ, это можно легко сделать, выбрав папки из/etc и весь контент из вашего пользовательского каталога (а не только то, что вы можете увидеть в nautilus!):

rsync --progress /home/`whoami` /path/to/user/profile/backup/here

После переустановки вы можете восстановить его:

rsync --progress /path/to/user/profile/backup/here /home/`whoami`

Так что все вместе, как псевдо-Баш сценарий.

Предполагается, что на компьютере есть только один пользователь (в противном случае удалите /'whoami') и что вы использовали одно и то же имя пользователя в обеих установках (в противном случае измените dest из rsync).

dpkg --get-selections > ~/Package.list
Sudo cp -R /etc/apt/sources.list* ~/
Sudo apt-key exportall > ~/Repo.keys
rsync --progress /home/`whoami` /path/to/user/profile/backup/here

##  Reinstall now

rsync --progress /path/to/user/profile/backup/here /home/`whoami`
Sudo apt-key add ~/Repo.keys
Sudo cp -R ~/sources.list* /etc/apt/
Sudo apt-get update
Sudo apt-get install dselect
Sudo dpkg --set-selections < ~/Package.list
Sudo dselect
290
Huckle

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

Для кого это не подойдет: фанаты серверов, опытные пользователи с программным обеспечением, установленным по источнику (восстановление списка пакетов может сломать вашу систему), пользователи, которые изменились сценарий запуска некоторых приложений, чтобы лучше соответствовать их потребностям. Внимание: есть большая вероятность, что любые изменения вне дома будут переписаны.

Сделайте резервную копию ваших текущих пакетов и пользовательских настроек


Когда вы будете готовы к работе с вашей системой и довольны установленным программным обеспечением, вы можете получить список установленных пакетов с помощью команды dpkg --get-selections и сохранить полученные данные в файле журнала.

Создайте папку backup в вашем доме

Sudo mkdir ~/backup

Сохранить список установленных пакетов

dpkg --get-selections > ~/backup/installed_packages.log

Сделайте резервную копию вашего исходного файла apt

Sudo cp /etc/apt/sources.list ~/backup/sources.bak

и копия списка доверенных ключей вашего apt

Sudo apt-key exportall > ~/backup/repositories.keys

Сделайте резервную копию вашей домашней папки с помощью встроенного инструмента резервного копирования в Ubuntu, Deja-dup.

  • Установите папку для резервного копирования

enter image description here

  • Убедитесь, что он создаст резервную копию вашей домашней папки и добавит любые папки, которые вам могут не понадобиться, например, папку Trash

enter image description here

  • На вкладке обзора нажмите Сделать резервную копию сейчас для резервного копирования вашей домашней папки

enter image description here

  • Инструмент резервного копирования спросит, хотите ли вы добавить пароль к резервной копии, по вашему выбору. Резервное копирование начнется после того, как вы нажмете Продолжить

enter image description here

Когда это будет сделано, у вас будет резервная копия ваших пакетов и файлов конфигурации относительно вашего пользователя. При необходимости вы сможете восстановить ваши файлы из папки ~/backup.

Восстановление вашей резервной копии


Начните с восстановления исходного файла из резервной копии

Sudo cp ~/backup/sources.bak /etc/apt/sources.list

Резервные копии ключей

Sudo apt-key add ~/backup/repositories.keys

Обновите свои списки источников

Sudo apt-get update

Восстановите пакеты из сохраненного installed_packages.log

Sudo dpkg --clear-selections
Sudo dpkg --set-selections < ~/backup/installed_packages.log && Sudo apt-get dselect-upgrade

Sudo dpkg --clear-selections пометит все текущие пакеты, установленные для удаления, поэтому при восстановлении списка сохраненных пакетов пакеты, которых нет в списке, будут удалены из вашей системы.

Удалите текущую конфигурацию из своего дома, создав резервную копию папки в ее текущем состоянии (в конце концов, какая польза от восстановления свежих файлов, если есть другие, которые могут повлиять на конфигурацию?)

mkdir ~/.old-gnome-config/ && mv ~/.gnome* ~/.old-gnome-config/ && mv ~/.gconf* ~/.old-gnome-config/ && mv ~/.metacity ~/.old-gnome-config/ && mv ~/.cache ~/.old-gnome-config/ && mv ~/.dbus ~/.old-gnome-config/ && mv ~/.dmrc ~/.old-gnome-config/ && mv ~/.mission-control ~/.old-gnome-config/ && mv ~/.thumbnails ~/.old-gnome-config/   && ~/.config/dconf/* ~/.old-gnome-config/

После этого восстановите резервную копию, созданную с помощью Deja-dup.

  • Откройте инструмент резервного копирования и на вкладке обзора нажмите Восстановить

enter image description here

  • Следуйте инструкциям, чтобы восстановить файлы в исходное положение

enter image description here

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

Осталось только немного почистить и убедиться, что все работает.

Что-то пошло не так, мой рабочий стол пропал


В Ask Ubuntu есть несколько постов, которые могут помочь вам в случае, если что-то не так, и вам необходимо выполнить полную перезагрузку рабочего стола. Если что-то не так, и вы считаете, что вам нужно это сделать, пожалуйста, посмотрите на эти сообщения:

47
Bruno Pereira

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

Будьте осторожны с "лучшим способом", то, что лучше всего подходит для одного человека, может не подойти для другого.

В конце концов, "лучший метод" - это тот, который был проверен и, как известно, работает. Вам нужно протестировать свою стратегию резервного копирования ДО того, как она понадобится

Использование изображений

Один из способов - просто скопировать и сжать образ ваших разделов. Вы можете сделать это с помощью нескольких инструментов, от dd до partimage и clonezilla.

Partimage
Clonezilla

Преимущество этой стратегии в том, что она (относительно) проста и очень полна. Недостатком является то, что резервные изображения большие.

Меньшие резервные копии

Вы можете сделать меньшие резервные копии, только резервное копирование данных и настроек. Для этого есть несколько инструментов, от dd до tar и rsync.

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

Преимущество - резервные копии будут меньше.
Недостаток - это ручной метод, поэтому легко забыть о критическом файле (/ etc/passwd).

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

1) Список установленных пакетов

Список пакетов # Создайте текстовый список существующей установки всех установленных пакетов apt-get # для повторной установки в только что установленный дистрибутив

# make the list
[old distro] Sudo dpkg --get-selections > packages

Затем вы выполните новую установку и восстановите ваши пакеты. Следующие команды также обновляют все пакеты в вашей системе (поэтому восстановите и полностью обновите все сразу).

# Now put them back on the new distro
[new distro] Sudo dpkg --set-selections < packages

[new distro] Sudo apt-get dselect-upgrade

2) Данные . Как правило, это будет/дома. Большинство пользовательских данных и настроек будут находиться в вашем домашнем каталоге. Если вы сохраняете данные в других местах, включите их (например,/media/data).

3) системные настройки . Вот где будут некоторые вариации. Лично, если я изменяю ЛЮБОЙ системный параметр, я сохраняю копию исходного файла конфигурации и мой пользовательский файл в/root. Поэтому, если я, например, отредактирую /etc/fstab, оставлю копию в/root/etc/fstab и оригинал в /root/etc/fstab.orig

Вам также понадобятся /etc/passwd, /etc/shadow, /etc/group, /etc/sudoers, /etc/hostname и /etc/hosts (вам может понадобиться больше в/etc, если я что-то забуду, я добавлю его)

На сервере вам может потребоваться включить /var/www или другие каталоги данных.

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

4) Копия таблицы разделов вашего диска .

Sudo fdisk -l > fdisk.bak

Вы можете использовать эту информацию для восстановления таблицы разделов, если вы замените жесткий диск.

5) Копия вашего MBR

Sudo dd if=/dev/sda of=MBR.bak bs=512 count=1

Затем вы восстановите с

Sudo dd if=MBR.bak of=/dev/sda bs=512 count=1

6) Другие файлы/каталоги - В зависимости от вашей системы и настроек вам может потребоваться добавить дополнительные каталоги. Возможные варианты: /opt, /usr/local,/usr/share` и/или ваши файлы .desktop. Все, что в вашей системе вы скачали или настроили за пределами apt-get или менеджера программного обеспечения.

7) Поместите все это в архив

Sudo tar -cvpzf backup.tar.gz /home /root /etc ./MBR.bak ./fsdisk.bak ./packages

8) rsync

В качестве альтернативы tar вы можете использовать rsync.

Смотрите - https://help.ubuntu.com/community/rsync

Сетевые резервные копии

Другой вариант - использовать NFS или Samba для резервного копирования данных.

Cron

Вы можете автоматизировать резервное копирование, написав скрипт резервного копирования и запустив его (ежедневно/ежечасно) с помощью cron.

Восстановить

1) Используя live CD, восстановите разделы с помощью gparted или fdisk из информации в fdisk.bak
2) Установите Ubuntu.
3) Загрузите новую установку, обновите ваши пакеты.
4) Восстановите ваши данные и настройки

tar -xvpzf /home/test/backup.tar.gz -C / 

Затем перезагрузите

Смотрите также https://help.ubuntu.com/community/BackupYourSystem/TAR

Другие стратегии

Существует множество дополнительных стратегий резервного копирования, некоторые для резервного копирования только вашего домашнего каталога, некоторые графические.

см .: https://help.ubuntu.com/community/BackupYourSystem

Тестирование

Это не резервная копия, если она не протестирована. Это наиболее важно, когда вы НЕ используете образ корневого раздела.

Протестируйте восстановление вашей системы в виртуальной машине, на резервном компьютере или в резервном разделе или на жестком диске.

28
Panther

Выбор установленных пакетов с помощью apt-clone

APT-Clone . Этот пакет можно использовать для клонирования/восстановления пакетов в системе на основе apt. Это сохранит/восстановит пакеты, sources.list, связку ключей и автоматически установленные состояния. Он также может сохранять/восстанавливать уже не загружаемые пакеты, используя dpkg-repack.

APT-Clone используется ubiquity (установщик Ubuntu) для процесса обновления.

  1. Устанавливать

    Sudo apt-get install apt-clone
    
  2. Сделать резервную копию

    Sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
    
  3. Восстановление резервной копии

    Sudo apt-clone restore path-to/apt-clone-state-ubuntu.tar.gz
    

    Восстановить до новой версии:

    Sudo apt-clone restore-new-distro path-to/apt-clone-state-ubuntu.tar.gz $(lsb_release -sc)
    

Ссылка: man apt-clone


Домашние данные, конфигурация /etc, .. используя duplicity

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

  1. Устанавливать

    Sudo apt-get install duplicity
    
  2. Резервное копирование

    duplicity full path-to/source_folder/ file:///path_to/duplicity_backups/
    

    или инкрементное резервное копирование (резервное копирование отличается только от последнего резервного копирования)

    duplicity incremental path-to/source_folder/ file:///path_to/duplicity_backups/
    
  3. Восстановить

    duplicity restore file:///path_to/duplicity_backups/ path-to/target_folder/
    

Ссылка: man duplicity

22
user.dz

Хотя на этот вопрос уже давно отвечали, я заметил, что никто не упомянул etckeeper. Запустите apt-get install etckeeper, настройте вашу VCS в /etc/etckeeper/etckeeper.conf, и с этого момента вы будете намного лучше контролировать каталог/etc. Это может также использоваться для восстановления ваших конфигураций в каталоге/etc.

Например, (при условии, что вы настроили git в качестве VCS), создайте резервную копию каталога /etc/.git. В любое время, когда вам нужно восстановить ваши конфигурации в новый каталог/etc, вы копируете резервную копию каталога /etc/.git в новый каталог/etc. Теперь у вас есть много вариантов управления восстановлением:

  • Посмотреть различия
    • git diff
  • Сохраните все различия в "свежем" каталоге в ветке git
    • git checkout -b new; git add -A; git commit -m 'new etc'
  • Безоговорочно вернитесь к вашей резервной копии
    • git clean -f
15
EdwardTeach

Для тех, кто хочет Ниццу. аккуратный графический интерфейс ...

... представляя Aptik.

Все, что вам нужно, это каталог резервных копий, хранящийся локально или в облаке. Aptik будет создавать резервные копии PPA, загруженных пакетов, выбора программного обеспечения, настроек приложения, тем и значков. Очень полезно.

Вы можете установить его через ppa:

Sudo apt-add-repository –y ppa:teejee2008/ppa
Sudo apt-get update
Sudo apt-get install aptik

Надеюсь, что это поможет :)

11
TellMeWhy

Чтобы создать список резервных копий всех установленных программ: http://savvyadmin.com/backup-and-restore-package-lists-in-ubuntu/
Вам, очевидно, нужно будет выполнить резервное копирование источников программного обеспечения, из которых получены некоторые из этих установленных пакетов: Резервное копирование источников программного обеспечения

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

9
Isaiah

Если объем памяти не имеет значения, использование dd или dc3dd создаст резервную копию абсолютно всего на целевом диске или разделе, который вы обозначите. Вы не хотите пробовать это на подключенном диске, поэтому вы должны делать это с загрузочного USB или DVD (или с установочного носителя, выбирающего "Try Ubuntu"):

Sudo dd if=/dev/<source> of=/path/<target>.img

Где диск или раздел, который вы хотите сделать резервную копию, и целью которого является имя файла резервной копии (часто то же самое) (sda, sda1).

Замените dc3dd на dd, если вы хотите получить отчет о ходе работы . Чтобы получить доступ к определенным файлам в резервной копии, вы, как правило, можете смонтировать полученный файл .img в качестве устройства цикла:

mount -o loop,ro,offset=32256 filename.img /mnt/dir Это работает на дисках с одним разделом, где вы создали резервную копию всего диска.

Или mount -o loop,ro filename.img /mnt/dir, если вы создали резервную копию раздела.

Вы можете восстановить весь диск или раздел, поменяв местами параметры if = и of =, как в:

Sudo dd if=/path/<source>.img of=/dev/<target>

Где находится файл образа, который вы хотите восстановить, а <target> - диск или раздел, на который вы хотите его восстановить.

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

CONS: Отнимает много времени (время компьютера, а не ваше) и не подходит для ежедневного резервного копирования (без дополнительных опций)

Источник: опыт; Я использую этот подход для резервного копирования клиентских систем до начала работы и никогда не терял немного клиентских данных.

3
Elder Geek

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

Это побеждает цель "форматировать и устанавливать". Если вы хотите сделать это, просто обновите существующую установку Ubuntu.

Поскольку "установка" в Ubuntu так же проста, как вход в Центр программного обеспечения (или Synaptic или apt-get), и большинство программ сами часто обновляются, нет никакого смысла в резервном копировании программ, переустановке Ubuntu и последующей установке из резервных копий вместо просто получать последние версии из репозиториев.

Пока ваши данные и настройки программы сохранены, у вас все будет хорошо. Если вам все еще нужен полный список всего, что есть в вашей системе, и вы знаете, что пакет отсутствует, просто зайдите в терминал и введите dpkg --list > mypackages.txt, и поместите этот текстовый файл в безопасное место - он содержит каждый пакет когда-либо установлен в вашей текущей системе.

2
ish

Я предполагаю, что это новый HDD, SSD или новая система, или у вас была старая Ubuntu. Теперь вы хотите обновить до Ubuntu 12.04 (Precise Pangolin)?

Я предполагаю, что вы не любите устанавливать их все заново или перенастраивать? Не нужно.

Откройте терминал, нажав Ctrl + Alt + Tи выполните следующую команду:

Sudo dpkg --get-selections > app-backup-list.txt

Затем скопируйте текстовый файл в ваш домашний каталог:

Sudo cp app-backup-list.txt /home/username

Затем запустите приложение резервного копирования из системных настроек на боковой панели.

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

Затем отмените резервное копирование с помощью восстановления, выберите программу резервного копирования, которую вы использовали, и теперь\home вернулся.

Наконец, отмените команду dkpg:

Sudo dpkg --get-selections < app-backup-list.txt
Sudo apt-get -y update
Sudo apt-get dselect-upgrade

Примечание:

Восстанавливая дом, получает все настройки для ваших приложений. Я установил SSD и скопировал все файлы, но я все равно сделал резервную копию на всякий случай.

PS: Это позволяет избежать резервного копирования, машинного кода больших приложений и т. д. Убедитесь, что папка для загрузки чистая. Не полный машинный код или видео, а затем запишите папку download на DVD с помощью k3B.

2
modprobe

Я нашел другое решение:

Проверьте APTonCD . Он создаст резервную копию всех ваших приложений и поместит их в образ ISO.

1
Suhaib

Я считаю, что самый простой процесс заключается в использовании двух программ:

Резервное время для резервного копирования/домой и/и т.д.

Aptik для резервного копирования программ

0
Amphibio

Правка:

Этот ответ больше не работает в зависимости от пользователя @Izzy


У меня был такой же вопрос выше !! тогда я нашел этот сайт:

ЩЕЛКНИТЕ ЗДЕСЬ

Я скопирую то, что говорит сайт для резервного копирования программ:

" Наряду с резервным копированием моего раздела/home, я также использую Synaptic Package Manager для периодического создания списка резервных копий всех моих установленных пакетов (приложений и их зависимостей). Для этого вам необходимо использование дистрибутива на основе Ubuntu или дистрибутива, использующего Synaptic. Я не знаком с этим в других дистрибутивах, использующих другой менеджер пакетов. Но в Bodhi Linux, Linux Mint или любом другом производном Ubuntu/Debian просто откройте Synaptic; перейдите в File> Save Markings. Убедитесь, что поставили галочку в окошке с надписью "Сохранить полное состояние, а не только изменения", а затем сохраните этот файл в том месте, где вы хотите (предпочтительно, где вы сохранили резервную копию/home). Затем, когда вам нужно переустановите операционную систему, после применения всех обновлений, вы можете открыть Synaptic, перейти в File> Read Markings и выбрать сохраненный файл пакетов. Пока вы подключены к Интернету, он будет автоматически загружать и устанавливать все приложения и другие пакеты что вы изначально установили. Это экономит много времени и усилий, поэтому вам не нужно искать и переустанавливать все ваше приложение "

ура

0
Suhaib