Procedura, którą dokument ten próbuje opisaæ jest wysoce niebezpieczna dla twoich programów i danych zapisanych na dysku. Wykonujesz to wszystko TYLKO I WYŁĄCZNIE na własne ryzyko. Opisane tutaj kroki działały u autora; nie ma żadnej gwarancji, że bêdą one działaæ u ciebie ani że postêpując zgodnie z nimi nie uszkodzisz sobie programów czy danych zawartch na dysku. Jesteś zdany całkowicie na siebie podczas robienia użytku z podanych tu procedur i autor nie jest odpowiedzialny za jakiekolwiek uszkodzenia czy niewygody wynikłe z ich użycia.
Prawa autorskie do tego dokumentu należą do Dynamicro Consulting Limited i jest on wydany na podstawie licencji GNU. Ogólnie oznacza to, że możesz go kopiowaæ i modyfikowaæ, ale nie możesz zabraniaæ innym robienia tego samego.
Komentarze i pytania proszê kierowaæ do autora. Szczególnie mile widziane są opisy udanych uaktualnieñ złożonych systemów, które zostaną wykorzystane do przyszłych wersji.
Zmiany od wersji 1.1
Celem tego dokumentu jest zaoferowanie wskazówek, które pomogą ci w niszczeniu i ponownej instalacji twojego Linux-a. Nie jest to żadna głupko-odporna książka kucharska; ale mam nadziejê, że posłuży jako pewnego rodzaju wykaz tego o czym musisz pomyśleæ, i wykaz kolejności w jakiej musisz zrobiæ różne rzeczy. Jeśli ktoś napisałby takie coś zanim dokonałem swojego pierwszego uaktulanienia, byłoby to dla mnie bardzo pomocne. Tak wiêc mam nadziejê, że bêdzie to pomocne dla ciebie, jeśli masz jakiegoś Linux-a do przerobienia.
Ale nie bierz tego za świêtą prawdê: twoja droga do przebycia
bêdzie prawie na pewno siê różniła od mojej. Nawet nazwy katalogów
z tego dokumentu mogą byæ różne od tych, które ty bêdziesz musiał
użyæ; na przykład niektórzy mają /usr/home
zamiast
/home
; inni nazywają to /u
, a niektórzy (brrr) to
nawet umieszczają swoich użytkowników bezpośrednio w /usr
! Nie można odnieśæ siê dokładnie do twojego systemu także użyłem
tu nazw, które wystepowały u mnie.
Zauważysz także, że używam dystrybucji Slackware oraz że zakładam, że masz wystarczająco dużo RAM-u i miejsca na dysku, żeby skopiowaæ źródła do jądra na dysk i zrobiæ swoje jądro. Jeśli twój system jest inny, niektóre z moich zaleceñ nie bêdą pasowały; ale mam nadziejê, że generalnie bêdziesz siê mógł w dalszym ciągu opieraæ o ten dokument w swoim projekcie przebudowy.
Dobre pytanie ! Jeśli można tego uniknąæ, to nie rób tego ! (Jest to najprostsza najważniejsza rekomendacja w tym przewodniku !!!) Ale przychodzi taki czas, że po prostu musisz.
Na przykład: Zainstalowałem sobie dysk 4GB i okazało siê, że mój Slackware 2.0 biedaczek nie wiedział, że dysk może mieæ wiêcej jak 2GB i poczuł siê bardzo zawstydzony. Tak wiêc musiałem uaktualniæ go do wtedy-świeżej wersji 2.3. Operacja ta była dla mnie ciêżkim przeżyciem, i jest jednym z powodów, dla których piszê te uwagi. Zrobiłem prawie wszystko źle i tylko szczêście i fakt, że miałem obok drugiego chodzącego Linux-a uratowało mnie od katastrofy.
Jako inny przykład mogê podaæ, że nie mogłem skompilowaæ działającego jądra "a.out" z serii 1.3, używając Slackware 2.3 spoza komputera, który przedtem spartaczyłem. Wziąłem siê w garśæ, kupiłem Slackware 3.0 na CD-ROM-ie i przeszedłem na ELF-a. Tym razem ponowna instalacja poszła lepiej, po czêści dziêki poprzedniemu gorzkiemu doświadczeniu, które posłużyło jako źródło wiêkszości pomysłów, które wam tutaj oferujê.
Jest bezpieczniej. Jeśli zainstalujesz nową wersjê dystrybucji na starszą, to bêdziesz miał mieszaninê starych i nowych binariów, starych i nowych plików konfiguracyjnych i nie bêdzie to zbyt ciekawe miejsce do administrowania. Wyczyszczenie systemu i ponowna instalacją tego co rzeczywiście chcesz mieæ, jest drastycznym lecz efektywnym sposobem na osiągniêcie przejrzystego i dobrze działającego systemu. (Oczywiście mówimy tu o instalacji kompletnie nowej dystrybucji a nie o uaktulanieniu dwóch pakietów ! Aby uniknąæ całkowitej instalacji nowego systemu najlepiej w miarê pojawiania siê nowych wersji konkretnych pakietów uaktualniaæ je -- szczególnie chodzi tu o gcc i jego biblioteki oraz binutils. Jeśli potrafisz w ten sposób utrzymaæ w miarê bieżące wersje pakietów, to nie potrzebujesz całkowitego uaktualnienia.)
Jak pisze Patrick Volkerding (on także zaleca procedurê z kompletnym wyczyszczeniem systemu), instalacja systemu ELF na systemie "a.out" jest przepisem na katastrofê; bo jeżeli wiedziałbyś dostatecznie duży, żeby spróbowaæ, to nie czytałbyś tego dokumentu !
Chociaż nawet bez tych komplikacji lepiej, żebyś zaczął zupełnie od nowa.
To oczywiście zależy od tego, jak złożony jest twój system. Ale oceniłem, że na udane uaktualnienie (to drugie - nie pytaj ! ;) ) poświêciłem około 10 godzin na robienie archiwów, 6 godzin na przebudowanie systemu spowrotem do momentu, w którym mogłem siê zalogowaæ a nastêpne pół dnia czy coś koło tego na odtwarzanie niekrytycznych danych. Z biegiem czasu odkrywam jeszcze małe szczegóły, które nie są do koñca takie jakie chciałem -- naprawiam je wraz z odkrywaniem ich -- ale generalnie 20 godzin powinno wystarczyæ na sensowną odbudowê systemu. Może mniej jeśli instalujesz z dysku (ja używałem CD-ROM-u), albo wiêcej jeśli musisz instalowaæ z dyskietek. Może mniej jeśli masz szybkie Pentium - wiêcej jeśli jest to 386. No, rozumiesz o co chodzi.
To tyle tytułem wstêpu. Oto jak siê przygotowaæ jak już siê zdecydowałeś, że to zrobisz. Uzbroj siê w cierpliwośæ i:
Bardzo ważne jest to, żebyś zapisywał wszystko co robisz w czasie przygotowywania siê i przeprowadzania uaktulanienia. Szczególnie ważna jest lista archiwów, które bêdziesz robił przed zniszczeniem swojego systemu.
Ogólnie mówiąc archiwa są zapisywane na mediach, które mają dostêp sekwenycyjny. Przez to, nie bêdziesz chciał użyæ tego całkowitego archiwum do odtworzenia znaczącej ilości plików; jest tam za dużo plików, których nie chcesz. Lepiej jest stworzyæ mniejsze archiwa, fragmentów dysku, które bêdziesz chciał później odtworzyæ. Później podam listê przykładów.
Dlaczego wiêc powinieneś zacząæ od całkowitego archiwum ? Dwa podstawowe powody:
Aby zaoszczêdziæ czas i miejsce, jeśli ciągle masz nośnik ze swoją starą dystrybucją, możesz chcieæ zarchiwizowaæ tylko te pliki, których mtime czy ctime jest późniejszy niż oryginalnych z instalacji.
To jest inna ekstremalna sytuacja: nie bêdziesz odtwarzał tych
plików (przynajmniej w wiêkszości); bêdziesz je porównywał z tymi,
które powstały po nowej instalacji. Dlaczego ? Ponieważ te nowe
mogą zawieraæ dane, których nie ma w tych starych, albo mogą
wyrażaæ stare dane w nowy sposób. Zmiany w protokołach, nowe
narzêdzia albo implementacje nowych właściwości w istniejących
narzêdziach mogą nieśæ za sobą zmianê formatów plików
konfiguracyjnych i startowaæ skrypty, które znajdują siê w
/etc
i bêdziesz przypuszczalnie musiał edytowaæ te pliki
konfiguracyjne, tak żeby odpowiadały nowemu formatowi.
To jest najbardziej zmienna czêśæ pracy i wszystko co mogê zrobiæ, żeby ci pomóc to opisanie tego co zrobiłem u siebie, w nadziei, że posłuży ci to jako przewodnik. Ogólnie powinieneś zajrzeæ do każdego katalogu, który zawiera
i oddziel tylko te pliki, które chcesz przenieśæ.
(Inną możliwą strategią jest zarchiwizowanie plików z mtime lub ctime późniejszym niż dzieñ instalacji i potem odtworzenie ich. Jeśli to zrobisz, to musisz mieæ na uwadze, że nowa dystrybucja może i tak zawieraæ nowsze wersje plików, które zarchiwizowałeś.). W moim przypadku, skoñczyło siê na archiwach nastêpujących katalogów:
Mój system był wzglêdnie łatwy ponieważ nie było żadnych plików
spool, o które trzebaby siê troszczyæ. Nie mam katalogu do
news-ów, a ponieważ jest tylko dwóch użytkowników, najprościej
było przeczytaæ pocztê przed zamkniêciem systemu. W innym przypadku
katalog /var/spool
musiałby zostaæ zarchiwizowany w
ostatniej minucie. (No i oczywiście biblioteka news-ów i
katalogi lokalne !)
Szczegóły na ten temat znajdziesz w podrêczniku do twojej nowej dystrybucji.
Od tłumacza: Możesz też zajrzeæ do Bootdisk-HOWTO.
Bêdziesz potrzebował dwóch - po jednej na każde.
Jak to wszystko jest już zrobione jesteś gotowy na Wielką
Chwilê. Nastêpny krok usuwa system z powierzchni ziemi.
Jest to ostatnia rzecz jaką bêdziesz robił na starym systemie zanim go zniszczysz.
Podrêcznik do instalacji wyjaśni jak to zrobiæ. W tym momencie niszczysz stary system i jesteś zależny od jakości archiwów, które zrobiłeś ! Zostałeś ostrzeżony !
Jest już kilka dokumentów, które opisują procedurê instalacji, tak wiêc nie bêdê siê zagłêbiał w szczegóły. Kontunuuj od tego miejsca jak już nowy system bêdzie startował z twardego dysku.
W czasie instalacji zrób także dyskietkê, z której bêdziesz mógł startowaæ ponieważ zainstalowane jądro bêdzie musiało zostaæ podmienione a wypadki siê zdarzają. Upewnij siê, że zainstalowałeś pakiety do rozwoju (development) i źródła do jądra.
I dodaj swoją partycjê swap. Potem wydaj polecenie swapon
-a
. Nie wiem dlaczego, ale program do instalacji Slackware'u
nie daje możliowści zrobienia tego jeśli twoja partycja swap
już istnieje. Potem jak próbujesz wystartowaæ system, skrypt
rc.S próbuje włączyæ swap-owanie i nie znajduje partycji
swap - ten krok naprawia ten błąd.
Jak to jest opisane powyżej, nie możesz po prostu skopiowaæ
wszystkich plików spowrotem do tego katalogu i oczekiwaæ, że
wszystko bêdzie ładnie działaæ. Niektóre pliki, z którymi możesz
tak postąpiæ, np. /etc/XF86Config (o ile używasz tej samej
wersji XFree86 i tej samej karty graficznej). Chociaż w
wiêkszej czêści najlepiej jest użyæ programu diff
do
porównania plików przed rozpoczêciem kopiowania. Uważaj szczególnie
na znaczące zmiany w /etc/rc.d
, które mogą wymagaæ rêcznej
restabilizacji twojego systemu, zamiast kopiowania zarchiwizowanych
skryptów. Jak już wszystko jest gotowe - zrestartuj system.
Nawet jeśli w ogóle nie musisz tego robiæ, żeby otrzymaæ jądro, które obsługuje twój sprzêt, opłaca siê to zrobiæ, choæby dlatego, żeby pozbyæ siê kupy niepotrzebnych sterowników z jądra, które tylko je spowalniają. Szczegóły znajdziesz w Kernel-HOWTO. Najpierw zainstaluj nowe jądro na dyskietce - jeśli wszystko działa, to zainstaluj je na dysku twardym, uruchom LILO jeśli go używasz, i zrestartuj komputer.
Niektóre binaria bêdą musiały zostaæ zainstalowane z katalogów
źródłowych; musiałem tak zrobiæ z lilo, na przykład, ponieważ
miałem nowszą wersjê niż w dystrybucji i nie zarchiwizowałem
katalogu /sbin
. Bêdziesz pewnie chciał sprawdziæ programy
z archwium czy wszystkie siê poprawnie zainstalowały oraz czy
wszystkie pliki konfiguracyjne i biblioteki są na miejscu. W
niektórych przypadkach musisz odtworzyæ programy w określonej
kolejności; robiłeś notatki podczas archiwizacji, czyż nie ? ;)
Sparwdź prawa dostêpu do plików i katalogów, żeby dowiedzieæ siê
czy dostêp nie jest zbyt mały lub zbyt szeroki. Dowiedziałem siê
np., że Slackware dąży do bardziej otwartego środowiska niż ja
lubiê, wiêc przechodzê przez katalogi i zmieniam 755 na 711 dla
plików w .../bin
i podobnych rzeczy. A nawet zmieniam na
700 dla plików w /sbin
. Szczególna ostrożnośæ jest
potrzebna jeśli miałeś serwer ftp - ale jeśli już go miałeś, to na
pewno o tym pomyślałeś wcześniej :)
System już działa. Przez nastêpną chwilê, bêdą pewnie jakieś szczegóły do dopracowania; ale wiêkszośæ roboty jest już zrobiona. Miłej zabawy !
UŻYWAJ INFORMACJI TU ZAWARTYCH NA WŁASNE RYZYKO !!! (Zobacz sekcjê Prawa autorskie i zrzeczenie.)
Wielkie podziêkowania za wkład wniesiony do tego mini-HOWTO dla Zoltána Hidvégi.
Jeśli znalazłeś jakieś rażące błêdy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie:
Oficjalną stroną tłumaczeñ HOWTO jest http://www.jtz.org.pl/
Aktualne wersje przetłumaczonych dokumentów znajdują siê na
tejże stronie. Dostêpne są także poprzez anonimowe ftp pod adresem
ftp.ippt.gov.pl/pub/Linux/JTZ/
Przetłumaczone przeze mnie dokumenty znajdują siê także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej.
Kontakt z naszą grupą, grupą tłumaczy możesz uzyskaæ poprzez listê
dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisaæ, to
wyślij list o treści subscribe jtz Imiê Nazwisko
na adres
listproc@ippt.gov.pl
Zmiany wprowadzone przeze mnie do tego dokumentu to polskie odnośniki do serwerów ftp i WWW oraz informacja o Bootdisk-HOWTO.