[svn/pld-doc]: rev 151 - pld-doc/docbook
averne w svn.pld-dc.org
averne w svn.pld-dc.org
Sob, 3 Sty 2004, 17:32:01 CET
Author: averne
Date: 2004-01-03 17:31:54 +0100 (Sat, 03 Jan 2004)
New Revision: 151
Added:
pld-doc/docbook/pl_pakiety.chp
pld-doc/docbook/pl_pakiety__poldek.sec
Removed:
pld-doc/docbook/pl_pakiety__poldek.docb
Modified:
pld-doc/docbook/pl_book__master.docb
Log:
- dodano rozdzial zarzadzanie pakietami
- zmieniono pakiety__poldek na sekcje
Modified: pld-doc/docbook/pl_book__master.docb
===================================================================
--- pld-doc/docbook/pl_book__master.docb 2004-01-03 16:24:02 UTC (rev 150)
+++ pld-doc/docbook/pl_book__master.docb 2004-01-03 16:31:54 UTC (rev 151)
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="iso-8859-2"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY wstep SYSTEM "pl_wstep.chp">
+<!ENTITY pakiety SYSTEM "pl_pakiety.chp">
+<!ENTITY pakiety__poldek SYSTEM "pl_pakiety__poldek.sec">
<!ENTITY konfiguracja SYSTEM "pl_konfiguracja.chp">
<!ENTITY konfiguracja__sysconfig SYSTEM "pl_konfiguracja__sysconfig.sec">
<!ENTITY konfiguracja__sysconfig___console SYSTEM "pl_konfiguracja__sysconfig___console.sec">
@@ -14,4 +16,5 @@
</bookinfo>
&wstep;
&konfiguracja;
+ &pakiety;
</book>
Added: pld-doc/docbook/pl_pakiety.chp
===================================================================
--- pld-doc/docbook/pl_pakiety.chp 2004-01-03 16:24:02 UTC (rev 150)
+++ pld-doc/docbook/pl_pakiety.chp 2004-01-03 16:31:54 UTC (rev 151)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="iso-8859-2"?>
+<chapter>
+<title>Zarządzanie pakietami</title>
+<para>Ten rozdział opisuje metody zarządzania pakietami w systemie PLD.</para>
+&pakiety__poldek;
+</chapter>
Deleted: pld-doc/docbook/pl_pakiety__poldek.docb
===================================================================
--- pld-doc/docbook/pl_pakiety__poldek.docb 2004-01-03 16:24:02 UTC (rev 150)
+++ pld-doc/docbook/pl_pakiety__poldek.docb 2004-01-03 16:31:54 UTC (rev 151)
@@ -1,403 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-2"?>
-<section>
- <title>
- Zarządzanie pakietami programem <application>poldek</application>
- </title>
- <section>
- <title>
- Wstęp
- </title>
- <para>
- Poldek jest instalatorem/aktualizatorem pakietów rpm.
- Napisał go Paweł Gajda jako część instalatora PLD.
- Powinieneś go mieć po instalacji systemu. Poldek może
- działać w dwóch trybach: interaktywnym oraz wsadowym.
- Jest świetnym programem ułatwiającym pracę zwykłego
- użytkownika, jak i administratora. poldek obsługuje
- różne źródła pakietów: dysk, ftp, http, rsync.
- </para>
- </section>
- <section>
- <title>Plik /etc/poldek.conf</title>
- <para>
- Głównym plikiem konfiguracyjnym jest /etc/poldek.conf
- Plik ten zawiera w sobie również dokumentację do
- poszczególnych jego opcji, w formie komentarza. Omówię
- najistotniejsze (moim zdaniem) z nich.
- </para>
- <para>
- Niemal na samym początku pliku znajdziesz kilka opcji
- zaczynających się od <literal>source</literal>. Są to
- tzw. źródła pakietów. Zawierają informację, dzięki
- której program wie skąd ma instalować pakiety. Więcej
- o tym w jaki sposób poldek zbiera informacje o
- pakietach w rozdziale "Tryb wsadowy".
- </para>
- <para>
- Oto przykład takiej opcji:
- </para>
-<screen>
-source = ac ftp://ftp.pld-linux.org/dists/2.0/PLD/athlon/PLD/RPMS/
-</screen>
-<para>
- Zapis składa się z kilku części. <literal>source</literal> pełni tutaj
- rolę słowa kluczowego, dalej mamy znak równości, który jest również
- wymagany. Kolejna część to nazwa źródła. Służy do jego identyfikacji.
- Jego nazwa jest umowna i nie jest obowiązująca, więc możemy ją zmienić
- według naszych upodobań. Ostatnią częścią jest ścieżka do źródła, należy
- pamiętać o ostatnim znaku "/", który pełni tutaj kluczową rolę.
- Istotną rzeczą, która jeszcze może się przydać
- podczas pracy z kilkoma źródłami jest parametr <literal>noauto</literal>
- który wymusza na poldku pominięcie czytania listy pakietów z oznaczonego
- w ten sposób źródła. Podążając za powyższym przykładem robi się to w ten
- sposób:
-</para>
-<screen>
-source = ac,noauto ftp://ftp.pld-linux.org/dists/2.0/PLD/athlon/PLD/RPMS/
-</screen>
-<para>
- Podczas instalacji poldkiem większej ilości pakietów, np. podczas
- aktualizacji systemu, program domyślnie dzieli pakiety na porcje
- (tzw. sety). Jeśli nam się to nie podoba możemy to zmienić przez
- zdjęcie znaku '#' sprzed opcji:
-</para>
-<screen>
-#particle_install = no
-</screen>
-<para>
- Czasami zdarza się, że po wczytaniu źródła lub kilku źródeł pakietów
- dostępne są duplikaty niektórych. Oczywiście nie w dosłownym tego
- słowa znaczeniu, różnią się numerem wersji programu lub numerem Release
- (wersja pakietu). Oczywiście autor poldka i to przewidział.
-</para>
-<screen>
-#unique_package_names = yes
-</screen>
-<para>
- Zdjęcie znaku komentarza z powyższej opcji wymusza na poldku odrzucenie
- duplikatu o starszej wersji. Wyższa wersja jest wtedy traktowana
- priorytetowo.
-</para>
-<para>
- Jeżeli jesteś użytkownikiem, który lubi być informowanym o każdym kroku
- powinieneś zainteresować się poniższą opcją. Po ustawieniu jej na 'yes'
- program czeka na akcję użytkownika przed instalacją każdego pakietu.
-</para>
-<screen>
-#confirm_installs = yes
-</screen>
-<para>
- Kolejna istotna opcja umożliwia stworzenie listy pakietów, których
- nie chcemy aktualizować wraz z całym systemem. Separatorem
- poszczególnych jej elementów jest spacja.
-</para>
-<screen>
-#hold = kernel* dev
-</screen>
-<para>
- Niżej znajduje się sekcja "External downloaders configuration".
- Zawiera kilka przykładowych programów pobierających pliki wraz
- z ich opcjami. Jak widać poldek potrafi pobierać pliki z różnego
- rodzaju źródeł.
-</para>
-<screen>
-#ftp_get = /usr/bin/snarf %P %D
-#ftp_get = /usr/bin/wget -N --dot-style=binary -P %d %Pn
-#http_get = /usr/bin/wget -N --dot-style=binary -P %d %Pn
-#https_get = /usr/bin/curl %P -o %D
-#rsync_get = /usr/bin/rsync -v %P %d
-#cdrom_get = /usr/bin/vfjuggle %d %Pn
-</screen>
- </section>
- <section>
- <title>Tryb wsadowy poldka</title>
- <subtitle>
- Jak działa poldek?
- </subtitle>
- <para>
- Na samym początku należy powiedzieć słowo w jaki sposób
- poldek korzysta ze źródeł, których konfigurację opisałem
- w poprzednim rozdziale. Poldek po przeczytaniu ścieżki
- szuka w niej pliku zawierającego listę pakietów. Plik
- nosi nazwę <literal>packages.dir.gz</literal> i jest
- w postaci skompresowanej, co ma znaczenie przy jego
- pobieraniu. Zawiera on listę wszystkich pakietów w danym
- źródle. Taką listę nazywamy indeksem.
- W sytuacji kiedy w zasięgu danego źródła zmieniają się
- pakiety, generowane są różnice indeksu. Dlatego
- podczas synchronizacji listy pakietów pobierane są tylko
- różnice, dzięki czemu uzyskujemy kolejną
- optymalizację czasu jej ściągania.
- </para>
- <para>
- Po pierwszym uruchomieniu poldka, program po przeczytaniu
- ścieżki pobiera z niej cały plik indeksu, następnie
- domyślnie wczytuje z bazy
- <literal>/var/lib/rpm</literal> listę zainstalowanych
- pakietów. Dalej w zależności od podanych parametrów
- możemy instalować, aktualizować lub wyszukiwać pakiety.
- UWAGA! brak parametrów oznacza uruchomienie poldka w
- trybie interaktywnym, który opiszę później.
- </para>
- <para>
- Obsługę poldka w trybie wsadowym możemy porównać
- z obsługą programu apt-get, znanego z Debiana.
- przełączniki trybu wsadowego pozwalają na
- swoiste omijanie opcji zapisanych w pliku
- poldek.conf. Co więcej, istnieje przełącznik
- uniemożliwiający poldkowi czytanie jakiejkolwiek
- konfiguracji. Jeśli chcesz poznać je wszystkie
- po prostu uruchom poldka z parametrem --help
- (dla wygody: poldek --help | less).
- </para>
- <para>
- Podczas pracy z poldkiem istotną umiejętnością
- jest aktualizacja indeksu. Służą do tego dwa
- przełączniki. Jeden ściąga tylko różnice
- (zalecane), drugi pobiera plik indeksu w
- całości.
- </para>
-<screen>
-[krzysiek w styx krzysiek]$ sudo poldek --up
-Pobieranie ftp://ftp.pld-linux.org/dists/2.0/PLD/athlon/PLD/RPMS/packages.dir.mdd...
-Pobieranie ftp://ftp.pld-linux.org/dists/2.0/[...]/packages.dir.diff.toc.gz...
-.................................................. 100.0% [9.6K]
-Weryfikacja http://[...]/packages.dir.diff.2003.12.29-22.40.35.gz... OK
-Nakładanie łaty packages.dir.diff.2003.12.29-22.40.35.gz...
-
-Zapisywanie /root/.poldek-cache/[...]/packages.dir.gz...
-Zapisywanie sumy kontrolnej /root/.poldek-cache/[...]/packages.dir.mdd...
-[krzysiek w styx krzysiek]$
-</screen>
-<para>
- Jak widać na przykładzie, plik różnicy jest znikomej wielkości. Jest on
- w formie łatki, dzięki czemu poldek nakłada go na lokalny plik z
- indeksem. Dodatkowo zapisywana jest suma kontrolna indeksu.
-</para>
-<screen>
-[krzysiek w styx krzysiek]$ sudo poldek -n ac --upa
-Pobieranie ftp://ftp.pld-linux.org/dists/2.0/[...]/packages.dir.mdd...
-Pobieranie ftp://ftp.pld-linux.org/dists/2.0/[...]/packages.dir.gz...
-.................................................. 100.0% [3.8M]
-Weryfikacja ftp://ftp.pld-linux.org/dists/2.0/PLD/i686/PLD/RPMS/packages.dir.gz... OK
-[krzysiek w styx krzysiek]$
-</screen>
-<para>
- W tym przykładzie posłużyliśmy się drugim przełącznikiem, który wymusza
- na poldku pobranie całego indeksu. Jak widać różnica wielkości pliku i
- jednocześnie czasu pobierania jest znaczna.
-</para>
-<para>
- Opcje odświeżania indeksów mają znaczenie przy źródłach zawierających
- aktualizacje. Jeżeli chcemy być na bieżąco, możemy zlecić programowi
- cron okresowe aktualizacje systemu, o czym za chwilę. Kiedy się powinno
- stosować oba sposoby aktualizacji indeksu? Zalecane jest stosowanie
- przełącznika --up, który pobiera jedynie różnice, ze względu na wielkość
- pobieranego pliku. Może się jednak zdarzyć, że z jakichś powodów plik
- indeksu ulegnie uszkodzeniu, co zostanie natychmiast zauważone przez
- poldka, wtedy należy użyć przełącznika --upa, który pobierze index w
- całości.
-</para>
-<section>
- <title>Aktualizacja systemu</title>
-<para>
- Do aktualizacji systemu w trybie wsadowym służy przełącznik
- --upgrade-dist. Po wywołaniu poldka z tym parametrem wczyta on listę
- pakietów z pliku indeksowego i porówna on ją z listą pakietów
- zainstalowanych w systemie. Pozwoli mu to na weryfikację wersji
- pakietów. Po wykonaniu tych czynności nastąpi pobieranie a następnie
- aktualizacja pakietów.
-</para>
-<screen>
-[krzysiek w styx krzysiek]$ sudo poldek -n ac --upgrade-dist
-Weryfikacja ftp://ftp.pld-linux.org/dists/2.0/PLD/i686/PLD/RPMS/packages.dir.gz... OK
-Pobieranie ftp://ftp.pld-linux.org/[...]/setup-2.4.3-1.noarch.rpm...
-[...]
-[krzysiek w styx krzysiek]$
-</screen>
-<para>
- Jak już wcześniej wspomniałem, możliwa jest automatyzacja tego procesu.
- Poniżej zamieszczam przykład tablicy crona.
-</para>
-<screen>
-0 5 * * * poldek --upa;poldek --hold=kernel* dev* --upgrade-dist
-</screen>
-<para>
- W powyższym przykładzie codziennie o piątej rano poldek będzie
- odświeżał plik z indeksem oraz dokonywał aktualizacji. W takiej
- konfiguracji dobrze jest pobrać index w całości, aby się upewnić,
- że nie będzie uszkodzony (łatka nie nałoży się na uszkodzony plik
- indeksu). W trakcie aktualizacji dla pewności używamy przełącznika
- --hold który pomija podczas aktualizacji podane jak w przykładzie
- pakiety.
-</para>
-</section>
-<section>
- <title>Wyszukiwanie pakietów</title>
-<para>
- Poldek posiada rozbudowany i bardzo szczegółowy system przeszukiwania
- pakietów. Możemy wyszukiwać pakiety zadając poldkowi różne kryteria
- od wyszukiwania pojedynczych plików, wyszukiwania pakietów po nazwach,
- po opisach pakietów (tzw. description) po wykorzystanie możliwości
- wyrażeń regularnych. Jedyną wadą całego systemu jest to, że podczas
- przeszukiwania pakietów w trybie wsadowym za pośrednictwem przełącznika
- --shcmd musimy wpisywać polecenia trybu interaktywnego. Ale w taki
- sposób została ta kwestia rozwiązana. Poniżej podam kilka użytecznych
- przykładów. Jeśli nie spełnią one Twoich wymagań odsyłam Cię do stron
- manuala poldka (man poldek). Pomoc możemy również uzyskać wydając
- następujące polecenie:
-</para>
-<screen>
-[krzysiek w styx krzysiek]$ sudo poldek --shcmd='search -?'
-</screen>
-<para>lub</para>
-<screen>
-[krzysiek w styx krzysiek]$ sudo poldek --shcmd='rsearch -?'
-</screen>
-<para>
- Drobna uwaga techniczna. Spis który zostanie wygenerowany po wydaniu
- dowolnego z tych poleceń nie zmieści się w obszarze ekranu, musimy
- użyć kombinacji klawiszy Shift+PgUp i analogicznie Shift+PgDn.
-</para>
-<para>
- Scenariusz 1.
-</para>
-<para>
- Pobrałeś źródła jakiegoś programu. Z pewnych względów nie chce Ci się
- on kompilować. Odkrywasz, że brakuje Ci któregoś pliku. Dla potrzeb
- przykładu niech to będzie plik curses.h. Jak go wyszukać?
-</para>
-<screen>
-[krzysiek w styx krzysiek]$ sudo poldek --shcmd='rsearch -f /^curses.h/'
-Wczytywanie ftp://ftp.pld-linux.org/dists/2.0/PLD/[...]/packages.dir.gz...
-Przeczytano 4438 pakietów
-Wczytywanie /root/.poldek-cache/packages.dir.dbcache.var.lib.rpm.gz...
-Przeczytano 569 pakietów
-Przeszukiwanie pakietów..........................................zrobione.
-1 package(s) found:
-ncurses-devel-5.3-4
-[krzysiek w styx krzysiek]$
-</screen>
-<para>
- Oto klasyczny przykład wyszukiwania plików w trybie wsadowym. Jeśli znasz
- dokładną nazwę pliku którego szukasz możesz się na nim oprzeć. Polecenie
- rsearch interpretuje wszystko co wpisujesz jako wyrażenia regularne.
- Przełącznik -f mówi poldkowi, że ma szukać plików. Dlaczego taka składnia?
- Otóż, jest to wymóg stosowania wyrażeń regularnych (regular expressions).
- '//' oznacza wzorzec. Jest to skrócony zapis wzorca perlowego (m//).
- '^' jest to znacznik początku ciągu znaków. Dosłownie: "zaczynające się od ...".
- Czyli wyszukaliśmy plik którego nazwa zaczyna się od curses.h. Jeśli nie
- wpiszemy znaku specjalnego '^', poldek wyszuka wszystko pasujące do wzorca
- 'curses.h'. Innymi słowy potraktuje to jako *curses.h*.
-</para>
-<para>
- Scenariusz 2.
-</para>
-<para>
- Zaciekało Cię sterowanie pilotem od telewizora aplikacjami w Twoim systemie.
- Potrzebujesz oprogramowania do obsługi podczerwieni. Jak je wyszukać?
- Skorzystamy z możliwości poldka do wyszukiwania pakietów po ich opisach.
-</para>
-<screen>
-[krzysiek w styx krzysiek]$ sudo poldek --shcmd='rsearch -d /podczerwień/'
-Wczytywanie ftp://ftp.pld-linux.org/dists/2.0/PLD/[...]/packages.dir.gz...
-Przeczytano 4438 pakietów
-Wczytywanie /root/.poldek-cache/packages.dir.dbcache.var.lib.rpm.gz...
-Przeczytano 569 pakietów
-Przeszukiwanie pakietów..........................................zrobione.
-13 package(s) found:
-kernel-char-lirc-dev-0.6.6-2 w 2.4.21_1.6
-kernel-char-lirc-gpio-0.6.6-2 w 2.4.21_1.6
-kernel-char-lirc-i2c-0.6.6-2 w 2.4.21_1.6
-kernel-char-lirc-parallel-0.6.6-2 w 2.4.21_1.6
-kernel-char-lirc-serial-0.6.6-2 w 2.4.21_1.6
-kernel-char-lirc-sir-0.6.6-2 w 2.4.21_1.6
-kernel-smp-char-lirc-dev-0.6.6-2 w 2.4.21_1.6
-kernel-smp-char-lirc-gpio-0.6.6-2 w 2.4.21_1.6
-kernel-smp-char-lirc-i2c-0.6.6-2 w 2.4.21_1.6
-kernel-smp-char-lirc-serial-0.6.6-2 w 2.4.21_1.6
-kernel-smp-char-lirc-sir-0.6.6-2 w 2.4.21_1.6
-multisync-irmc-0.81-0.1
-pnetlib-irda-0.6.0.1-3
-[krzysiek w styx krzysiek]$
-</screen>
-<para>
- Najbardziej będą Cię interesowały oczywiście pakiety z 'lirc' w nazwie.
-</para>
-<para>
- Scenariusz 3.
-</para>
-<para>
- Zrezygnowałeś z Red Hata, lub z Mandrake'a, na rzecz PLD, bo kolega Ci powiedział,
- "że jest lepszy". Przebrnąłeś przez proces instalacji, ale nie możesz znaleźć
- programu kmail, Twojego ulubionego klienta poczty (MUA). Nie poddajesz się tak
- łatwo i postanawiasz szukać. Oczywiście dwie poprzednie metody również się doskonale
- nadają. Jest jeszcze jedna, bardziej oczywista:
-</para>
-<screen>
-[krzysiek w styx krzysiek]$ sudo poldek --shcmd='ls *kmail*'
-Wczytywanie ftp://ftp.pld-linux.org/dists/2.0/PLD/[...]/packages.dir.gz...
-Przeczytano 4438 pakietów
-Wczytywanie /root/.poldek-cache/packages.dir.dbcache.var.lib.rpm.gz...
-Przeczytano 569 pakietów
-kdepim-kmail-3.1.94.031204-1
-kdepim-libkmailprivate-3.1.94.031204-1
-[krzysiek w styx krzysiek]$
-</screen>
-<para>
- Posłużyliśmy się tutaj zwykłym listowaniem pakietów o zadanej masce.
- Ta metoda przeszukiwania nie jest zbyt pewna. Osobiście preferuję tą
- pierwszą.
-</para>
-</section>
-<section>
- <title>Instalacja pakietów</title>
-<para>
- Do instalacji pakietów w trybie wsadowym używamy przełącznika '-i'.
- I to wszystko co musisz zrobić aby dokonać instalacji. Poldek (o ile
- występują) przetworzy wszystkie zależności.
-</para>
-<screen>
-[root w styx krzysiek]# poldek -i bc
-Pobieranie ftp://ftp.pld-linux.org/dists/2.0/PLD/athlon/PLD/RPMS/bc-1.06-13.i686.rpm...
-.................................................. 100.0% [203.2K]
-[root w styx krzysiek]#
-</screen>
-<para>
- Proste, nieprawdaż? Też tak sądzę. Jeżeli jesteśmy ostrożni z natury,
- możemy dodać opcję -t która przeprowadzi symulację instalacji. Zamiennie
- z '-i' możemy stosować przełącznik '-U' oznaczający upgrade. Nie oznacza
- to wcale, że przełącznika '-i' możemy użyć do aktualizacji pakietów.
- Nie zalecam. Może się zdarzyć, że będziemy potrzebowali powrócić do
- poprzedniej wersji któregoś z pakietów. Robimy to tak:
-</para>
-<screen>
-[krzysiek w styx krzysiek]$ rpm -q aterm
-aterm-0.4.2-6
-[krzysiek w styx krzysiek]$ sudo poldek -n ac-old --downgrade aterm
-Pobieranie ftp://ftp.pld-linux.org/dists/[...]/aterm-0.4.2-5.i686.rpm...
-.................................................. 100.0% [128.5K]
-[krzysiek w styx krzysiek]$ rpm -q aterm
-aterm-0.4.2-5
-[krzysiek w styx krzysiek]$
-</screen>
-<para>
- Pozwolę sobie tutaj na komentarz. Opcja '-n' oznacza nazwę źródła
- dla poldka. Wskazałem tutaj na ac-old. W chwili pisania tego dokumentu
- nie ma takiego źródła, więc nie należy przykładu traktować dosłownie.
- Ac-old oznacza repozytorium starszych pakietów. Może to być repozytorium
- pakietów, które zostało zamrożone i nic się w nim nie zmienia. Tylko
- z takiego miejsca można skorzystać jeśli potrzebujemy starszych wersji
- potrzebnych nam pakietów. Przełącznik '--downgrade' mówi poldkowi, żeby
- dokonał dezaktualizacji pakietu lub pakietów które po nim nastepują.
- UWAGA! Jeżeli nie wskażemy poldkowi skąd ma czerpać starszą wersję
- danego pakietu, operacja się nie powiedzie.
-</para>
- </section>
- <section>
- <title>Tryb interaktywny</title>
- <para>
- </para>
- </section>
- </section>
-</section>
Copied: pld-doc/docbook/pl_pakiety__poldek.sec (from rev 150, pld-doc/docbook/pl_pakiety__poldek.docb)
Więcej informacji o liście dyskusyjnej pld-doc