Difference between revisions of "OS: Penggunaan apt-get"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 111: | Line 111: | ||
dpkg-reconfigure <package_name> | dpkg-reconfigure <package_name> | ||
− | Reconfigurasi package yang di tulis | + | Reconfigurasi package yang di tulis namanya. |
Dengan banyaknya package, kita biasanya akan ditanyakan beberapa pertanyaan konfigurasi | Dengan banyaknya package, kita biasanya akan ditanyakan beberapa pertanyaan konfigurasi | ||
yang mungkin kita tidak sadari ternyata ada di sistem kita. | yang mungkin kita tidak sadari ternyata ada di sistem kita. | ||
Line 254: | Line 254: | ||
Perintah di atas akan memberikan banyak jawaban. | 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 | 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 | apt-cache policy torcs | ||
− | + | Tampaknya OK, mari kita instalasi. | |
apt-get install torcs | 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/ | 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 | apt-cache search torcs | ||
− | + | Akan tetapi kita kehabisan harddisk. Saya akan men-delete apt cache! | |
apt-get clean | 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 | apt-get remove torcs | ||
− | + | Jika kita ingin membuang juga file konfigurasi: | |
apt-get purge torcs | apt-get purge torcs |
Latest revision as of 14:40, 2 April 2014
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