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

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

14 ответов

программы

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

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. of 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

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

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

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


Когда вы будете готовы к работе с вашей системой и довольны установленным программным обеспечением, вы можете получить список установленных пакетов, используя команду 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.

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

введите описание изображения здесь

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

введите описание изображения здесь

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

введите описание изображения здесь

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

введите описание изображения здесь

Когда это будет сделано, у вас будет резервная копия ваших пакетов и файлов конфигурации относительно вашего пользователя. При необходимости вы сможете восстановить ваши файлы из ~/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.

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

введите описание изображения здесь

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

введите описание изображения здесь

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

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

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


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

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

APT-клон Этот пакет можно использовать для клонирования / восстановления пакетов в системе на основе 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

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

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

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

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

Один из способов - просто скопировать и сжать образ ваших разделов. Вы можете сделать это с помощью нескольких инструментов, от 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

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

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

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

Хотя на этот вопрос уже давно отвечали, я заметил, что никто не упомянул 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

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

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

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

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

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

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

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

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

Если объем памяти не имеет значения, использование 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>

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

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

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

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

Я предполагаю, что это новый 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, флешку, дискету (упс, поцарапайте), или запись на CD, или другой жесткий диск в системном или внешнем жестком диске, или используйте любую программу резервного копирования, какую захотите.

Затем отмените резервное копирование с помощью восстановления, выберите программу резервного копирования, которую вы использовали, и теперь \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.

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

apt-mark showmanual>Package.list

и начните установку на новый сервер с

apt install $(cat Package.list|xargs)

Или лучше только установить, если еще не установлено на новом сервере:

# ignore some on new server:
not_these="initscripts insserv ftp dns-root-data install-info manpages parted psmisc publicsuffix startpar sysv-rc"

for p in $(cat Package.list|xargs) ; do
  if [ $(dpkg-query -W -f='${Status}' $p 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
    if [ $(echo $not_these | grep -c $p) -eq 0 ]; then
      echo $p
    fi
  fi
done|xargs

примечание: возможно, вам нужно добавить LANG=C если вы не на английском языке

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

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

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

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

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

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

Редактировать:

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


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

КЛИКНИТЕ СЮДА

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

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

ура

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

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

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

Для резервного копирования всех установленных пакетов с графическим интерфейсом вы можете использовать Ubuntu Software Center. Зайдите в Меню (затем войдите в систему) и синхронизируйте все ваши пакеты. Когда вам нужно будет переустановить, выберите все пакеты с компьютера и нажмите "Установить" из того же меню.

Из командной строки (CLI) вы также можете использовать OneConf (oneconf).

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

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