Apa yang dimaksud dengan "depend" dan "pre-depend", dan perbedaan antara 2 jenis persyaratan paket ketika saya menginstal sesuatu di Ubuntu?
sumber
Apa yang dimaksud dengan "depend" dan "pre-depend", dan perbedaan antara 2 jenis persyaratan paket ketika saya menginstal sesuatu di Ubuntu?
Seperti yang diambil dari tautan ini: https://www.debian.org/doc/debian-policy/#document-ch-relationships
Ada 5 jenis dependensi:
Arti dari lima bidang ketergantungan adalah sebagai berikut:
Ini menyatakan ketergantungan mutlak. Paket tidak akan dikonfigurasikan kecuali semua paket yang terdaftar di bidang Depend nya telah dikonfigurasi dengan benar. Kolom Depends harus digunakan jika paket dependen diperlukan untuk paket tergantung untuk menyediakan sejumlah fungsionalitas yang signifikan. Bidang Depends juga harus digunakan jika skrip postinst atau prerm mengharuskan paket dependen untuk dibongkar atau dikonfigurasikan agar dapat dijalankan. Dalam hal konfigurasi postinst, paket yang tergantung akan dibongkar dan dikonfigurasikan terlebih dahulu.
Dalam hal prerm atau tindakan postinst lainnya, dependensi paket biasanya akan setidaknya dibongkar, tetapi mereka mungkin hanya "Setengah-Dipasang" jika pemutakhiran dependensi sebelumnya gagal. Akhirnya, bidang Depends harus digunakan jika paket tergantung-diperlukan oleh skrip postrm untuk sepenuhnya membersihkan setelah penghapusan paket. Tidak ada jaminan bahwa dependensi paket akan tersedia ketika postrm dijalankan, tetapi paket dependen lebih mungkin tersedia jika paket menyatakan dependensi (terutama dalam hal penghapusan postrm). Script postrm harus dengan anggun melewati tindakan yang memerlukan dependensi jika dependensi itu tidak tersedia.
Bidang ini seperti Depends, kecuali bahwa itu juga memaksa dpkg untuk menyelesaikan instalasi paket yang dinamai bahkan sebelum memulai instalasi paket yang menyatakan pra-dependensi . Ia bekerja seperti ini, ketika sebuah paket yang menyatakan pra-ketergantungan akan Dibongkar pra-ketergantungan dapat dipenuhi jika paket bergantung sepenuhnya dikonfigurasi, atau bahkan jika paket tergantung hanya dibongkar atau dalam keadaan "Setengah Dikonfigurasi", asalkan mereka telah dikonfigurasi dengan benar di beberapa titik di masa lalu (dan tidak dihapus atau dihapus sebagian karena).
Dalam hal ini, baik versi yang sebelumnya dikonfigurasi dan saat ini belum dibongkar atau "Setengah Dikonfigurasi" harus memenuhi setiap klausa versi di bidang Pra-Tergantung. Ketika paket yang menyatakan pra-dependensi akan dikonfigurasikan, pra-dependensi akan diperlakukan sebagai Tergantung normal. Itu akan dianggap puas hanya jika paket yang tergantung telah dikonfigurasi dengan benar. Namun, tidak seperti dengan Depends, Pre-Depends tidak mengizinkan dependensi sirkular untuk diputus. Jika ketergantungan melingkar ditemukan ketika mencoba untuk menghormati Pra-Dependen, instalasi akan dibatalkan.
Pra-Dependemen juga diperlukan jika skrip awal bergantung pada paket yang disebutkan. Yang terbaik adalah menghindari situasi ini jika memungkinkan. Pra-Dependensi harus digunakan secara hemat, lebih disukai hanya oleh paket-paket yang upgrade atau pemasangan prematurnya akan menghambat kemampuan sistem untuk melanjutkan dengan setiap upgrade yang mungkin sedang berlangsung.
Versi Lebih Kecil:
Istilah "ketergantungan" dapat digunakan secara luas untuk mencakup hubungan "Tergantung" dan "Pra-Tergantung" (dan kadang-kadang bahkan hubungan lain yang lebih lemah), atau dapat digunakan secara sempit sebagai sinonim dari "Tergantung".
Perbedaan antara hubungan paket "Depends" dan "Pre-Depends" adalah bahwa jika X bergantung pada Y, maka Y harus sepenuhnya dikonfigurasikan sebelum X dikonfigurasikan. (Konfigurasi adalah langkah instalasi di mana suatu paket, setelah file-nya dibongkar ke lokasi yang tepat - yaitu, sekali "diinstal" - memiliki perubahan apa pun yang diperlukan yang dibuat sehingga dimungkinkan untuk benar-benar menggunakan perangkat lunak yang disediakannya. Misalnya , konfigurasi server HTTP mungkin melibatkan memastikan ada
www
pengguna dengan kemampuan yang tepat dan/var/www
direktori dengan izin yang tepat.) Sebaliknya, jika X pra-tergantung pada Y maka Y harus diinstal dan (biasanya) sepenuhnya dikonfigurasi sebelum X bahkan diinstal .Lihat Bagian 7.2 dari Manual Kebijakan Debian untuk lebih jelasnya. Saya mengutip dua bagian yang paling relevan di sini, tetapi ada informasi lain di bagian itu (dan dalam bab 7 lebih umum) yang membantu menerangi bagaimana dependensi bekerja.
sumber