Difference between revisions of "OS: Penggunaan apt-get"

From OnnoWiki
Jump to navigation Jump to search
Line 99: Line 99:
 
  apt-get clean
 
  apt-get clean
  
The same as above, except it removes all packages from the package cache. This may not be desirable if you have a slow internet connection, since it will cause you to redownload any packages you need to install a program.
+
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.
  
The package cache is in /var/cache/apt/archives . The command
+
Package cache berada di /var/cache/apt/archives . Perintah
  
 
  du -sh /var/cache/apt/archives
 
  du -sh /var/cache/apt/archives
  
will tell you how much space cached packages are consuming.
+
akan memberitahukan kepada kita berapa besar harddisk yang di konsumsi di package cache.
  
 
  dpkg-reconfigure <package_name>
 
  dpkg-reconfigure <package_name>
  
Reconfigure the named package. With many packages, you’ll be prompted with some configuration questions you may not have known were there.
+
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:
  
IconsPage/example.png For example:
+
dpkg-reconfigure fontconfig-config
  
        dpkg-reconfigure fontconfig-config
+
akan memberikan kita "wizard" untuk konfigurasi font di Ubuntu.
  
will present you with a "wizard" on configuring fonts in Ubuntu.
+
echo "<package_name> hold" | dpkg --set-selections
  
    echo "<package_name> hold" | dpkg --set-selections
+
Perintah ini akan menyebabkan package yang kita inginkan untuk di tahan / di hold.
  
This command places the desired package on 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
  
IconsPage/info.png This command may have the unintended side effect of preventing upgrades to packages that depend on updated versions of the pinned package. apt-get dist-upgrade will override this, but will warn you first. If you want to use this command with sudo, you need to use echo "<package_name> hold" | sudo dpkg --set-selections not sudo echo "<package_name> hold" | dpkg --set-selections.
+
echo "<package_name> hold" | sudo dpkg --set-selections
  
    echo "<package_name> install" | dpkg --set-selections
+
bukan
 +
 
 +
sudo echo "<package_name> hold" | dpkg --set-selections.
 +
 
 +
 
 +
 
 +
echo "<package_name> install" | dpkg --set-selections
  
 
This command removes the "hold" or "locked package" state set by the above command. The note above about sudo usage applies to this command.
 
This command removes the "hold" or "locked package" state set by the above command. The note above about sudo usage applies to this command.

Revision as of 14:16, 30 March 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 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

This command removes the "hold" or "locked package" state set by the above command. The note above about sudo usage applies to this command.

Removal commands

   apt-get remove <package_name>

This command removes an installed package, leaving configuration files intact.

   apt-get purge <package_name>

This command completely removes a package and the associated configuration files. Configuration files residing in ~ are not usually affected by this command.

       + operator
           IconsPage/example.png If you want to remove package1 and install package2 in one step:
           apt-get remove <package1> <package2>+
           .
   apt-get autoremove

This command removes packages that were installed by other packages and are no longer needed.

       apt-get autoremove <package_name>

This command removes an installed package and dependencies.

While there is no built in way to remove all of your configuration information from your removed packages you can remove all configuration data from every removed package with the following command.

   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>

This command shows the description of package <package_name> and other relevant information including version, size, dependencies and conflicts.

   dpkg --print-avail <package_name>

This command is similar to "apt-cache show".

   dpkg -L <package_name>

This command will list files in package <package_name>.

   dpkg -c foo.deb

This command lists files in the package "foo.deb". Note that foo.deb is a pathname. Use this command on .deb packages that you have manually downloaded.

   dlocate <package_name>

This command determines which installed package owns <package_name>. It shows files from installed packages that match <package_name>, with the name of the package they came from. Consider this to be a "reverse lookup" utility.

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

   dpkg -S <package_name>

This command does the same as dlocate, but does not require the installation of any additional packages. It is slower than dlocate but has the advantage of being installed by default on all Debian and Ubuntu systems.

   apt-file search <package_name>

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