Selamat Datang di Kesalahan Server. Secara umum jenis pertanyaan ini bukan pada topik di sini. Diharapkan bahwa sebagian besar sysadmin akan menghadapi masalah ini sebelum mereka menjadi sysadmin melalui mengutak-atik workstation mereka sendiri. Namun, sysadmin yang berasal dari latar belakang Windows mungkin tidak menghadapi ini, jadi berikut adalah beberapa hal yang perlu dipertimbangkan:
Mengapa tidak menggunakan manajer paket untuk menginstal perangkat lunak di server Anda?
Manajer paket seperti yum
atau apt
menangani dependensi ini untuk Anda. Selain itu mereka juga dapat digunakan untuk mengelola pembaruan perangkat lunak di server Anda. Sebagian besar rasa * nix akan memiliki manajer paket diinstal secara default, terutama pada VPS yang datang dengan OS pra-instal. Jika Anda benar-benar baru dalam hal ini, gunakan salah satunya pada sistem produksi Anda, dan simpan petualangan dalam menyusun atau memasang RPM tepi berdarah untuk lingkungan pengujian Anda.
Tetapi saya diharuskan untuk menggunakan paket yang lebih baru daripada yang tersedia di manajer paket saya!
Sebagian besar manajer paket dapat dikonfigurasi untuk menggunakan repositori yang berbeda - Anda mungkin menemukan bahwa ada satu yang menyediakan versi paket yang Anda butuhkan, dan masih memungkinkan Anda untuk mengambil keuntungan dari fungsi-fungsi manajer paket Anda.
Paket yang saya butuhkan tidak tersedia melalui semua repo atau manajer paket
Dalam hal ini Anda mungkin lakukan perlu mencari tahu dependensi (atau menyedot itu dan menggunakan lebih stabil / versi umum dari perangkat lunak). Anda mungkin harus melakukan yang berikut di lingkungan pengujian dan mencatat dengan cermat apa yang Anda lakukan:
- Pastikan untuk membaca dokumentasi untuk perangkat lunak Anda menginstal - ini mungkin akan daftar apa yang Anda perlu menginstal pertama, tetapi tidak apa yang diperlukan untuk itu software.
- Gunakan manajer paket Anda untuk menginstal hal-hal yang diperlukan - dalam kebanyakan kasus ini akan tersedia.
- Setelah Anda menyelesaikan ini, coba instal.
- Jika Anda masih melihat pesan tentang dependensi yang hilang, catat semuanya, dan coba lagi menginstal sebanyak mungkin menggunakan manajer paket Anda.
- Jika ketergantungan tidak ditemukan, Anda harus menganggapnya sebagai subtugas dan memperlakukannya secara rekursif (temukan tarball sumber, temukan dependensi, instal).
- Ini merupakan proses berulang.
Saya masih mengalami masalah!
Jika Anda telah mengikuti semua langkah di atas dan masih mengalami masalah, maka Anda mungkin akan menemukan beberapa masalah aneh yang mungkin bisa dibantu oleh Server Faulters lainnya. Buat pertanyaan baru, berikan perincian tentang perangkat lunak apa yang Anda coba instal, versi mana, dan pesan kesalahan yang Anda lihat.
Saran khusus untuk sistem manajemen paket utama
RPM (RHEL / Fedora dan klon) dan manajemen paket DEB (Debian / Ubuntu dan klon)
- yum whatprovides nama file adalah cara terbaik untuk menemukan paket yang menyediakan file atau pustaka tertentu pada sistem tipe RHEL.
- Jangan gunakan
./configure && make && make install
secara membabi buta jika memungkinkan! Manajemen paket diciptakan untuk alasan ini untuk mencegah kekacauan yang canggung dan tidak dapat dipelihara yang disebabkan oleh instalasi yang tidak dapat dilacak dari banyak file yang saling bertentangan.
- Banyak perpustakaan dibagi menjadi dua bagian: biner (objek bersama, misalnya) dan pengembangan (header). Dengan demikian, Anda membutuhkan keduanya
libfoo
dan libfoo-devel
(atau -dev
) paket.
- Pertimbangkan untuk menggunakan
fpm
( https://github.com/jordansissel/fpm ) untuk mengubah tarball menjadi RPM dan DEB yang rapi
- Jika Anda meluncurkan paket Anda sendiri, ANDA adalah orang yang bertanggung jawab atas pembaruan, pengujian, dan pemeliharaannya. Jika Anda tidak punya infrastruktur untuk itu, Anda pasti bertujuan terlalu tinggi.
Menemukan dependensi berdasarkan nama file untuk RPM
http://rpmfind.net adalah tempat yang bagus untuk mencari nama paket jika Anda tahu nama file yang dikeluhkan oleh prosedur instalasi. Paket pencocokan dan pencampuran dari distribusi yang berbeda tidak dianjurkan.