Cara Menggunakan Pkg Package Manager di FreeBSD 12

pengantar

FreeBSD adalah open source sistem operasi mirip Unix yang digunakan untuk memberi daya pada server modern, desktop, dan platform tertanam. Raksasa seperti Netflix, Yahoo !, WhatsApp, BBC, dan Sony menggunakan FreeBSD dalam beberapa bentuk. Sistem FreeBSD tidak dikenal secara luas seperti Linux, terutama karena Linux telah memfokuskan selama bertahun-tahun pada Desktop dan proyek FreeBSD cenderung lebih berbasis server.

Dalam panduan ini, Anda akan belajar tentang manajemen paket di FreeBSD 12.

Port vs Paket

Di FreeBSD kami memiliki dua cara berbeda untuk menginstal perangkat lunak tambahan: melalui Ports Collection , atau Ports , dan melalui paket yang telah dikonfigurasi untuk menginstal dan mengelola perangkat lunak.

Ports adalah sistem untuk membangun perangkat lunak tambahan di FreeBSD. Dengan Ports Anda mulai dengan kode sumber mentah yang disediakan oleh vendor perangkat lunak dan membangun perangkat lunak persis seperti yang Anda butuhkan, mengaktifkan dan menonaktifkan fitur yang Anda butuhkan.

Paket adalah perangkat lunak yang sudah dikompilasi, dan mereka adalah hasil dari pembangunan port, menggunakan opsi yang menurut pengelola pelabuhan akan sangat berguna bagi beragam orang dan menggabungkannya dalam sebuah paket untuk membuatnya mudah diinstal. Paket memungkinkan Anda dengan cepat menginstal, menghapus instalan, dan meningkatkan perangkat lunak tambahan. Sistem pengemasan FreeBSD disebut paket , atau pkg. Informasi paket disimpan dalam database SQLite yang dapat Anda tanyakan tentang data paket.

Hal penting lain tentang manajemen paket FreeBSD adalah lokasi paket binari. Paket menginstal binari di bawah /usr/local, dan sebagian besar file konfigurasi berakhir di /usr/local/etcbukan /etc. Jika Anda berasal dari dunia Linux, Anda mungkin menemukan ini sangat tidak biasa.

Manajer paket FreeBSD, pkg

Pengganti generasi berikutnya untuk alat manajemen paket FreeBSD tradisional adalah pkg. Menawarkan banyak fitur yang membuat berurusan dengan paket biner lebih cepat dan lebih mudah, pkgadalah cara termudah untuk menginstal perangkat lunak yang belum termasuk dalam sistem dasar FreeBSD. Ini adalah program tunggal dengan banyak sub perintah yang akan Anda gunakan untuk hampir semua operasi pada paket seperti menginstal, menghapus dan menyelidiki paket. Semua operasi paket dan perubahan harus dijalankan sebagai rootatau melalui sudo.

Inilah cara Anda menginstal curlpaket di FreeBSD:

pkg install curl

Anda dapat memberi makan perintah dengan -yuntuk menghindari Proceed with this action? [y/N]:pertanyaan saat menginstal perangkat lunak atau Anda dapat mengonfigurasi pkguntuk selalu menganggap -ydalam file konfigurasi.

Untuk menghapus paket, Anda akan menggunakan delete:

pkg delete curl

Seperti yang Anda lihat, ini sangat sederhana dan intuitif.

Gunakan pkg helpuntuk referensi cepat pada sub-perintah yang tersedia, atau pkg help <subcommand>untuk menampilkan halaman manual untuk sub-perintah tertentu:

pkg help
pkg help install
pkg help delete

Menginstal pkg

Versi stok FreeBSD tidak dikirimkan dengan pkgmanajer paket diinstal. Pertama kali Anda mencoba menginstal beberapa paket, pkgmeminta Anda untuk menginstal alat manajemen paket. Sebagai contoh, katakanlah paket pertama yang ingin Anda instal pada FreeBSD Anda yang baru wget, dan Anda akan melihat prompt berikut di terminal Anda:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y

Anda akan menekan Ydan ENTERinstalasi alat manajemen paket akan dimulai. Setelah terpasang, paket perangkat lunak awal yang ingin Anda instal ( wget) akan diinstal.

Anda juga dapat menginstal sistem pengemasannya sendiri, tanpa menambahkan paket lain, dengan menjalankan pkg bootstrap. Selain itu, pkgtahu cara menginstal dan memperbarui sendiri dan paket lainnya.

CATATAN: Instance Vultr telah pkgdiinstal secara default, jadi Anda tidak perlu menginstalnya.

Mengkonfigurasi pkg

The pkgProgram ini dirancang untuk menjadi sangat fleksibel, dengan masing-masing subcommand memiliki banyak pilihan. Anda dapat membuat perilaku yang disesuaikan, namun konsisten untuk sebagian besar program dengan file konfigurasi sistem-lebar untuk pkg, yang terletak di /usr/local/etc/pkg.conf.

File tersebut berisi default-commented-out untuk pkg. Hanya dengan membaca file itu, Anda dapat belajar banyak tentang bagaimana pkgberperilaku. Konfigurasi ini ditulis dalam bahasa konfigurasi universal (UCL) dan ada banyak opsi konfigurasi yang dikomentari dan beberapa alias. Variabel dapat diatur ke integer, string, atau nilai Boolean:

#PKG_DBDIR = "/var/db/pkg";
#PKG_CACHEDIR = "/var/cache/pkg";
#PORTSDIR = "/usr/ports";
#INDEXDIR = "";
#INDEXFILE = "INDEX-10";        # Autogenerated
#HANDLE_RC_SCRIPTS = false;
#DEFAULT_ALWAYS_YES = false;
#ASSUME_ALWAYS_YES = false;
. . .

Anda dapat mendefinisikan alias untuk pkgsub perintah di pkg.conf. Di bagian bawah pkg.conf, Anda akan menemukan bagian yang berlabel ALIAS. Ketika Anda menemukan diri Anda berulang kali menjalankan perintah yang rumit, Anda harus menambahkan alias.

Untuk informasi lebih lanjut tentang format dan opsi file, Anda dapat merujuk ke pkg.conf(5)halaman manual:

man pkg.conf

Mencari paket

Sekarang Anda telah menginstal manajer paket, Anda dapat menginstal paket. Jika Anda seorang sys-admin, Anda terbiasa dengan kenyataan bahwa sistem operasi yang berbeda menetapkan nama yang berbeda untuk versi paket dari perangkat lunak yang sama. Paket untuk server web Apache di FreeBSD, misalnya, akan memiliki nama yang sama sekali berbeda dari paket Apache pada distribusi Linux yang berbeda. Jadi, sebelum Anda dapat menginstal apa pun, Anda harus mencari tahu apa nama paket yang ingin Anda instal.

Proyek FreeBSD menawarkan beberapa set paket dalam repositori publik, dan mereka diperbarui setiap beberapa hari. Saat ini ada lebih dari 25.000 paket.

Sebagai contoh, mari kita coba mencari server web Apache:

pkg search apache
# apache24-2.4.38                Version 2.4.x of Apache web server

Ini akan menemukan semua paket dengan apachenama mereka. Ini akan menghasilkan daftar panjang, tetapi yang Anda cari adalah apache24paketnya. Ada deskripsi singkat dari setiap paket. Ini akan membantu Anda ketika memutuskan paket apa yang akan diinstal, tetapi tidak selalu sederhana.

Beberapa pencarian dapat menghasilkan ratusan hasil. Anda perlu menggunakan opsi baris perintah yang berbeda untuk memotong atau menyesuaikan hasil pencarian. Lihat pkg-searchhalaman manual atau halaman bantuan pkg help searchuntuk mempelajari lebih lanjut tentang opsi pencarian umum.

Jika Anda tidak yakin apakah suatu paket adalah yang benar-benar Anda inginkan, Anda dapat menggunakan perintah berikut untuk mencari rincian paket:

pkg search -R apache24

# name: "apache24"
# origin: "www/apache24"
# version: "2.4.38"
# comment: "Version 2.4.x of Apache web server"
# maintainer: "[email protected]"
# www: "https://httpd.apache.org/"
# abi: "FreeBSD:12:amd64"
# arch: "freebsd:12:x86:64"
# prefix: "/usr/local"
# . . .
# . . .

Perintah ini akan memberi Anda banyak informasi berguna tentang paket.

Menginstal paket

Untuk menginstal perangkat lunak, gunakan installsub perintah dan nama paket untuk menginstal:

pkg install apache24

Ketika Anda menginstal paket pkg install, pkgberkonsultasi dengan katalog paket lokal, lalu mengunduh paket yang diminta dari repositori di pkg.FreeBSD.org. Setelah paket diinstal, itu terdaftar dalam database SQLite disimpan /var/db/pkg/local.sqlite. Berhati-hatilah untuk tidak menghapus file ini, jika tidak, sistem Anda akan kehilangan jejak paket mana yang telah diinstal. Jika perangkat lunak memiliki dependensi, pkgakan mencari tahu dan menginstalnya bersama dengan paket dasar. Paket yang diinstal sebagai dependensi disebut paket otomatis .

Pengelola paket memiliki kemampuan untuk hanya mengunduh paket melalui internet dan menyimpannya di satu lokasi pada disk. Ini memungkinkan Anda untuk menginstalnya di lain waktu. Anda dapat menggunakan pkg fetchperintah untuk mengunduh paket tanpa menginstalnya:

pkg fetch nginx

Perintah ini hanya akan mengambil Nginx tanpa ketergantungannya. Anda dapat menggunakan -dbendera untuk mengambil semua dependensi serta paket yang disebutkan:

pkg fetch -d nginx

Paket-paket tersebut diunduh ke direktori cache paket /var/cache/pkg. Setelah Anda mengambil paket, pkgakan menambahkannya ke direktori ini. Anda dapat membuat daftar file untuk melihat isinya:

ls /var/cache/pkg

Sekarang, untuk menginstal paket yang diunduh setelah pengambilan, jalankan secara pkg installnormal. Proses instalasi menggunakan file yang di-cache daripada yang diunduh.

Seiring waktu, direktori cache paket dapat tumbuh besar. The pkg cleanperintah menghapus setiap paket cache yang telah digantikan oleh versi yang lebih baru, serta file paket yang tidak lagi dalam repositori:

pkg clean

Jika Anda ingin menghapus semua paket yang di-cache, gunakan -aflag:

pkg clean -a

Jika Anda ingin membersihkan cache paket secara otomatis setelah setiap paket diinstal atau ditingkatkan, atur pkg.confopsi AUTOCLEANmenjadi true.

Memperoleh informasi tentang paket yang diinstal

Jika Anda lupa paket mana yang telah Anda instal pada sistem yang dapat Anda gunakan pkg infountuk mendapatkan daftar lengkap perangkat lunak yang diinstal:

pkg info
# atk-2.28.1                     GNOME accessibility toolkit (ATK)
# avahi-app-0.7_2                Service discovery on a local network
# ca_root_nss-3.42.1             Root certificate bundle from the Mozilla Project
# . . .
# . . .

Jika Anda ingin informasi lebih lanjut tentang paket yang diinstal, gunakan pkg infodan nama paket. Ini menunjukkan detail instalasi paket dalam laporan ramah-manusia:

pkg info nginx
# nginx-1.14.2_3,2
# Name           : nginx
# Version        : 1.14.2_3,2
# . . .
# . . .

Anda dapat melihat banyak informasi berguna seperti versi perangkat lunak, waktu instalasi perangkat lunak, lisensi perangkat lunak, flag waktu kompilasi dan banyak lagi. Periksa pkg-infohalaman manual untuk detail lengkap.

Menghapus paket

Untuk menghapus paket biner gunakan pkg deletesub perintah . Ini juga tersedia sebagai pkg remove:

pkg delete nginx
# or
pkg remove nginx

Anda akan mendapatkan daftar paket yang akan dihapus dan berapa banyak ruang yang akan dibebaskan.

Jika Anda menghapus paket yang menjadi sandaran paket lain, pkghapus juga paket yang tergantung itu.

Paket penguncian

Mungkin ada saat di mana Anda ingin paket di server Anda tidak pernah ditingkatkan. Saat Anda mengunci paket, pkgtidak akan meningkatkan, menurunkan, menghapus atau menginstalnya kembali. Itu berlaku aturan yang sama untuk dependensi paket dan program yang bergantung padanya.

Gunakan pkg lockuntuk mengunci paket:

pkg lock openssl

Ini opensslpaket sekarang terkunci.

Untuk mendaftar semua paket yang saat ini dikunci di sistem, gunakan -lbendera:

pkg lock -l

Untuk menghapus kunci, gunakan pkg unlockperintah:

pkg unlock openssl

Untuk mengunci atau membuka kunci semua paket pada sistem sekaligus, gunakan -abendera:

pkg lock -a
pkg unlock -a

Paket repositori

Repositori paket didukung oleh pkg, yang dinamai koleksi paket. Anda dapat menambah, menghapus, mengaktifkan, dan menonaktifkan repositori. Anda harus mengkonfigurasi setiap repositori dalam file sendiri menggunakan format UCL. Repositori FreeBSD resmi termasuk dalam /etc/pkgdirektori. FreeBSD dikirimkan dengan repo "FreeBSD" diaktifkan. Anda akan menemukan file konfigurasinya di /etc/pkg/FreeBSD.conf:

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

Anda dapat menambah dan menghapus repositori sesuai kebutuhan. Seperti /etc/pkgyang disediakan untuk repositori FreeBSD resmi, Anda akan memerlukan direktori lain. Lokasi tradisional adalah /usr/local/etc/pkg/repos. Jika Anda ingin menggunakan direktori yang berbeda, Anda harus mengatur lokasi pkg.confdengan REPO_DIRSopsi tersebut. Direktori repositori lokal tidak ada secara default, jadi Anda harus membuatnya dengan mkdir -p /usr/local/etc/pkg/repos. Letakkan konfigurasi repositori Anda sendiri di direktori itu.

pkgSub-perintah contoh

Bagian ini akan mendaftar beberapa sub-perintah yang paling sering digunakan yang kemungkinan besar akan Anda gunakan ketika mengelola server FreeBSD:

# Installs a package without asking any questions
pkg install -y package

# Makes a backup of the local package database
pkg backup

# Lists all installed packages
pkg info

# Shows extended information for a package
pkg info package

# Searches package repository
pkg search -i package

# Shows packages with known security vulnerabilities
pkg audit -F

# Shows which package owns the named file
pkg which file

# Removes unused packages
pkg autoremove

# Uninstalls a package
pkg delete package

# Removes cached packages from /var/cache/pkg 
pkg clean -ay

# Updates local copy of the package catalog
pkg update

# Upgrades installed packages to their latest version
pkg upgrade

# Checks the integrity of all your packages
pkg check -saq

# Verifies that a package's files are unaltered
pkg check -s nginx

# Shows what files came with the package
pkg info -l nginx

# Lists non-automatic packages
pkg prime-list

File dan direktori penting

  • File pkgkonfigurasi -/usr/local/etc/pkg.conf
  • Direktori dicadangkan untuk repositori FreeBSD resmi - /etc/pkg
  • File repositori FreeBSD - /etc/pkg/FreeBSD.conf
  • Lokasi tradisional untuk repositori khusus - /usr/local/etc/pkg/repos
  • Direktori cache paket - /var/cache/pkg
  • Database SQLite - /var/db/pkg/local.sqlite

Ringkasan

FreeBSD menyediakan dua teknologi pelengkap untuk menginstal perangkat lunak pihak ketiga: FreeBSD Ports Collection, untuk menginstal dari sumber dan paket, untuk menginstal dari binari yang dibuat sebelumnya. Karena FreeBSD menggeser sistem lebih tegas ke arah manajemen paket universal, cobalah untuk mengelola perangkat lunak pihak ketiga pkgsejauh mungkin. Hindari penggunaan port kecuali perangkat lunak yang Anda inginkan tidak memiliki versi paket atau Anda perlu menyesuaikan opsi waktu kompilasi.



Leave a Comment

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut