Kami memiliki lingkungan pengembangan di FreeBSD 10.3. Saya pernah mendengar bahwa FreeBSD mengelola dependensi paket dengan cara itu, yang selalu mencari versi terbaru dari semua paket, yang bergantung pada paket utama. Dan sepertinya itu benar. Jadi, pertanyaan saya adalah:
- Apakah ini benar? apakah ada dokumen resmi yang membuktikannya?
- Cara terbaik bagaimana mengatasi masalah ini?
package-management
freebsd
dependencies
Sergius
sumber
sumber
pkg lock
lalu menginstalnya, dan kemudian menginstal semua yang Anda inginkan.Jawaban:
Bagaimana FreeBSD Membangun Paket
Proyek FreeBSD digunakan untuk membangun paket hanya untuk rilis dan kadang-kadang untuk cabang STABLE. Pembangun paket lama menggunakan sistem terdistribusi bernama Portbuild. Itu akan menggunakan sekelompok besar mesin 2GB-4GB yang lebih kecil untuk membangun paket. Ini rawan kesalahan dan lambat, sebagian besar karena mesin yang lebih tua. Pembangunan penuh masih bisa memakan waktu seminggu. Paket hari ini dibangun menggunakan mesin besar tunggal menggunakan Poudriere. (Dari halaman web oleh Brian Drewery ).
Lihat juga: Cara memperbarui campuran paket dan port di FreeBSD
FreeBSD memiliki ABI (dan API) yang berevolusi seperti halnya Solaris dan Windows sementara Linux memiliki ABI yang stabil (stagnan?) Sehingga dengan Linux, binari lama masih akan berjalan pada versi OS yang lebih baru sementara dengan OS non-Linux ini bukan t selalu demikian (terkadang demikian).
Menggunakan
pkg lock
masih dapat menyebabkan sakit kepala , sementara itu akan mengunci (menawarkan peringatan) ketika Anda mencoba untuk meningkatkan menggunakannyapkg upgrade
masih menganggap bahwa versi nomor yang lebih tinggi lebih baik (diinginkan) dan itu adalah sesuatu yang ingin Anda lakukan - sehingga meminta izin, dan Anda bisa mengizinkan, tetapi itu tidak menjamin hal lain tidak akan rusak. Lihat URL di atas, atau diskusi ini: " Apakah Anda lebih suka FreeBSD untuk mengunci versi paket biner yang didistribusikan melalui pkg untuk versi OS? ".Jika satu paket terkunci kadang-kadang Anda harus memberikan izin untuk membukanya dan melakukan peningkatan, sementara itu akan bekerja untuk satu paket (dan semua dependensinya) tidak ada jaminan bahwa sesuatu yang lain tidak akan tidak kompatibel dengan perpustakaan baru ( dan karenanya juga perlu ditingkatkan, jika saat ini tersedia).
Blog Brian Drewery: " FreeBSD Journal: Poudriere " berpendapat:
Tapi, halangan ...
Jadi ...
Solusinya:
Menyiapkan repositori Anda sendiri dengan poudriere memungkinkan Anda memiliki fleksibilitas port dan kemudahan pengelolaan paket.
sumber