GNU/Linux >> Belajar Linux >  >> Linux

Manajemen Paket Tingkat Lanjut di Kali Linux

Advanced Package Tool (APT) adalah bagaimana program, perpustakaan, dokumentasi, dan bahkan kernel itu sendiri diinstal dan dikelola di Kali dan turunan berbasis Debian lainnya. APT sering bekerja dengan sangat baik sehingga banyak pengguna tidak memberikan perhatian khusus selain mencari dan menginstal program dan (semoga) memperbarui sistem mereka secara teratur.

Untuk sebagian besar pengguna standar, menggunakan APT dengan cara ini adalah hal yang normal, tetapi kami ingin berpikir bahwa orang yang menggunakan Kali Linux bukanlah pengguna standar (dalam cara yang baik) dan oleh karena itu kami mencurahkan posting ini untuk memberi tahu Anda bagaimana Anda dapat menggunakan dengan lebih baik. APT dan bagaimana memanfaatkan ekosistem luas dari paket yang tersedia, sambil menjaga sistem Kali Anda tetap stabil dan bahagia.

Banyak orang akan memberitahu Anda bahwa Anda tidak harus bergantung pada manajer paket sama sekali dan sebaliknya, Anda harus mengkompilasi semuanya dari awal karena Anda akan belajar lebih banyak dengan cara itu. Meskipun memang benar bahwa Anda akan belajar banyak, terutama saat memulai, membangun semuanya dengan tangan akan cepat berubah menjadi kebosanan ketika Anda bisa menghabiskan waktu untuk meretas atau mempelajari sesuatu yang baru, sebaiknya keduanya.

Dalam posting ini, kami akan menunjukkan kepada Anda bagaimana Anda dapat dengan aman menambahkan repositori paket tambahan ke instalasi Kali Anda, bagaimana memutakhirkan dan menurunkannya, dan bagaimana memastikan semua repositori ini hidup dalam harmoni. APT sangat kuat dan akan mengevaluasi paket yang tersedia dari semua sumber secara keseluruhan ketika merumuskan solusinya.

Menambahkan Sumber Paket ke Kali Linux

Jika Anda ingin membahagiakan diri Anda di masa depan, sebaiknya jangan langsung mengedit /etc/apt/sources.list secara langsung. Untuk setiap repositori paket baru yang Anda tambahkan ke sistem Anda, buat file baru dengan nama deskriptif (seperti debian-unstable.list ) di bawah /etc/apt/sources.list.d/ . Dengan meninggalkan sources.list asli file tidak tersentuh, jika Kali perlu memperbaruinya, itu tidak akan mengganggu Anda selama pembaruan, menanyakan versi file mana yang akan disimpan.

Dalam posting ini, kita akan menambahkan repositori Kali Bleeding-Edge dan repositori Debian Unstable dan Eksperimental.

Repositori kali-bleeding-edge

Repositori kali-bleeding-edge berisi sejumlah alat yang sangat populer dan sangat sering berubah (bahkan setiap hari). Akan tidak praktis dan memakan waktu untuk membuat dan menguji paket yang diperbarui secara manual sehingga paket dalam repositori ini dibuat secara otomatis setiap kali sumber upstream berubah. Sisi positifnya, ini berarti Anda tidak pernah lebih dari 24 jam di belakang proyek upstream tetapi sisi negatifnya, paket-paket ini tidak diuji sehingga Anda perlu menyadari bahwa paket-paket dalam repositori ini dapat rusak dari waktu ke waktu.

Anda dapat menambahkan repo dan memperbarui daftar paket yang tersedia sebagai berikut.

echo "deb http://http.kali.org/kali kali-bleeding-edge main contrib non-free" > /etc/apt/sources.list.d/bleeding-edge.list
apt update

Untuk menginstal paket dari kali-bleeding-edge, Anda perlu menambahkan nama repositori ke nama paket:

apt install dnsrecon/kali-bleeding-edge

Untungnya, APT memudahkan untuk menurunkan versi kembali ke versi kali-rolling dari paket tertentu kapan saja, jadi tidak perlu takut dengan paket-paket di repositori kali-bleeding-edge. Jika Anda menemukan bahwa sebuah paket rusak di kali-bleeding-edge, Anda dapat kembali ke versi kali-rolling dengan cara yang sama:

apt install dnsrecon/kali-rolling

Repositori Debian Tidak Stabil dan Eksperimental

Kali Linux merupakan turunan dari Debian Testing, yang memiliki software lebih up-to-date dibandingkan Debian Stable. Untuk perangkat lunak yang lebih baru, ada distribusi Debian Unstable, yang merupakan versi pengembangan bergulir dari Debian, yang berisi paket-paket terbaru. Saat Anda menemukan bug dalam paket Debian, mungkin ada versi tetap di repositori Debian Unstable, jadi sebaiknya tambahkan ke sistem Kali Anda. Seperti halnya kali-bleeding-edge, paket-paket di Unstable dapat rusak dari waktu ke waktu.

Debian Experimental adalah repositori lain yang berisi paket-paket yang sedang dalam pengembangan. Paket-paket dalam repositori ini sangat terkini tetapi juga bisa sangat bermasalah, lebih dari kali-bleeding-edge atau Debian Unstable. APT hanya akan menginstal paket dari repositori ini jika Anda memintanya secara eksplisit dan Anda selalu dapat menurunkan versi jika tidak berhasil.

echo "deb http://ftp.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/debian.list
echo "deb http://deb.debian.org/debian experimental main" >> /etc/apt/sources.list.d/debian.list
apt update

Seperti halnya paket kali-bleeding-edge, jika Anda ingin menginstal paket dari tidak stabil atau eksperimental, tambahkan nama repositori di akhir nama paket seperti yang ditunjukkan di bawah ini.

[email protected]:~# apt install socat/experimental netperf/unstable
Reading package lists... Done
Building dependency tree
Reading state information... Done
Selected version '2.0.0~beta9-1' (Debian:experimental [amd64]) for 'socat'
Selected version '2.6.0-2.1' (kali-rolling, Debian:unstable [amd64]) for 'netperf'
The following NEW packages will be installed:
  netperf
The following packages will be upgraded:
  socat
1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 909 kB of archives.
After this operation, 1,127 kB of additional disk space will be used.
Get:1 http://kali.mirror.globo.tech/kali kali-rolling/non-free amd64 netperf amd64 2.6.0-2.1 [544 kB]
Get:2 http://deb.debian.org/debian experimental/main amd64 socat amd64 2.0.0~beta9-1 [365 kB]
Fetched 909 kB in 1s (555 kB/s)
Reading changelogs... Done
apt-listchanges: Mailing root: apt-listchanges: news for kali
Selecting previously unselected package netperf.
(Reading database ... 287650 files and directories currently installed.)
Preparing to unpack .../netperf_2.6.0-2.1_amd64.deb ...
Unpacking netperf (2.6.0-2.1) ...
Preparing to unpack .../socat_2.0.0~beta9-1_amd64.deb ...
Unpacking socat (2.0.0~beta9-1) over (1.7.3.2-1) ...
Setting up socat (2.0.0~beta9-1) ...
Processing triggers for systemd (234-3) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up netperf (2.6.0-2.1) ...
update-rc.d: We have no instructions for the netperf init script.
update-rc.d: It looks like a network service, we disable it.
Processing triggers for systemd (234-3) ...

Menentukan Prioritas Paket

Untuk menentukan paket apa yang diinstal, APT memiliki prioritas ditetapkan untuk semua sumber paket, dengan nomor prioritas tertinggi didahulukan. Paket dengan prioritas 0 tidak akan pernah diinstal dan paket dengan prioritas lebih dari 1000 akan selalu diinstal, bahkan jika itu berarti menurunkan versi paket.

Ini semua baik dan bagus untuk APT tetapi bagaimana Anda, pengguna, dapat melihat apa prioritas paket yang diberikan? Masukkan perintah 'apt-cache' yang kurang dikenal dan opsi 'kebijakan'-nya, yang menampilkan semua repositori Anda yang dikonfigurasi dan prioritasnya.

[email protected]:~# apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
   1 http://deb.debian.org/debian experimental/main amd64 Packages
     release o=Debian,a=experimental,n=experimental,l=Debian,c=main,b=amd64
     origin deb.debian.org
 500 http://ftp.debian.org/debian unstable/non-free amd64 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=non-free,b=amd64
     origin ftp.debian.org
 500 http://ftp.debian.org/debian unstable/contrib amd64 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=contrib,b=amd64
     origin ftp.debian.org
 500 http://ftp.debian.org/debian unstable/main amd64 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=main,b=amd64
     origin ftp.debian.org
 100 http://http.kali.org/kali kali-bleeding-edge/main amd64 Packages
     release o=Kali,n=kali-bleeding-edge,c=main,b=amd64
     origin http.kali.org
 990 http://http.kali.org/kali kali-rolling/contrib amd64 Packages
     release o=Kali,a=kali-rolling,n=kali-rolling,c=contrib,b=amd64
     origin http.kali.org
 990 http://http.kali.org/kali kali-rolling/non-free amd64 Packages
     release o=Kali,a=kali-rolling,n=kali-rolling,c=non-free,b=amd64
     origin http.kali.org
 990 http://http.kali.org/kali kali-rolling/main amd64 Packages
     release o=Kali,a=kali-rolling,n=kali-rolling,c=main,b=amd64
     origin http.kali.org
Pinned packages:

Anda akan melihat bahwa kali-rolling, sebagai distribusi default, memiliki prioritas tertinggi pada 990, yang berarti paket-paketnya lebih diutamakan daripada yang lainnya (yang Anda inginkan sebagai pengguna Kali), diikuti oleh Debian yang tidak stabil pada 500, kali-bleeding -edge pada 100, dan terakhir, eksperimental, dengan prioritas rendah 1. Untuk melihat bagaimana prioritas ini berlaku untuk paket tertentu, lihat sqlmap.

[email protected]:~# apt-cache policy sqlmap
sqlmap:
  Installed: 1.1.9-1
  Candidate: 1.1.9-1
  Version table:
     1.1.9+0~git1505273832.7de63a-1 100
        100 http://http.kali.org/kali kali-bleeding-edge/main amd64 Packages
 *** 1.1.9-1 990
        990 http://http.kali.org/kali kali-rolling/main amd64 Packages
        500 http://ftp.debian.org/debian unstable/main amd64 Packages
        100 /var/lib/dpkg/status

Meskipun versi sqlmap di kali-bleeding-edge lebih baru, itu tidak akan diinstal karena hanya memiliki prioritas 100, dibandingkan versi yang diinstal, yang memiliki prioritas 990. Untuk alasan inilah ketika Anda ingin untuk menginstal paket dari repositori paket yang berbeda, paket tersebut perlu diminta secara eksplisit.

[email protected]:~# apt install sqlmap/kali-bleeding-edge
Reading package lists... Done
Building dependency tree
Reading state information... Done
Selected version '1.1.9+0~git1505273832.7de63a-1' (http.kali.org [all]) for 'sqlmap'
The following packages will be upgraded:
  sqlmap
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 6,789 kB of archives.
After this operation, 2,048 B of additional disk space will be used.
Get:1 http://kali.mirror.globo.tech/kali kali-bleeding-edge/main amd64 sqlmap all 1.1.9+0~git1505273832.7de63a-1 [6,789 kB]
Fetched 6,789 kB in 5s (1,192 kB/s)
Reading changelogs... Done
(Reading database ... 287587 files and directories currently installed.)
Preparing to unpack .../sqlmap_1.1.9+0~git1505273832.7de63a-1_all.deb ...
Unpacking sqlmap (1.1.9+0~git1505273832.7de63a-1) over (1.1.9-1) ...
Setting up sqlmap (1.1.9+0~git1505273832.7de63a-1) ...
Processing triggers for man-db (2.7.6.1-2) ...

Konfigurasi APT

Mengatur Distribusi Default

Sekarang setelah Anda memiliki beberapa repositori tambahan yang ditambahkan ke sistem Anda, Anda akan ingin mulai menjelajahi dan menginstal paket-paket baru, tetapi sebelum Anda melakukannya, ada baiknya untuk memberi tahu APT apa distribusi default Anda. adalah, yang bagi pengguna Kali Linux, adalah "kali-rolling". Dengan cara ini sistem Anda tidak akan ditingkatkan ke distribusi lain tanpa persetujuan Anda. Konfigurasikan distribusi default Anda dengan menambahkan “APT::Default-Release” kali-rolling”;” ke /etc/apt/apt.conf.d/local .

[email protected]:~# cat /etc/apt/apt.conf.d/local
APT::Default-Release "kali-rolling";

Dengan distribusi default Anda yang dikonfigurasi, setiap kali Anda menjalankan 'apt full-upgrade', itu akan menerapkan upgrade ke kali-rolling, membantu menjaga sistem Anda tetap stabil.

Mengurangi Perintah Upgrade

Jika Anda menggunakan turunan Debian untuk waktu yang cukup lama, Anda akan menemukan prompt saat menjalankan 'apt upgrade' menanyakan tentang file konfigurasi dan apakah Anda ingin menyimpan versi lokal, menggunakan versi baru, atau membandingkannya. Lebih sering daripada tidak, Anda akan mendapati diri Anda menerima default, membuat interupsi ini sia-sia.

Anda dapat menghindari permintaan ini dengan memperbarui /etc/apt/apt.conf.d/local Anda file dengan ‘DPkg::options { “–force-confdef”; "–kekuatan-membingungkan"; }’ seperti yang ditunjukkan di bawah ini. Baris ini memberitahu APT untuk mencoba memilih sendiri jika file tidak berubah (–force-confdef) dan jika file berbeda, pertahankan versi yang ada (–force-confold).

[email protected]:~# cat /etc/apt/apt.conf.d/local
DPkg::options { "--force-confdef"; "--force-confold"; }
APT::Default-Release "kali-rolling";

Menyematkan Versi Paket

Kadang-kadang, Anda akan menemukan beberapa aplikasi yang membutuhkan versi tertentu dari paket tertentu dan tidak akan bekerja dengan yang lain. Di lain waktu, pembaruan ke satu paket mungkin berdampak buruk pada alat lain. Ini terjadi pada kami baru-baru ini dengan pembaruan pada paket devscripts, yang mencegah kami membuat paket Kali.

Untungnya, APT memungkinkan Anda untuk menyematkan paket ke versi tertentu dengan menetapkan prioritasnya ke 1001 di /etc/apt/preferences . Misalnya, untuk memberi tahu APT agar menyimpan paket devscripts di versi 2.16.x, Anda harus menambahkan yang berikut ini.

Package: devscripts
Pin: version 2.16.*
Pin-Priority: 1001

Sumber Daya Tambahan

Dalam posting ini, kami hanya dapat menggores permukaan tentang bagaimana Anda dapat memperluas APT jauh melampaui ekosistem Kali atau Debian default. Algoritme pemecah sangat efektif dan jarang mengalami masalah, jadi Anda tidak perlu takut menjelajahi repositori lain. Untuk mempelajari lebih lanjut tentang APT dan cara menyesuaikannya sesuai keinginan Anda, kami mendorong Anda untuk merujuk ke Kali Linux Revealed dan The Debian Administrator's Handbook, yang keduanya berisi banyak informasi, tip, dan trik.


Linux
  1. Menggunakan AppImage untuk manajemen paket Linux

  2. 15 Contoh Perintah aptitude untuk Manajemen Paket di Linux

  3. Dukungan HTTPS Repositori Kali Linux

  1. Manajemen paket Linux dengan apt

  2. Cara Menggunakan Pengelola Paket XBPS di Void Linux

  3. Menemukan Paket untuk Kali Linux

  1. Cara Menginstal Paket Dari Repositori Tertentu Di Linux

  2. Cara Mendaftar Paket yang Diinstal Dari Repositori Tertentu Di Linux

  3. Linux – Repositori Kali Rolling Vs Kali Sana?