Показать изменения между старым и новым сервером

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

Я попытался перейти на Ubuntu 18.04 LTS 64bit из-за постоянного раздражения, связанного с тем, что Ubuntu 14.04 устарела, но впоследствии я получил много сообщений об ошибках. НАПРИМЕР. Почтовый сервер больше не работал.

Теперь мой провайдер предлагает полную переустановку работающей Ubuntu 18.04 LTS 64bit за счет удаления всех данных, которые были там ранее.

Существует ли diff-инструмент, который может точно сказать, чем отличается моя система от стандартной Ubuntu 14.04, чтобы я мог легко создавать резервные копии только тех файлов, которые мне нужны?

1
задан 27 July 2019 в 16:43

2 ответа

Да, это возможно, но необходимо знать то, что больше не существует и что отличается так:

  1. Что больше не существует:

    rsync --archive --verbose --update --dry-run --delete $szOldServerPath $szNewServerPath | grep "^deleting "
    

    Вышеупомянутая команда даст Вам список файлов, которые не существуют в новом сервере.

    grep ^deleting потому что каждая строка печатает: deleting ..file..

  2. Что отличается:

    rsync --archive --verbose --dry-run --checksum $szOldServerPath $szNewServerPath
    

    даст Вам список различных файлов (включая новые файлы)

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

Источник

1
ответ дан 7 December 2019 в 13:15

Можно легко составить список всех в настоящее время устанавливаемых пакетов, и можно использовать этот список для установки всех в настоящее время устанавливаемых пакетов позднее.

Необходимо будет найти способ сохранить этот список. Можно послать файл списка по электронной почте, или можно скопировать его в pastebin или загрузить его так или иначе. Просто удостоверьтесь, что сохранили копию этого списка некоторое место так, чтобы это могло быть получено позднее.

Выполните следующую команду для создания файла списка под названием "INSTALLED.txt":

echo $(dpkg -l | awk '{print $2}') | tee packages1404.txt

Когда файл списка находится в текущем каталоге, можно установить пакеты в списке с помощью следующих команд:

sudo apt update
sudo apt install $(cat packages1404.txt)

С другой стороны, Вы могли скопировать и вставить список как простой текст в терминальное использование sudo apt install и затем вставьте список в терминал и затем нажмите Enter.

Это попытается установить все текущие пакеты. Однако могут быть некоторые версии пакета, которые больше не доступны. Могут быть некоторые другие версии, которые не имеют "никакого кандидата установки", и необходимо будет искать эти пакеты для наблюдения, какой пакет заменяет старый.

Источник: Я адаптировал команды, используемые в этой записи в блоге по ostechnix.com.

Щелкните здесь для получения информации о выполнении полного резервного копирования вместо этого.

1
ответ дан 7 December 2019 в 13:15

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

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