[ powrót ] [ Spis treści ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ dalej ]


APT HOWTO (Obsolete Documentation)
Część 5 - Pobieranie informacji o pakietach


Jest wiele programów-nakładek dla systemu APT, które bardzo ułatwiają pobieranie listy pakietów dostępnych do instalacji i już zainstalowanych, pozwalają dowiedzieć się do jakiej sekcji należy pakiet, jaki jest jego priorytet, jaki ma opis, itd.

Ale... naszym celem jest nauczyć się posługiwania się czystym APT-em. Zatem w jaki sposób dowiedzieć się nazwy pakietu, który chcemy zainstalować?

Mamy wiele środków do tego zadania. Zacznijmy od programu apt-cache. Jest on używany przez system APT do zarządzania jego bazą danych. Przyjrzymy się krótko jego bardziej praktycznym zastosowaniom.


5.1 Odnajdywanie nazw pakietów

Dla przykładu przypuśćmy, że chcemy powspominać o starych, dobrych czasach Atari 2600. Najpierw chcemy użyć APT-a do instalacji emulatora Atari, a następnie do pobrania kilku gier dla niego. Możemy to zrobić następująco:

     # 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

Znaleźliśmy kilka pakietów powiązanych z tym, czego szukamy, wraz z ich krótkimi opisami. Aby uzyskać więcej informacji na temat określonego pakietu, możesz wtedy użyć:

     # 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

Otrzymaliśmy w wyniku wiele szczegółów na temat pakietu, który chcemy (lub który nie chcemy) zainstalować, razem z jego pełnym opisem. Jeśli pakiet jest już zainstalowany w systemie i jest tam jego nowsza wersja, to zobaczysz informacje na temat obu wersji. Na przykład:

     # 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.

Zauważ, że pierwszy z pakietów na liście jest pakietem dostępnym, a drugi już zainstalowanym. Aby otrzymać więcej ogólnych informacji na temat pakietu, możesz użyć:

     # 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:

I aby dowiedzieć się od jakich pakietów on zależy:

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

Podsumowując, mamy wiele sposobów, których możemy użyć, aby dowiedzieć się nazwy pakietu, który chcemy zainstalować.


5.2 Używanie programu dpkg do dowiadywania się nazwy pakietów

Jednym ze sposobów dowiedzenia się nazwy pakietu jest poznanie nazwy ważnego pliku umieszczonego wewnątrz pakietu. Dla przykładu, aby znaleźć pakiet, który jest dostarczany ze szczególnym plikiem nagłówkowym ".h" potrzebnym do jego kompilacji możesz uruchomić:

     # 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

lub:

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

Aby dowiedzieć się nazwy użytecznych pakietów zainstalowanych w Twoim systemie, na przykład, gdy zamierzasz doprowadzić do porządku Twój twardy dysk, możesz użyć:

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

Problemem związanym z tą komendą może być "obcięcie" przez nią nazwy pakietu. W powyższym przykładzie pełną nazwą pakietu jest mozilla-browser. Aby poradzić sobie z tym, możesz użyć zmiennej środowiskowej COLUMNS w następujący sposób:

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

lub możesz użyć opisu pakietu lub jego części tak, jak pokazano poniżej:

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

5.3 Jak zainstalować pakiety "na żądanie"

Kompilujesz program, aż tu nagle bęc! Wystąpił błąd, ponieważ potrzebny jest plik nagłówkowy .h, którego nie masz. Program auto-apt może Cię uchronić od takich sytuacji. Pyta Cię on czy zainstalować pakiety, które są potrzebne, zatrzymując dany proces i kontynuując go, gdy pakiet jest instalowany.

Wszystko, co musisz zrobić, to uruchomić:

     # auto-apt run komenda

Gdzie `komenda' jest komendą, której może potrzebować jakiś niedostępny plik. Na przykład:

     # auto-apt run ./configure

Polecenie zapyta Cię czy zainstalować potrzebne pakiety i automatycznie wywoła program apt-get. Jeśli używasz X Window, graficzny interfejs zastąpi domyślny interfejs tekstowy.

Auto-apt używa baz danych, które muszą być uaktualniane, aby program działał skutecznie. Jest to osiągane poprzez wywoływanie poleceń auto-apt update, auto-apt updatedb i auto-apt update-local.


5.4 Jak sprawdzić, do którego pakietu należy plik

Jeśli chcesz zainstalować jakiś pakiet, ale nie wiesz jak się on nazywa i nawet wyszukiwanie za pomocą programu apt-cache nie przynosi rezultatu, ale znasz za to nazwę pliku tego programu lub innych plików należących do pakietu, to możesz się posłużyć programem apt-file, aby odszukać nazwę tego pakietu. W tym celu wydaj polecenie:

     $ apt-file search nazwa_pliku

Działa ono jak komenda dpkg -S, z tą różnicą, że wyświetla również nazwy niezainstalowanych pakietów, które zawierają ten plik. Możesz go również użyć, aby dowiedzieć się, jakie pakiety zawierają brakujące w czasie kompilacji programu pliki nagłówkowe. Do tego celu bardziej jednak nadaje się program auto-apt, który został opisany w sekcji Jak zainstalować pakiety "na żądanie", Rozdział 5.3.

Możesz także zobaczyć jakie pliki wchodzą w skład pakietu, wydając polecenie

     $ apt-file list nazwa_pakietu

Program apt-file, podobnie jak auto-apt, przechowuje informacje o tym jakie pliki zawierają wszystkie pakiety w bazie danych, którą należy co jakiś czas uaktualniać. Robi się do za pomocą komendy

     # apt-file update

Domyślnie oba programy używają tej samej bazy danych. Więcej informacji na jej temat znajdziesz w sekcji Jak zainstalować pakiety "na żądanie", Rozdział 5.3.


5.5 Jak otrzymywać informacje o zmianach w pakietach

Każdy zainstalowany pakiet zapisuje w swoim katalogu (/usr/share/doc/nazwa_pakietu) plik o nazwie changelog.Debian.gz, który zawiera listę zmian dokonanych w pakiecie od jego ostatniej wersji. Możesz czytać te pliki używając na przykład polecenia zless, ale czasem nie jest wcale takie proste, zwłaszcza po uaktualnieniu całego systemu, szukać zmian dla każdego zaktualizowanego pakietu.

Istnieje sposób automatyzacji tego zadania przy pomocy narzędzia zwanego apt-listchanges. Aby móc z niego korzystać musisz oczywiście zainstalować pakiet apt-listchanges. Zostanie on skonfigurowany przez Debconfa w trakcie instalacji. Odpowiedz na pytania tak, jak chcesz.

Bardzo użyteczna jest opcja "Should apt-listchanges be automatically run by apt? (Czy apt-listchanges powinien być automatycznie uruchamiany przez APT-a?)", ponieważ pokazuje ona listę zmian w każdym pakiecie, który będzie instalowany przez APT-a w trakcie aktualizacji systemu i pozwala zapoznać się z nimi przed kontynuacją procesu aktualizacji. Również opcja "Should apt-listchanges prompt for confirmation after displaying changes? (Czy apt-listchanges powinien zachęcać do potwierdzenia po wyświetleniu zmian?)" jest użyteczna, gdyż pyta Cię czy chcesz kontynuować instalację po przeczytaniu listy zmian. Jeśli odpowiesz, że nie chcesz kontynuować, to apt-listchanges zwróci błąd i APT przerwie proces instalacji.

Po zainstalowaniu pakietu apt-listchanges, gdy tylko pakiety będą ściągane (lub pobierane z płyty CD-ROM albo zamontowanego dysku) przez APT-a, to pokaże on listę zmian dokonanych w tych pakietach jeszcze przed ich instalacją.


[ powrót ] [ Spis treści ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ dalej ]


APT HOWTO (Obsolete Documentation)

1.8.5 - lipiec 2003

Gustavo Noronha Silva kov@debian.org
polskie tłumaczenie: Paweł Tęcza ptecza@debianusers.pl