Instalasi lokal .rpms menggunakan YUM

50

Saya mengajukan pertanyaan ini dengan hati-hati karena saya tidak ingin kesalahan ini.

Saya memiliki file program_name.rpm yang disimpan secara lokal di server saya (CentOS 6.5).

Saya telah menginstalnya sebelumnya hanya dengan menavigasi ke sana dan menggunakan yum install program_name.rpm yang berfungsi dengan baik tetapi tidak memberi saya opsi untuk menentukan di mana ia diinstal.

Apakah mungkin untuk menginstal rpm ini ke / opt / some_directory alih-alih lokasi instal defaultnya?

TheLovelySosisage
sumber

Jawaban:

34

Gunakan rpm

rpm -ivh package.rpm

Jika Anda ingin menginstalnya di tempat yang berbeda, gunakan:

rpm -ivh -r /new/path package.rpm

tetapi waspada di bawah root baru akan dibuat kembali struktur direktori dari paket

Romeo Ninov
sumber
2
ini bekerja dengan baik, saya kira tidak ada yang setara YUM?
TheLovelySausage
4
Untuk memperjelas: yum adalah pembungkus sekitar rpm. rpm adalah program utama untuk mengelola paket dalam RHEL, SuSE, CentOS dan distribusi lainnya
Romeo Ninov
4
Oh saya selalu berpikir yum didasarkan pada rpm, tidak pernah menyadari itu pembungkus, terima kasih atas semua bantuan Anda
TheLovelySausage
Apakah Anda harus menjadi root untuk menjalankan perintah ini?
Alexej Magura
Benar, Anda harus menjadi root untuk menjalankan perintah
Romeo Ninov
97

Sayang sekali Anda menerima jawaban rpm itu. Itu akan mengarah pada peringatan dari eksekusi yum berikutnya, seperti Warning: RPMDB altered outside of yum

Sebagai gantinya Anda harus menggunakan yum localinstall, per bagian 13 dari halaman Trik Yum dan RPM dari CentOS wiki => https://wiki.centos.org/TipsAndTricks/YumAndRPM#head-3c061f4a180e5bc90b7f599c4e0aebdb2d5fc7f6

Anda dapat menggunakan --installrootopsi untuk menentukan root instalasi yang berbeda.

Jeff
sumber
3
Saya suka melakukan hal-hal sesuai dengan praktik terbaik dan jawaban ini termasuk yum yang saya harapkan. Sayangnya saya sudah menginstal sejumlah paket menggunakan metode rpm -ivh. Saya berharap dimungkinkan untuk menerima dua jawaban yang benar karena saya merasa jawaban yang diterima benar tetapi orang yang datang untuk melihat pertanyaan ini akan mendapat manfaat lebih dari jawaban ini
TheLovelySausage
Lebih baik menggunakan yum daripada rpm, tetapi untuk menyelesaikan "peringatan: RPMDB diubah di luar yum" dimungkinkan untuk menggunakan "sinkronisasi riwayat yum"
elbarna
1
Ini bekerja. Ketika saya mencoba menjalankan rpm saja tidak mendapatkan dependensi. Itu hanya kesalahan dengan "dependensi gagal".
Christian Shay
"yum --nogpgcheck localinstall packagename.arch.rpm"
hmz