Episode ini membahas cara mengelola software di DragonFlyBSD: binary packages dengan pkg (install, upgrade, search, info, repo), lalu DPorts dengan make install clean dan dsynth untuk membangun package sendiri, termasuk tradeoff antara jalur binary dan source.

Di episode 3 sebelumnya kalian sudah menyelesaikan instalasi dan memiliki DragonFlyBSD yang berjalan dengan HAMMER2 di root. Tapi sistem operasi tanpa aplikasi itu seperti gudang kosong. Episode ini mengajarkan kalian mengisi gudang itu: memasang software, memperbaruinya, mencari package, dan — ketika binary package belum cukup — membangun sendiri dari source.
DragonFlyBSD memakai dua jalur yang saling melengkapi. Jalur pertama adalah pkg: binary packages yang cepat dan siap pakai. Jalur kedua adalah DPorts: kumpulan recipe yang memungkinkan kalian membangun software dari source dengan kendali penuh atas opsi. Memahami kapan memakai yang mana adalah bagian dari menjadi administrator yang matang.
Binary packages DragonFlyBSD disediakan di pkg.dragonflybsd.org dan diatur lewat file konfigurasi /etc/pkg/ — biasanya /etc/pkg.conf. Konfigurasi repo menentukan dari mana package diambil dan bagaimana update diperlakukan. Pastikan repo aktif sebelum memulai:
cat /etc/pkg.conf
pkg -vpkg -v menampilkan versi pkg itu sendiri — versi 2.x adalah standar modern. Setelah repo terkonfigurasi, langkah pertama yang dianjurkan adalah memperbarui database package.
Alur dasar pengelolaan package:
pkg update
pkg search htop
pkg install htoppkg update memperbarui katalog package dari repo. pkg search menemukan package berdasarkan kata kunci. pkg install memasang package beserta dependensinya. Tidak ada langkah manual untuk mengelola dependensi — pkg menyelesaikan semuanya secara otomatis.
Untuk menjaga sistem tetap mutakhir, jalankan upgrade secara berkala:
pkg upgradeBeberapa perintah lain yang wajib dihafal:
| Perintah | Fungsi |
|---|---|
pkg info | Daftar package yang terinstall |
pkg info pkg-name | Detail sebuah package |
pkg which /path/to/bin | Mencari package pemilik sebuah file |
pkg remove pkg-name | Menghapus package |
pkg autoremove | Membersihkan dependensi yang tidak terpakai |
pkg check -d | Memeriksa integritas dependensi |
Warning
Selalu lakukan pkg update sebelum pkg upgrade. Tanpa katalog terbaru, upgrade bisa melewatkan versi baru atau mencoba menginstal package yang sudah usang dari katalog lama. Ini kebiasaan yang menyelamatkan production server.
pkg set & PKG_NOTESBeberapa package mendukung konfigurasi tambahan lewat variable seperti PKG_OPTIONS. Lihat nota konfigurasi dengan pkg info -D pkg-name, dan lihat opsi yang tersedia di database package dengan:
pkg search -q pkg-name
pkg rquery '%n-%v: %N' pkg-nameKonfigurasi tingkat lanjut seperti ini penting di production — misalnya mengaktifkan fitur tertentu yang tidak ada di build default.
DPorts adalah koleksi Makefile yang menjelaskan cara mengunduh, meng-patch, meng-kompilasi, dan meng-install sebuah software. Tree ini bisa di-clone dari git atau diperbarui dengan pkg install -y dports — ada package yang menyediakan tree siap pakai. Letaknya biasanya di /usr/dports.
git clone https://github.com/DragonFlyBSD/DPorts.git /usr/dportsSetiap aplikasi punya direktori sendiri, misalnya /usr/dports/sysutils/htop. Di dalamnya ada Makefile yang merangkai seluruh proses build.
Untuk membangun sebuah port secara manual, masuk ke direktori port dan jalankan make install clean:
cd /usr/dports/sysutils/htop
make
make install cleanmake mengunduh, meng-patch, dan meng-kompilasi; make install clean memasang hasil build lalu membersihkan file kerja. Ini memberi kendali penuh: kalian bisa mengubah opsi build dengan make config yang membuka dialog pilihan opsi, atau dengan mendefinisikan variable di /etc/make.conf.
Ketika kalian harus membangun banyak package sekaligus — misalnya untuk mirror atau untuk build kustom — lakukan secara paralel dengan dsynth:
dsynth prepare
dsynth build sysutils/htopdsynth adalah pekerja keras: ia membangun package dalam urutan dependensi, memakai banyak core sekaligus, dan menyimpan hasilnya sebagai repo binary lokal. Setelah itu, kalian bisa mengarahkan pkg ke repo lokal tersebut dan menikmati build kustom tanpa mengulang kompilasi.
| Aspek | pkg (binary) | DPorts (source) |
|---|---|---|
| Kecepatan install | Detik | Menit hingga jam |
| Opsi kustom | Terbatas pada build repo | Bebas lewat make config |
| Update | pkg upgrade | make update per port |
| Cocok untuk | Sistem standard, belajar | Build kustom, production niche |
Aturan praktisnya: untuk 95% kebutuhan, pkg sudah cukup. Gunakan DPorts ketika kalian butuh opsi yang tidak tersedia di build binary, atau ketika membangun repo internal dengan dsynth.
Di episode 4 ini kalian telah menguasai dua jalur package management di DragonFlyBSD: pkg untuk binary packages (pkg update, pkg search, pkg install, pkg upgrade, pkg info) dan DPorts untuk build dari source (make install clean, make config, dsynth). Kalian juga memahami tradeoff antara kedua jalur dan kapan harus memakai yang mana.
Inti yang harus dibawa pulang:
pkg adalah jalur utama: pkg update, pkg search, pkg install, pkg upgrade, pkg info.pkg.dragonflybsd.org dikonfigurasi lewat /etc/pkg.conf.make install clean dan make config untuk opsi kustom.dsynth membangun banyak package paralel dan menghasilkan repo binary sendiri.Di episode 5 selanjutnya kita akan belajar user, group & doas: membuat user dengan useradd dan adduser, menghapus dengan userdel, mengelola groupadd, memahami struktur /etc/passwd dan /etc/group, serta mengonfigurasi privilege dengan su, doas, dan sudo.