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


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


251
2017-10-24 00:36


Источник


Никто не упомянул: sudo dpkg -l > installed_software.txt! - iammilind
@iammilind Вероятно, потому что dpkg --get-selections решения охватывают это. - belacqua
Будьте осторожны с этой ошибкой: bugs.launchpad.net/ubuntu/+source/policykit-desktop-privileges/... Я попробовал самое продвинутое решение и никогда не получал его из-за этой ошибки. (Это может быть лучше подходит как комментарий, но у меня недостаточно репутации, чтобы опубликовать его как комментарий) - Jonathan
что при восстановлении в более новой версии ОС некоторые параметры могут быть неполными или даже конфликтующими, что может привести к сбоям в работе некоторых приложений. - Aquarius Power
Связанный: Что я могу сделать, чтобы сделать переход на какое-то новое компьютерное оборудование безопасным и плавным? - David Cary


Ответы:


программы

Быстрый запуск резервной копии списка программ - это:

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 и все содержимое из вашего каталога пользователя (а не только то, что вы можете увидеть в наутилусе!):

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

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

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

Итак, все вместе как псевдо-bash-скрипт.

Это предполагает, что на машине есть только один пользователь (удалите /'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

256
2018-01-28 00:19



Это не будет работать на ubuntu 12.10. это говорит dpkg: warning: package not in database at line XXX: xrdp И нет пакета по имени «dselect» - confiq
@confiq Проверьте приведенные выше три комментария - Huckle
blah ... для решения предупреждения dpkg, прочтите следующее: forums.debian.net/viewtopic.php?f=17&t=79006#p432478 - confiq
Не забудьте создать резервную копию и снова добавить каталог sources.d. Ppa особенно будет собирать исходную информацию в отдельные файлы. После этого переустановка завершится без них. - balloons
Восстановлены. Был разочарован, так как все настройки, связанные с DesktopEnv (пусковая установка, анимация, настройки компиляции, фон рабочего стола) не были восстановлены. Сознание: все находятся в dconf! Решение: В графическом интерфейсе, Log Out через значок шестеренки в строке главного меню. Затем переключитесь на CLI через CTRL-ALT-F1, Восстановите файл .config / dconf / user из резервной копии. Вернитесь в GUI через CTRL-ALT-F7, войдите снова. Voila: все ваши настройки, связанные с Unity, действуют снова! Объяснение: В то время как активный сеанс GUI Unity файл dconf может быть заблокирован или проигнорирован, вам нужно перейти в режим чистого CLI? - porg


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

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

Резервное копирование текущих пакетов и пользовательских настроек


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

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

sudo mkdir ~/backup

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

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

Сделайте резервную копию файла apt sources

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


46
2018-01-28 02:20





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

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

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

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

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

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

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

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

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

7) Положите все это на архив

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

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

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

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


26
2018-01-28 20:17



Отличный ответ! Одно дополнение, с сайта PartImage: PartImage не поддерживает разделы Ext4, а Ubuntu по умолчанию использует формат файловой системы Ext4. Мне сказали, что PartClone (который поддерживает Ext4) является хорошей альтернативой. Вы также можете посмотреть в CloneZilla. - LIttle Ancient Forest Kami


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

APT-Clone, Этот пакет можно использовать для клонирования / восстановления пакетов на основе apt   система. Он будет сохранять / восстанавливать пакеты, sources.list, keyring и   автоматически устанавливаемых состояний. Он также может сохранять / восстанавливать больше   загружаемых пакетов с использованием 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

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


18
2018-06-22 08:56



APT-Clone намного лучше, чем dpkg --get-selections потому что: 1. он сохраняет всю информацию о репозиториях 2. он отслеживает, какие пакеты были автоматически установлены 3. он позволяет переупаковывать локально установленные файлы DEB. Это должен быть принятый ответ! - Andrea Lazzarotto
Отлично! Я надеюсь, что эти работы с 16.04, это именно то, что я ищу. Но мне интересно, будет ли Apt-Clone удалять пакеты, которые не находятся в восстановленной конфигурации? - Dorian
@XToro, Нет, это не удалит. (Кстати, если он удалял пакеты по умолчанию, это повредит обновление, потому что большинство обновлений имеют новые пакеты, а некоторые удалены) - user.dz
@Sneetsher Это позор. Мне бы очень хотелось, если бы он удалил все пакеты, не входящие в список, а затем установил те, которые перечислены вместе со своими зависимостями. Моя проблема с тем, почему я хочу использовать его, - удалить нежелательные пакеты после игры с такими вещами, как установка новых DE. После удаления DE всегда остается много остатков. - Dorian
@XToro, мне это нравится, мне это было нужно раньше, но я обходился, тестируя виртуальные коробки. Вам нужен модифицированный скрипт из Ответ Хакле, Лучше задавать новый вопрос и упоминать проблему с этим. Если вы не можете или не хотите по каким-то причинам, я сделаю это? - user.dz


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

14
2017-11-17 18:26





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

... введение Aptik.

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

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

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

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


10
2017-10-15 11:08



sudo apt-add-repository –y ppa:teejee2008/ppa должно быть sudo apt-add-repository ppa:teejee2008/ppa, Принимается только 1 аргумент. - erm3nda
Это самый РЕАЛИСТИЧЕСКИЙ вариант для тех, кто хочет сделать выборку, общесистемную и пользовательскую резервную копию. Btw, текущая версия поддерживает гораздо больше настроек, чем то, что показано на этом снимке экрана. - erm3nda


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

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


9
2017-10-24 03:52



И каталог резервного копирования / etc также - Extender


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

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

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

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


2
2018-05-21 03:23





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

Я полагаю, вы ненавидите установку их снова или реконфигурирование? Не нужно.

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

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

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

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
2017-08-21 17:23





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

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

МИНУСЫ: Требуется много времени (компьютерное время, а не ваше) и не подходит для ежедневного резервного копирования (без дополнительных настроек)

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


2
2018-05-21 18:31





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

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


1
2017-07-05 16:38