Будет ли резервное копирование резервной копии / usr для всех моих программ?

Я нашел это здесь в Интернете. Он создает историю dpkg из файла журнала dpkg.

Это выглядит очень просто.

function apt-history(){
      case "$1" in
        install)
              cat /var/log/dpkg.log | grep 'install '
              ;;
        upgrade|remove)
              cat /var/log/dpkg.log | grep $1
              ;;
        rollback)
              cat /var/log/dpkg.log | grep upgrade | \
                  grep "$2" -A10000000 | \
                  grep "$3" -B10000000 | \
                  awk '{print $4"="$5}'
              ;;
        *)
              cat /var/log/dpkg.log
              ;;
      esac
}

Источник

EDIT

] Я попробовал этот скрипт на сервере Ubuntu 8.10, и он работает очень хорошо. Не могли бы вы предоставить некоторую информацию, как вы решили свою проблему?

0
задан 17 October 2017 в 13:24

6 ответов

Если вы хотите создать резервную копию, чтобы восстановить конфигурацию системы после переустановки. Лучший способ - создать список установленных программ.

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

sudo apt-get install apt-clone sudo apt-clone clone foo #This creates a file foo.apt-clone.tar.gz.

Скопируйте ее на машину назначения и запустите

sudo apt-clone restore foo.apt-clone.tar.gz #this tells apt to install the packages n the list.
1
ответ дан 18 July 2018 в 05:10

Не правда.

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

Если я, когда думаю, что-то вроде этого, я предпочел бы резервировать конфигурацию и переустанавливать приложения. Большинство файлов системной конфигурации находятся в каталоге /etc (пользовательские файлы конфигурации можно найти в $HOME, в скрытых файлах и каталогах (.file).

1
ответ дан 18 July 2018 в 05:10

Сейчас я готов переместить свою установку Ubuntu 16.04 на новый ноутбук. Это сценарий, который я буду использовать для резервного копирования:

#!/bin/bash # NAME: full-backup # PATH: /usr/local/bin # DESC: Full system backup - must call with SUDO # DATE: July 16, 2017. Modified Oct 17, 2017. apt autoclean # reduces size of /var/cache/apt/archives cd /tmp # tar must be created in directory not backed up. time tar -cvpzf backup.tar.gz \ --exclude=/backup.tar.gz \ --exclude=/proc \ --exclude=/tmp \ --exclude=/mnt \ --exclude=/dev \ --exclude=/sys \ --exclude=/media \ --exclude=/usr/src/linux-headers* \ --exclude=/home/rick/.cache \ --exclude=/var/log \ --exclude=/var/run/ \ --exclude=/run

Некоторые из моих сценариев должны быть изменены после восстановления. Например, у меня есть сценарий оболочки для dd, который гарантирует, что данные не записываются в /dev/sda, /dev/sdb или /dev/sdc. Новый ноутбук имеет PCIe NVMe SSD, где соглашение об именах linux /dev/nvme0n1. После восстановления я сделаю этот сценарий оболочки неисполняемым, чтобы он не запускался, и вместо него запускается исходный dd.

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

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

Наконец, перед восстановлением таблицы дисков /etc/fstab необходимо сохранить и затем скопировать обратно после восстановления.

Размер сжатого файла резервной копии составляет 6 ГБ, включая все /home файлы, которые включают не только сценарии, данные и документы, но также файлы конфигурации для всех приложений.

0
ответ дан 18 July 2018 в 05:10

Если вы хотите создать резервную копию, чтобы восстановить конфигурацию системы после переустановки. Лучший способ - создать список установленных программ.

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

sudo apt-get install apt-clone sudo apt-clone clone foo #This creates a file foo.apt-clone.tar.gz.

Скопируйте ее на машину назначения и запустите

sudo apt-clone restore foo.apt-clone.tar.gz #this tells apt to install the packages n the list.
1
ответ дан 24 July 2018 в 18:15

Не правда.

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

Если я, когда думаю, что-то вроде этого, я предпочел бы резервировать конфигурацию и переустанавливать приложения. Большинство файлов системной конфигурации находятся в каталоге /etc (пользовательские файлы конфигурации можно найти в $HOME, в скрытых файлах и каталогах (.file).

1
ответ дан 24 July 2018 в 18:15
  • 1
    Итак, backup / usr + / etc? – Dan 17 October 2017 в 13:29
  • 2
    Нет. Сделайте список установленного программного обеспечения и создайте резервную копию списка. Резервное копирование файлов конфигурации и / home. Не беспокойтесь о двоичных файлах. Если трудно получить SW - резервное копирование установщиков. – vidarlo 17 October 2017 в 13:33

Сейчас я готов переместить свою установку Ubuntu 16.04 на новый ноутбук. Это сценарий, который я буду использовать для резервного копирования:

#!/bin/bash # NAME: full-backup # PATH: /usr/local/bin # DESC: Full system backup - must call with SUDO # DATE: July 16, 2017. Modified Oct 17, 2017. apt autoclean # reduces size of /var/cache/apt/archives cd /tmp # tar must be created in directory not backed up. time tar -cvpzf backup.tar.gz \ --exclude=/backup.tar.gz \ --exclude=/proc \ --exclude=/tmp \ --exclude=/mnt \ --exclude=/dev \ --exclude=/sys \ --exclude=/media \ --exclude=/usr/src/linux-headers* \ --exclude=/home/rick/.cache \ --exclude=/var/log \ --exclude=/var/run/ \ --exclude=/run

Некоторые из моих сценариев должны быть изменены после восстановления. Например, у меня есть сценарий оболочки для dd, который гарантирует, что данные не записываются в /dev/sda, /dev/sdb или /dev/sdc. Новый ноутбук имеет PCIe NVMe SSD, где соглашение об именах linux /dev/nvme0n1. После восстановления я сделаю этот сценарий оболочки неисполняемым, чтобы он не запускался, и вместо него запускается исходный dd.

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

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

Наконец, перед восстановлением таблицы дисков /etc/fstab необходимо сохранить и затем скопировать обратно после восстановления.

Размер сжатого файла резервной копии составляет 6 ГБ, включая все /home файлы, которые включают не только сценарии, данные и документы, но также файлы конфигурации для всех приложений.

0
ответ дан 24 July 2018 в 18:15

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

Похожие вопросы: