Cara Update Sistem Ports FreeBSD
· 2 min read · Label UnixBSDKoleksi Ports FreeBSD menyediakan cara yang sederhana dan terpusat untuk menginstal perangkat lunak FreeBSD. Ports terdiri dari direktori terkategori yang berisi makefile yang digunakan oleh perintah make untuk mengompilasi kode sumber menjadi program atau pustaka yang dapat dieksekusi. Koleksi Ports dirancang untuk otomatisasi dan relatif mudah digunakan. Dengan Koleksi Ports, administrator dapat bertanggung jawab untuk selalu memperbarui aplikasi/program ke versi terbaru yang bersumber dari pengembang resmi yang membuat program tersebut.
Menginstal perangkat lunak dari port sama dengan membangun program dari kode sumber. Jika kode sumber belum ada di sistem, kode tersebut dapat diunduh dari situs yang ditentukan oleh makefile. Sistem memverifikasi konten kode sumber yang diunduh, biasanya menggunakan hash MD5 (Message-Digest algorithm 5) untuk memastikan keasliannya. Hash MD5 adalah string alfanumerik 32 karakter yang seperti sidik jari untuk sebuah file. Contoh penulisan Hash MD5 akan terlihat seperti ini: e6c75c12f663a484ee3157ab058cfc9e.
Setelah kode sumber diautentikasi, program make memeriksa makefile untuk melihat apakah port tersebut memerlukan perangkat lunak lain. Jika demikian, FreeBSD juga menginstal dependensi tersebut. Selanjutnya, dependensi tersebut akan diterapkan ke kode sumber sebelum dikompilasi dan diinstal. Setelah semua pemrosesan selesai, port diperlakukan sebagai paket FreeBSD dan dicatat dalam basis data paket yang diinstal, pkgdb.db, yang disimpan di direktori /var/db/pkg.
1. Portsnap
Portsnap adalah utilitas FreeBSD yang digunakan untuk mengambil dan memperbarui snapshot terkompresi dari sistem port FreeBSD, dan mengekstrak serta memperbarui port yang tidak terkompresi. Dalam operasi pembaruan normal, portsnap akan memulihkan file yang dimodifikasi secara berkala ke keadaan yang tidak dimodifikasi dan menghapus file lokal yang tidak dikenal.
Sebelum menggunakan port, Anda harus terlebih dahulu mendapatkan direktori Ports Collection di folder /usr/ports. Perintah portsnap memungkinkan untuk mengunduh dan memperbarui koleksi Ports FreeBSD melalui internet. Untuk mengunduh koleksi Ports, ketik perintah berikut.
root@ns2:~ # portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 5 mirrors found.
Fetching snapshot tag from dualstack.aws.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Updating from Mon Jul 3 07:05:15 WIB 2023 to Tue Jul 4 14:40:14 WIB 2023.
Fetching 5 metadata patches... done.
Applying metadata patches... done.
Fetching 0 metadata files... done.
root@ns2:~ # portsnap extract
/usr/ports/.arcconfig
/usr/ports/.gitignore
/usr/ports/.hooks/pre-commit
/usr/ports/.hooks/pre-commit.d/
/usr/ports/.hooks/prepare-commit-msg
/usr/ports/CHANGES
/usr/ports/CONTRIBUTING.md
/usr/ports/COPYRIGHT
/usr/ports/GIDs
/usr/ports/Keywords/exec.ucl
/usr/ports/Keywords/fc.ucl
Lanjutkan dengan memperbarui koleksi Port.
root@ns2:~ # portsnap update
Ports tree is already up to date.
2. Perbarui Port dengan Git
Selain portsnap, koleksi Ports FreeBSD juga dapat diperbarui menggunakan git.Git adalah apa yang disebut Version Control System ("VCS") yang dapat membantu mengendalikan suatu proyek. Suatu proyek dapat berupa apa saja, satu skrip shell, sekelompok skrip shell, kode sumber untuk suatu program (atau banyak program) dan bahkan dapat memperbarui kernel FreeBSD. Untuk memperbarui koleksi Ports dengan git, ketik perintah berikut.
root@ns2:~ # pkg install git
root@ns2:~ # git clone -b release/13.2.0 --depth 1 https://git.FreeBSD.org/ports.git /usr/ports
Cloning into '/usr/ports'...
Setelah Anda selesai mengkloning koleksi Ports, jalankan skrip git pull dan git branch.
root@ns2:~ # cd /usr/ports
root@ns2:/usr/ports # git pull && git branch --all
root@ns2:/usr/ports # git config --global --add safe.directory /usr/ports
3. Perbarui Port
Agar koleksi Ports tetap dan selalu menampilkan versi terbaru, koleksi Ports FreeBSD harus selalu diperbarui, hal ini dilakukan untuk memastikan bahwa aplikasi yang akan diinstal melalui sistem port adalah versi terbaru. Untuk memperbarui koleksi Ports, ikuti langkah-langkah berikut.root@ns2:~ # cd /usr/ports/lang/perl5.32
root@ns2:/usr/ports/lang/perl5.38 # make install clean
root@ns2:~ # cd /usr/ports/ports-mgmt/portmaster
root@ns2:/usr/ports/ports-mgmt/portmaster # make install clean
portmaster akan mengidentifikasi empat kategori dari ports:
- Root Port: Port root tidak memiliki dependen dan tidak memiliki dependensi.
- Trunk Port: Trunk Port tidak mempunyai tanggungan, tetapi bergantung pada port lainnya.
- Branch port: Pelabuhan Cabang memiliki ketergantungan dan bergantung pada pelabuhan lain.
- Leaf port: Leaf Port memiliki dependensi tetapi tidak bergantung pada port lainnya.
root@ns2:~ # portmaster -L
Untuk memperbarui atau memutakhirkan semua port lama, gunakan skrip berikut.
root@ns2:~ # portmaster -a
Kita juga dapat menambahkan -f untuk meng-upgrade dan membangun kembali semua port jika terjadi masalah selama proses upgrade.
root@ns2:~ # portmaster -af
Portmaster juga dapat digunakan untuk menginstal port baru, memperbarui semua dependensi sebelum membangun dan menginstal port baru. Untuk menggunakan fitur ini, tentukan lokasi port di Ports Collection. Contoh di bawah ini adalah untuk memperbarui dependensi program bash.
root@ns2:~ # portmaster shells/bash
Langkah berikutnya untuk memperbarui koleksi Port adalah dengan perintah portupgrade.
root@ns2:~ # cd /usr/ports/ports-mgmt/portupgrade
root@ns2:/usr/ports/ports-mgmt/portupgrade # make install clean
Gunakan perintah berikut untuk memperbarui semua port yang ada pada sistem FreeBSD.
root@ns2:~ # portupgrade -a
root@ns2:~ # portupgrade -ai
Untuk memperbarui hanya satu aplikasi, gunakan skrip berikut.
root@ns2:~ # portupgrade -R apache24
or
root@ns2:~ # portupgrade -PP apache24
4. Membersihkan Sampah Ports
Menggunakan Ports Collection akan menghabiskan ruang disk. Setelah aplikasi diinstal dan diperbarui, aplikasi akan meninggalkan file cache di Ports collection. Menjalankan make clean di dalam kerangka kerja port akan menghapus direktori kerja sementara. Kecuali jika -K diberikan, Portmaster secara otomatis menghancurkan direktori ini setelah menginstal dan memperbarui aplikasi. Misalnya, jika apache24 diinstal, perintah berikut akan menghapus semua file sementara dari salinan lokal Ports Collection.root@ns2:~ # cd /usr/ports/www/apache24
root@ns2:/usr/ports/www/apache24 # make install clean
root@ns2:/usr/ports/www/apache24 # portsclean -C
Skrip pertama dalam perintah di atas membuka folder /usr/ports/www/apache24, skrip kedua menginstal aplikasi apache24 dan skrip ketiga akan menghapus file dependensi sementara yang digunakan untuk menginstal apache24. File ini biasanya ada di folder work. Selama proses instalasi Apache, folder work ada di folder /usr/ports/www/apache24/work.
Selain itu, file distribusi yang berasal dari sumber instalasi dikumpulkan di folder /usr/ports/distfiles. Untuk menghapus semua distfiles yang tidak lagi direferensikan oleh port mana pun, gunakan Portupgrade. Namun, sebaiknya file di folder /usr/ports/distfiles tidak dihapus. Jalankan perintah berikut untuk menghapus file di folder /usr/ports/distfiles.
Selain itu, file distribusi yang berasal dari sumber instalasi dikumpulkan di folder /usr/ports/distfiles. Untuk menghapus semua distfiles yang tidak lagi direferensikan oleh port mana pun, gunakan Portupgrade. Namun, sebaiknya file di folder /usr/ports/distfiles tidak dihapus. Jalankan perintah berikut untuk menghapus file di folder /usr/ports/distfiles.
root@ns2:~ # portsclean -D
or
root@ns2:~ # portscleaning -DD
Silahkan Berkomentar, Kakak...! Bunda...!
Posting Komentar