Saya telah membangun dua paket RPM
proj1-1.0-1.x86_64.rpm
libtest1-1.0-1.x86_64.rpm
proj1
tergantung pada file libtest1.so
yang ada dan itu tercermin dengan benar dalam paket RPM seperti yang terlihat di sini:
user@my-pc:~$ rpm -qp --requires proj1-1.0-1.x86_64.rpm
libtest1.so()(64bit)
user@my-pc:~$ rpm -qp --provides libtest1-1.0-1.x86_64.rpm
libtest1.so()(64bit)
Penginstalan proj1
gagal karena ketergantungan yang hilang.
user@my-pc:~$ rpm -ivh proj1-1.0-1.x86_64.rpm
error: Failed dependencies:
libtest1.so()(64bit) is needed by proj1-1.0-1.x86_64.rpm
Bagaimana saya memastikan bahwa libtest1-1.0-1.x86_64.rpm
diinstal secara otomatis selama penginstalan proj1-1.0-1.x86_64.rpm
?
Saya memang mencoba --aid
opsi dengan rpm -i
seperti yang dijelaskan di sini tetapi tidak berhasil untuk saya.
Apakah ada cara lain?
Terima kasih atas bantuannya.
yum --nogpgcheck localinstall packagename.arch.rpm
.yum localinstall
dan itu sama dengan jawaban yang sudah diposting di sini , dengan kelemahan yang sudah dibahas untuk situasi di mana dependensi tidak ada dalam repo yum (lihat metode ini tidak akan berfungsi kecuali [...] bagian).sudo yum --disablerepo=* --enablerepo=local install packagename.arch.rpm
untuk memastikanyum
tidak melihat ke repositori lain.Tautan @gertvdijk yang disediakan menunjukkan cara cepat untuk mencapai hasil yang diinginkan tanpa mengonfigurasi repositori lokal:
Ubah saja
packagename.arch.rpm
ke nama file RPM yang ingin Anda instal.Edit Sekadar klarifikasi, ini secara otomatis akan menginstal semua dependensi yang sudah tersedia melalui repositori YUM sistem.
Jika Anda memiliki dependensi yang dipenuhi oleh RPM lain yang tidak ada di repositori sistem, maka metode ini tidak akan berfungsi kecuali setiap RPM juga ditentukan bersama dengan
packagename.arch.rpm
di baris perintah.sumber
libtest1-1.0-1.x86_64.rpm
ada dalam repositori di tempat lain, atau kedua paket ditentukan pada baris perintah seperti "rpm -i
" akan membutuhkan. Saya baru saja memverifikasi ini diyum
3.4.3 (Fedora 18). Transkrip di sini menunjukkan bahwa ia masuk keupdates
repo untuk dependensi, bahkan ketika file ada di sana.rpm -i
", jadi menggunakan tidakyum
memberi Anda manfaat tambahan.Untuk pengguna dnf cukup gunakan
dnf install *.rpm
,localinstall
tidak lagi dibutuhkan.sumber
mysql-workbench
denganrpm -ivh
. akhirnya berakhir dengan posting ini. DNF berhasil.Bagi saya bekerja hanya dengan
Dan secara otomatis meminta otorisasi untuk mengunduh depedensi. Di bawah contoh, saya menggunakan fedora 22
sumber
Saya menemukan solusi yang lebih sederhana. Jika Anda memiliki semua RPM di direktori yang sama, yang perlu Anda lakukan hanyalah,
rpm
tampaknya menemukan urutan yang benar untuk memasang ini dan memasang RPM.sumber
Jawaban Matthew membangkitkan banyak emosi, karena fakta yang masih kurang detail kecil. Perintah umumnya adalah:
Di
package_file_name
atas dapat menyertakan jalur absolut atau relatif lokal, atau menjadi URL (bahkan mungkin URI).Yum akan mencari dependensi di antara semua file paket yang diberikan pada baris perintah DAN JIKA GAGAL menemukan dependensi di sana, Yum juga akan menggunakan repositori yum yang dikonfigurasi dan diaktifkan.
Baik direktori kerja saat ini, maupun jalur dari salah satu dari yang
package_file_name
akan dicari, kecuali jika salah satu dari direktori ini sebelumnya telah dikonfigurasi sebagaiyum
repositori yang diaktifkan .Jadi dalam kasus OP,
yum
perintah:akan dilakukan, seperti halnya
rpm
:Perbedaan antara ini
yum
danrpm
pemanggilan hanya akan terlihat jika salah satu paket yang terdaftar untuk diinstal memiliki ketergantungan lebih lanjut pada paket yang TIDAK terdaftar pada baris perintah.Dalam kasus seperti
rpm
itu hanya akan menolak untuk melanjutkan, sementarayum
akan menggunakan repositori yum yang dikonfigurasi dan diaktifkan untuk mencari dependensi, dan mungkin berhasil.Direktori kerja saat ini TIDAK akan dicari dalam kasus apa pun, kecuali jika sebelumnya telah dikonfigurasi sebagai
yum
repositori yang diaktifkan .sumber
Saya mengalami ini dan yang berhasil bagi saya adalah menjalankan
yum localinstall enterPkgNameHere.rpm
dari dalam direktori tempat file .rpm berada.Catatan: ganti
enterPkgNameHere.rpm
dengan nama file .rpm Anda.sumber
Dalam kasus openSUSE Leap 15, saya menerima kesalahan serupa:
Saya menjalankan perintah ini untuk mencari tahu apa saja dependensinya:
Kemudian saya menjalankan perintah ini untuk menginstal dependensi:
Kemudian saya menjalankan ini untuk menginstal
rpm
file:Saya tidak yakin apakah ini adalah praktik terbaik, namun ini menyelesaikan masalah saya.
sumber
Langkah 1: salin semua pkg rpm di lokasi tertentu
Langkah2: jika createrepo belum diinstal, karena tidak akan secara default, instal.
Step3: buat metedata repositori dan berikan izin di bawah ini
Langkah4: Buat file repositori dengan konten berikut di /etc/yum.repos.d/mysql.repo
Step5 Jalankan perintah ini untuk menginstal
sumber
Sederhana saja jalankan perintah berikut.
Masukkan kata sandi Anda dan Anda selesai.
sumber
Proses menghasilkan RPM dari file sumber: 1) unduh file sumber dengan ekstensi.gz. 2) instal rpm-build dan rpmdevtools dari yum install. (folder rpmbuild akan dibuat ... SPECS, SOURCES, RPMS .. folder harus dibuat di dalam folder rpmbuild). 3) salin source code.gz ke folder SOURCES. (Rpmbuild / SOURCES) 4) Untar bola tar dengan menggunakan perintah berikut. pergi ke folder SOURCES: rpmbuild / SOURCES di mana file tar ada. perintah: misalnya tar -xvzf httpd-2.22.tar.gz folder httpd-2.22 akan dibuat di jalur yang sama. Periksa apakah apr dan apr-util dan ada di folder httpd-2.22 / srclib. Jika apr dan apr-util tidak ada, unduh versi terbaru dari situs apache, lepaskan dan letakkan di dalam folder httpd-2.22 / srclib. Juga pastikan Anda telah menginstal pcre di sistem Anda.
5) pergi ke folder yang diekstrak dan kemudian ketik perintah di bawah ini: ./configure --prefix = / usr / local / apache2 --with-termasuk-apr --enable-proxy --enable-proxy-balancer --with-mpm = pekerja --enable-mods-static = semua 6) jalankan perintah di bawah ini setelah konfigurasi berhasil: make 7) setelah eksekusi yang berhasil dan buat perintah run: checkinstall di folder yang sama. (jika Anda tidak memiliki software checkinstall silahkan download versi terbaru dari situs) Selain itu software checkinstall memiliki bug yang dapat diatasi dengan cara berikut ::::: cari checkinstallrc lalu ganti TRANSLATE = 1 ke TRANSLATE = 0 menggunakan perintah vim. Periksa juga untuk mengecualikan paket: EXCLUDE = "/ selinux" 8) checkinstall akan menanyakan opsi (ketik R jika Anda ingin tp membangun rpm untuk file sumber) 9) Selesai. File .rpm akan dibangun di folder RPMS di dalam file rpmbuild / RPMS. .. Semua yang terbaik ....
Salam, Prerana
sumber