Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Balíčkovací systém distribuce Debian GNU/Linux: apt

Dnes se podíváme na software, který se bezesporu stal jedním ze symbolů Debianu. Teprve jeho možnosti dávají balíčkovacímu systému této distribuce tu pravou sílu. Bez jeho pomoci si nedokáže práci se systémem představit snad žádný z administrátorů Debianu. Samozřejmě se jedná o mocný "apt".

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Proč nám nestačí dpkg

Pomocí dpkg můžeme s balíčky dělat téměř vše, co nás zprvu napadne. Dokážeme instalovat a deinstalovat software, propracovaný systém závislostí nás kontroluje, zda se např. nesnažíme odinstalovat balíček využívaný jinými balíčky, které jsme si nainstalovali, můžeme zjistit, ke kterému balíčku daný soubor patří atd. Má-li však být balíčkovací systém naším pomocníkem při správě softwarového vybavení našeho počítače, můžeme od něj oprávněně očekávat mnohem více. Od nástroje dpkg je velice milé, že nás upozorní, že balíček, který jsme si někde obstarali, není možné nainstalovat, protože ke svému běhu potřebuje ještě jiný balíček. Kde však máme tento balíček najít? Na to je odpověď poměrně jednoduchá. Jedním z hlavních úkolů jakékoli distribuce je poskytnout uživateli software, který pak můžeme pomocí nástrojů balíčkovacího systému instalovat. Takže naftp.debian.org najdete zcela jistě velké množství balíčků (seznam zrcadel je dostupný na www.debian.or­g/mirror/list). Avšak hledat nějaký balíček přímo na FTP serveru není zrovna uživatelsky příjemné. Naštěstí je na www.debian.or­g/distrib/pac­kages k dispozici WWW rozhraní, s jehož pomocí můžete najít balíček poněkud pohodlněji. Otázkou však zůstává, proč balíček někde hledat, když informace o tom, kde se balíček nachází, může být (a je) přímo v balíčkovacím systému. Odpověď je opět velice jednoduchá: nikde nic nehledejte a použijte apt. :-)

Co je tedy vlastně apt

V minulém dílu jsem záměrně použil termín „nástroje apt“, tedy tvar v množném čísle. Pod termínem apt, což je zkratka z anglickéhoAd­vanced Package Tool, se totiž skrývá hned několik nástrojů pro manipulaci s balíčkovacím systémem. Nejdůležitějším příkazem je bezpochyby apt-get, ale výbornými pomocníky jsou též např. programy apt-cache, apt-cdrom, apt-file, apt-zip atd. Nástroje apt nepracují přímo se soubory .deb (a ani jejich formátu nerozumí), ale pracují s informacemi dostupnými z balíčkovacího systému a na práci se soubory .deb používají dpkg.

Používáme apt-get

Jelikož je apt-get jednoznačně nejdůležitějším nástrojem při práci s balíčkovacím systémem Debianu, probereme nejdříve právě jeho možnosti. Z uživatelského hlediska je apt-get vlastně takovou nadstavbou nad dpkg, neboť nám umožňuje také instalovat a deinstalovat balíčky. Nemusíme se však starat o dopravení balíčku na náš počítač (např. z nějakého FTP serveru, instalačního CD, popř. jiného média) a dokonce nás ani příliš nezajímají závislosti mezi balíčky, neboť ty apt-get dokáže vyřešit sám. Nejjednoduší bude si vše ukázat na jednoduchém příkladu. Předpokládejme tedy, že chceme nainstalovat balíček console-log:

# apt-get install console-log
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  run
The following NEW packages will be installed:
  console-log run
0 packages upgraded, 2 newly installed, 0 to remove and 0
not upgraded.
Need to get 19.1kB of archives. After unpacking 188kB will be used.
Do you want to continue? [Y/n]

Po zadání příkazu pro instalaci balíčku (za povšimnutí stojí fakt, že jsme opravdu zadali pouze jméno balíčku, nikoli celé jméno souboru .deb) nás apt-get upozorní, že software potřebuje ke své práci ještě balíček run. Dále se dozvíme některé další detaily o instalaci a apt-get se zeptá, zda s instalací souhlasíme. Po potvrzení našeho rozhodnutí pokračuje instalace dále:

Do you want to continue? [Y/n]
Get:1 ftp://ftp.de.debian.org stable/main run 0.9.2-8 [14.1kB]
Get:2 ftp://ftp.de.debian.org stable/main console-log 0.6 [5070B]
Fetched 19.1kB in 4s (4119B/s)
Selecting previously deselected package run.
(Reading database ... 114467 files and directories currently
  installed.)
Unpacking run (from .../archives/run_0.9.2-8_i386.deb) ...
Selecting previously deselected package console-log.
Unpacking console-log (from .../console-log_0.6_all.deb) ...
Setting up run (0.9.2-8) ...

Setting up console-log (0.6) ...
Starting console-log: /var/log/exim/mainlog. /var/log/syslog.

#

Balíčky se stáhnou ze zdrojů nastavených v konfiguračním souboru a po jejich stažení je instalace dokončena. Stejným způsobem se apt-get chová při deinstalaci:

# apt-get remove run
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
  console-log run
0 packages upgraded, 0 newly installed, 2 to remove and 0
  not upgraded.
Need to get 0B of archives. After unpacking 188kB will be freed.
Do you want to continue? [Y/n]
(Reading database ... 114491 files and directories currently
  installed.)
Removing console-log ...
Stopping console-log: /var/log/exim/mainlog. /var/log/syslog.
Removing run ...
#

Příkazu apt-get můžeme samozřejmě zadat více balíčků najednou, takže je možné instalovat či deinstalovat více balíčků současně. Navíc akce

install a remove podporují suffixy -, resp. +, které modifikují význam akce. Pokud při akci install napíšeme za jméno balíčku -, balíček se odinstaluje. Analogicky obráceně se chová použití + při akci remove. Můžeme tedy instalovat a současně deinstalovat balíčky v rámci jednoho volání programu

apt-get:
# apt-get remove console-tools cook+
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
  console-tools
The following NEW packages will be installed:
  cook
0 packages upgraded, 1 newly installed, 1 to remove and 0
  not upgraded.
Need to get 373kB of archives. After unpacking 111kB will be used.
Do you want to continue? [Y/n]

Mezi další často používané akce patří upgrade, dist-upgrade a update. Příkaz apt-get upgrade provede upgrade všech balíčků v systému na nejnovější verzi dostupnou ze zdrojů, které jsou uloženy v konfiguračním souboru. Akce dist-upgrade se chová podobně, ale navíc se snaží inteligentně vyřešit změny v závislostech mezi balíčky (např. závisí-li balíček v nové verzi na nějakém dalším balíčku, navrhne vyřešení problému instalací daného balíčku). Pomocí dist-upgrade můžete pohodlně přejít z jedné verze distribuce na druhou za běhu systému. Velice důležitou akcí jeupdate. Tato akce provede aktualizaci informací o balíčcích ze zdrojů uvedených v konfiguračním souboru. Všechny ostatní akce už pracují s lokální kopií těchto informací na vašem počítači. Pokud tedy dojde k nějakým změnám v balíčcích v distribuci (např. bezpečnostní aktualizace), upgrade nic neprovede, dokud nespustíme apt-get update. Jak se apt-get konfiguruje a jak funguje, si podrobněji ukážeme příště.

Tento článek sponzoruje soLNet, s.r.o.

Školení: GIT správce zdrojových kódů

 

Seznamte se s možnosti systému správy verzí zdrojových kódů GIT, který používají i vývojáři linuxového jádra.

  • Proč správa verzí
  • Architektura GITu
  • GIT v praxi
  • a další

Podrobnější informace o školení a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,94

Přehled názorů

Jak delat vlastni deb baliky?
profix 30. 6. 2003 02:47
Nový
└ 
Re: Jak delat vlastni deb baliky?
Ivo Danihelka 30. 6. 2003 13:42
Nový
bez titulku
tdx 30. 6. 2003 03:00
Nový
Uz aby tu byl novej dil.
kaaja 30. 6. 2003 06:11
Nový
apt je chytrej az moc
Martin Povolny 30. 6. 2003 08:30
Nový
├ 
Re: apt je chytrej az moc
Libor Chocholaty 30. 6. 2003 09:56
Nový
│
├ 
Re: apt je chytrej az moc
Martin Povolny 30. 6. 2003 10:07
Nový
│
└ 
Re: apt je chytrej az moc
martink 30. 6. 2003 15:09
Nový
│
 
└ 
Re: apt je chytrej az moc
Marcel Kolaja 1. 7. 2003 09:45
Nový
├ 
Re: apt je chytrej az moc
Pavel Spalek 30. 6. 2003 10:22
Nový
│
└ 
Re: apt je chytrej az moc
Martin Povolny 30. 6. 2003 10:26
Nový
│
 
└ 
Re: apt je chytrej az moc
Marcel Kolaja 30. 6. 2003 11:32
Nový
└ 
Re: apt je chytrej az moc
Marcel Kolaja 30. 6. 2003 10:47
Nový
clanok
qwerty 30. 6. 2003 08:41
Nový
apt x urpmi
David 30. 6. 2003 10:01
Nový
├ 
Re: apt x urpmi
Martin Povolny 30. 6. 2003 11:37
Nový
└ 
Re: apt x urpmi
Mato 2. 7. 2003 02:20
Nový
 
└ 
Re: apt x urpmi
Mato 2. 7. 2003 02:23
Nový
nechapu
123 30. 6. 2003 11:55
Nový
├ 
Re: nechapu
anonymní uživatel 30. 6. 2003 13:27
Nový
│
└ 
Re: nechapu
hkmaly 8. 7. 2003 18:47
Nový
└ 
Re: nechapu
Marián Čavojský 30. 6. 2003 13:35
Nový
 
└ 
Re: nechapu
Miroslav Prymek 30. 6. 2003 20:30
Nový
pridat adresar z *.deb do sources.list
morom 30. 6. 2003 14:04
Nový
├ 
Re: pridat adresar z *.deb do sources.list
Marcel Kolaja 30. 6. 2003 14:06
Nový
│
└ 
Re: pridat adresar z *.deb do sources.list
morom 30. 6. 2003 14:21
Nový
│
 
└ 
Re: pridat adresar z *.deb do sources.list
Marcel Kolaja 1. 7. 2003 09:54
Nový
└ 
Re: pridat adresar z *.deb do sources.list
Petr Balas 30. 6. 2003 20:17
Nový
APT + SuSE
Milan 30. 6. 2003 21:14
Nový
hezky :-) ...navrhy na dalsi clanky
michal 1. 7. 2003 00:06
Nový
└ 
Re: hezky :-) ...navrhy na dalsi clanky
Frantisek 1. 7. 2003 05:58
Nový
Dlzka doby podpory Debianu
Vili 1. 7. 2003 09:47
Nový
└ 
Re: Dlzka doby podpory Debianu
Marcel Kolaja 1. 7. 2003 10:16
Nový
Sprava 'mixovane' distribuce (stable/testing).
Martin T. 1. 7. 2003 18:38
Nový
└ 
Re: Sprava 'mixovane' distribuce (stable/testing).
Majtas 1. 7. 2003 21:19
Nový
 
├ 
Re: Sprava 'mixovane' distribuce (stable/testing).
libor 2. 7. 2003 00:47
Nový
 
└ 
Re: Sprava 'mixovane' distribuce (stable/testing).
Marcel Kolaja 2. 7. 2003 17:09
Nový
Chyba v unstablu
networ 2. 7. 2003 12:02
Nový
└ 
Re: Chyba v unstablu
Martin Tomasek 5. 7. 2003 21:23
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem