[ předchozí ] [ Obsah ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ další ]


APT HOWTO (Obsolete Documentation)
Kapitola 5 - Získávání informací o balíčcích


Pro systém APT existují některé front-endové programy, které značně zjednodušují zjišťování seznamu balíčků dostupných pro instalaci nebo už nainstalovaných, stejně jako zjištění sekce, do které balíček patří, jakou má prioritu, jaký je jeho popis apod.

Ale... naším cílem je naučit se používat čisté APT. Tak tedy, jak můžete zjistit jméno balíčku, který chcete instalovat?

Pro řešení této úlohy máme spoustu prostředků. Začneme s apt-cache. Tento program využívá systém APT pro údržbu svojí databáze. Letmo se podíváme na některé možnosti jeho praktického využití.


5.1 Zjišťování názvů balíčků

Předpokládejme například, že si chcete připomenout staré dobré časy Atari 2600. Chcete použít APT k nainstalování emulátoru Atari a potom ke stažení nějakých her. Můžete udělat:

     # apt-cache search atari
     atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
     circuslinux - The clowns are trying to pop balloons to score points!
     madbomber - A Kaboom! clone
     tcs - Character set translator.
     atari800 - Atari emulator for svgalib/X/curses
     stella - Atari 2600 Emulator for X windows
     xmess-x - X binaries for Multi-Emulator Super System

Našli jsme několik balíčků, jež se vztahují k tomu, co jsme hledali, spolu s krátkým popisem. K získání více informací o konkrétním balíčku, mohu použít:

     # apt-cache show stella  
     Package: stella
     Priority: extra
     Section: non-free/otherosfs
     Installed-Size: 830
     Maintainer: Tom Lear <tom@trap.mtview.ca.us>
     Architecture: i386
     Version: 1.1-2
     Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)
     Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
     Size: 483430
     MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
     Description: Atari 2600 Emulator for X windows
      Stella is a portable emulator of the old Atari 2600 video-game console
      written in C++.  You can play most Atari 2600 games with it.  The latest
      news, code and binaries for Stella can be found at:
      http://www4.ncsu.edu/~bwmott/2600

Výstupem je spousta detailních informací o balíčku, který chcete (nebo nechcete) instalovat, spolu s plným popisem balíčku. Pokud je už balíček v systému nainstalován a existuje novější verze, uvidíte informace o obou verzích. Například:

     # apt-cache show lilo
     Package: lilo
     Priority: important
     Section: base
     Installed-Size: 271
     Maintainer: Russell Coker <russell@coker.com.au>
     Architecture: i386
     Version: 1:21.7-3
     Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate
     Suggests: lilo-doc
     Conflicts: manpages (<<1.29-3)
     Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb
     Size: 143052
     MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
     
     Package: lilo
     Status: install ok installed
     Priority: important
     Section: base
     Installed-Size: 190
     Maintainer: Vincent Renardias <vincent@debian.org>
     Version: 1:21.4.3-2
     Depends: libc6 (>= 2.1.2)
     Recommends: mbr
     Suggests: lilo-doc
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.

Všimněte si, že první ve výpisu je dostupný balíček a druhý je balíček, který je již instalován. Pro více obecných informací o balíčku můžete použít:

     # apt-cache showpkg penguin-command
     Package: penguin-command
     Versions: 
     1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status)
     
     Reverse Depends: 
     Dependencies: 
     1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) 
     Provides: 
     1.4.5-1 - 
     Reverse Provides:

A ke zjištění na kterých balíčcích závisí:

     # apt-cache depends penguin-command
     penguin-command
       Depends: libc6
       Depends: libpng2
       Depends: libsdl-mixer1.1
       Depends: libsdl1.1
       Depends: zlib1g

Celkem tedy máme široký rozsah zbraní, které můžeme použít ke zjištění názvu balíčku, který chceme.


5.2 Použití dpkg k nalezení názvů balíčků

Jedna z možností, jak najít název balíčku, je znát název některého důležitého souboru nacházejícího se uvnitř balíčku. Například abychom nalezli název balíčku, který obsahuje konkrétní ".h" soubor, který potřebujeme pro kompilaci, můžeme spustit:

     # dpkg -S stdio.h
     libc6-dev: /usr/include/stdio.h
     libc6-dev: /usr/include/bits/stdio.h
     perl: /usr/lib/perl/5.6.0/CORE/nostdio.h

nebo:

     # dpkg -S /usr/include/stdio.h
     libc6-dev: /usr/include/stdio.h

Pro zjištění názvů balíčků nainstalovaných ve vašem systému, což je užitečné například pokud plánujete pročistit váš disk, můžete spustit:

     # dpkg -l | grep mozilla
     ii  mozilla-browse 0.9.6-7        Mozilla Web Browser

Problém tohoto příkazu je, že může "uříznout" konec názvu balíčku. V příkladu výše je plný název balíčku mozilla-browser. K opravení tohoto můžete použít proměnnou prostředí COLUMNS takto:

     [kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla
     ii  mozilla-browser             0.9.6-7                     Mozilla Web Browser - core and browser

nebo popis nebo jeho část takto:

     # apt-cache search "Mozilla Web Browser"
     mozilla-browser - Mozilla Web Browser

5.3 Jak instalovat balíčky "na vyžádání"

Kompilujete program a znenadání bum! Je tu chyba, protože je potřeba .h soubor, který nemáte. Program auto-apt vás může takovýchto situací ušetřit. Zastaví kompilační proces a zeptá se vás na instalaci potřebných balíčků. Jakmile je balíček nainstalován, nechá proces pokračovat.

V podstatě musítě udělat následující:

     # auto-apt run příkaz

Kde `příkaz' je vykonávaný příkaz, který může potřebovat nějaké nedostupné soubory. Například:

     # auto-apt run ./configure

auto-apt se pak zeptá, jestli chcete nainstalovat potřebné balíčky a automaticky zavolá apt-get. Pokud používáte X, program místo implicitního textového rozhraní nabídne grafické.

Auto-apt používá databáze, které, aby byl efektivní, je potřeba udržovat aktuální. Toho lze dosáhnout voláním příkazů auto-apt update, auto-apt updatedb a auto-apt update-local.


5.4 Jak zjistit, ke kterému balíčku soubor patří

Když chcete instalovat balíček a nemůžete zjistit jeho název pomocí apt-cache a přitom znáte název souboru vlastního programu nebo název některého jiného souboru, který k balíčku patří, pak můžete k nalezení názvu balíčku použít apt-file. Pracuje se s ním takhle:

     $ apt-file search filename

Program funguje podobně jako dpkg -S, ale zobrazí i odinstalované balíčky, které hledaný soubor obsahují. Lze ho také použít ke zjištění, které balíčky obsahují potřebné hlavičkové soubory, které chybí při kompilaci programu. Avšak auto-apt je mnohem lepší způsob, jak řešit takovéto problémy, viz Jak instalovat balíčky "na vyžádání", Oddíl 5.3.

Obsah balíčku si také můžete nechat zobrazit spuštěním:

     $ apt-file list packagename

apt-file používá stejně jako auto-apt databázi, ve které je uloženo, které soubory jednotlivé balíčky obsahují. Databázi je třeba udržovat aktuální. Aktualizace se provádí spuštěním:

     # apt-file update

Implicitně používá apt-file stejnou databázi jako auto-apt, viz Jak instalovat balíčky "na vyžádání", Oddíl 5.3.


5.5 Jak zjistit změny v balíčcích

Každý balíček instaluje do svého adresáře s dokumentací (/usr/share/doc/packagename) soubor s názvem changelog.Debian.gz, který obsahuje seznam změn provedených v balíčku od jeho poslední verze. Tyto soubory si můžete prohlédnout např. pomocí zless. Po kompletním upgradu systému však už není hledání všech nových souborů se seznamy změn tak snadné.

Je tu způsob, jak tuto úlohu zautomatizovat - nástrojem nazvaným apt-listchanges. Nejprve nainstalujte balíček apt-listchanges. Během instalace balíčku ho Debconf nakonfiguruje. Některé z otázek neuvidíte, záleží na prioritě, kterou jste pro Debconf nastavil. Na otázky odpovězte podle uvážení.

První otázka se ptá, jakým způsobem vás má apt-listchanges o změnách informovat. Můžete si je nechat posílat na mail, což je výhodné při automatických upgradech, nebo si je můžete nechat ukázat pomocí filtru, jakým je např. less, takže si můžete změny prohlédnout ještě před tím, než necháte upgrade pokračovat. Pokud nechcete, aby se apt-listchanges při upgradech spouštěl automaticky, odpovězte none.

Po nainstalování apt-listchanges, jakmile apt stáhne balíčky (resp. získá z CD nebo připojeného disku), před tím, než se budou instalovat, vypíše apt-listchanges seznam změn v těchto balíčcích.


[ předchozí ] [ Obsah ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ další ]


APT HOWTO (Obsolete Documentation)

1.8.11 - srpen 2005

Gustavo Noronha Silva kov@debian.org

Přeložil Aleš Nosek noseka1@centrum.cz