Saya ingin memiliki Server B untuk memiliki setup yang sama persis dengan Server A. Server A dan B memiliki Arch dan perangkat keras yang sama.
Rencana saya adalah memiliki daftar semua hal yang diinstal pada Server A dan menginstalnya dengan menggunakan daftar pada Server B seperti:
yum -y install $(cat installed.txt)
Di Server A, saya lebih suka menggunakan:
rpm -qa > installed.txt
atau:
yum list installed > installed.txt
Daftarnya tampaknya berbeda dan saya tidak tahu mengapa.
yum list installed
memiliki 930 baris sementara rpm -qa
memiliki 895 baris, apa bedanya?
diff
mengedit output (mungkin setelah penyortiran)?rpm
daftar karena memiliki daftar yang dapat digunakan dalamyum
perintah server b Anda .Jawaban:
Alasan utama untuk jumlah baris yang berbeda adalah bahwa output yang dihasilkan oleh
yum
diformat sehingga setiap bidang berbaris secara vertikal (terlepas dari panjang nama paket dan / atau nomor versi). Itu melakukan ini dengan menggunakan dua baris untuk daftar paket-paket seperti itu dan melapisi baris kedua dengan karakter spasi untuk berbaris bidang dengan benar. Output berikut (dari kotak CentOS 6) menunjukkan bahwa dua baris digunakan untuk mendaftardevice-mapper-persistent-data.x86_64
paket:Namun, ini bukan satu - satunya alasan dan itu dapat dilihat dengan memijat output dari dua perintah sebelum membandingkannya:
Untuk output dari
rpm
perintah:Sortir sedemikian sehingga paket yang dimulai dengan huruf besar muncul sebelum yang huruf kecil:
Gunakan
sed
perintah untuk menghapus nomor versi paket:Untuk output dari
yum
perintah:Hapus dua baris tajuk pertama (
Loaded plugins
danInstalled Packages
):Kita dapat menggunakan
sed
ini:Kami juga dapat menggunakan
sed
untuk menghapus semua baris yang merupakan kelanjutan dari daftar paket (baris ini dimulai dengan sejumlah spasi sehingga semua versi paket berbaris).Sekarang, kita dapat menggunakan
diff
perintah untuk membandingkan output dari dua file. Inilah hasil dari kotak CentOS 6:Kesimpulan
Ini menunjukkan bahwa itu
rpm -qa
juga termasuk daftar paket untuk kunci publik yang dipercaya untuk menandatangani paket sementarayum
perintah menghilangkan paket-paket ini.sumber
Ini mungkin hanya memformat perbedaan. Daftar yum akan melakukan banyak pembungkus pintar untuk ukuran terminal Anda.
Apa yang mungkin ingin Anda lakukan adalah menggunakan:
sumber
Saya tidak sepenuhnya yakin mengapa daftar ini berbeda, tetapi saya tahu itu
rpm -qa > installed.txt
adalah cara yang benar untuk menemukan semua paket yang diinstal. Ini akan mencariyum installed
jugarpm installed
.Selain itu, format
rpm -qa
output akan bekerja lebih baik denganyum install
perintah yang ingin Anda jalankan.sumber
yum list installed
memberi saya output seperti di bawah ini.Sekarang,
rpm -qa
katakan di bawah ini.Kedua perintah memberi saya jumlah baris yang sama dengan output. Saya akan pergi dengan
rpm -qa
daftar.Juga, dari jawaban ini , saya melihat informasi di bawah ini.
Jadi perbedaannya mungkin
yum
menyelesaikan dependensi tetapirpm
telah menginstal semua dependensi dan menyediakan daftar yang lebih lengkap.Saya melihat perbedaan aktual antara
yum
danrpm
seperti di bawah ini.Masalah yang paling menonjol
rpm
adalah keadaan yang sering disebut oleh kebanyakan orang sebagai neraka ketergantungan . Masalah ini terjadi pada paket yang bergantung pada banyak paket lain, beberapa paket juga bergantung pada banyak paket lainnya. Sudah menjadi rahasia umum bahwa Anda harus menginstal semua dependensi agar program dapat berfungsi dengan benar.rpm
tidak dapat melakukan ini untuk Anda secara otomatis. Itu hanya dapat memeriksa apakah semua paket yang diperlukan sudah diinstal sebelum menginstal paket yang dibutuhkan. Secara manual melacak dan menginstal setiap ketergantungan adalah tugas utama bagi kebanyakan orang yang hanya ingin menginstal satu paket pada awalnya.yum
mampu melacak dependensi suatu paket dan menginstalnya sebelum menginstal paket yang ingin diinstal oleh pengguna. Ini menyederhanakan seluruh proses karena Anda hanya perlu tahu nama paket yang ingin Anda instal dan tidak khawatir apakah paket yang diperlukan telah diinstal atau tidak. Paket yang tidak dapat ditemukan pada sistem dicari dalam repositori yang tersedia untuk sistem.Referensi
http://www.differencebetween.net/technology/difference-between-yum-and-rpm/
sumber
Yum
menangani dependensi dan mengambil paket untuk mengisinya.Yum
menjalankan secara efektif perintah yang sama sepertirpm
tetapi juga mencakup semua paket yang diperlukan untuk mencocokkan dependensi.yum
adalah anugerah untuk mengelola dependensi paket tetapi itu tidak relevan ketika itu hanya daftar paket yang diinstal pada sistem. Lihat James dan jawaban saya untuk alasan perbedaan.yum list installed
dapat membuat output dua baris, jika nama paket dan versi paket panjang.sumber