Дублювання інсталяції на базі Yum


20

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


лише бічна примітка, якщо ви цього ще не знаєте: ви можете отримати список програм для встановлення в новій системі, а потім скопіювати налаштування у домашній папці (файли та каталоги, імена яких починаються з а .)
phunehehe

Будьте обережні щодо невідповідностей версій. Я зламав налаштування через несумісність конфігурації у своєму домашньому каталозі, роблячи це. Зазвичай працює нормально, мігруючи на новіші версії, але виникають періодичні труднощі.
Метт Сіммонс

Відповіді:


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 - це проект НДДКР для RHEL, і ви повинні мати можливість встановити більшість цих пакетів у Fedora.

Метод Стівса перераховує номери версій, і ви хочете цього уникнути.


Fedora - це дистрибуція за власними умовами, з агресивною позицією бути першою з кращими з відкритим кодом / вільним програмним забезпеченням. Red Hat Enterprise Linux - це дуже консервативна дистрибуція, майже диметрична опозиція. Red Hat приймає (вибрані пакети) версію Fedora, а після стабілізації та QA виключає з неї Red Hat Enterprise Linux. Називати Fedora "проектом науково-дослідних розробок" так само неправильно, як сказати, що Debian робить R&D для Fedora (так, Fedora бере патчі та навіть повні пакети з Debian та viceversa).
фонбранд

2

Ви можете спробувати Kickstart або, можливо, захочете налаштувати сервер встановлення / завантаження PXE для кількох дистрибутивів. Або якщо деякі ваші машини без диску, ви можете спробувати метод LTPS (це, як правило, називається - тонкий клієнт - IIRC), також дивіться тут

EDIT: Якщо це так, дивіться це


1
Я думаю, що питання було більше запитанням, як отримати список встановлених додатків на одній коробці / дистрибутиві та встановити їх на інший ящик / дистрибутив, а не автоматизований спосіб виконання встановлень.
Frozenskys

Останнє правильно, і було саме те, що мені було потрібно.
Веслі Берр

0

Я вважаю, що відповідь Деяна /unix//a/25729/346788 є найкращою для yumбазованої системи. Однак, можливо, він не спрацює, коли ви запускаєте на сервер через буфер. Докладніше в розділі Як отримати висновок `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 каже "Відновити Моніку"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.