[ powrót ] [ Spis treści ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ dalej ]
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.
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ć.
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
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.
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.
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
1.8.5 - lipiec 2003kov@debian.org
ptecza@debianusers.pl