OS: Penggunaan apt-get

From OnnoWiki
Jump to navigation Jump to search

Sumber: https://help.ubuntu.com/community/AptGet/Howto


Manajemen Package menggunakan APT

Manajemen package melalui apt-get berdampingan dengan file /etc/apt/sources.list.

Pendahuluan tentang APT

Pada awalnya, user harus mengcompile semua program yang ingin mereka gunakan di Linux mereka. Saat Debian dibuat, tampaknya di perlukan sistem yang dapat me-manajemen package yang di instalasi di mesin. nama yang digunakan untuk sistem ini adalah dpkg. Inilah awal terbentuknya "package" di Linux, beberapa saat sebelum Red Hat memutuskan untuk membuat sistem 'rpm' mereka sendiri.

Masalah muncul, karena mereka membutuhkan cara yang effisien untuk bisa secara cepat dan praktis untuk menginstalasi package yang mengatur secara automatis dependency dan menangani file konfigurasi saat upgrading. Disini, Debian kembali memimpin dengan melahirkan APT, Advanced Packaging Tool, yang kemudian di porting oleh Conectiva untuk digunakan dengan rpm yang di adopsi oleh berbagai distribusi lainnya.

Perintah

Semua perintah ini harus dijalankan sebagai root dengan privilege superuser. Ubah <package_name> dengan nama package yang akan di instalasi. Contoh,

sudo apt-get install ubuntu-desktop 

Perintah Instalasi

apt-get install <package_name> 

Perintah untuk menginstalasi package baru.

apt-get build-dep <package_name> 

Perintah ini mencari repository dan menginstalasi build dependency untuk <package_name>. Jika package tidak di repository akan memberikan sebuah error.

aptitude install <package_name>

Aptitude adalah Ncurses viewer untuk package yang terinstalasi atau yang tersedia. Aptitude dapat digunakan dari command line seperti apt-get.

APT dan aptitude dapat menerima banyak package name sekaligus dengan pembatas spasi, contoh:

apt-get install <package1_name> <package2_name> <package3_name>

Gunakan flag -s untuk mensimulasikan proses. Contoh

sudo apt-get -s install <package_name>

Akan mensimulasikan proses instalasi package memperlihatkan pada kita package apa saja yang akan di instalasi dan di konfigurasi.

auto-apt

auto-apt run <command_string>

Jika di jalankan, perintah auto-apt akan secara automatis menginstalasi package saat kehilangan akses ke file. Jika sebuah program yang mencoba untuk mengakses ke file yang di ketahui milik sebuah package yang di uninstalled, auto-apt akan menginstalasi secara automatis package tersebut menggunakan apt-get. Fitur ini membutuhkan apt dan sudo untuk bisa berjalan.

Auto-apt menyimpan database yang perlu tetap di update agar effektif. Hal ini dapat diperoleh dengan cara memanggil perintah auto-apt update, auto-apt updatedb dan auto-apt update-local.

Contoh penggunaan auto-apt, misalnya kita sedang mengcompile program, tiba-tiba memperoleh error karena kita membutuhkan sebuah file yang kita tidak memilikinya. Program auto-apt akan menanyakan pada kita untuk menginstalasi package yang di butuhkannya, menghentikan proses yang relevan dan meneruskan lagi jika package tersebut sudah di instalasi. Contoh,

auto-apt run ./configure

Ini akan menanya untuk menginstalasi package yang dibutuhkan dan secara automatis memanggil apt-get. Jika kita menjalankan X, sebuah interface grafis akan menggantikan default text interface.

Perintah untuk Maintenance

apt-get update

Jalankan perintah ini setelah kita melakukan perubahan pada /etc/apt/sources.list atau /etc/apt/preferences. Jalankan perintah ini secara periodik untuk memastikan source list yang kita gunakan adalah up-to-date. Hal ini sama dengan "Reload" di Synaptic atau "Fetch updates" di Adept.

apt-get upgrade

Perintah ini akan mengupgrade semua package yang di instalasi. Ini sama dengan "Mark all upgrades" di Synaptic.

   apt-get dist-upgrade

Sama seperti di atas, akan tetapi menambahkan checkbox "smart upgrade". Ini akan memberitahukan APT untuk menggunakan "smart" conflict resolution system, dia akan berusaha mengupgrade package yang paling penting dan mengorbankan yang tidak penting jika dibutuhkan. "apt-get dist-upgrade" tidak akan melakukan distribution. Lihat http://www.ubuntu.com/getubuntu/upgrading untuk informasi lebih lanjut.

apt-get check

Perintah ini adalah tool diagnostik. Ini akan mengupdate daftar package dan cek dependency yang rusak / salah.

apt-get -f install

Perintah ini melakukan hal yang sama dengan Edit->Fix Broken Packages di Synaptic. Lakukan ini jika kita menerima keluhan "unmet dependencies".

apt-get autoclean

Perintah ini akan membuang semua file .deb untuk package yang tidak lagi di instalasi di sistem kita. Tergantug dari kebiasaan kita, menghilangkan file ini dari /var/cache/apt/archives akan memungkinkan kita untuk memperoleh diskspace yang lumayan besar.

apt-get clean

Sama seperti di atas, akan tetapi perintah ini akan membuang semua package dari package cache. Ini biasanya akan bermasalah kalau sambungan Internet kita cukup pelan, karena perintah ini akan menyebabkan kita untuk mendownload ulang packages yang kita butuhkan untuk menginstalasi aplikasi.

Package cache berada di /var/cache/apt/archives . Perintah

du -sh /var/cache/apt/archives

akan memberitahukan kepada kita berapa besar harddisk yang di konsumsi di package cache.

dpkg-reconfigure <package_name>

Reconfigurasi package yang di tulis namanya. Dengan banyaknya package, kita biasanya akan ditanyakan beberapa pertanyaan konfigurasi yang mungkin kita tidak sadari ternyata ada di sistem kita. Contoh:

dpkg-reconfigure fontconfig-config

akan memberikan kita "wizard" untuk konfigurasi font di Ubuntu.

echo "<package_name> hold" | dpkg --set-selections

Perintah ini akan menyebabkan package yang kita inginkan untuk di tahan / di hold.

Perintah ini akan menyebabkan effek samping sehingga package tersebut untuk di upgrade. apt-get dist-upgrade memang akan mengatasi ini, tapi akan memberikan peringatan pada kita dulu. Jika kita ingin menggunakan sudo, maka kita perlu menggunakan perintah

echo "<package_name> hold" | sudo dpkg --set-selections

bukan

sudo echo "<package_name> hold" | dpkg --set-selections.


echo "<package_name> install" | dpkg --set-selections

Perintah ini akan membuang kondisi "hold" atau "locked package" . Penggunaan sudo juga sama di perintah ini, pada dpkg bukan di echo.


Perintah untuk Membuang

apt-get remove <package_name>

Perintah ini akan membuang package yang di instal, tapi membiarkan file konfigurasi biasanya di /etc untuk tidak di buang.


apt-get purge <package_name>

Perintah ini akan berusaha membuang package dan file konfigurasinya. File konfigurasi yang berada di folder / directory ~ biasanya tidak di apa-apakan oleh perintah ini.

+ operator

Jika kita ingin membuang package1 dan menginstalasi package2 dalam satu langkah, dapat menggunakan perintah:

apt-get remove <package1> <package2>+


apt-get autoremove

Perintah in akan membuang package yang di instalasi oleh package lain dan tidak lagi dibutuhkan.

apt-get autoremove <package_name>

Perintah ini akan membuang package <package_name> yang di install termasuk dependency-nya.

Memang tidak ada cara langsung untuk membuang semua konfigurasi dari package yang di buang. Kita dapat membuang semua data konfigurasi dari setiap package yang dibuang menggunakan perintah,

dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge

Search command

apt-cache search <search_term>

Perinta ini akan mencari package yang kita tulis di <search_term>.

dpkg -l *<search_term>*

Perintah ini akan mencari package yang mengandung nama / kata yang tertulis di <search_term>. Sama dengan apt-cache search, tapi juga akan memperlihatkan apakah package tersebut terinstall di system dengan cara memberi tanda dengan ii (terinstal) dan un (tidak terinstal).

apt-cache show <package_name>

Perintah ini akan memperlihatkan keterangan tentang sebuah package <package_name> dan berbagai informasi yang relevan, seperti versi, size / besarnya, dependency dan konflik.

dpkg --print-avail <package_name>

Perintah ini mirip dengan "apt-cache show".

dpkg -L <package_name>

Perintah ini akan memperlihatkan file dalam sebuah package <package_name>.

dpkg -c foo.deb

Perintah ini memberikan daftar file di package "foo.deb". Perhatikan bahwa foo.deb adalah pathname. Gunakan perintah ini untuk package .deb yang kita download secara manual.

dlocate <package_name>

Perintah ini untuk mengetahui package mana yang memiliki <package_name>. Perintah ini akan memperlihatkan file dari package yang di instalasi yang cocok dengan <package_name>, dengan nama dari package asal-nya. Kira-kira seperti aplikasi "reverse lookup" (kalau di DNS).

Untuk bisa melakukan ini, package dlocate harus di instalasi di system anda.

dpkg -S <package_name>

Perintah ini mirip dengan dlocate, akan tetapi tidak perlu menginstalasi package tambahan. Perintah ini lebih lambat daripada dlocate tetapi mempunyai sebuah keuntungan yaitu sudah terinstalasi secara default di sistem Debian dan Ubuntu.

apt-file search <package_name>

Perintah ini seperti dlocate dan dpkg -S, tapi mencari semua package yang tersedia. Perintah ini menjawab pertanyaan, "Package apa yang menyediakan file tersebut?"

apt-file perlu di update secara periodik, gunakan perintah

apt-file update

Untuk dapat menggunakan perintah ini, package apt-file perlu di install.

apt-cache pkgnames

Perintah ini memberikan daftar dari setiap package yang ada di sistem.

Beberapa catatan tambaha:

Jika hasil pencarian ternyata menghasilkan daftar yang sangat panjang, kita dapat memfilter hasil-nya dengan cara mengarahkan menggunakan perintah grep, seperti:

apt-cache search filename | grep -w filename

ini akan memperlihatkan file yang berisi filename sebagai satu kata,

dpkg -L package | grep /usr/bin 

ini akan memperlihatkan daftar file yang ada di directory /usr/bin, biasanya berguna jika kita ingin mencari executable tertentu.

Untuk informasi lebih lanjut tentang apt-get, apt-cache dan dpkg kita dapat mencek perintah man. Contoh:

man apt-get

Contoh Penggunaan

Contoh, jika kita mencari aplikasi untuk game balapan (racing game), kita dapat mengetik

apt-cache search racing game

Perintah di atas akan memberikan banyak jawaban. Kita lihat ada game bernama "torcs". Mari kita telaah lebih lanjut tentang game tersebut, dengan perintah

apt-cache show torcs

Pertanyaannya, apakah game ini sudah terinstalasi di komputer? versi mana yang tersedia? Apakah dari universe atau main?

apt-cache policy torcs

Tampaknya OK, mari kita instalasi.

apt-get install torcs

Apa perintah di terminal untuk menjalankan game ini? Pada contoh ini, sebetulnya cara menjalankan cukup mudah dengan menulis "torcs", akan tetapi kadang kala belum tentu juga. Salah satu cara adalah mencari file yang di instalasi package di "/usr/bin". Untuk games, binary biasanya di "/usr/games". Untuk administrative program, biasanya di "/usr/sbin".

dpkg -L torcs | grep /usr/games/

Bagian pertama dari perintah di atas akan menampilkan semua file yang di install oleh package "torcs" (coba saja). Bagian ke dua, kita meminta agar hanya menampilkan kalimat yang mengandung "/usr/games/".

Tampaknya game tersebut menarik. Barangkali ada beberapa extra tracks?

apt-cache search torcs

Akan tetapi kita kehabisan harddisk. Saya akan men-delete apt cache!

apt-get clean

Jika kita ingin membuang game dari komputer kita. Tetapi kita ingin tetap menyimpan file konfigurasi sehingga di lain waktu kalau kita ingin menginstalasi ulang dapat langsung dipakai lagi game tersebut. Lakukan,

apt-get remove torcs

Jika kita ingin membuang juga file konfigurasi:

apt-get purge torcs

Setting up apt-get to use a http-proxy

These are three methods of using apt-get with a http-proxy.

Temporary proxy session

This is a temporary method that you can manually use each time you want to use apt-get through a http-proxy. This method is useful if you only want to temporarily use a http-proxy.

Enter this line in the terminal prior to using apt-get (substitute your details for yourproxyaddress and proxyport).

export http_proxy=http://yourproxyaddress:proxyport

If you normally use sudo to run apt-get you will need to login as root first for this to work unless you also add some explicit environment settings to /etc/sudoers, e.g.

Defaults env_keep = "http_proxy https_proxy ftp_proxy"

APT configuration file method

This method uses the apt.conf file which is found in your /etc/apt/ directory. This method is useful if you only want apt-get (and not other applications) to use a http-proxy permanently.

IconsPage/info.png On some installations there will be no apt-conf file set up. This procedure will either edit an existing apt-conf file or create a new apt-conf file.

gksudo gedit /etc/apt/apt.conf

Add this line to your /etc/apt/apt.conf file (substitute your details for yourproxyaddress and proxyport).

Acquire::http::Proxy "http://yourproxyaddress:proxyport";

Save the apt.conf file.

BASH rc method

This method adds a two lines to your .bashrc file in your $HOME directory. This method is useful if you would like apt-get and other applications for instance wget, to use a http-proxy.

gedit ~/.bashrc

Add these lines to the bottom of your ~/.bashrc file (substitute your details for yourproxyaddress and proxyport)

http_proxy=http://yourproxyaddress:proxyport
export http_proxy

Save the file. Close your terminal window and then open another terminal window or source the ~/.bashrc file:

source ~/.bashrc

Test your proxy with sudo apt-get update and whatever networking tool you desire. You can use firestarter or conky to see active connections.

If you make a mistake and go back to edit the file again, you can close the terminal and reopen it or you can source ~/.bashrc as shown above.

source ~/.bashrc

How to login a proxy user

If you need to login to the Proxy server this can be achieved in most cases by using the following layout in specifying the proxy address in http-proxy. (substitute your details for username, password, yourproxyaddress and proxyport)

http_proxy=http://username:password@yourproxyaddress:proxyport



Referensi