Альберт Эйнштейн цитата
Безумие: делать одно и то же снова и снова и ожидать разных результатов
Часто Linux сводит меня с ума, потому что я делаю одно и то же снова и снова и получаю разные результаты от коробки к коробке. (См. Мой предыдущий вопрос ).
Для меня самая большая путаница - это захват компьютера, который кто-то другой установил (как это происходит при регистрации в веб-хостинговой компании). Вы просто не знаете, с чем имеете дело.
Есть ли какой-нибудь умный инструмент сравнения, который я могу запустить на установке Linux (Ubuntu), чтобы дать мне понять, как эта машина отклонилась от установки по умолчанию?
то есть что-то, что может показать мне список команд, которые будут вести себя удивительно, избегая метода проб и ошибок.
Ответы:
Всякий раз, когда у меня есть хорошая справочная система и неадекватная, я пытаюсь сравнить их с vimdiff. То, что я сравниваю, зависит от проблемы, например,
1) При сравнении серверов на уровне пакетов я создаю отсортированные списки пакетов на каждом сервере, отправляю результаты в файлы и разрабатываю их, например
На сервере1:
На сервере2:
Скопируйте оба файла на один и тот же компьютер и разнесите их (или vimdiff).
2) Составьте список запущенных сервисов, как в примере 1
... и т. д., и vimdiff тех.
3) Если вы устраняете неполадки, например, в несовместимых конфигурациях с Apache, сделайте копии файлов конфигурации, vimdiff и т. Д.
источник
/etc
контроль версий, чтобы отслеживать, что происходит.etckeeper
сделаю это для вас.Большая часть различий между двумя установками одного и того же дистрибутива будет
/etc
. Скопируйте содержимое/etc
с одного компьютера во временный каталог на другом и запуститеЕсли вы хотите сравнить машину с установкой по умолчанию, получите копию из новой установки по умолчанию (возможно, на виртуальной машине).
Если вы можете управлять машиной с самого начала, обязательно установите etckeeper для
/etc
контроля версий. Тогда вы сможете точно увидеть, что изменилось.Конечно, будет много различий. Если у вас еще нет идеи, где искать, это неправильный подход для изучения конкретной разницы в поведении. Например, скажем, команда
adduser
ведет себя по-разному на двух машинах. Тогда лучший подход - посмотреть на то, чтоadduser
делает; запустите его на обеих машинах и сравните. Если у него есть возможность сказать, что он будет более многословным (adduser
не), используйте его. Более радикально, запустите программу под strace , напримерчтобы увидеть, какие файлы
adduser
доступны.источник
Чтобы вернуться к более раннему вопросу, ваш изящный инструмент, который звучит для меня как хорошая идея, но я никогда не слышал о существовании такого зверя, должен проверять такие вещи, как тип и размеры файловой системы.
Пример из реальной жизни, который произошел со мной в 2002 году: два человека установили системы SuSE 7.3 на двух соседних серверах, монтируемых в стойку. Они приложили много усилий, чтобы пакеты были одинаковыми на обоих серверах. Некоторое время спустя у нас возникли проблемы с некоторым программным обеспечением в разработке. Все дело в файловой системе ext3 на одном сервере, Reiserfs на другом. Простое «ls» в Reiserfs дает имена файлов в лексическом порядке, но не в ext3. Одна программа завершилась с ошибкой в именах файлов не по порядку.
источник
Для файлов, пользователей, групп, пакетов, сервисов и т. Д. Я использовал http://www.scriptrock.com ; Это бесплатно для нескольких серверов и дает вам хорошее визуальное сравнение различий между серверами .. очень удобно для дрифта
источник