PLD-doc/book/pl_book__instalacja/pl_instalacja__chroot.sec

qwiat cvs w pld-linux.org
Pon, 6 Lut 2006, 00:25:17 CET


Author: qwiat
Date: Mon Feb  6 00:25:12 2006
New Revision: 6935

Modified:
   PLD-doc/book/pl_book__instalacja/pl_instalacja__chroot.sec
Log:
- napisany od nowa rozdzial


Modified: PLD-doc/book/pl_book__instalacja/pl_instalacja__chroot.sec
==============================================================================
--- PLD-doc/book/pl_book__instalacja/pl_instalacja__chroot.sec	(original)
+++ PLD-doc/book/pl_book__instalacja/pl_instalacja__chroot.sec	Mon Feb  6 00:25:12 2006
@@ -1,179 +1,287 @@
 <?xml version="1.0" encoding="iso-8859-2"?>
-<section id="instalacjach_wstep">
+<section id="instalacja_chroot_wstep">
 	<title>Wstęp</title>
-		
-	<para>Jednym z alternatywnych sposobów instalacji PLD jest instalacja z poziomu innej dystrybucji Linuksa.
-Posiada ona kilka zalet. Po pierwsze, nie będzie nam potrzebna nagrywarka CD, aby nagrać płytę z instalatorem, ani nie trzeba będzie korzystać z wolnych i mało pojemnych dyskietek. Po drugie, będziemy mogli korzystać z dotychczasowego systemu podczas instalacji nowego.
-Uwaga! Ponieważ instalować będziemy w oparciu o już zainstalowany system, zakładam, że czytelnik ma przynajmniej minimalną wiedzą dotyczącą Linuksa, dokumentacja nie jest kierowana do początkujących.
-</para>
+	<para>
+		Mamy możliwość zainstalowania <productname>PLD</productname> przy
+		pomocy innego systemu operacyjnego, sposób ten ma tę zaletę, że
+		daje nam okazję dobrego poznania PLD już na etapie instalacji, a
+		ponadto umożliwia wykonanie bardziej wyrafinowanych operacji, które
+		są niedostępne z poziomu instalatora.
+		Ta metoda instalacji pozwala zainstalować bardzo małą wersję systemu,
+		(ok. 120MB), która wystarcza do uruchomienia systemu,
+		skonfigurowania sieci, <productname>Poldka</productname> i pobrania
+		kolejnych pakietów.
+	</para>
+	<para>
+		Do instalacji możemy użyć działającej dystrybucji, jednak
+		najwygodniejsze będzie użycie dystrybucji typu live:
+		<productname>RescueCD</productname> lub <productname>PLD-Live</productname>.
+		Użycie systemu z płyty CD ma tą zaletę, że instalacja może być
+		wykonywana na docelowej maszynie, co ułatwi nam stworzenie
+		prawidłowego obrazu <literal>initrd</literal>.
+	</para>
+	<para>
+		W związku z nową wersją indeksów programu Poldek (od wersji 0.19.x+),
+		w PLD AC mogą wystąpić kłopoty z oficjalną wersją RescueCD i LiveCD.
+		Zalecane jest wczytanie wersji RescueCD od wersji beta z dnia
+		2005.08.15 lub nowszej.
+	</para>
 </section>
-<section id="instalacjach_start">
-	<title>Startujemy! - przygotowania</title>
-<para>Zaczynamy. Najpierw musimy stworzyć partycję dla głównego drzewa katalogów. Możemy do tego posłużyć się programem cfdisk lub fdisk (wedle uznania). Po tej operacji musimy utworzyć system plików na przygotowanej partycji. Odpowiednio:
-</para>
-<screen># mke2fs /dev/hdXY <co id="ext2"/>
-# mke2fs -j /dev/hdXY <co id="ext3"/>
-# mkfs.xfs /dev/hdXY  <co id="xfs"/>
-# mkreiserfs /dev/hdXY <co id="reiser"/></screen>
-<calloutlist>
-    <callout arearefs="ext2 ext3">
-	<para><command>mkfs.ext2</command> lub <command>mkfs.ext3</command> w zależności od wybranej partycji: ext2 lub ext3</para>
-    </callout>
-    <callout arearefs="xfs">
-	<para>dla partycji typu XFS</para>
-    </callout>
-    <callout arearefs="reiser">
-	<para>dla partycji typu reiserfs</para>
-    </callout>
-</calloutlist>
-    <para>
-	Gdzie <command>X</command> to oznaczenie dysku w formacie:
-    </para>
-    <itemizedlist>
-	<listitem><para><command>a</command>: pierwszy dysk na IDE0 (primary master)</para></listitem>
-	<listitem><para><command>b</command>: drugi dysk na IDE0 (secondary master)</para></listitem>
-	<listitem><para><command>c</command>: pierwszy dysk na IDE1 (primary slave)</para></listitem>
-	<listitem><para><command>d</command>: drugi dysk na IDE1 (secondary slave)</para></listitem>
-	<listitem><para><command>Y</command>: numer partycji.</para></listitem>
-    </itemizedlist>	
-<para>Oczywiście przy dyskach SCSI oznaczenia będą trochę inne.
-</para>
-<para>
-	Teraz należy stworzyć katalog, do którego będziemy się później <command>chroot</command>-ować, np.:
-	</para>
-<screen># mkdir /pld</screen>
-<para>Oraz zamontować partycję.</para>
-<screen># mount /dev/hdXY /pld</screen>
-<para>Teraz musimy skompilować poldka, ściągamy zatem najnowsze źródła z http://poldek.pld-linux.org/download.html i czynimy to.</para>
-<para>Tworzymy katalog dla cache'a poldka:</para>
-<screen># mkdir -p /pld/var/cache/poldek/</screen>
-<para>Upewnijmy się, że w obecnym systemie mamy poprawnie zainstalowany RPM. Sprawdzamy także, czy rpm leży w /bin/rpm , jeśli nie, to używamy komendy</para>
-<screen># ln -s `which rpm` /bin/rpm</screen>
-<para>aby zlinkować rpma do lokacji wymaganej przez poldka.</para>
+
+<section id="instalacja_chroot_przygotowanie">
+	<title>Przygotowanie</title>
+	<section id="instalacja_chroot_konfiguracja_podstawowa">
+		<title>Uruchomienie</title>
+		<para>
+			W przypadku instalacji z działającego systemu musimy podłączyć
+			dysk twardy do komputera i uruchomić go. w
+			przypadku płyty typu live w BIOS-ie maszyny docelowej
+			włączamy opcję startu systemu z płyty, a następnie
+			umieszczamy nośnik w napędzie i czekamy na start systemu.
+		</para>
+		<para>
+			Współczesne dystrybucje typu live same wykrywają sprzęt i
+			ładują odpowiednie moduły kernela, jeśli jednak to się
+			nie powiedzie to musimy wtedy wykonać tę operację
+			samodzielnie, więcej na ten temat
+			<xref linkend="konfiguracja_kernel" />.
+			Interesują nas jedynie moduły kontrolera ATA/SATA/SCSI
+			oraz interfejsu sieciowego.
+		</para>
+	</section>
+
+	<section id="instalacja_chroot_parycje_fs">
+		<title>Partycje i systemy plików</title>
+		<para>
+			Potrzebujemy co najmniej dwóch partycji: jednej na główny
+			system plików i drugiej na obszar wymiany. Obszar wymiany,
+			nie jest wymagany do instalacji, jednak dla porządku
+			utworzymy go w trakcie instalacji. Przykłady będą
+			dotyczyły dysku <filename>/dev/hda</filename>, który
+			zostanie podzielony na dwie partycje podstawowe: pierwsza
+			dla obszaru wymiany, druga dla głównego systemu plików.
+			Nazewnictwo urządzeń masowych wyczerpująco przedstawiono w
+			<xref linkend="pl_dysk_nazwy" />.
+		</para>
+		<para>
+			Na uprzywilejowanej pozycją będą tym
+			razem użytkownicy kompletnych systemów, które umożliwiają
+			użycie programu <productname>GParted</productname>
+			lub <productname>QTParted</productname>, w przeciwnym wypadku
+			użyjemy programu <productname>fdisk</productname> lub
+			<productname>cfdisk</productname> np.:
+			<screen># cfdisk /dev/hda</screen>
+		</para>
+		<para>
+			Podział dysku na partycje szerzej opisano w
+			<xref linkend="pl_dysk_partycje" />.
+			Jeśli mamy już właściwy podział dysku utworzymy na nim
+			systemy plików (np. ext2):
+			<screen># mkfs.ext2 /dev/hda2</screen>
+			Następnie inicjujemy obszar wymiany:
+			<screen># mkswap /dev/hda1</screen>
+			Tworzenie systemów plików omówiliśmy dokładnie w
+			<xref linkend="pl_dysk_fs" />.
+		</para>
+		<para>
+			Zapamiętujemy układ partycji i systemów plików, gdyż
+			będzie on nam potrzebny do prawidłowego skonfigurowania
+			pliku <filename>/etc/fstab</filename>.
+			Teraz przyszedł czas na utworzenie punktu montowania
+			i podmontowania partycji np.:
+<screen># mkdir /pldroot
+# mount /dev/hda2 /pldroot</screen>
+		</para>
+		<para>
+			Jeśli system ma używać większej ilości partycji (np. dla
+			<filename>/var</filename>) to	montujemy je wszystkie.
+		</para>
+	</section>
+
+	<section id="instalacja_chroot_konfiguracja_sieci">
+		<title>Konfiguracja sieci</title>
+		<para>
+			Założyliśmy, że będziemy instalować pakiety z sieci, dlatego
+			musimy skonfigurować połączenie. W przypadku systemu
+			płyty konfiguracja sieci jest pobierana z DHCP,
+			jeśli nie mamy takiej możliwości, to musimy wykonać 
+			statyczną konfigurację połączenia.
+			Konfigurację sieci szczegółowo opisano w
+			<xref linkend="pl_siec_wstep" />.
+		</para>
+		<para>
+			Jeśli potrzebujemy skorzystać z proxy ustawiamy odpowiednią
+			zmienną środowiskową np.:
+			<screen># export ftp_proxy=w3cache.dialog.net.pl:8080</screen>
+			Szczegóły konfiguracji proxy odnajdziemy w
+			<xref linkend="konfiguracja_proxy" />.
+		</para>
+	</section>
+
+	<section id="instalacja_chroot_">
+		<title>Konfiguracja Poldka</title>
+		<para>
+			Tworzymy katalog na indeksy Poldka np.:
+			<screen># mkdir -p /pldroot/var/cache/poldek-cache</screen>
+			Następnie w konfiguracji Poldka musimy wskazać ten katalog,
+			odszukujemy w pliku <filename>/etc/poldek/poldek.conf</filename>
+			opcję <literal>cachedir</literal>, w której definiujemy ścieżkę
+			do katalogu:
+			<screen>cachedir = /pldroot/var/cache/poldek-cache</screen>
+		</para>
+		<para>
+			Teraz powinniśmy ustawić najlepiej dopasowaną
+			architekturę instalowanych pakietów. Ustawimy to za pomocą opcji 
+			<literal>_pld_arch</literal> w pliku
+			<filename>/etc/poldek/pld-source.conf</filename>.
+			Więcej o architekturach pakietów w
+			<xref linkend="pakiety_cechy_arch" />.
+		</para>
+	</section>
 </section>
-<section id="instalacjach_instalacja">
-	<title>Instalacja</title>
-<para>Rozpoczynamy instalację PLD w nowym katalogu:</para>
-<screen># ./poldek --root /pld -c poldek.conf -i FHS</screen>
-<para>Jeśli zobaczymy błędy w stylu:</para>
-<screen>Retrieving ftp://ftp.pld-linux.org/dists/ac/PLD/i686/PLD/RPMS/packages.dir.mdd...
-error: vftp: unable to connect to ftp.pld-linux.org:21: Name or service not known
-warn: ftp://ftp.pld-linux.org/dists/ac/PLD/i686/PLD/RPMS/: load failed, skipped
-Retrieving ftp://ftp.pld-linux.org/dists/ac/updates/security/i686/packages.dir.mdd...
-error: vftp: unable to connect to ftp.pld-linux.org:21: Name or service not known
-warn: ftp://ftp.pld-linux.org/dists/ac/updates/security/i686/: load failed, skipped
-warn: no packages loaded
-error: mark: FHS not found</screen>
-<para>To otwórzmy plik poldek.conf i odkomentujmy linijkę 88, czyli opcję:</para>
-<screen>ftp_get = /usr/bin/wget -N --dot-style=binary -P %d %Pn</screen>
-<para>Wracamy teraz do poprzedniego kroku.</para>
-
-<para>I idziemy zaparzyć sobie kawę, czekając aż ściągnie się lista paczek z serwera ftp PLD.
-	Kiedy poldek skończy, ignorujemy wszelkie błędy i wpisujemy:</para>
-<screen># ./poldek --root /pld -c poldek.conf -i poldek bash elfutils</screen>
-<para>
-	Co w efekcie rozpocznie proces instalowania najpotrzebniejszych składników naszego nowego systemu. Czekamy popijając zrobioną parę minut temu kawkę.</para>
-
-<para>Po tym, aby przebudować nową bazę danych dla naszego /pld, wpisujemy:</para>
-<screen># rpm --root /pld --initdb</screen>
-
-<para>Teraz musimy przekopiować nasz plik <filename>resolv.conf</filename>, aby z chrootowanego środowiska mieć dostęp do sieci.</para>
-<screen># cp /etc/resolv.conf /pld/etc/</screen>
-
-<para>Montujemy /proc ...</para>
-<screen># mount -o bind /proc /pld/proc</screen>
-
-<para>I... wreszcie... chrootujemy się do naszego bocianka.</para>
-<screen># chroot /pld /bin/bash</screen>
-
-<para>W tym momencie przydałoby się wpisać:</para>
-<screen># source /etc/profile</screen>
-<para>aby wyeksportować niektóre podstawowe zmienne zawarte w podanym pliku.</para>
-
-<para>Spróbujmy uruchomić poldka, jeśli nie uruchamia się i wywala błąd w stylu:</para>
-<screen># poldek
-poldek: error while loading shared libraries: libbeecrypt.so.6: 
-cannot open shared object file: No such file or directory</screen>
-
-<para>musimy zlinkować odpowiednio biblioteki przez odpalenie komendy:</para>
-<screen># ln -s /usr/lib/libbeecrypt.so.6.2.0 /usr/lib/libbeecrypt.so.6</screen>
 
-<para>I już powinno wszystko śmigać. :-)</para>
 
-<para>Niestety, po raz kolejny czeka nas ściągniecie bazy pakietów z serwera PLD, choć już teraz ze środka! Wspaniałe uczucie. :-) Przy okazji doinstalujemy kilka przydatnych narzędzi.</para>
-<screen># poldek -i man mc pico procps</screen>
+<section id="instalacja_chroot_instalacja">
+	<title>Instalacja</title>
+	<section id="instalacja_chroot_instalacja_pakietow">
+		<title>Instalacja pakietów</title>
+		<para>
+			Zanim zaczniemy instalować pakiety musimy mieć świadomość, że
+			zachodzi między nimi wiele zależności. Zostaną zainstalowane
+			wszystkie wymagane dodatkowo pakiety, jednak nie mamy wpływu
+			na kolejność instalacji. Zdarza się, że pakiet wymaga pliku lub
+			programu, którego jeszcze nie ma w instalowanym systemie, przez
+			co nie mogą być wykonane pewne operacje poinstalacyjne. Pojawią
+			się nam wtedy na ekranie komunikaty błędów, nie należy się tym
+			martwić, gdyż naprawimy ten problem reinstalując pakiet.
+			Musimy jedynie wywołać instalację
+			z opcją <literal>--reinstall</literal>
+		</para>
+		<para>
+			Instalację rozpoczynamy od inicjacji bazy danych pakietów:
+			<screen># rpm --root /pldroot --initdb</screen>
+		</para>
+		<para>
+			W tej części instalacji zainstalujemy kolejno pakiety:
+			<filename>setup</filename>, <filename>FHS</filename>, <filename>dev</filename>,
+			<filename>chkconfig</filename>, <filename>dhcpcd</filename>,
+			<filename>poldek</filename>, <filename>vim</filename> (lub
+			inny edytor), <filename>geninitrd</filename>,
+			<filename>modutils</filename> <filename>lilo</filename> lub
+			<filename>grub</filename>. Możemy dodatkowo zainstalować
+			wiele innych pakietów, jednak możemy spokojnie to wykonać
+			z działającego już systemu.
+		</para>
+		<para>
+			Mamy możliwość użycia trybu interaktywnego Poldka:
+<screen># poldek --root /pldroot
+
+poldek&gt; install setup FHS dev chkconfig dhcpcd poldek vim geninitrd modutils lilo
+</screen>
+lub wsadowego
+<screen># poldek --root /pldroot -i setup FHS dev chkconfig \ 
+dhcpcd poldek vim geninitrd modutils lilo</screen>
+		</para>
+	</section>
+	<section id="instalacja_chroot_instalacja_kernela">
+		<title>Instalacja kernela</title>
+		<para>
+			Przed instalacją jądra musimy wykonać operacje konieczne do
+			prawidłowego wygenerowania <literal>initrd</literal>.
+			Zaczynamy od konfiguracji pliku <filename>/etc/fstab</filename>,
+			tak by odpowiadał wybranemu przez nas układowi partycji i
+			systemów plików. Więcej o fstab
+			<xref linkend="konfiguracja_pliki" />. Następnie montujemy
+			pseudosystem plików <filename>/proc</filename>:
+			<screen># mount none /pldroot/proc -t proc</screen>
+		</para>
+		<para>
+			Teraz instalujemy wybrany kernel i ewentualnie pakiety
+			z dodatkowymi modułami:
+			<screen># poldek --root /pldroot -i kernel-grsecurity</screen>
+			Jeśli nie pominęliśmy żadnego kroku, to powinien nam się
+			wygenerować prawidłowy obraz initrd, w przeciwnym wypadku
+			musimy to wykonać samodzielnie wg. opisu zamieszczonego w
+			<xref linkend="konfiguracja_geninitrd" />.
+		</para>
+	</section>
+	<section id="instalacja_chroot_instalacja_bootloader">
+		<title>Bootloader</title>
+		<para>
+			Jeśli wybraliśmy <productname>LILO</productname> jako
+			bootloader to powinnysmy odpowiednio zmodyfikować plik
+			konfiguracji (<filename>/etc/lilo.conf</filename>),
+			w przypadku użytej w przykładach konfiguracji będzie 
+			wyglądał następująco:
+<screen>boot=/dev/hda
+read-only
+lba32
+prompt
+timeout=100
+
+image=/boot/vmlinuz
+	label=pld
+	root=/dev/hda2
+	initrd=/boot/initrd</screen>
+		</para>
+		<para>
+			Kiedy konfiguracja jest skończona wydajemy polecenie:
+			<screen># chroot /pldroot /sbin/lilo</screen>
+		</para>
+		<para>
+			W przypadku <productname>GRUB-a</productname> plik
+			konfiguracji (<filename>/boot/grub/menu.lst</filename>)
+			powinien tak wyglądać:
+<screen>timeout 10
+
+title  pld
+root (hd0,1)
+kernel /boot/vmlinuz boot=/dev/hda
+initrd /boot/initrd</screen>
+			Teraz instalujemy bootloader:
+<screen># chroot /pldroot /sbin/grub</screen>
+			Kiedy zgłosi się nam powłoka GRUB-a kolejno zwydamy
+			następujące polecenia:
+<screen>grub&gt; root (hd0,1)
+grub&gt; setup (hd0)
+grub&gt; quit</screen>
+		</para>
+		<para>
+			Konfigurację bootloadera wyczerpująco przedstawiono w
+			<xref linkend="bootloader_wstep" />.
+		</para>
+	</section>
+
+	<section id="instalacja_chroot_instalacja_udev">
+		<title>UDEV</title>
+		<para>
+			Jesli chcemy używać systemu urządzeń UDEV, to jest
+			doskonała okazja żeby go zainstalować:
+<screen># poldek --root /pldroot -i udev
+# poldek --root /pldroot -e dev</screen>
+		</para>
+	</section>
+</section>
 
-<para>System gotowy do użytku, a powinien zmieścić się w 70 MB.</para>
 
-<para>I to właściwie byłby już koniec, jeśli chodzi o użytkowników, którym wystarczy postawienie PLD w chroocie. Jeśli chcecie w normalny sposób korzystać z systemu, czytajcie dalej.</para>
-</section>
-<section id="instalacjach_reboot">
-	<title>Przygotowywanie systemu do samodzielnego uruchomienia</title>
-	<para>Potrzebujemy kilku pakietów, aby system chciał nam wystartować i poprawnie funkcjonować, jeśli chcecie się o nich dowiedzieć coś więcej, polecam wejście w tryb interaktywny poldka <command>poldek</command> i poczytanie o nich dzięki komendzie <command>desc</command>.</para>
-	<screen># poldek -i lilo SysVinit rc-scripts geninitrd xfsprogs login \
-    shadow dev util-linux</screen>
-
-	<para>Teraz pozostaje nam konfiguracja plików <filename>/etc/fstab</filename> i <filename>/etc/lilo.conf</filename> . W <filename>/etc/fstab</filename> ustawiamy partycje, według tego, jak je wcześniej stworzyliśmy. Przykładowy plik będzie wyglądał tak:</para>
-	<screen># cat /etc/fstab
-
-/dev/hda6             /                      xfs     defaults        0 0
-/dev/hda5             none                   swap    sw              0 0
-
-none                  /proc                  proc    defaults,gid=17 0 0
-none                  /dev/pts               devpts  gid=5,mode=620  0 0
-</screen> <para>Pomocnym narzędziem tutaj na pewno będzie
-
-<command>fdisk</command> i jego opcja <option>-l</option>.</para> 
-
-<screen># fdisk -l
-
-   Device Boot    Start       End    Blocks   Id  System
-/dev/hda1             1     19365   9759456    5  Extended
-/dev/hda3         19365     38745   9767520   a5  FreeBSD
-/dev/hda5             1       989    497952   82  Linux swap
-/dev/hda6           989     19365   9261441   83  Linux</screen>
-
-<para>Gdy już dokonaliśmy zmian w pliku <filename>/etc/fstab</filename> to możemy zainstalować jądro systemu:</para>
-<screen># poldek -i kernel</screen>
-
-<para>Teraz ustawiamy <filename>lilo.conf</filename></para>
-
-<screen># cat /etc/lilo.conf
-
-boot = /dev/hda
-
-install=/boot/boot-bmp.b
-bitmap=/boot/lilo-pldblack.bmp
-bmp-colors=9,,,6,0,0
-bmp-table=21,287p,2,4,175p
-bmp-timer=73,29,7,0,0
-
-image = /boot/vmlinuz
-        root = /dev/hda6
-        label = PLD
-        read-only</screen>
-<para>jeśli używamy dev a nie devfs dodajemy jeszcze: </para>
- <screen> append="devfs=nomount nodevfs"
- </screen>
-<para>Przeładowujemy lilo:</para>
-		<screen># lilo
-Added PLD *</screen>
-<para>Dokładny opis konfiguracji boot loadera znajduje się w: <xref linkend="bootloader_wstep" /> </para>
-<para>I jeszcze ustawiamy hasło dla roota.</para>
-<screen># passwd
-New UNIX password:
-Retype new UNIX password:</screen>
-
-<para>Sprawdzamy jeszcze zawartość ( i istnienie przy okazji ) pliku <filename>/etc/shells</filename>, o którego ostatnio było dużo krzyku.</para>
-<screen># cat /etc/shells
-/bin/ksh
-/bin/sh
-/bin/bash
-/bin/rbash</screen>
-
-<para>Wylogowujemy się, odmontowujemy partycję z PLD, i restartujemy kompa...</para>
-<screen># exit
-# umount /pld/proc
-# umount /pld
-# reboot</screen>
+<section id="instalacja_chroot_zakonczenie">
+	<title>Operacje końcowe</title>
+	<para>
+		Aby móc się zalogować do nowego systemu musimy nadać
+		hasło dla root-a:
+		<screen>chroot /pldroot /usr/bin/passwd</screen>
+	</para>
+	<para>
+		Przed restartem musimy odmontować systemy plików:
+<screen># umount /pldroot/proc
+# umount /pldroot</screen>
+	</para>
+	<para>
+		Na koniec wpisujemy polecenie <command>reboot</command>,
+		wyjmujemy płytę z napędu i czekamy aż uruchomi się
+		nowy system.
+	</para>
 </section>
+
+
+


Więcej informacji o liście dyskusyjnej pld-doc