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> 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> root (hd0,1)
+grub> setup (hd0)
+grub> 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