GNU/Linux >> Belajar Linux >  >> Linux

Manajer Paket APT di Linux Dijelaskan

Sebagai administrator sistem, mengetahui cara memasang , perbarui atau hapus paket Linux sangat penting untuk memelihara host dan server Linux Anda.

Anda mungkin harus memperbarui paket Anda saat ini untuk mendapatkan patch keamanan terbaru untuk server Anda.

Di sisi lain, Anda mungkin harus menyiapkan seluruh Server Web HTTP untuk menerapkan situs web baru yang dikembangkan oleh tim aplikasi Anda.

Terkadang, Anda mungkin hanya ingin menguji perangkat lunak baru untuk melihat apakah perangkat lunak itu sesuai dengan kebutuhan Anda, hanya untuk menghapus instalasi paket nanti.

Akibatnya, mengetahui cara mengelola paket Linux sangat penting .

Dalam tutorial ini, kita akan fokus pada manajemen paket Linux menggunakan pengelola paket APT.

Pertama, kita akan membahas sedikit sejarah tentang asal-usul Perangkat Lunak Sumber Terbuka untuk memahami dasar-dasar paket Linux.

Nanti, kami akan lebih fokus pada APT (Alat Paket Lanjutan ) dan kami akan melihat bagaimana Anda dapat mengkompilasi program Anda sendiri agar memiliki instalasi khusus.

Siap?

Yang Akan Anda Pelajari

Dengan membaca tutorial ini, Anda akan belajar tentang mata pelajaran berikut:

  • GNU /Linux proyek dan asal usul perangkat lunak bebas;
  • Cara pemasangan program dirancang di Linux dan perbedaannya dengan host Windows;
  • Apa penyimpanan perangkat lunak dan apa jenis repositori berbeda yang mungkin Anda temui;
  • Tembolok APT panduan lengkap :cara memperbarui cache dan cara mencari program di sistem Anda;
  • APT mendapatkan perintah detail :cara menginstal dan menghapus paket Linux dengan benar;

Itu adalah program yang panjang, jadi tanpa basa-basi lagi, mari kita langsung saja.

Asal GNU/Linux dijelaskan

Sebelum merinci bagaimana Anda dapat menginstal dan menghapus instalan paket di Linux, cukup penting untuk mengetahui beberapa dasar tentang apa itu GNU dan Linux.

Ketika membahas tentang Linux, cukup umum untuk menyebut Linux sebagai sistem operasi tetapi tidak sepenuhnya benar .

Ketika kita mengacu pada sistem operasi Linux, kita sebenarnya mengacu pada sistem operasi GNU/Linux.

Apa itu GNU?

GNU (kependekan dari “GNU Bukan Unix “) adalah sistem operasi dirancang untuk menyediakan perangkat lunak gratis yang mudah diperoleh, didistribusikan, dan dimodifikasi sendiri.

Saat ini, cukup populer untuk menganggap Unix (atau setidaknya GNU) sebagai sistem operasi bebas tetapi tidak selalu demikian.

Misalnya, jika Anda menjalankan “uname ” pada sistem Anda, dengan opsi “-o” (untuk sistem operasi), Anda akan melihat bahwa kemungkinan besar Anda menjalankan OS GNU/Linux.

$ uname -o

Menarik !

Kembali pada hari-hari awal Unix, sistem operasi Unix bukanlah perangkat lunak open source gratis sama sekali:itu dikembangkan oleh perusahaan seperti IBM, HP atau AT&T untuk kebutuhan bisnis.

Namun, dengan munculnya perangkat lunak berhak cipta dan distribusi berlisensi, Richard Stallman, peneliti di MIT, memutuskan untuk mengembangkan alternatif UNIX:GNU.

GNU dirancang untuk menjadi sistem operasi open source yang kompatibel dengan sistem operasi Unix.

Pada sistem operasi GNU, perintah (seperti “ls”, “cat” atau “gcc”) sepenuhnya open source.

Selain itu, GNU didefinisikan sebagai “perangkat lunak bebas”, tetapi apakah yang kita bicarakan adalah uang ?

Penjelasan Perangkat Lunak Gratis

Seperti yang kami jelaskan sebelumnya, GNU memproklamirkan diri sebagai perangkat lunak bebas .

Tetapi perangkat lunak "gratis" tidak secara harfiah mengacu pada uang, ini mengacu pada kebebasan mendasar yang merupakan inti dari GNU :

  • Kebebasan untuk menjalankan program sesuai keinginan , untuk tujuan apa pun yang ingin Anda capai;
  • Kebebasan untuk memodifikasi program , mengkondisikan akses lengkap ke kode sumber program;
  • Kebebasan untuk mendistribusikan ulang salinan untuk membantu tetangga Anda;
  • Membagikan modifikasi Anda ke dunia :dengan cara ini Anda tidak terbatas pada perubahan Anda sendiri, tetapi Anda dapat membantu ribuan pengembang di seluruh dunia.

Kebebasan mendasar tersebut terkait dengan konsep copyleft .

Anda dapat menambahkan aturan khusus ke kumpulan aturan dasar ini selama aturan tersebut tidak mengganggu aturan inti itu sendiri.

Misalnya ilegal untuk mengambil kode sumber terbuka, memodifikasinya dan menjualnya tanpa memberikan kode sumber kepada pengguna akhir.

Ini adalah pernyataan penting karena artinya tidak dilarang untuk menjual kode semata, adalah ilegal untuk mencegah pengguna akhir dari hak-hak dasar.

Akibatnya, GNU tidak hanya mendefinisikan aturan kebebasan mendasar itu tetapi juga menjamin bahwa hak-hak itu tersebar di semua versi perangkat lunak berikutnya.

Dalam konteks ini dan untuk menangani konten berhak cipta, lisensi GPL (GNU General Public License) telah dibuat.

Lisensi GPL membantu menggabungkan berbagai aturan bawaan yang didedikasikan untuk perangkat lunak bebas dan untuk menentukan pelanggaran lisensi. FAQ GPL lengkap dapat ditemukan di halaman ini.

Mengakses paket GNU

Seperti yang mungkin sudah Anda pahami, paket GNU adalah paket yang dirancang untuk berbagi , diubah dan lari di mana pun Anda inginkan, untuk tujuan apa pun.

Dalam konteks ini, paket GNU dapat diakses langsung di situs web GNU.

Jika Anda membuka halaman perangkat lunak situs web resmi GNU, Anda akan dapat melihat seluruh daftar paket GNU yang tersedia untuk Anda.

Seperti yang Anda lihat, ini adalah daftar paket yang cukup panjang.

Salah satu paket yang paling populer adalah core-utils, menyediakan perintah Linux yang paling populer seperti “ls “, “kucing ” atau “temukan “.

Dan perintah tersebut dapat dimodifikasi dan dijalankan sesuka hati!

Semua paket tersebut datang setiap kali Anda menginstal sistem operasi GNU/Linux, tetapi bagaimana jika Anda ingin menginstal perangkat lunak pihak ketiga?

Untuk itu, Linux dirancang untuk berkomunikasi dengan apa yang kami sebut repositori perangkat lunak.

Apa itu repositori perangkat lunak Linux?

Sebelum menjelaskan repositori perangkat lunak Linux, sangat penting untuk memiliki beberapa latar belakang tentang bagaimana sistem pengemasan Linux dirancang.

Jika Anda berasal dari lingkungan Window, Anda terbiasa mengunduh file yang dapat dieksekusi (.exe) dari Internet, buka wizard penginstalan dan klik "Berikutnya" beberapa kali agar program Anda terinstal.

Di Linux, tidak demikian.

Di Linux, paket diunduh dan diinstal dari repositori online oleh pengelola paket.

Pengelola Paket APT di Linux

Pada distribusi berbasis Debian, paket diunduh melalui pengelola paket APT.

Ketika kita merujuk ke paket, kita pada dasarnya berurusan dengan file arsip yang berisi beberapa file deb yang digunakan oleh utilitas dpkg untuk menginstal program.

Jadi mengapa kita membutuhkan APT?

APT, singkatan dari Advanced Package Manage, bertanggung jawab untuk mengunduh, menginstal, memperbarui, dan menghapus paket dari sistem Anda.

Tetapi mengapa kita membutuhkan manajer paket untuk itu?

Tidak bisakah kita menginstal program sendiri?

Akan sulit karena paket diikat bersama melalui dependensi paket.

Konsep dependensi paket

Mari kita ambil contoh Editor VIM di Linux.

Jika Anda menggunakan distribusi Debian, halaman VIM untuk repositori Debian tersedia di sini.

Di sinilah Anda dapat menemukan informasi tentang paket khusus ini : fungsionalitas apa yang disediakannya, siapa yang membuatnya, tetapi yang terpenting tergantung pada paket apa.

Di Linux, sebagian besar paket tidak datang sebagai paket "murni" :paket tersebut bergantung pada berbagai macam paket yang berbeda untuk menyediakan fitur pihak ketiga ke program yang sebenarnya.

Seperti yang Anda lihat dengan menggulir halaman, paket VIM bergantung pada banyak paket lain.

Seperti yang Anda lihat di sini, dependensi dibagi menjadi empat kategori berbeda :

  • tergantung :seperti namanya, ketergantungan ini diperlukan agar program dapat berjalan. Tanpa itu, program tidak dapat dimulai sama sekali;
  • merekomendasikan :tanpa ketergantungan ini, program akan dapat berjalan tetapi tidak menyediakan semua fitur yang dirancang untuk disediakan oleh alat ini;
  • menyarankan :tanpa ketergantungan ini, program akan dapat berjalan dan menyediakan fungsionalitas inti tetapi itu tidak akan menjadi versi final dari alat;
  • meningkatkan :ketergantungan ini dapat meningkatkan alat yang sebenarnya dengan meningkatkan kinerja atau tampilan tetapi tidak diperlukan sama sekali.

Sekarang Anda tahu mengapa kami menggunakan alat APT :dependensi paket diselesaikan untuk Anda pada saat penginstalan.

Sekarang setelah Anda mengetahui lebih banyak tentang paket, mari kita lihat apa itu repositori perangkat lunak .

Arsitektur Distribusi Perangkat Lunak Linux

Di Linux, perangkat lunak didistribusikan melalui repositori perangkat lunak.

Repositori perangkat lunak digunakan untuk mengumpulkan perangkat lunak gratis yang disediakan oleh komunitas.

Repositori dapat dikaitkan dengan distribusi tertentu.

Ubuntu, Debian, CentOS atau RHEL memiliki repositori sendiri yang diperbarui setiap hari.

Akibatnya, ketika Anda ingin menginstal program baru, Anda menanyakan repositori dasar tersebut untuk mengambil paket darinya.

Jika Anda ingin menginstal paket yang tidak terletak di repositori berbasis distribusi, Anda harus menambahkan repositori tepercaya Anda sendiri ke sistem Anda untuk menginstal paket baru.

Pada dasarnya inilah mengapa Linux dikatakan lebih aman daripada Windows dalam hal menginstal program baru.

Kecuali Anda menginstal paket teduh, Anda sering berkomunikasi dengan repositori tepercaya tempat ratusan pengembang berbeda meninjau kode yang Anda jalankan di mesin Anda.

Ini tidak mencegah virus atau malware menyebar tetapi kecil kemungkinannya karena beberapa peninjau independen telah memeriksa kode paket.

Perhatikan bahwa repositori dibagi ke dalam kategori yang berbeda dan Anda mungkin harus mengambil repositori yang benar untuk menjamin bahwa Anda menjalankan versi yang aman.

Versi tersebut termasuk “stabil ” repositori, “pengujian ” repositori dan “tidak stabil repositori”.

Catatan :di distribusi lain, repositori tersebut mungkin memiliki nama yang berbeda (Ubuntu memiliki multiverse, universe, main, dan sebagainya)

Secara default, distribusi Anda kemungkinan besar ditautkan ke repositori stabil (juga disebut "utama") melalui file konfigurasi sources.list.

$ cat /etc/apt/sources.list

Sekarang setelah Anda mengetahui lebih banyak tentang repositori perangkat lunak dan bagaimana manajer paket Anda berinteraksi dengannya, mari kita lihat apa itu cache manajer paket Anda.

Penjelasan Cache APT

Seperti yang telah kita bahas sebelumnya, manajer paket APT bertanggung jawab untuk mengunduh paket dari Internet (atau repositori paket lokal) untuk menginstalnya.

Namun, operasi yang dilakukan oleh manajer paket APT tidak dilakukan secara online sepanjang waktu.

APT mengelola database internal yang disebut cache.

Cache APT digunakan untuk memberikan informasi offline tentang paket-paket saat ini yang diinstal pada sistem Anda. Ini pada dasarnya menjamin bahwa Anda dapat mengakses informasi paket tanpa harus terhubung ke Internet.

Mencari paket dalam cache

Misalnya, Anda dapat mencari semua paket terkait Python yang mungkin disimpan di cache APT Anda.

Untuk itu, Anda perlu menjalankan perintah “apt-cache” dengan “search ” pilihan.

$ apt-cache search <search string>

$ apt-cache search python

Tip :Anda dapat menyalurkan pencarian cache dengan "kurang" untuk melihat semua hasil yang diberikan.

apt-cache search python | lebih sedikit

Selain mencari paket tertentu, cache APT juga dapat menampilkan detail lengkap tentang sebuah paket.

Menampilkan informasi paket

Untuk menampilkan informasi paket, Anda harus menjalankan perintah “apt-cache” dengan perintah “show ” pilihan.

$ apt-cache show <package_name>

Misalnya, untuk mendapatkan informasi lebih lanjut tentang paket gcc (yang merupakan kompiler GNU), ketikkan

$ apt-cache show gcc

Jadi, jika kita tidak memerlukan koneksi Internet untuk menampilkan beberapa detail, itu berarti detail tersebut disimpan di suatu tempat di instance kita.

Katakanlah misalnya saya ingin mencari halaman dokumentasi cache untuk perintah nano.

Secara default, informasi paket disimpan di “/var/lib/apt/lists

$ ls /var/lib/apt/lists

Di direktori ini, Anda memiliki akses ke sekumpulan file berbeda yang menyimpan informasi tentang paket yang disimpan di sistem Anda.

Untuk membuktikannya, mari kita cari file yang memberikan informasi untuk perintah nano.

$ sudo grep -r -A 3 -B 3 -E "Package: nano$" . | less

Seperti yang Anda lihat, banyak file berisi referensi ke paket nanotetapi yang saya minati pasti terdapat dalam file “main amd64” (sebagai pengingat, “main ” singkatan dari stabil dan “amd64 ” ke arsitektur prosesor saya )

Jika Anda ragu dengan arsitektur CPU Anda, jalankan perintah “lscpu”.

$ lscpu

Memperbarui cache APT

Seperti yang mungkin sudah Anda pahami, cache APT bekerja secara offline.

Akibatnya, cache APT harus diperbarui secara berkala untuk memastikan bahwa :

  • Anda menunjuk ke repositori yang benar;
  • Anda mendapatkan pembaruan terbaru untuk perangkat lunak yang diinstal di komputer Anda .

Untuk mengambil pembaruan untuk cache Anda, Anda perlu menjalankan perintah “apt-get update”.

$ sudo apt-get update

Catatan :Anda harus sudo untuk memperbarui cache sistem Anda.

Seperti yang Anda lihat, perintah mengeksekusi beberapa panggilan GET ke repositori jauh untuk mengambil informasi baru.

Saat Anda memperbarui repositori, penting untuk dicatat bahwa tidak ada perangkat lunak yang diperbarui di komputer Anda.

Menjalankan “apt-get update ” perintah hanya memperbarui cache untuk mendapatkan informasi terbaru tentang perangkat lunak, tidak secara langsung memperbarui program Anda.

Untuk memperbarui program, Anda perlu menjalankan “peningkatan versi ” perintah.

Memperbarui (memperbarui) paket lokal Anda

Untuk memperbarui program lokal Anda, Anda perlu menjalankan "apt-get" dengan "upgrade ” pilihan.

$ sudo apt-get upgrade

Di beberapa titik selama perintah, Anda akan ditanya apakah Anda ingin menginstal pembaruan.

Tekan “Y ” dan tekan Enter.

Saat mengonfirmasi, program Anda akan ditingkatkan ke versi stabil terbarunya.

Bagus!

Anda telah berhasil mengupgrade paket Anda menggunakan perintah upgrade.

Memperbarui cache dan meningkatkan paket Anda saat ini sangat bagus, tetapi bagaimana jika Anda ingin menginstal paket baru di sistem Anda?

Di bagian berikutnya, Anda akan melihat bagaimana Anda dapat menginstal program baru di sistem Anda menggunakan APT.

Menginstal paket baru dengan APT

Saat menginstal paket baru dengan APT, pada dasarnya Anda memiliki dua opsi:

  • Paket sudah ada di salah satu repositori yang Anda tautkan;
  • Paket ada di tempat penyimpanan yang jauh dan Anda perlu menambahkannya.

Untuk melihat apakah sebuah paket sudah berada di cache APT Anda, Anda harus mencari di cache Anda.

Dalam contoh ini, kita akan berpura-pura ingin menginstal paket “gcc”.

Pertama, mari kita lihat apakah GCC sudah berada di cache APT kita.

$ apt-cache search --names-only ^gcc$

Seperti yang Anda lihat, paket GCC tersedia langsung dengan repositori lokal default saya.

Menginstal perangkat lunak yang ditemukan di cache

Ketika paket tersebut langsung tersedia di repositori default, Anda dapat menginstalnya dengan menjalankan perintah “apt-get” dengan perintah “install ” pilihan.

Catatan :Anda memerlukan hak istimewa sudo untuk menginstal paket baru di sistem Anda.

$ sudo apt-get install gcc

Anda mungkin juga akan ditanya apakah Anda setuju untuk menginstal paket ini di sistem Anda.

Tekan "Y" setiap kali Anda diminta dengan pertanyaan ini.

Tak lama setelah itu, program Anda akan diinstal dan dapat digunakan.

Untuk memverifikasi bahwa perintah telah diinstal dengan benar, Anda dapat menjalankan perintah “whereis”.

$ whereis gcc

Luar biasa, Anda telah menginstal kompiler GCC dengan benar di sistem Anda!

Menginstal perangkat lunak tidak tersedia di cache

Dalam beberapa kasus, Anda mungkin ingin menginstal perangkat lunak yang tidak langsung disimpan ke dalam cache APT Anda.

Untuk bagian ini, kita akan menginstal Grafana, sebuah dasbor open-source yang tidak langsung tersedia dalam paket default.

Catatan:ini bukan tutorial yang didedikasikan untuk Grafana, bagian ini hanya akan mencakup perintah yang terkait dengan APT.

Pertama, kita perlu memastikan bahwa paket tersebut belum ada di cache APT kita.

$ apt-cache search --names-only ^grafana$
<empty>

Dalam hal ini, tidak ada paket default yang diinstal untuk Grafana, kita perlu menambahkannya sendiri.

Menambahkan repositori APT khusus

Untuk menambahkan repositori APT khusus, Anda perlu memahami struktur direktori sumber APT.

Secara default, repositori disimpan ke dalam folder “/etc/apt”.

$ ls -l /etc/apt

Di direktori ini, Anda memiliki banyak entri :

  • apt.conf.d :folder konfigurasi APT yang berisi file konfigurasi untuk mengkonfigurasi proxy misalnya;
  • auth.conf.d :dapat digunakan untuk menyimpan detail autentikasi yang terkait dengan proxy;
  • preferensi.d :dapat digunakan untuk menetapkan prioritas ke repositori atau paket tertentu;
  • sumber. daftar :berisi kumpulan repositori default untuk distribusi Anda;
  • sources.list.d :direktori yang mungkin berisi repositori APT khusus;
  • tepercaya.gpg.d :sekumpulan kunci GPG yang Anda percayai untuk mengesahkan keaslian unduhan.

“sources.list” sudah diisi dengan repositori default, jadi kami mungkin tidak ingin mengubah file ini.

Sebagai gantinya, kita akan menambahkan repositori khusus ke direktori sources.list.d.

$ sudo touch /etc/apt/sources.list.d/custom.list

Dalam file yang baru dibuat ini, tambahkan satu entri untuk repositori khusus yang ingin Anda instal.

$ sudo nano /etc/apt/sources.list.d/custom.list

deb https://packages.grafana.com/oss/deb stable main

Untuk menginstal paket dengan aman, Anda mungkin harus mengimpor kunci GPG.

$ sudo wget -q -O https://packages.grafana.com/gpg.key | sudo apt-key add -
OK

Catatan :Anda mungkin tidak perlu menambahkan kunci GPG untuk setiap paket tetapi ini menjamin bahwa paket tersebut terinstal dengan aman.

Sekarang setelah repositori Anda ditambahkan dengan benar, perbarui cache APT Anda agar perubahan dapat diterapkan.

$ sudo apt-get update

Sekarang, jika Anda mencari paket Anda, Anda seharusnya dapat menemukannya.

$ sudo apt-cache show grafana

Akibatnya, Anda sekarang siap untuk menginstal paket Anda.

Untuk menginstal paket Anda, cukup jalankan “apt-get ” dengan perintah “instal ” pilihan.

$ sudo apt-get install grafana

Luar biasa !

Sekarang paket Anda berhasil diinstal.

Seperti yang Anda lihat, menginstal perangkat lunak khusus sangat berbeda dengan menginstal perangkat lunak yang tersedia di cache :Anda harus menambahkan repositori khusus dan akhirnya menambahkan kunci GPG.

Sekarang setelah Anda mengetahui cara menginstal paket, mari kita lihat bagaimana Anda dapat menghapusnya.

Menghapus paket dengan APT

Saat menghapus instalasi paket menggunakan pengelola paket APT, pada dasarnya Anda memiliki dua opsi:hapus atau bersihkan .

Menghapus paket menggunakan apt-get remove

Cara pertama untuk menghapus paket adalah dengan menggunakan apt-get remove perintah.

$ sudo apt-get remove <package>

Menggunakan paket grafana yang kami instal sebelumnya, ini akan memberikan

$ sudo apt-get remove grafana

Jadi mengapa kita membutuhkan fungsi pembersihan?

Saat menggunakan apt-get remove , paket dihapus tetapi file yang terkait dengan paket dibiarkan utuh.

Untuk melihatnya, coba daftarkan file yang terkait dengan paket di sistem Anda menggunakan perintah dpkg.

$ dpkg -L <package>

Seperti yang Anda lihat, file konfigurasi masih ada, itu sebabnya Anda perlu menggunakan pembersihan perintah.

Membersihkan paket menggunakan apt-get purge

Untuk menggunakan perintah pembersihan, cukup jalankan “apt-get ” dengan “pembersihan ” pilihan.

$ sudo apt-get purge <package>

Sekarang jika Anda mencoba melihat file yang terkait dengan paket Anda, Anda tidak akan dapat menemukannya.

$ dpkg -L <package>
<empty>

Menghapus dependensi dengan autoremove

Seperti yang mungkin Anda pahami, tujuan penggunaan APT adalah mengambil dependensi paket untuk Anda dan menginstalnya dengan benar.

Akibatnya, setiap kali Anda menginstal paket baru, Anda berisiko meninggalkan ketergantungan yang menggantung pada sistem Anda.

Untuk menghapus dependensi yang menggantung (yaitu dependensi yang tidak digunakan lagi), Anda harus menggunakan opsi autoremove.

Anda dapat melakukannya saat mencopot pemasangan satu paket

$ sudo apt-get autoremove <package>

Atau Anda dapat melakukannya setelahnya dengan menjalankan autoremove opsi tanpa argumen sama sekali.

$ sudo apt-get autoremove

Kesimpulan

Dalam tutorial panjang ini, Anda telah mempelajari cara memasang dan copot pemasangan paket menggunakan pengelola paket APT.

Anda juga mempelajari lebih lanjut tentang asal-usul Perangkat Lunak Sumber Terbuka , dari mana asalnya dan bagaimana GNU/Linux sistem operasi muncul dari sistem operasi Unix standar.

Jika Anda tertarik dengan administrasi sistem Linux , kami memiliki bagian lengkap yang didedikasikan untuk itu di situs web, jadi pastikan untuk memeriksanya.


Linux
  1. Cara Menggunakan Pengelola Paket XBPS di Void Linux

  2. Menginstal dan Menggunakan Pengelola Paket Homebrew di Linux

  3. Nix – Manajer Paket yang Kuat untuk Linux dan Unix

  1. Cara Menginstal dan Menggunakan Snap Package Manager di Alma Linux 8

  2. Cara Menginstal Dan Menggunakan Manajer Paket Benang Di Linux

  3. Instal Java di Ubuntu 20.04 dengan apt package manager

  1. Manajer paket Linux:dnf vs apt

  2. perintah whoami di Linux dijelaskan dengan contoh

  3. Pengelola/pemasang paket berbasis Git untuk Linux