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


APT HOWTO (Obsolete Documentation)
Część 4 - Bardzo użyteczni pomocnicy


4.1 Jak zainstalować lokalnie skompilowane pakiety: pakiet equivs

Czasami użytkownicy Debiana chcą używać specyficznej wersji jakiegoś programu, który nie posiada pakietu .deb i jest dostępny tylko w postaci kodu źródłowego. Instalacja takich programów może jednak spowodować problemy w działaniu systemu pakietów. Wyobraźmy sobie na przykład, że chcemy skompilować nową wersję naszego serwera pocztowego. Wszystko poszło świetnie, tylko że zapomnieliśmy o małym szczególe: w Debianie wiele pakietów zależy od agenta pocztowego MTA (ang. Mail Transport Agent), a system pakietów niestety nic nie wie o programie, który sami skompilowaliśmy ze źródeł i zainstalowaliśmy!

W takich właśnie przypadkach z pomocą przychodzi nam pakiet equivs. Aby móc z niego skorzystać, należy zainstalować pakiet o takiej samej nazwie. Cóż on takiego robi? Tworzy pusty pakiet, który potrafi w pełni spełnić zależności i sprawia, że system pakietów jest przekonany o tym, iż zależności są spełnione.

Zanim pokażemy jak używać tego pakietu, należy jeszcze przypomnieć, że istnieją bezpieczniejsze sposoby kompilacji programu, który posiada już pakiet Debiana i że nie należy używać pakietu equivs do zastępowania zależności, gdy nie wiemy jak to zrobić. Więcej informacji na ten temat można znaleźć w sekcji Praca z pakietami źródłowymi, Część 6.

Kontynuujmy nasz przykład z agentem pocztowym MTA. Powiedzmy, że właśnie skompilowałeś i zainstalowałeś nową wersję serwera postfix, a teraz zamierzasz zainstalować pakiet mutt. Nagle okazuje się, że mutt chce zainstalować innego agenta MTA, a Ty już masz przecież swój.

Przejdź wtedy do jakiegoś katalogu (np. do /tmp) i wydaj komendę:

     # equivs-control nazwa

gdzie nazwa to nazwa pliku kontrolnego, który chcesz stworzyć. Plik ten będzie miał następującą zawartość:

     Section: misc
     Priority: optional
     Standards-Version: 3.0.1
     
     Package: <enter package name; defaults to equivs-dummy>
     Version: <enter version here; defaults to 1.0>
     Maintainer: <your name and email address; defaults to username>
     Pre-Depends: <packages>
     Depends: <packages>
     Recommends: <packages>
     Suggests: <package>
     Provides: <(virtual)package>
     Architecture: all
     Copyright: <copyright file; defaults to GPL2>
     Changelog: <changelog file; defaults to a generic changelog>
     Readme: <README.Debian file; defaults to a generic one>
     Extra-Files: <additional files for the doc directory, comma separated>
     Description: <short description; defaults to some wise words>
      long description and info
      .
      second paragraph

Teraz musimy tak go zmodyfikować, żeby robił to, co chcemy. Spójrzmy na format pól i ich opisy. Nie ma oczywiście potrzeby objaśniać każdego z nich. Zróbmy tylko to, co jest niezbędne:

     Section: misc
     Priority: optional
     Standards-Version: 3.0.1
     
     Package: mta-local
     Provides: mail-transport-agent

Tak, to naprawdę wszystko, czego nam potrzeba! Pakiet mutt zależy od pakietu wirtualnego mail-transport-agent, którego dostarczają wszystkie agenty MTA. Mogłem też nazwać pakiet po prostu mail-transport-agent, ale wolę używać schematu pakietów wirtualnych, który wykorzystuje pole `Provides'.

Teraz tylko musimy zbudować pakiet:

     # equivs-build nazwa
     dh_testdir
     touch build-stamp
     dh_testdir
     dh_testroot
     dh_clean -k
     # Add here commands to install the package into debian/tmp.
     touch install-stamp
     dh_testdir
     dh_testroot
     dh_installdocs
     dh_installchangelogs
     dh_compress
     dh_fixperms
     dh_installdeb
     dh_gencontrol
     dh_md5sums
     dh_builddeb
     dpkg-deb: building package `nazwa' in `../nazwa_1.0_all.deb'.
     
     The package has been created.
     Attention, the package has been created in the current directory,

i zainstalować powstały pakiet .deb.

Jak widać, pakietu equivs można używać na różne sposoby. Za jego pomocą można nawet stworzyć pakiet moje-ulubione, który zależy od programów, które zwykle instalujesz. To jak go wykorzystasz zależy tylko od Twojej wyobraźni, ale bądź ostrożny!

Na koniec jeszcze jedna ważna uwaga: przykłady plików kontrolnych znajdują się w katalogu /usr/share/doc/equivs/examples. Przyjrzyj się im.


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


4.3 Jak się dowiedzieć, które pakiety mogą być uaktualnione do nowszej wersji

Programem, który potrafi wskazać pakiety mogące być uaktualnione do nowszej wersji oraz dostarczyć wielu innych użytecznych informacji jest program apt-show-versions. Do wyświetlenia listy pakietów, które mogą być uaktualnione służy opcja -u:

     $ apt-show-versions -u    
     libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7
     libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7

[ 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