23 Contoh Perintah PKG yang Berguna untuk Mengelola Paket di FreeBSD


Dalam tutorial ini kami akan menjelaskan cara mengelola aplikasi paket biner yang telah dikompilasi sebelumnya di FreeBSD dengan bantuan alat manajemen paket bernama PKG melalui Ports gudang koleksi perangkat lunak.

Repositori Ports menawarkan alat yang diperlukan untuk mengkompilasi aplikasi dari kode sumber, beserta dependensinya, namun juga menyimpan banyak koleksi paket yang telah dikompilasi sebelumnya, saat ini lebih dari 24.000 paket, yang dapat diinstal pada sistem FreeBSD dengan perintah pkg.

Persyaratan:

  1. Instalasi FreeBSD 11.x

Cari dan Temukan Aplikasi di Ports Tree di FreeBSD

1. Repositori port dibagi dalam beberapa kategori di FreeBSD, setiap kategori diwakili oleh direktori di jalur sistem file /usr/ports/.

Daftar sederhana direktori /usr/ports/ akan menampilkan semua kategori yang tersedia seperti yang ditunjukkan pada gambar di bawah.

ls /usr/ports/

2. Untuk melihat semua aplikasi yang tersedia dalam suatu kategori, jalankan perintah ls pada direktori kategori.

Misalkan Anda ingin menampilkan semua paket perangkat lunak yang tersedia yang ditawarkan kategori database, jalankan perintah di bawah ini di konsol. Pipa hasilnya melalui perintah less untuk menavigasi output dengan lebih mudah.

ls /usr/ports/databases/ | less

3. Untuk melihat berapa banyak paket yang tersedia dalam suatu kategori, daftarkan direktori kategori dan kirimkan hasilnya melalui perintah wc seperti yang ditunjukkan pada contoh di bawah ini.

ls /usr/ports/databases/ | wc -l

Seperti yang Anda lihat pada tangkapan layar di atas, kategori basis data FreeBSD menampung lebih dari 1000 paket basis data yang telah dipenuhi sebelumnya.

4. Untuk melihat apakah aplikasi tertentu tersedia dalam suatu kategori, sekali lagi, gunakan perintah ls dan filter hasilnya melalui utilitas grep untuk mencari aplikasi khusus.

Pada contoh di bawah ini akan mencari paket basis data mongodb yang tersedia dan paket keamanan clam antivirus.

ls /usr/ports/databases/ | grep mongodb
ls /usr/ports/security/ | grep clam

Seperti yang Anda lihat, beberapa versi aplikasi dapat tersedia di Port FreeBSD.

5. Jika Anda tidak mengetahui kategori mana yang termasuk dalam suatu perangkat lunak, Anda dapat menggunakan pendekatan lain untuk menemukan kategori perangkat lunak tersebut. Gunakan karakter * wildcard globbing shell untuk mencari pola di seluruh pohon direktori Ports.

Dengan asumsi Anda ingin melihat dalam kategori apa Anda dapat menemukan paket perangkat lunak untuk utilitas mailx, Anda dapat menjalankan perintah berikut.

ls /usr/ports/*/*mailx

6. Metode lain untuk mencari paket perangkat lunak dan kategori paket tersebut, adalah dengan menggunakan perintah loc terhadap pola string.

Sebelum melakukan pencarian string, Anda harus memperbarui database lokasi dengan perintah berikut.

/usr/libexec/locate.updatedb

7. Setelah Anda memperbarui database lokasi, cari paket perangkat lunak tertentu dengan menggunakan pola kata kunci dari nama paket. Misalnya, jika Anda ingin mencari utilitas mailx, Anda dapat menjalankan perintah di bawah ini.

locate mailx

Seperti yang Anda lihat, ada dua paket yang tersedia untuk utilitas mailx, keduanya terletak di kategori /usr/ports/mail/.

8. Mirip dengan mencari paket dengan perintah loc, Anda juga dapat menggunakan perintah Whereis, untuk melihat kategori aplikasi.

whereis mailx

Pencarian Perangkat Lunak melalui Perintah PKG di FreeBSD

9. Metode termudah untuk mencari dan menemukan aplikasi di FreeBSD adalah melalui baris perintah manajemen paket PKG. Untuk mencari paket biner suatu aplikasi, misalnya perangkat lunak postfix, jalankan perintah di bawah ini.

pkg search package_name

10. Jika Anda ingin melihat kategori mana yang dimiliki paket tersebut, jalankan perintah yang sama seperti di atas dengan tanda -o, seperti yang diilustrasikan dalam contoh di bawah.

pkg search -o package_name

Kelola Perangkat Lunak di FreeBSD

11. Untuk menginstal paket yang telah dikompilasi dari repositori Ports di FreeBSD, jalankan perintah pkg seperti yang diilustrasikan dalam contoh di bawah.

pkg install package_name

12. Untuk menanyakan informasi tentang paket tertentu yang terinstal di sistem, jalankan perintah di bawah ini.

pkg info package_name

13. Sakelar perintah info pkg akan menampilkan pesan “Tidak ada paket yang cocok dengan nama_paket ” jika paket perangkat lunak belum diinstal di sistem Anda, seperti yang ditunjukkan pada gambar di bawah.

pkg info tcpdump

14. Untuk membuat daftar semua paket perangkat lunak yang terinstal di FreeBSD, jalankan perintah pkg info tanpa opsi atau tombol apa pun.

Filter grep terhadap perintah pkg info dapat menunjukkan kepada Anda apakah beberapa paket atau aplikasi tertentu sudah ada di sistem, seperti yang diilustrasikan dalam contoh di bawah.

pkg info | grep ftp

15. Untuk menghapus paket dari sistem, jalankan perintah di bawah ini.

pkg remove package_name
or
pkg delete package_name

16. Jika Anda ingin mencegah penghapusan atau modifikasi paket yang diinstal, Anda dapat menggunakan tombol lock untuk perintah pkg, seperti yang ditunjukkan pada gambar di bawah.

pkg lock package_name

Sakelar perintah Buka kunci pkg akan memungkinkan Anda menghapus batasan paket dan memodifikasi atau menghapus instalan paket.

pkg unlock package_name

17. Untuk mengetahui paket terinstal mana yang memiliki perintah atau file yang dapat dieksekusi, jalankan perintah berikut, seperti yang diilustrasikan dalam contoh tangkapan layar di bawah.

pkg which /path/to/executable

18. Untuk mengunduh paket secara lokal dari repositori Ports, tanpa menginstal paket tersebut pada sistem, jalankan perintah pkg dengan tombol ambil.

Biner paket yang diunduh, yang merupakan file .txz terkompresi, dapat ditemukan di jalur sistem /var/cache/pkg/.

pkg fetch package_name
ls /var/cache/pkg/ | grep package_name

19. Untuk memeriksa apakah paket yang diinstal terkena kerentanan umum atau bug, jalankan perintah di bawah ini.

pkg audit -F

Untuk melihat daftar kerentanan lama yang memengaruhi paket perangkat lunak di versi sebelumnya, jalankan perintah di bawah ini.

pkg audit package_name

Di bawah ini adalah kutipan dari semua kerentanan yang diketahui yang ditemukan di server web Nginx yang dikompilasi untuk FreeBSD.

pkg audit nginx
nginx is vulnerable:
Affected versions:
<= 0.8.41 : > 1.4.4,1
nginx -- Request line parsing vulnerability
CVE: CVE-2013-4547
WWW: https://vuxml.FreeBSD.org/freebsd/94b6264a-5140-11e3-8b22-f0def16c5c1b.html

nginx is vulnerable:
Affected versions:
< 1.0.15
nginx -- Buffer overflow in the ngx_http_mp4_module
CVE: CVE-2012-2089
WWW: https://vuxml.FreeBSD.org/freebsd/0c14dfa7-879e-11e1-a2a0-00500802d8f7.html

nginx is vulnerable:
Affected versions:
< 1.4.7
nginx -- SPDY heap buffer overflow
CVE: CVE-2014-0133
WWW: https://vuxml.FreeBSD.org/freebsd/fc28df92-b233-11e3-99ca-f0def16c5c1b.html
...

Pertahankan Utilitas Manajemen Paket di FreeBSD

20. Untuk memastikan bahwa repositori perangkat lunak dan semua paket yang Anda instal selalu mutakhir dengan versi terbaru atau patch keamanan, jalankan perintah berikut.

pkg update
pkg upgrade

21. Untuk menampilkan statistik repositori jarak jauh dan paket lokal, seperti berapa banyak paket yang diinstal di sistem Anda dan berapa banyak ruang disk yang diisi oleh perangkat lunak yang diinstal, jalankan perintah berikut.

pkg stats

22. Untuk menghapus semua dependensi yang ditinggalkan oleh paket yang terinstal di sistem, jalankan perintah di bawah ini.

pkg autoremove

23. Untuk secara otomatis menghapus direktori cache lokal manajemen paket untuk paket yang diunduh dari jarak jauh, jalankan perintah di bawah ini. Anda harus terlebih dahulu memverifikasi daftar paket biner yang diunduh secara lokal.

pkg clean -a -n  
pkg clean -a -y

Itu saja! Seperti yang Anda lihat, FreeBSD memiliki sistem pengumpulan paket yang mengesankan, mirip dengan alat manajemen paket yang digunakan dalam distribusi Linux seperti Yum, RPM dan APT dengan sejumlah besar binari perangkat lunak yang telah dikompilasi sebelumnya dan sistem yang sederhana dan sederhana. baris perintah yang efektif, pkg, yang dapat digunakan untuk mengelola perangkat lunak dengan cara yang layak.