Manajemen Paket di Ubuntu
Tentang Manajemen Paket GNU/Linux
Sebuah sistem manajemen paket bagi suatu distribusi sistem operasi GNU/Linux adalah seperangkat tool untuk mengotomatisasi proses penginstallan, pengkonfigurasian dan pembuangan suatu paket software dari sistem GNU/Linux. Biasanya sistem ini merupakan suatu bagian dari sistem operasi yang datang dalam distribusi resmi suatu distro GNU/Linux. Tools sistem manajemen paket ini biasa lebih dikenal dengan paket manager. Paket manager di GNU/Linux biasanya punya kemampuan memeriksa dan mengatur semua paket di dalam sistem linux.
Bekerja dengan file .deb
Untuk bekerja dengan file .deb ini, di Ubuntu digunakan dpkg, sebuah tool manajemen paket yang bisa digunakan untuk untuk mengakses file .deb secara langsung, menginstall file deb, meremove paket. Dpkg merupakan tool dasar dalam manajemen paket berbasis debian. Perintah dpkg ini akan banyak digunakan ketika menginstall paket secara offline dimana paket telah didownload secara manual dari internet.
Beberapa perintah yang umum (perintah dijalankan di terminal) :
• Menginstall suatu paket .deb
$ sudo dpkg -i namapaket.deb
• Meremove paket yang sudah diinstall (tanpa meremove file konfigurasi)
$ sudo dpkg -r namapaket
• Mem-purge paket (meremove paket dan file konfigurasi) yang sudah diinstall
$ sudo dpkg –purge namapaket
• Melihat informasi daftar paket software yang terinstall
$ dpkg -l
• Melihat informasi daftar paket software yang terinstall dan memasukan daftar tersebut ke sebuah file bernama listpaket.txt
$ dpkg -l > listpaket.txt
• Melihat informasi apakah suatu paket sudah terinstall
$ dpkg -l namapaket
Kalau paket yang dimaksud belum terinstall, maka ada info “No packages found matching namapaket”
• Melihat file apa saja yang masuk ke dalam paket tertentu
$ dpkg -L namapaket
• Melihat suatu file termasuk ke paket mana
$ dpkg -S /path/ke/file/system
Namun dibalik kemudahan dan kekuatan yang datang bersama dpkg ini, terdapat juga beberapa kekurangan fitur diantaranya yang melatar belakangi dikembangkannya APT yakni:
1. Dpkg tidak menangani dependensi atau ketergantungan suatu paket akan paket lain secara otomatis, sehingga jika menginstall paket dan paket tersebut memerlukan paket lain untuk berfungsi, maka user harus secara manual menginstall paket yang dibutuhkan tersebut.
2. Dpkg tidak dapat mengambil paket dari lokasi lain di network, seperti yang APT lakukan. Jadi saat bekerja dengan dpkg, paket-paket tersebut sudah di download ke dalam sistem lokal.
Karena keterbatasan itulah, APT (Advanced Packaging Tool) diciptakan. Sistem
APT mengembangkan kemampuan dari dpkg sehingga mampu menangani
masalah ketergantungan antar paket (dalam dunia GNU/Linux disebut “dependency hell”). APT juga mampu menjalankan tugas menginstall paket dengan mengambil secara online suatu paket dari “gudang paket’ yang disebut repository.
APT bekerja dengan cara tetap menjaga daftar paket apa saja yang tersedia di dalam sistem dengan membaca sebuah daftar paket yang dapat didownload dari sebuah repository. Sumber-sumber repository dimana APT dapat mengambil paket-paketnya dikonfigurasi melalui sebuah file di /etc/apt/sources.list.
Sistem APT bukanlah tool tunggal. APT datang dengan beberapa tools yang sangat berguna untuk manajemen paket, di antaranya :
• apt-mark : digunakan secara internal oleh APT untuk memberi tanda dan menghilangkan tanda suatu paket terinstall secara otomatis.
• apt-cdrom : digunakan untuk menambahkan cd/dvd repository ke dalam sources.list
• apt-cache : apt-cache berguna untuk berbagai keperluan yang berkaitan dengan cache database APT, seperti pencarian paket, status sebuah paket, informasi tentang paket dan lainnya.
• apt-config : program internal yang digunakan oleh berbagai bagian sistem APT untuk menjamin konsistensi pengkonfigurasian.
• apt-get : merupakan tool command line untuk berurusan dengan paket, dan ini yang paling umum digunakan user untuk keperluan menginstall dan remove paket.
• apt-key : digunakan untuk mengatur daftar key yang digunakan APT untuk mengautentifikasi paket. Paket yang telah diautentifikasi menggunakan key tersebut dapat dinyatakan terpercaya, berasal dari sumber yang dapat dipercaya.
Manajemen Paket dengan APT
Berikut beberapa perintah-perintah yang umum dan akan sering digunakan saat bekerja dengan sistem berbasis APT. Mulai dari penginstallan paket, penghapusan paket, pencarian paket, pengupdatetan dan mengupgrade versi Ubuntu yang digunakan.
• Instalasi Paket Ubuntu
– Instalasi Paket Tunggal
Menginstall sebuah paket kedalam sistem, dengan perintah sebagai berikut.
$ sudo apt-get install namapaket
Atau jika menggunakan Aptitude gunakan perintah dibawah ini.
$ sudo aptitude install namapaket
– Instalasi beberapa paket secara bersamaan
$ sudo apt-get install paket-pertama paket-kedua
atau
$ sudo aptitude install paket-pertama paket-kedua
Contoh, untuk menginstall aplikasi nmap yaitu tool untuk network scanner
dan postfix aplikasi mail server untuk GNU/Linux secara bersama-sama.
$ sudo apt-get install nmap postfix
Reading package lists… Done
Building dependency tree
Reading state information… Done Suggested packages:
procmail postfix-mysql postfix-pgsql postfix-ldap postfix-pcre sasl2-
bin resolvconf
postfix-cdb ufw
The following packages will be REMOVED:
exim4 exim4-base exim4-config exim4-daemon-heavy The following NEW packages will be installed:
nmap postfix
0 upgraded, 2 newly installed, 4 to remove and 0 not upgraded. Need to get 0B/2272kB of archives.
After this operation, 2601kB of additional disk space will be used.
Do you want to continue [Y/n]? y (tekan y diikuti enter untuk melanjutkan proses)
– Menginstall paket dengan versi tertentu
$ sudo aptitude install postfix=2.6.5-3
Akan menginstall paket Postfix dengan mengambil yang versi = 2.6.5-3
– Menginstall paket sekaligus meremove paket lain
$ sudo aptitude install postfix nmap-
Akan menginstall paket Postfix sekaligus meremove paket nmap.
• Menghapus (meremove) paket
– Menghapus (remove) paket dari sistem tanpa menghapus file konfigurasinya
$ sudo apt-get remove namapaket
Atau dengan aptitude,
$ sudo aptitude remove namapaket
Atau jika menggunakan Synaptic, klik kanan pada namapaket, klik Mark for Removal kemudian Apply.
– Menghapus paket dari sistem termasuk semua file konfigurasinya
$ sudo apt-get remove –purge namapaket
Atau dengan aptitude,
$ sudo aptitude purge namapaket
• Proses pencarian paket dan status dari sebuah paket
Untuk mencari suatu paket di dalam database APT dapat digunakan aptcache, aptitude, synaptic atau Ubuntu Software Center. Apt-cache merupakan tool yang cukup bagus untuk proses yang berkaitan dengan menemukan informasi sebuah paket, meskipun paket tersebut tidak terinstall di dalam sistem Ubuntu yang digunakan.
– Mencari suatu paket
$ apt-cache search namapaket
Atau jika menggunakan aptitude,
$ aptitude search namapaket
Apt-cache akan menunjukkan daftar nama paket di dalam cache yang
mengandung “string” yang dicari, baik di dalam nama atau
keterangan/deskripsi dari sebuah paket.
– Mencari paket yang berkaitan dengan Intrusion Detection System
$ apt-cache search “Intrusion Detection System”
– Mencari informasi tentang sebuah paket
$ apt-cache show postfix
Atau
$ aptitude show postfix
Perintah apt-cache show namapaket akan menampilkan berbagai informasi tentang paket, termasuk dependensi paket tersebut, nama lengkap, paket apa yang disediakan, deskripsi singkat dan panjang dan ukuran paket saat dimekarkan.
– Mengetahui status sebuah paket,
$ apt-cache policy postfix
• Mengupgrade system
Adakalanya beberapa paket software yang ada di sistem Ubuntu sudah terlalu kuno, sementara di repository sudah ada yang lebih baru, maka perlu segera melakukan proses upgrade, baik paket individual maupun mengupgrade sistem Ubuntu secara keseluruhan.
– Mengupgrade suatu paket
Mengupgrade suatu paket software sama artinya mengganti paket software
yang lama dengan versi terbaru. Hal ini cukup dilakukan dengan apt-get
install seperti biasa, dengan catatan sistem APT sudah disinkronkan
terlebih dahulu dengan server repository agar selalu up to date. Berikut step by step melakukannya.
$ sudo apt-get update
$ sudo apt-get install postfix
mengakibatkan APT mengupdate file index paketnya dan akan menginstall paket Postfix dari repository dengan rilis terbaru.
– Mengupgrade paket-paket system secara keseluruhan
$ sudo apt-get upgrade
Apt-get upgrade digunakan untuk menginstall ke versi terbaru dari semua
paket yang terinstall di dalam sistem Ubuntu dari repository yang terdapat
di /etc/apt/sources.list. Command ini jika menggunakan aptitude sepadan
dengan
$ sudo aptitude safe-upgrade
– Mengupgrade sistem ke rilis Ubuntu terbaru
Sistem APT diUbuntu memungkinkan end user mengupgrade sistem ke rilis
berikutnya hanya dengan satu baris perintah tanpa harus melakukan
installasi ulang, benar-benar fitur yang luar biasa. Misalnya Ubuntu yang
digunakan sekarang adalah versi Ubuntu 11.04 , maka dengan
mengambil repository Ubuntu versi 11.10 , dan dengan menjalankan perintah dibawah ini.
$ sudo apt-get dist-upgrade
Atau jika menggunakan aptitude
$ sudo aptitude full-upgrade
• Proses Maintenance dengan APT
Masalah yang sering timbul saat proses installasi ataupun menghapus sebuah
paket aplikasi adalah banyak file dan konfigurasi yang tersisa yang dapat
menyebabkan sistem menjadi penuh bahkan bisa membuat sistem tidak
maksimal/lambat. Sebagai sebuah sistem paket manager canggih, APT juga
menyediakan cara agar sistem Ubuntu benar-benar bersih saat setelah
melakukan proses mendownload, menginstall dan meremove suatu paket.
$ sudo apt-get clean
Saat proses penginstallan menggunakan APT, file-file paket .deb tersebut
didownload dari repository dan disimpan di directory cache APT, harusnya berada didirektori /var/cache/apt/archives dan /var/cache/apt/archives/partial. Dengan menjalankan perintah tersebut, akan menghapus semua paket .deb hasil download sehingga sistem Ubuntu tidak menjadi penuh sesak.
$ sudo apt-get autoclean
Seperti apt-get clean, autoclean juga membersihkan paket-paket di direktori cache. Perbedaannya autoclean hanya menghapus file yang tidak lagi dapat didownload dan memang tidak berguna.
$ sudo apt-get autoremove
Apt-get autoremove digunakan untuk menghapus paket-paket yang secara otomatis terinstall karena biasanya memenuhi ketergantungan antar paket dan tidak lagi dibutuhkan oleh sistem, bisa jadi karena paket utamanya sudah diremove.