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


APT HOWTO
Część 7 - Tricks and Techniques


7.1 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 command

Where command is the command to be executed that may need some unavailable file. For example:

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


7.2 Zarządzanie pakietami

If you are dealing with several machines in a network it might be useful to have a package caching system, so that you will not have to download the packages for each machine. This manual will focus on the apt-proxy package, which does exactly that. Other solutions exist, like apt-cacher, though. You may want to try each one to choose the one that best fits your needs.

First of all, install the apt-proxy package. It will register itself on inetd to listen for requests on port 9999, you may need to restart the inetd service.

Next you'll want to edit the /etc/apt-proxy/apt-proxy.conf file. It lists the real servers apt-proxy will use to download the package lists and packages from. You can use http, ftp and rsync as transfer methods. The file comes with a default "backend" that looks like this:

     add_backend /debian/                                    \
             $APT_PROXY_CACHE/debian/                        \
             http://ftp.us.debian.org/debian/                \
             http://ftp.de.debian.org/debian/                \
             http://ftp.uk.debian.org/debian/                \
             +ftp.us.debian.org::debian/

This means that whenever a client tries to get something from /debian/ apt-proxy will use its cache, the listed Debian http mirrors and one rsync server, which is preferred for downloading the package lists (the "+" sign means prefered for control files).

How, then, a client will use this backend? By adding the following line at the /etc/apt/sources.list file at the clients (including the box in which apt-proxy is installed):

     deb http://server:9999/debian/ stable main

The line looks much like a normal line. The difference here is you put your apt-proxy server where you would normally put an http or ftp mirror, uses a port value (9999) and then select the backend (/debian/). After having done all this initial setup update the list of packages at one of the machines and upgrade it first, so that it will only download a package one time. After the first machine is up-to-date update the others.

You can use the apt-proxy-import command to import the packages that are inside your current APT cache (/var/cache/apt/archives/) by running apt-proxy-import /var/cache/apt/archives. Notice that you must have run the update process in at least one client to initiate the apt-proxy's cache before using apt-proxy-import.

You can learn more about apt-proxy by reading the comments that populate the /etc/apt-proxy/apt-proxy.conf file. To setup http and ftp proxies for apt-proxy to use, for example, you will find example configurations at the end of the file.


7.3 Podejmowanie decyzji, który serwer lustrzany najlepiej umieścić w pliku sources.list: netselect, netselect-apt

Często zadawanym pytaniem, zwłaszcza przez nowych użytkowników Debiana, jest: "który serwer lustrzany z pakietami powinienem umieścić w pliku sources.list?". Jest wiele sposobów pozwalających wybrać serwer lustrzany. Eksperci zapewne używają skryptów mierzących obciążenie różnych serwerów. Istnieje jednak program, który zrobi to dla nas, a który nazywa się netselect.

Aby zainstalować program netselect, jak zwykle wydajemy polecenie:

     # apt-get install netselect

Uruchomienie programu netselect bez podania parametrów spowoduje wyświetlenie pomocy ekranowej. Gdy jednak uruchomimy go podając jako argument listę, oddzielonych spacją, stacji (serwerów lustrzanych), to otrzymamy w wyniku jedną z podanych maszyn. Wynik ten zależy od przybliżonego czasu powrotu wysyłanych do stacji pakietów IP (tzw. ping) oraz od ilości stacji pośrednich (przez które te pakiety "przechodzą" zanim dotrą do celu) i jest odwrotnie proporcjonalny do przybliżonej prędkości pobierania (zatem, im mniejszy, tym lepiej). Zwrócona w wyniku stacja ma najmniejszy wynik (pełna lista wyników będzie widoczna po dodaniu opcji -vv). Spójrz na poniższy przykład:

     # netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
       365 ftp.debian.org.br
     #

Oznacza to, że spośród serwerów lustrzanych podanych jako parametry programu netselect, najlepszym okazał się ftp.debian.org.br, który uzyskał wynik 365 (Uwaga! Ten test został wykonany na moim komputerze a trasa, którą pokonują pakiety IP zależy od miejsca, do którego podłączony jest nasz komputer. Uzyskana wartość niekoniecznie będzie prawdziwą prędkością na innych komputerach).

Teraz umieść najszybszy serwer lustrzany znaleziony przez netselect w pliku /etc/apt/sources.list (patrz na sekcję Plik /etc/apt/sources.list, Rozdział 3.1) i zastosuj porady z sekcji Zarządzanie pakietami, Część 4.

Uwaga: listę serwerów lustrzanych można zawsze znaleźć w pliku http://www.debian.org/mirror/mirrors_full.

Poczynając od wersji 0.3, pakiet netselect zawiera skrypt netselect-apt, który automatyzuje opisany powyżej proces. Po prostu jako parametr skryptu podaj dystrybucję (domyślnie jest nią dystrybucja stabilna), a wygeneruje on plik sources.list z najlepszym serwerem lustrzanym zawierającym pakiety z sekcji main i non-US i zapisze go w bieżącym katalogu. Poniższy przykład generuje plik sources.list dla stabilnej dystrybucji.

     # ls sources.list
     ls: sources.list: File or directory not found
     # netselect-apt stable
     (...)
     # ls -l sources.list
     sources.list
     #

Pamiętaj: plik sources.list zostanie wygenerowany w bieżącym katalogu i musi być przeniesiony do katalogu /etc/apt.


7.4 Usuwanie nieużywanych plików lokalizacyjnych: pakiet localpurge

Wielu użytkowników Debiana korzysta tylko z jednych plików lokalizacyjnych. Dla przykładu, brazylijscy użytkownicy Debiana przez cały czas korzystają z plików pt_BR i do niczego im nie są potrzebne pliki es.

Pakiet localepurge jest bardzo użytecznym narzędziem dla takich właśnie użytkowników. Pozwala on zaoszczędzić wiele miejsca na dysku, dzięki zachowaniu tylko tych plików lokalizacyjnych, których naprawdę używasz. Aby go zainstalować, po prostu wydaj komendę apt-get install localepurge.

Pakiet ten jest bardzo łatwy w konfiguracji, debconf przeprowadzi Cię przez ten proces krok po kroku. Bądź jednak bardzo ostrożny w czasie odpowiadania na zadawane Ci pytania, gdyż zła odpowiedź może usunąć wszystkie pliki lokalizacyjne, nawet te, których używasz! Jedynym sposobem na odzyskanie ich wtedy jest powtórna instalacja wszystkich pakietów, które dostarczają tych plików.


7.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 ] [ 11 ] [ 12 ] [ 13 ] [ dalej ]


APT HOWTO

2.0.2 - October 2006

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