Mengapa Anda harus selalu menggunakan `rpm -U` dan bukan` rpm -i` untuk menginstal paket?

19

rpm memiliki opsi -i( --install) untuk menginstal paket.
rpm memiliki opsi -U( --upgrade) yang akan menginstal atau meningkatkan paket

The dokumentasi topi merah menunjukkan bahwa rpm -ibisa diterima.

Namun setiap dokumentasi yang pernah saya lihat direkomendasikan untuk digunakan -U, bahkan jika paket sedang diinstal untuk pertama kalinya.

Mengapa rpm -Ulebih disukai daripada biasanya rpm -i?

spuder
sumber

Jawaban:

37

Sebagian besar dokumentasi menunjukkan -Ulebih -ikarena -imungkin gagal jika paket itu sudah terpasang, atau sudah memiliki versi sebelumnya yang terpasang; sementara -Uakan berhasil walaupun "peningkatan" dari paket tidak diinstal sama sekali. Ketika memberikan cara-seperti, seperti dalam kasus dokumentasi, umumnya merupakan ide yang lebih baik untuk memberikan perintah dengan kemungkinan yang lebih rendah dari keadaan gagal.

DopeGhoti
sumber
1

Dokumentasi sebenarnya tidak mengatakan -iharus digunakan untuk peningkatan. Dikatakan seseorang harus menggunakannya untuk upgrade kernel. Alasannya, jika sistem gagal untuk boot dengan kernel baru, Anda masih memiliki kernel lama yang tersedia. Namun ini adalah kasus khusus - paket kernel cukup orthogonal dalam arti bahwa mereka tidak memiliki file yang saling bertentangan karena semuanya versi (modul kernel, initrd dan library dari berbagai paket kernel dapat hidup berdampingan).

Paket userspace biasa jarang ini independen. Jika Anda menggunakan rpm -iuntuk melakukan pemutakhiran, Anda kemungkinan akan berakhir dengan dua paket dengan nama yang sama (dan versi yang berbeda) diinstal pada waktu yang sama, dengan yang sebelumnya rusak (setengah ditimpa). Sebenarnya mungkin untuk menginstal paket yang sama dua kali - setelah itu terjadi beberapa alat dan / atau orang-orang cenderung menjadi agak bingung.

peterph
sumber