Дублирование установки Linux на основе Yum

20

Учитывая установку на основе Yum (в частности, в моем случае, установку Scientific Linux 5.1 x86_64), как мне дублировать установленные программы и утилиты на новую машину, основанную на Fedora Core x86_64? Аппаратные средства очень похожи, но не идентичны, и есть очевидная разница, что SL5 основан на EL, а не на Fedora; Я в основном стремлюсь дублировать пользовательский опыт от оригинальной коробки (SL) до новой коробки (FC).

Уэсли Берр
источник
просто примечание на случай, если вы еще этого не знаете: вы можете получить список программ для установки в новой системе, а затем скопировать настройки в вашу домашнюю папку (файлы и каталоги, имена которых начинаются с .
буквы
Просто будьте осторожны с несоответствиями версий. Я испортил настройки из-за несовместимости конфигурации в моем домашнем каталоге. Обычно он работает нормально при переходе на более новые версии, но иногда возникают трудности.
Мэтт Симмонс

Ответы:

18

Вы можете создать список установленного программного обеспечения с помощью:

$ rpm -qa > installed-software.log

Поскольку они основаны на разных дистрибутивах, я не уверен, как бы вы сделали установку.

Если бы я копировал его в новую установку того же дистрибутива, я бы запустил следующую команду от имени root

# yum -y install $(cat /home/user/installed-software.log)
Стив Бурдин
источник
8

Получите список установленных RPM на вашей RHEL коробке:

yum list installed |tail -n +3|cut -d' ' -f1 > installed_packages.txt

Установить пакеты на Fedora:

yum -y install $(cat installed_packages.txt)

Примечание: Fedora - это проект R & D для RHEL, и вы сможете установить большинство этих пакетов в Fedora.

Метод Steves перечисляет номера версий, и вы хотите избежать этого.

Деяна
источник
Fedora - это дистрибутив на своих собственных условиях, с агрессивной позицией быть первым с лучшим открытым / свободным программным обеспечением. Red Hat Enterprise Linux - очень консервативный дистрибутив, почти диметральный противоположный. Red Hat берет (выбранные пакеты) версию Fedora и после стабилизации и QA удаляет из нее Red Hat Enterprise Linux. Называть Fedora «проектом исследований и разработок» так же неправильно, как утверждать, что Debian занимается исследованиями и разработками для Fedora (да, Fedora принимает исправления и даже готовые пакеты от Debian, и наоборот).
vonbrand
2

Вы можете попробовать Kickstart или настроить сервер PXE для установки / загрузки для нескольких дистрибутивов. Или, если некоторые из ваших машин бездисковые, вы можете попробовать метод LTPS (это то, что обычно называется - тонкий клиент - IIRC), также см. Здесь

РЕДАКТИРОВАТЬ: Если это так, посмотрите это

Битек
источник
1
Я думаю, что вопрос был скорее в том, чтобы получить список установленных приложений на одном компьютере / дистрибутиве и установить их на другом компьютере / дистрибутиве, а не автоматизированный способ установки.
Frozenskys
Последнее правильно, и было именно то, что мне было нужно.
Уэсли Берр
0

Я считаю, что ответ Деяна /unix//a/25729/346788 является лучшим для yumоснованной системы. Тем не менее, он может не работать, когда вы ssh на сервер из-за буфера. Подробности в Как получить вывод `yum list`, чтобы он оставался на одной строке при получении вывода через удаленную команду ssh?

Таким образом, чтобы немного улучшить, получить полный список пакетов:

yum list installed | xargs -n3 | column -t  | tail -n +3 |cut -d' ' -f1

Чтобы получить список установленных пакетов из rpm:

yum list installed | xargs -n3 | column -t | grep -v "@" | tail -n +3 |cut -d' ' -f1

Чтобы получить список установленных пакетов из yum:

yum list installed | xargs -n3 | column -t | grep "@" | tail -n +3 |cut -d' ' -f1
Хан Ло
источник
Пока это - наверное? - полезное дополнение к ответу Деяна на этот вопрос, это не ответ на этот вопрос. Возможно, вы могли бы написать вопрос, который соответствует приведенному выше сообщению, а затем представить (то есть задать) как новый вопрос. Кроме того, такие ответы должны объяснить, что они делают (и как), и показать пример вывода.
G-Man говорит: «Восстанови Монику»