PLD-doc: TODO book/pl_book__master.docb
book/pl_book__pakiety/pl_pakiety.chp book/pl_book__pakiety/r...
qwiat
cvs w pld-linux.org
Sob, 16 Paź 2004, 14:14:01 CEST
Author: qwiat
Date: Sat Oct 16 12:13:38 2004
New Revision: 4761
Added:
PLD-doc/book/pl_book__pakiety/rpm.sec
PLD-doc/book/pl_book__pakiety/wprowadzenie.sec
Modified:
PLD-doc/TODO
PLD-doc/book/pl_book__master.docb
PLD-doc/book/pl_book__pakiety/pl_pakiety.chp
Log:
-dodanie wstepu do obslugi pakietow i rpm.sec,
wystarczy odkomentowac odpowiednie wpisy w masterze
i pl_boot__pakiety/pl_pakiety.chp
Modified: PLD-doc/TODO
==============================================================================
--- PLD-doc/TODO (original)
+++ PLD-doc/TODO Sat Oct 16 12:13:38 2004
@@ -7,5 +7,5 @@
pl_podstawy_katalogi somebody # cd, pwd, ls, ~, ~user
en_* patrys # tlumaczenie
pl_konfiguracja__usb: paszczus # montowanie urzadzen na USB (cyfrowka, komorka, pendrive)
-poldek+rpm qwiat # połączenie wszystkiego do kupy
+poldek+rpm somebody # gotowe, wystarczy usunac wykomentowanie z Mastera i pl_pakiety.chp
Modified: PLD-doc/book/pl_book__master.docb
==============================================================================
--- PLD-doc/book/pl_book__master.docb (original)
+++ PLD-doc/book/pl_book__master.docb Sat Oct 16 12:13:38 2004
@@ -18,7 +18,9 @@
<!ENTITY podstawy__edycja_plikow_konfiguracyjnych SYSTEM "pl_book__podstawy/pl_podstawy__edycja_plikow_konfiguracyjnych.sec">
<!ENTITY podstawy__narzedzia_sieciowe SYSTEM "pl_book__podstawy/pl_podstawy__narzedzia_sieciowe.sec">
<!ENTITY pakiety SYSTEM "pl_book__pakiety/pl_pakiety.chp">
+<!-- <!ENTITY pakiety__wprowadzenie SYSTEM "pl_book__pakiety/wprowadzenie.sec"> -->
<!ENTITY pakiety__poldek SYSTEM "pl_book__pakiety/poldek.sec">
+<!-- <!ENTITY pakiety__rpm SYSTEM "pl_book__pakiety/rpm.sec"> -->
<!ENTITY konfiguracja SYSTEM "pl_book__konfiguracja/pl_konfiguracja.chp">
<!ENTITY konfiguracja_kernel SYSTEM "pl_book__konfiguracja/pl_konfiguracja__kernel.sec">
<!ENTITY konfiguracja_initrd SYSTEM "pl_book__konfiguracja/pl_konfiguracja__initrd.sec">
Modified: PLD-doc/book/pl_book__pakiety/pl_pakiety.chp
==============================================================================
--- PLD-doc/book/pl_book__pakiety/pl_pakiety.chp (original)
+++ PLD-doc/book/pl_book__pakiety/pl_pakiety.chp Sat Oct 16 12:13:38 2004
@@ -3,5 +3,7 @@
<chapter id="zarzadzanie_pakietami">
<title>Zarządzanie pakietami</title>
<para>Ten rozdział opisuje metody zarządzania pakietami w systemie PLD.</para>
+<!--&pakiety__wprowadzenie;-->
&pakiety__poldek;
+<!--&pakiety__rpm;-->
</chapter>
Added: PLD-doc/book/pl_book__pakiety/rpm.sec
==============================================================================
--- (empty file)
+++ PLD-doc/book/pl_book__pakiety/rpm.sec Sat Oct 16 12:13:38 2004
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="iso-8859-2"?>
+<section id="rpm">
+<title>Program RPM</title>
+<section id="rpm_inst">
+ <title>Instalowanie pakietów</title>
+ <para>
+ Używając programu <command>rpm</command> posługujemy się
+ następującym schematem: <command>rpm [opcje] pakiet.rpm</command>
+ </para>
+ <para>
+ Instalacja pakietu jest dosyć prosta. Załóżmy że pobraliśmy
+ z sieci plik
+ <filename>docbook-dtd31-sgml-1.0-12.noarch.rpm</filename>,
+ teraz jedyną rzeczą jaką musimy wykonać jest wydanie polecenia
+ <command>rpm</command> z opcją <option>-i</option>. Używając
+ kombinacji <option>-ivh</option> dla procesu instalacji,
+ <option>-Uvh</option> uzyskamy pasek postępu instalcji dla
+ poszczególnych instalowanych pakietów.
+ </para>
+
+<screen># rpm -i docbook-dtd31-sgml-1.0-12.noarch.rpm</screen>
+
+ <para>
+ Brak ostrzeżeń lub błędów oznacza prawidłową instalację, teraz
+ nieco skomplikujemy sytuację:
+ </para>
+
+<screen># rpm -i libghttp-devel-1.0.9-4.i686.rpm
+error: failed dependencies:
+ libghttp = 1.0.9 is needed by libghttp-devel-1.0.9-4</screen>
+
+ <para>
+ Tym razem instalacja się nie powiodła, ponieważ pakiet
+ <filename>libghttp-devel</filename> wymaga
+ zainstalowanego pakietu <filename>libghttp</filename>.
+ Aby instalacja pakietu się powiodła wykonujemy
+ następujące polecenie:
+ </para>
+
+<screen># rpm -i libghttp-devel-1.0.9-4.i686.rpm libghttp-1.0.9-4.i686.rpm</screen>
+
+ <para>
+ Teraz wszystko jest w porządku, oba pakiety są zainstalowane.
+ Możliwe jest instalowanie pakietu z opcją ignorowania
+ zależności: <option>--nodeps</option>,
+ opcję tą stosujemy jednak w ostateczności.
+ </para>
+</section>
+<section id="rpm_up">
+ <title>Aktualizowanie pakietów</title>
+ <para>
+ Aktualizacja przebiega podobnie jak instalacja, tyle że używamy
+ przełącznika <option>-U</option> np.:
+ </para>
+
+<screen># rpm -U docbook-dtd31-sgml-1.0-13.noarch.rpm</screen>
+
+ <para>
+ Należy pamiętać o tym, że aktualizacja nastąpi tylko wtedy gdy w
+ systemie jest zainstalowana starsza wersja, w przeciwnym wypadku
+ zostaniemy poinformowani, że pakiet jest już zainstalowany. Aby
+ dokonać reinstalacji pakietu wykonujemy polecenie
+<screen># rpm -i docbook-dtd31-sgml-1.0-13.noarch.rpm --force</screen>
+ </para>
+</section>
+<section id="rpm_rm">
+ <title>Odinstalowywanie pakietów</title>
+ <para>
+ Zainstalowaliśmy kilka pakietów, teraz możemy spróbować je
+ odinstalować - wykonujemy to przy użyciu opcji
+ <option>-e</option>.
+ </para>
+
+<screen># rpm -e libghttp-devel-1.0.9-4.i686.rpm libghttp-1.0.9-4.i686.rpm
+error: package libghttp-devel-1.0.9-4.i686.rpm is not installed
+error: package libghttp-1.0.9-4.i686.rpm is not installed</screen>
+
+ <para>
+ Cóż tu się stało? Podano nieprawidłową nazwę pakietu, należy
+ pamiętać o tym, że przy odinstalowaniu pakietu nie podaje
+ się rozszerzenia pakietu. Poprawne polecenie
+ przedstawiono poniżej:
+ </para>
+
+
+<screen># rpm -e libghttp-devel libghttp</screen>
+
+ <para>
+ lub:
+ </para>
+
+<screen># rpm -e libghttp-devel-1.0.9-4 libghttp-1.0.9-4</screen>
+
+ <para>
+ Uwaga: pierwszy przykład stosuje się w przypadku zainstalowania
+ jednej wersji pakietu, drugi zaś używa się w przypadku kilku
+ różnych (np. dwie różne wersje jądra).
+ </para>
+</section>
+<section id="rpm_end">
+ <title>Uwagi</title>
+ <para>
+ Program <command>rpm</command> posiada o wiele bogatsze opcje,
+ przedstawiono tu zaledwie kilka najważniejszych, więcej można
+ znaleźć w podręczniku systemowym (man/info).
+ </para>
+</section>
+</section>
Added: PLD-doc/book/pl_book__pakiety/wprowadzenie.sec
==============================================================================
--- (empty file)
+++ PLD-doc/book/pl_book__pakiety/wprowadzenie.sec Sat Oct 16 12:13:38 2004
@@ -0,0 +1,302 @@
+<?xml version="1.0" encoding="iso-8859-2"?>
+<section id="wprowadzenie">
+<title>Informacje podstawowe</title>
+
+ <section id="wprowadzenie_wstep">
+ <title>Wstęp</title>
+ <para>
+ Instalowanie, deinstalowanie i aktualizowanie składników systemu
+ operacyjnego jest jednym z najważniejszych zadań administratora.
+ Zautomatyzowanie tego zadania pozwala znacznie przyspieszyć i
+ ułatwić zarządzanie systemem.
+ </para>
+
+ <para>
+ W świecie Otwartego Oprogramowania pomiędzy programami istnieją
+ liczne powiązania, które w efekcie wymuszają konieczność instalacji
+ dodatkowych programów i/lub bibliotek. Pominięcie tych zależności
+ spowoduje problemy z działaniem programu lub całkowity jego brak.
+ Śledzenie tych zależności może przyprawić o ból głowy większość
+ administratorów. Na szczęście istnieją narzędzia, które nie tylko
+ pomagają zautomatyzować ten proces, ale też wspomagają instalację,
+ deinstalację i aktualizację oprogramowania.
+ </para>
+
+ <para>
+ Elementy systemu operacyjnego dostępne są w tzw.
+ <emphasis>pakietach</emphasis>
+ (pot. "paczkach"). Pakiety mogą zawierać wiele małych programów
+ i/lub bibliotek, lub jeden duży program może być podzielony na
+ kilka pakietów. W PLD najczęściej stosowane jest to drugie
+ rozwiązanie - osobno przechowywane są pliki uruchomieniowe,
+ osobno biblioteki, a jeszcze osobno dodatkowe moduły, wtyczki
+ i inne dodatki. Pozwala to instalować tylko to co jest nam potrzebne.
+ Przykładowo jeśli jakiś program wymaga bibliotek innego programu
+ to instalujemy tylko wymagany pakiet z bibliotekami. Skraca to
+ czas instalacji (zwłaszcza przy pobieraniu plików z Internetu)
+ i pozwala oszczędzać miejsce na dysku.
+ </para>
+ </section>
+
+
+ <section id="wprowadzenie_menadzery_pakietow">
+ <title>Menadżery pakietów</title>
+ <para>
+ W PLD zastosowano system pakietów <productname>RPM</productname>
+ (<productname>RPM Packet Manager</productname>).
+ Jest to system stworzony przez twórców dystrybucji
+ <productname>Red Hat Linux</productname>, który zyskał na
+ świecie dużą popularność i obecnie jest najbardziej popularnym
+ (i najpotężniejszym) dostępnym systemem zarządzania pakietami.
+ </para>
+
+ <para>
+ Używając PLD mamy do wyboru dwa menadżery pakietów,
+ program <productname>Poldek</productname> - stworzony
+ na potrzeby PLD,
+ oraz klasyczny program <productname>rpm</productname>.
+ Pierwszy z nich jest narzędziem o ogromnych możliwościach,
+ pozwalającym na znaczną automatyzację procesu zarządzania
+ dużymi ilościami pakietów. Jest "wołem roboczym" odciążającym
+ administratora w tym żmudnym zajęciu, dzięki czemu świetnie
+ nadaje się do codziennego użytkowania.
+ </para>
+
+ <para>
+ Drugi jest programem wygodnym do zarządzania mniejszymi
+ ilościami pakietów, przez co lepiej się sprawdza przy
+ nietypowych zastosowaniach - np. instalowaniu pakietów RPM
+ spoza oficjalnych źródeł.
+ </para>
+ </section>
+
+
+
+ <section id="wprowadzenie_nazwy_pakietow">
+ <title>Konwencja nazw pakietów w PLD</title>
+
+ <table frame='all'>
+ <title>Opis zawartości pakietów w zależności od ich nazwy</title>
+ <tgroup cols='2' align='center' colsep='1' rowsep='1'>
+ <thead>
+ <row>
+ <entry>Nazwa pakietu</entry>
+ <entry>Zawartość</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><emphasis>program</emphasis>.arch.rpm,
+ <emphasis>program-core</emphasis>.arch.rpm</entry>
+ <entry>główny pakiet program, zawiera pliki wykonywalne,
+ dokumentację, skrypty startowe w przypadku usług, niekiedy
+ biblioteki</entry>
+ </row>
+ <row>
+ <entry>program-<emphasis>libs</emphasis>.arch.rpm</entry>
+ <entry>zestaw bibliotek stworzonych na potrzeby danego
+ programu, mogą być jednak stosowane przez inne programy
+ </entry>
+ </row>
+ <row>
+ <entry>program-<emphasis>mod</emphasis>.arch.rpm,
+ program-<emphasis>plugin</emphasis>.arch.rpm,
+ program-<emphasis>applets</emphasis>.arch.rpm</entry>
+ <entry>różnej maści "wtyczki", applety i dodatki</entry>
+ </row>
+ <row>
+ <entry>program-<emphasis>skin(s)</emphasis>.arch.rpm</entry>
+ <entry>"skórki" zmieniające wygląd</entry>
+ </row>
+ <row>
+ <entry>program-<emphasis>theme(s)</emphasis>.arch.rpm</entry>
+ <entry>"tematy" zmieniające wygląd</entry>
+ </row>
+ <row>
+ <entry>program-<emphasis>driver</emphasis>.arch.rpm</entry>
+ <entry>sterowniki</entry>
+ </row>
+ <row>
+ <entry>program-<emphasis>i18</emphasis>.arch.rpm</entry>
+ <entry>dodatkowe wersje językowe</entry>
+ </row>
+ <row>
+ <entry>program-<emphasis>devel</emphasis>.arch.rpm</entry>
+ <entry>pakiety potrzebne dla programistów oraz osób,
+ które zajmują się własnoręczną kompilacją programów
+ </entry>
+ </row>
+ <row>
+ <entry>program-<emphasis>doc</emphasis>.arch.rpm</entry>
+ <entry>dokumentacja programu</entry>
+ </row>
+
+ <row>
+ <entry>program-<emphasis>static</emphasis>.arch.rpm</entry>
+ <entry>program skompilowany statycznie - nie wymaga
+ bibliotek</entry>
+ </row>
+
+ <row>
+ <entry><emphasis>lib_nazwa_biblioteki</emphasis>.arch.rpm</entry>
+ <entry>zestaw uniwersalnych bibliotek, nie związanych z
+ żadnym konkretnym programem.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+
+ <section id="wprowadzenie_arch">
+ <title>Architektury</title>
+ <para>
+ W nazwie pakietu tuż przy rozszerzeniu pliku występuje oznaczenie
+ architektury. W powyższej liście przedstawiono ją jako ciąg znaków
+ "arch". Oznaczenie to określa architekturę dla jakiej pakiet
+ został przygotowany. W PLD programy są kompilowane dla
+ różnych architektur sprzętowych, pozwala to na używanie
+ systemu na bardziej różnorodnym sprzęcie, oraz na lepsze
+ dopasowanie do używanej architektury. Wybór konkretnej
+ architektury dokonuje się poprzez
+ wybór odpowiedniego katalogu na serwerze ftp:
+ <ulink url="ftp://ftp.pld-linux.org">ftp.pld-linux.org</ulink>
+ <filename>/dists/{WERSJA_PLD}/PLD/{ARCHITEKTURA}</filename>.
+ Przykładowo adres:
+ <filename>ftp://ftp.pld-linux.org/dists/2.0/PLD/i686/</filename>
+ dotyczy systemu w wersji <productname>2.0 (Ac)</productname> z
+ wybraną architekturą "<literal>i686</literal>". Oto lista
+ wszystkich dostępnych architektur dla
+ <productname>PLD Ac</productname>: <literal>alpha</literal>,
+ <literal>amd64</literal>, <literal>athlon</literal>,
+ <literal>i386</literal>, <literal>i586</literal>,
+ <literal>i686</literal>, <literal>ppc</literal>,
+ <literal>sparc</literal>. Aby pobierać pakiety z właściwej
+ architektury programem <productname>Poldek</productname> trzeba
+ aby ustawić odpowiedni adres w jego pliku konfiguracji.
+ </para>
+ <para>
+ W przypadku niektórych pakietów można się spotkać z
+ oznaczeniem "<literal>noarch</literal>", oznacza ono tyle,
+ że jest to pakiet uniwersalny i można go stosować dla każdej
+ architektury. Należy pamiętać by instalować pakiety
+ wyłącznie przeznaczone dla używanej architektury. Nieco
+ inaczej jest w przypadku architektur przeznaczonych dla
+ procesorów firmy Intel i zgodnych: <literal>i386</literal>,
+ <literal>i586</literal>, oraz <literal>i686</literal>.
+ Pakiety dla "starszych" wersji procesorów mogą działać na
+ maszynach z nowszymi procesorami, ale na odwrót już nie.
+ Przykładowo na maszynie z procesorem
+ <productname>Pentium III</productname>
+ (<literal>i686</literal>) możemy zainstalować system w
+ wersji <literal>i386</literal>, ale na procesorze
+ <literal>386</literal> wersja <literal>i686</literal>
+ nie będzie działać.
+ </para>
+
+ <table frame='all'>
+ <title>Lista procesorów i odpowiadających im architektur:</title>
+ <tgroup cols='2' align='center' colsep='1' rowsep='1'>
+ <thead>
+ <row>
+ <entry>Nazwa architektury</entry>
+ <entry>Obsługiwana platforma</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>alpha</entry>
+ <entry>Compaq Alpha AXP</entry>
+ </row>
+
+ <row>
+ <entry>amd64</entry>
+ <entry>AMD K8 (Opetron, Athlon 64), Intel Xeon EM64T</entry>
+ </row>
+ <row>
+ <entry>athlon</entry>
+ <entry>AMD K7 (Athlon, Duron)</entry>
+ </row>
+ <row>
+ <entry>i386</entry>
+ <entry>wszystkie procesory zgodne z x86 firmy Intel</entry>
+ </row>
+ <row>
+ <entry>i586</entry>
+ <entry>procesory x86 starsze niż 386, 486, AMD K5 (wersje Socket 3)</entry>
+ </row>
+ <row>
+ <entry>i686</entry>
+ <entry>procesory x86 starsze niż Pentium, Pentium-MX,
+ Cyrix 5x86, AMD K5 (wersje Socket7) i AMD K6</entry>
+ </row>
+ <row>
+ <entry>ppc</entry>
+ <entry>PowerPC</entry>
+ </row>
+ <row>
+ <entry>sparc</entry>
+ <entry>Sun SPARC, Sun UltraSPARC</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+ <para>
+ Aby sprawdzić architekturę komputera używamy polecenia
+ <command>arch</command> lub <command>uname -m</command>.
+ </para>
+ </section>
+
+
+ <section id="wprowadzenie_pliki">
+ <title>Polityka zarządzania plikami przez pakiety</title>
+ <para>
+ Zarządzanie pakietami w PLD to sama przyjemność. Jeśli
+ instalujemy w systemie nową usługę to zostanie zapisana
+ odpowiednia informacja do skryptów startowych i zainstalowane
+ oprogramowanie uruchomi się przy zmianie trybu pracy,
+ restarcie systemu. Jeżeli jakaś usługa jest wyłączone z
+ działania i zostanie zaktualizowana to dalej nie będzie
+ uruchamiana.
+ </para>
+
+ <para>
+ Podobnie kurtuazyjnie traktuje pliki konfiguracyjne programów,
+ po aktualizacji pakietu nie są ruszanie istniejące pliki
+ konfiguracji, nowe pliki konfiguracji programu są zapisywane
+ z końcówką "<literal>.rpmnew</literal>". Przykładowo
+ po zaktualizowaniu pakietu <application>sudo</application>
+ obok pliku <filename>/etc/sudoers</filename> pojawi się
+ <filename>/etc/sudoers.rpmnew</filename>. Tak więc
+ zaktualizowany program będzie używał starego pliku
+ konfiguracji. W większości wypadków nie będzie to
+ stanowić problemu, jednak dla pewności należy skonfigurować
+ plik dostarczony z nowszym pakietem na wzór poprzedniej
+ konfiguracji i zmienić mu nazwę poprzez usunięcie
+ omawianego rozszerzenia. Jest to pierwsza rzecz, którą
+ należy sprawdzić w razie problemów z działaniem
+ programu po aktualizacji.
+ </para>
+ <para>
+ W przypadku niektórych programów, po odinstalowaniu
+ pakietu, pozostawiane są jego pliki konfiguracji. Pliki
+ te możemy zachować lub skasować jeśli uznamy że są nam
+ zbędne, łatwo je odnajdziemy gdyż nadawane im jest
+ rozszerzenie "<literal>.rpmsave</literal>".
+ </para>
+ <para>
+ Jak widać zarządzanie pakietami w PLD jest tak skonstruowane,
+ aby nie zaskakiwać administratora w najmniej oczekiwanych
+ momentach, oraz zapewnić nieprzerwanie działanie systemu.
+ </para>
+ </section>
+
+
+</section>
+
+
+
Więcej informacji o liście dyskusyjnej pld-doc