Menggandakan instalasi Linux berbasis Yum

20

Diberikan instalasi berdasarkan Yum (khusus dalam kasus saya, instalasi Scientific Linux 5.1 x86_64), bagaimana saya akan menduplikasi program dan utilitas yang diinstal ke mesin baru berdasarkan Fedora Core x86_64? Perangkat kerasnya sangat mirip tetapi tidak identik, dan ada perbedaan jelas bahwa SL5 didasarkan pada EL, bukan pada Fedora; Saya sebagian besar bertujuan untuk menduplikasi pengalaman pengguna dari kotak asli (SL) ke kotak baru (FC).

Wesley Burr
sumber
hanya catatan tambahan jika Anda belum mengetahuinya: Anda bisa mendapatkan daftar program yang akan diinstal pada sistem baru, lalu menyalin pengaturan di folder rumah Anda (file dan direktori yang namanya dimulai dengan a .)
phunehehe
Berhati-hatilah dengan ketidakcocokan versi. Saya telah merusak pengaturan karena ketidakcocokan konfigurasi di direktori home saya melakukan itu. Biasanya ini berfungsi ok bermigrasi ke versi yang lebih baru, tetapi ada beberapa kesulitan.
Matt Simmons

Jawaban:

18

Anda dapat membuat daftar perangkat lunak yang diinstal dengan:

$ rpm -qa > installed-software.log

Karena mereka didasarkan pada distro yang berbeda, saya tidak yakin bagaimana Anda akan menginstalnya.

Jika saya menyalinnya ke instalasi baru dari distro yang sama, saya akan menjalankan perintah berikut sebagai root

# yum -y install $(cat /home/user/installed-software.log)
Steve Burdine
sumber
8

Dapatkan daftar RPM yang terinstal di kotak RHEL Anda:

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

Instal paket ke Fedora:

yum -y install $(cat installed_packages.txt)

Catatan: Fedora adalah proyek R&D untuk RHEL dan Anda harus dapat menginstal sebagian besar paket ini di Fedora.

Metode Steves mencantumkan nomor versi dan Anda ingin menghindarinya.

Dejan
sumber
Fedora adalah distribusi dengan persyaratannya sendiri, dengan sikap agresif menjadi yang pertama dengan yang terbaik dari perangkat lunak open source / gratis. Red Hat Enterprise Linux adalah distribusi yang sangat konservatif, hampir oposite dimetral. Red Hat mengambil (paket terpilih) versi Fedora dan setelah stabilisasi dan QA memotong Red Hat Enterprise Linux darinya. Menyebut Fedora "proyek R&D" sama salahnya dengan mengatakan bahwa Debian melakukan R&D untuk Fedora (ya, Fedora memang mengambil tambalan dan bahkan menyelesaikan paket dari Debian, dan sebaliknya).
vonbrand
2

Anda dapat mencoba Kickstart atau Anda mungkin ingin mengatur server instal / boot PXE untuk banyak distro. Atau jika beberapa mesin Anda diskless, Anda dapat mencoba metode LTPS (inilah yang umumnya disebut - thin client - IIRC), juga lihat di sini

EDIT: Jika itu masalahnya lihat ini

bitek
sumber
1
Saya pikir pertanyaannya adalah lebih banyak bertanya bagaimana cara mendapatkan daftar aplikasi yang diinstal pada satu kotak / distro dan menginstalnya di kotak / distro lain, daripada cara otomatis melakukan instalasi.
Frozenskys
Yang terakhir ini benar, dan tepat seperti yang saya butuhkan.
Wesley Burr
0

Saya percaya jawaban Dejan /unix//a/25729/346788 adalah yang terbaik untuk yumsistem berbasis. Namun, itu mungkin tidak berfungsi ketika Anda ssh ke server karena buffer. Detail di Cara mendapatkan output `yum list` agar tetap di satu baris ketika mendapatkan output melalui perintah ssh jarak jauh?

Jadi, untuk sedikit meningkatkan, untuk mendapatkan daftar paket lengkap:

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

Untuk mendapatkan daftar paket yang diinstal dari rpm:

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

Untuk mendapatkan daftar paket yang diinstal dari yum:

yum list installed | xargs -n3 | column -t | grep "@" | tail -n +3 |cut -d' ' -f1
Han Luo
sumber
Sementara ini - kurasa? - tambahan yang berguna untuk jawaban Dejan untuk pertanyaan ini, itu bukan jawaban untuk pertanyaan ini. Mungkin Anda bisa menulis pertanyaan yang sesuai dengan posting di atas, dan kemudian mengirimkan (yaitu, bertanya) itu sebagai pertanyaan baru. Juga, jawaban seperti ini harus menjelaskan apa yang mereka lakukan (dan bagaimana) dan menunjukkan contoh output.
G-Man Mengatakan 'Reinstate Monica'