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