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 namany. 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 This command acts like dlocate and dpkg -S, but searches all available packages. It answers the question, "what package provides this file?".

apt-file needs to be updated regularly like apt-get. Use the command:

apt-file update

IconsPage/info.png In order to use this command, the package apt-file must be installed on your system.

apt-cache pkgnames

This command provides a listing of every package in the system

A general note on searching: If searching for a generates a list that is too long, you can filter your results by piping them through the command grep. Examples:

apt-cache search filename | grep -w filename

will show only the files that contain filename as a whole word

dpkg -L package | grep /usr/bin 

will list files located in the directory /usr/bin, useful if you're looking for a particular executable.

For more information on apt-get, apt-cache and dpkg consult their manual pages by using the man command. These manuals will provide a wider scope of information in addition to all of the options that you can use with each program.

IconsPage/example.png Example:

man apt-get
   .

Typical usage example

I want to feel the wind in my hair, I want the adrenaline of speed. So lets install a racing game. But what racing games are available?

apt-cache search racing game

It gives me a lot of answers. I see a game named "torcs". Lets get some more information on this game.

apt-cache show torcs

Hmmm... it seems interesting. But is this game not already installed on my computer? And what is the available version? Is it from Universe or main?

apt-cache policy torcs

Ok, so now, let's install it!

apt-get install torcs

What is the command I must type in the console to launch this game? In this example, it's straightforward ("torcs"), but that's not always the case. One way of finding the name of the binary is to look at what files the package has installed in "/usr/bin". For games, the binary will be in "/usr/games". For administrative programs, it's in "/usr/sbin".

dpkg -L torcs | grep /usr/games/

The first part of the command display all files installed by the package "torcs" (try it). With the second part, we ask to only display lines containing "/usr/games/".

Hmmm, that game is cool. Maybe there are some extra tracks?

apt-cache search torcs

But I'm running out of space. I will delete the apt cache!

apt-get clean

Oh no, my mother asked me to remove all games from this computer. But I want to keep the configuration files so I can simply re-install it later.

apt-get remove torcs

If I want to also remove config files :

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