инструмент или техника для получения разности двух различных установок Linux

Я имел два диска, установленные однажды, и имел корневую файловую систему второго диска, смонтированного в каталоге в /mnt. Я был в том каталоге и пытался удалить var но закончил тем, что ввел rm -rf /var вместо этого. Некоторый инстинкт, казалось, ударил это, сказал var должен предшествоваться с наклонной чертой!

Когда я понял то, что я сделал, я сразу поразил Ctrl-C, но было слишком поздно. Мой rpm база данных давно оставила здание. Я потратил возрасты, возвращающие все к нормальному.

Теперь для болезненной части.

Я возвращаюсь в тот каталог в /mnt возобновлять то, что я делал. Что я ввожу? Ну, позвольте нам просто сказать что тот инстинкт, втолкнутый снова.

По крайней мере, я смог восстановить систему, намного более быструю во второй раз ;)

9
13.04.2017, 15:36
4 ответа

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

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

На server1:

dpkg --get-selections|sort > server1_packages

На server2:

dpkg --get-selections|sort > server2_packages

Скопируйте оба файла в ту же машину и разность (или vimdiff) их.

2) Составьте список рабочих сервисов как в примере 1

sysv-rc-conf --list|sort > server1_services

sysv-rc-conf --list|sort > server2_services

... и т.д., и vimdiff они.

3) При поиске и устранении неисправностей непоследовательных конфигураций с Apache, например, сделайте копии файлов конфигурации и vimdiff они, и т.д.

10
27.01.2020, 20:05
  • 1
    Хорошая сводка опций. Это - также хорошая идея поместить файлы под /etc при управлении версиями, чтобы помочь Вам отслеживать то, что продолжается. etckeeper сделает это для Вас. –  Faheem Mitha 21.05.2011, 15:57
  • 2
    я добираюсь "dpkg: не удалось открыть информационный файл пакета '/var/lib/dpkg/status' 'для чтения: Никакой такой файл или каталог". Как это считало бы Centos с конфеткой? PS Nevermind, найденный им "вкусный установленный список" –  giorgio79 06.12.2013, 11:02

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

diff -ru /etc /copy/of/other/etc

Если Вы хотите сравнить машину со стандартной установкой, получить копию с новой стандартной установки (возможно, в виртуальной машине).

Если можно управлять машиной от запуска, удостоверьтесь, что установили etckeeper для хранения /etc при управлении версиями. Затем Вы сможете видеть точно, что изменяется.

Конечно, будет много различий. Если у Вас еще нет идеи того, где посмотреть, это - неправильный подход для исследования конкретного различия в поведении. Например, скажем, команда adduser ведет себя по-другому на двух машинах. Затем лучший подход должен посмотреть на какой adduser делает; выполните его на обеих машинах и сравните. Если это имеет опцию сказать этому быть более подробным (adduser не делает), используйте его. Более радикально запустите программу под strace, например.

strace -s9999 -efile adduser …

видеть что файлы adduser доступы.

5
27.01.2020, 20:05

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

Реальный пример, который произошел со мной в 2002: два человека установили системы SuSE 7.3 на двух смежных серверах для установки в стойку. Они прикладывают много сил для получения пакетов точно то же на обоих серверах. Короткое время спустя у нас были проблемы с некоторым программным обеспечением в разработке. Это свелось к ext3 файловой системе на одном сервере, Reiserfs на другом. Плоскость "ls" на Reiserfs дает имена файлов в лексическом порядке, но не на ext3. Одна программа перестала работать на неисправных именах файлов.

2
27.01.2020, 20:05

Для файлов, пользователей, групп, пакетов, сервисы и т.д. я использовал http://www.scriptrock.com; это свободно для нескольких серверов и дает Вам хорошее визуальное сравнение различий между серверами.. очень удобный для дрейфа

1
27.01.2020, 20:05

Теги

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