Správa balíků pomocí apt-get jde ruku v ruce s zdrojem softwaru uloženým v /etc/apt/sources.list. Informace o správě zdrojů softwaru naleznete v Přidávání zdrojů.
„ Na počátku byl .tar.gz. Uživatel musel kompilovat každý program, který chtěl použít na svůj GNU/Linux systému. Při příchodu Debianu bylo nezbytné vytvořit nějaký systém správy softwaru. Systém správy softwaru byl pojmenován dpkg. Tento slavný balíkovací systém přišel na GNU/Linux chvíli předtím, než se Red Hat rozhodl vytvořit vlastní balíkovací systém označován rpm.
Nové dilema přišlo na vývojáře GNU/Linux. Potřebovali rychlý, praktický a efektivní nástroj na instalaci balíků, který by spravoval závislosti knihoven automaticky a převzal starost o jejich aktualizace. To se opět povedlo vývojářům z Debian a na svět přišlo APT (the Advance Packaging Tool = Pokročilý balíkovací systém). Systém byl portován Conectivou pro použití s rpm balíky a je adoptován dalšími distribucemi.“
– převzato z Debian APT HOWTO
Všechny níže uvedené příkazy vyžadují zadávání v terminálu s právy administrátora (tj. s příkazem sudo
). Text název_balíku nahraďte názvem balíku, s kterým chcete pracovat, název_souboru nahraďte názvem Vámi hledaného souboru.
Kompletní aktualizaci Ubuntu z příkazové řádky provedou níže uvedené příkazy apt-get update a apt-get upgrade.
nainstaluje balík
nainstaluje danou verzi balíku
odstraní nainstalovaný balík (konfigurační soubory zůstanou)
odstraní nainstalovaný balík i se systémovými konfiguračními soubory (vaše osobní zůstanou) Malý trik: když chcete odstranit balík foo a nainstalovat balík bar v jednom kroku: apt-get purge foo bar+
odstraní nainstalovaný balík i s jeho závislými balíky, které už nejsou jinde potřeba
Dojde k novému načtení balíků ze zdrojů a porovnání verze balíků. Ekvivalent v Synapticu je ikonka Obnovit, nebo “zkontrolovat aktualizace” ve Windows, nebo OS X. Spusťte vždy po změně /etc/apt/sources.list, nebo /etc/apt/preferences. Využívejte tohoto příkazu pravidelně, aby byl seznam balíků aktuální. (Pro kompletní aktualizaci samotný apt-get update nestačí - po něm je třeba ještě použít následující příkaz apt-get upgrade).
aktualizuje všechny nainstalované balíky na nejnovější verzi. Před použitím je nutno nejprve zaktualizovat zdroje pomocí apt-get update. Neinstaluje balíky nové a žádné automaticky nemaže. Z toho také plyne, že pokud upgrade nějakého balíku na novější verzi by vyžadoval instalaci nebo odstranění nějakého jiného, k jeho upgradu nedojde - k tomu slouží příkaz apt-get dist-upgrade
. Ekvivalent v Synapticu je Aktualizovat vše a následné kliknutí na Použít. (Příkaz upgrade po update dokončí kompletní aktualizaci Ubuntu).
upgraduje balíky i za cenu toho, že bude potřeba některé balíky odstranit nebo nainstalovat. Neznamená automaticky přechod na novou verzi systému. K té dojde jen tehdy, pokud si upravíte zdroje, např. změníte odkazy z karmic
na lucid
. Toto ale není vhodná cesta k přechodu na novější verzi Ubuntu viz: Přechod na novější verzi systému.
odstraní všechny nepotřebné balíky, které byly staženy jen jako závislosti jiných balíků. Občas použijte pro uvolnění místa na disku.
ve /var/cache/apt/archives/
se ukládají stažené balíky pro pozdější použití, tímto příkazem smažete všechny nepotřebné (nenainstalované) místo na disku zabírající balíky. Potřebujete-li zoufale uvolnit místo na disku, použijte apt-get clean.
/var/cache/apt/archives
zjistíte pomocí du -sh /var/cache/apt/archives
smaže balíky již nainstalovaného softwaru. Software zůstane nainstalován, balíky jsou pouze potřeba k samotné instalaci.
Stejné jako Akce → Odstranit balíky které jsou v konfliktu a klik na Použít v Synapticu. Dojde k odstranění balíků se špatnými závislostmi.
vyhledá balík obsahující ve svém názvu „vzor“.
ukáže informace o balíku „název_balíku“.
Ukáže podrobnější informace o balíku.
seznam instalovaných balíků odpovídající vzoru. Užitečné pokud neznáte správný název balíku.
ukáže soubory, které má instalované balík „název_balíku“ v systému
vyhledá balík, ze kterého pochází soubor „název_souboru“. Tento postup je inverzní oproti dpkg -L název_balíku, je užitečný jako odpověď na otázku „Z kterého balíku přišel tento soubor?“
jaké soubory obsahuje balík „foo.deb“. Zobrazí se to, co přibude ve Vašem systému po nainstalovaní balíku „foo.deb“, který jste si ručně stáhli.
přenastaví balík „název_balíku“. Pozor, při provedení tohoto příkazu u některých balíku můžete být dotazováni na upřesňující informace. Například: dpkg-reconfigure fontconfig-config
zobrazí nabídku konfigurace fontů v Ubuntu.
echo „foo hold“ | dpkg –set-selections
- uzamkne balík „foo“, to znamená, že daný balík se nebude aktualizovat na novou verzi. Stejné jako v Synapticu Balík → Uzamknout verzi.echo „foo install“ | dpkg –set-selections
- odstraní zámek z balíkuChci cítit vítr ve vlasech, chci si užít adrenalin z rychlosti … nainstaluji si nějakou závodní automobilovou hru. Ale jaké hry závodní hry jsou k mání:
sudo apt-cache search racing game
Tento příkaz mi dá mnoho odpovědí. Bohužel velká část her je v angličtině a tak nemůžete vyhledávat frázi závodní hra, ale musíte si pojem přeložit: racing game. Ze seznamu mě zaujala hra s názvem torcs, tak se podívám na nějaké bližší informace o ní:
apt-cache show torcs
Hmm … to vypadá zajímavě. Ale nemám již tuto hru instalovanou na počítači? Jaká verze je vlastně dostupná? V kterém zdroji se nachází? Není nic snazšího než se optat:
sudo apt-cache policy torcs
Pěkné, chci to nainstalovat:
sudo apt-get install torcs
Jaký příkaz zadat do konzole ke spuštění hry? Mno dobře, v tomto případě je to docela zřejmé torcs. Ale ne vždy je to tak jasné. Jedna možnost jak to zjistit, je podívat se jaké soubory z balíku jsou nainstalovány v /usr/bin. Pro hry je dobré též se podívat do /usr/games. Administrativní programy hledat v /usr/sbin
dpkg -L torcs | grep /usr/games/
První část příkazu zobrazí instalované soubory balíkem torcs. Druhá část vyfiltruje jen názvy souborů obsahující /usr/games.
Hmm, hra je super. Možná by to chtělo nějaké další tratě?
apt-cache search torcs
Zobrazí se nám další dva balíky, které můžeme nainstalovat.
Ale ne, dochází mi volné místo na disku, musím promazat nepotřebné balíky:
apt-get clean
A jé, máma se ptá jestli bych mohl odstranit všechny hry z tohoto počítače. Vyhovím, ale nechám si schované konfigurační soubory na jindy:
apt-get remove torcs
Asi už to hrát nikdy nebudu, smažu i konfigurační soubory:
apt-get purge torcs
Pokud potřebujete nainstalovat starší verzi balíku, přidejte ji za název balíku, např.:
apt-get install firefox=3.0.7+nobinonly-0ubuntu0.8.10.1
Aktualizovat systém pomocí příkazové řádky (nepotřebujeme Správce aktualizací)
sudo apt-get update && sudo apt-get upgrade
případně ještě
sudo apt-get dist-upgrade
deborphan a debfoster jsou užitečné programy pro hledání osiřelých a nepotřebných balíků k odstranění.
Pro zrychlení práce si lze vytvořit aliasy. Alias přestavuje zkratku pro příkaz, nebudeme muset vypisovat apt-get install, ale stačí jen napsat agi. Pro tvorbu aliasů si v textovém editoru otevřeme ~/.bashrc
:
gksudo gedit ~/.bashrc
Nalezneme řádku # some more ls aliases
a pod ní můžeme například dopsat:
alias acs='apt-cache search' alias agu='sudo apt-get update' alias agg='sudo apt-get upgrade' alias agd='sudo apt-get dist-upgrade' alias agi='sudo apt-get install' alias agr='sudo apt-get remove'
Pakliže s prací v Terminálu teprve začínáte, nepoužívejte hned aliasy. Je vhodné počkat než se vám příkazy dostanou trochu „pod kůži“ a až pak si nějaké aliasy vytvořit. Jinak nebudete své práci v terminálu moc rozumět! … Toto vše platí obecně pro jakoukoliv tvorbu aliasů (zkratek) v Terminálu.
K využití apt-get s htttp-proxy využijte jednu z následujících tří variant nastavení. Každá se hodí pro trochu jiné využití, pečlivě si vyberte:
Toto je varianta vhodná pro dočasné řešení. Ručně můžete nastavit http-proxy pokaždé když se Vám to hodí pro trvalé řešení jsou efektivnější jiné metody.
Vložte následující řádek do terminálu a výraz Vaše_proxy_adresa a Váš_proxy_port nahraďte vhodnými údaji:
export http_proxy=http://Váš_login:Vaše_heslo@Vaše_proxy_adresa:Váš_proxy_port
Tato varianta využívá nastavení v souboru /etc/apt/apt.conf
. Tato metoda je užitečná, chcete-li apt-get (ne jiné aplikace) používat přes http-proxy trvale.
Otevřeme si v textovém editoru apt.conf
:
gksudo gedit /etc/apt/apt.conf
A přidáme tuto řádku. Výrazy Váš_login, Vaše_heslo, Vaše_proxy_adresa a Váš_proxy_port nahraďte vhodnými údaji:
Acquire::http::Proxy "http://Váš_login:Vaše_heslo@Vaše_proxy_adresa:Váš_proxy_port";
Soubor uložíme a zavřeme.
Tento postup přidá do nastavení Bashe dvě řádky. Postup je vhodný, chcete-li používat apt-get a další jiné aplikace jako výzvu k využití wgetu, s použitím http-proxy.
Nejprv si otevřeme v textovém editoru ~/.bashrc
:
gedit ~/.bashrc
Přidáme následující řádky na konec souboru. Výrazy Váš_login, Vaše_heslo, Vaše_proxy_adresa a Váš_proxy_port nahraďte vhodnými údaji:
http_proxy=http://Váš_login:Vaše_heslo@Vaše_proxy_adresa:Váš_proxy_port export http_proxy
Uložíme soubor a zavřeme.
Chyba vypadá nějak takto
E: Problem with MergeList /var/lib/apt/lists/<nějaký_dlouhý_název_Packages>
Došlo k poškození uvedeného souboru. Náprava je jednoduchá
sudo rm /var/lib/apt/lists/* sudo apt-get update
První příkaz vymaže všechny soubory v daném adresáři. Druhý je obnoví.