Reinstalacja Linuksa to zadanie proste, o ile nie chcemy
odtwarzać konfiguracji oraz danych ze "starego" systemu. Na
niniejszej stronie przeczytasz jak przeprowadzić zaawansowaną
reinstalację. Uwaga: warto po zainstalowaniu systemu wykonać obrazy partycji (w celu późniejszego odtworzenia w razie problemów) lub sklonować dysk z systemem na drugi dysk. Opisy tworzenia obrazów partycji są na stronie: SystemRescureCD.php oraz paragon.php, natomiast artykuł o klonowaniu dysków jest na stronie SysResCD_KlonowanieDyskow.php.
I
Pierwsze przygotowania do przyszłej reinstalacji wykonasz w
momencie zakupu nowego komputera i doboru dysków twardych. Mając
mało pieniędzy kup jeden dysk na tyle duży, by oprócz partycji
systemowych wydzielić na nim partycje montowane jako
/archiwum , /home oraz ewentualnie /var/www i
/var/ftp. Polecam zakup dwóch-trzech dysków.
*
Po skompletowaniu sprzętu uruchom instalatora Linuksa i wykonuj
standardowe kroki, aż dojdziesz do punktu podziału dysku na
partycje.
Polecam układ trzech dysków na komputerze:
1) dysk pod partycje systemowe
2) dysk pod katalogi userów plus strony www, pliki na serwerze ftp
3) dysk pod archiwum
W takich okolicznościach na pierwszym dysku utwórz partycje
systemowe montowane jako:
/
/SWAP
/usr
/tmp
/var Jeżeli na pierwszy przeznaczysz malutki, stary dysk
np. poniżej 2GB, to partycję montowaną jako
/var zrób na osobnym, drugim dysku.
Na partycji
/var są przechowywane między innymi logi systemowe,
pliki serwera MySQL oraz ew. serwera poczty. Przypominam, że w przypadku zapełnienia partycji
/var logami systemowymi
(a jest to możliwe, gdyż logi potrafią osiągnąć monstrualne rozmiary), nastąpi blokada wielu usług systemowych do przyduszenia
połączenia z Internetem włącznie.
Rozwiązaniem problemu jest montowanie poszczególnych, kluczowych podkatalogów umieszczonych w
/var na osobnych partycjach. Poniżej przedstawiam listę katalogów znajdujących się w
/var do zamontowania na osobnych partycjach:
/var (zawartość
/var z wyłączeniem katalogów, które będą montowane na osobnych partycjach)
/var/spool (poczta)
/var/spool/squid (z systemem plików
ReiserFS)
/var/lib/mysql (jeżeli masz swerwer MySQL zawierające duże bazy danych)
/var/log (logi systemowe)
/var/ftp
/var/www
W moim przykładzie katalogi
/var/www oraz
/var/ftp są montowane na dysku numer 2 (patrz poniżej), choć nic nie stoi na przeszkodzie, by umieścić je (w miarę posiadanego miejsca) na dysku nr 1.
Na drugim dysku utwórz partycje montowane jako:
/home
/home/public (w razie potrzeby pod np. Sambę)
/home/waznyuser (w razie potrzeby)
/var/www (jeżeli masz swerwer Apache)
/var/ftp (jezeli masz serwer ftp)
Na trzecim dysku załóż partycję montowaną jako:
/archiwum
Mając jeden dysk utwórz i zamontuj na nim wszystkie w/w
partycje. Czemu lepiej jest mieć kilka dysków zamiast jednego? To
proste: łatwiej będzie uratować dane w przypadku padu dysku
systemowego. Wiecej na temat podziału dysku na partycje znajdziesz
na sąsiedniej
stronie.
*
Kup kilka szuflad do dysków. Osobny dysk montowany jako
/archiwum powinien być łatwo wyjmowany (dlatego wskazana
jest szuflada). Po zarchiwizowaniu danych wyjmiesz dysk,
zapewniając w ten sposób duże bezpieczeństwo zarchiwizowanym
danym.
*
Mając nadmiar gotówki lub narwanego szefa w pracy, kup jeden
dodatkowy dysk, na którym zainstalujesz (i skonfigurujesz)
powtórnie cały system. W razie padu systemu wyjmiesz dysk oznaczony
nr 1 i włożysz dysk nr 1A, z tym samym, ale nieużywanym systemem
rezerwowym. Przydatne, gdy awaria nastąpi pod nieobecność admina -
wymianę dysku może wówczas zrobić każdy, kto ma dostęp do routera,
zwłaszcza, gdy dysk będzie montowany w szufladzie. Jeżeli pliki
userów są na osobnym dysku, to nikt nawet nie zorientuje się, że
serwer-router chodzi na rezerwowym dysku. Niestety, nie będą
działać połączenia szyfrowane (inne klucze). Warto więc (gdy
wszystko dobrze działa) wrzucić na dysk 1A klucze z dysku 1. Artykuł o klonowaniu dysków jest na stronie SysResCD_KlonowanieDyskow.php.
I I
Zainstalowałeś na nowo system. Skonfigurowałeś połączenie z Internetem,
wykonałeś zabezpieczenie firewallem, ustawiłeś crona itd. Jedyne
czego jeszcze nie wykonałeś, to aktualizację systemu (zrobisz ją po
archiwizacji konfigów). Czas na wypełnienie katalogu
/archiwum plikami konfiguracyjnymi. Utwórz w katalogu
/archiwum podkatalog o nazwie zbudowanej z aktualnej daty.
Skopiuj do niego cały katalog /etc i (to ważne!) zmień nazwę kopii katalogu etc na np. etc_old1.
Zapamiętaj zasadę, że kopiując katalog etc do archiwum,
trzeba zmienić nazwę kopii katalogu etc.
UKRYWANIE ARCHIWUM
Jeżeli masz osobny dysk montowany jako /archiwum, to wyłącz komputer. Wyjmij dysk z archiwum. Wystartuj komputer bez dysku z archiwum. W pliku /etc/fstab będą co prawda wpisy informujące o dysku z archiwum, ale nie ma sensu ich usuwać, gdyż włamywacz i tak tego dysku przecież nie zamontuje.
Powtórny dostęp do archiwum będzie polegać na: wyłączeniu komputera, włożeniu szuflady z dyskiem zawierającym archiwum i włączeniu komputera.
Jeżeli archiwum jest na wspólnym dysku z np. katalogami systemowymi, to wykonaj nieco inne kroki. Skopiuj na dyskietkę pliki /etc/fstab oraz /etc/mtab. Następnie odmontuj partycję montowaną jako /archiwum zleceniem umount /archiwum. Sprawdź, czy katalog
/archiwum po odmontowaniu jest "pusty" (zleceniem cd /archiwum;ls -la). Jeżeli jest "pusty" (bo odmontowałeś katalog /archiwum), to skasuj katalog /archiwum. Na koniec usuń wpisy o katalogu /archiwum z plików /etc/fstab oraz /etc/mtab.
Powtórny dostęp do archiwum będzie polegać na skopiowaniu z dyskietki plików fstab oraz mtab (zawierają one wpisy o sposobie montowania partycji-dysku /archiwum) na ich pierwotne miejsce, czyli do katalogu /etc. Następnie po utworzeniu katalogu /archiwum zleceniem: cd /;mkdir archiwum można już zamontować katalog /archiwum zleceniem: mount /archiwum.
Acha... na koniec rada: wydrukuj sobie zawartość pliku /etc/fstab. Przyda się na wypadek awarii, gdy będziesz musiał pod Linuksem ratunkowym podmontować poszczególne partycje dysku.
*
Po wielu miesiącach, a może latach stwiedziłeś, że czas na
reinstalację systemu. Ponieważ nikt Cię nie goni, możesz spokojnie
przygotować się do tego zadania.
-
Zarchiwizuj pliki programów userów: np. bookmarki Mozilli,
kontakty komunikatora Kadu (GaduGadu) itp. Temat jest rozległy,
więc jedynie go wypunktowałem. Trzeba znać miejsca położenia
plików, które mają znaczenie w pracy programów userów.
Można zarchiwizować cały katalog domowy usera np. antek kopiując go lub od razu zapisując do paczki tar.gz.
Paczkę tar.gz z kompletem plików usera antek umieścimy w np. katalogu /archiwum/antek wydając zlecenie:
tar -zcf /archiwum/antek/`date`.tar /home/antek
Przypominam, że paczka tar, tar.gz zapisuje zawartość katalogów z zachowaniem parametrów takich jak: układ podkatalogów, prawa do plików i katalogów.
Jeżeli chcemy tylko skopiować (bez pakowania) do /archiwum zawartość katalogu np. /home należy wydać zlecenie:
cd /home
cp -ax * /archiwum/mnt/nowapart
Parametr ax w zleceniu cp wymusza zachowanie parametrów takich jak: układ podkatalogów, prawa do plików i katalogów.
Kopiowanie można też zrobić programem mc.
-
Jeżeli planujesz instalację nowszej wersji Mandrake/Mandriva, to na
wszelki wypadek zmień nazwę katalogów domowych userów z np.
/home/antek na /home/antek1 . Czemu? Gdyż zauważyłem, że mogą (po
instalacji) wystąpić problemy z uruchamianiem niektórych programów
okienkowych. Natomiast, gdy zmienisz nazwy katalogów na np.
/home/antek1 i w trakcie instalacji systemu utworzysz usera antek,
to w jego katalogu domowym zostaną na nowo zainstalowane i
skonfigurowane prawidłowo działające pliki. Pamiętaj jedynie, by po
zakończeniu instalacji przynajmniej raz zalogować się pod każdym
userem i pozwolić na automatyczną wstępną konfigurację okienek
(zrobi się to bez Twojej wiedzy, podczas pierwszego uruchomienia
akienek). Następnie z katalogu antek1 skopiuj do katalogu antek
pliki programów np. Kadu (z listą i historią rozmów), bookmarki z
Mozilli lub Netscape itd. Nadaj prawa właściciela kopiowanym plikom
zleceniem chown antek.antek nazwapliku. Więcej
o nadawaniu praw znajdziesz na sąsiedniej stronie.
-
Skopiuj do katalogu /archiwum ostatnią wersję katalogu /etc (w
archiwum masz już minimum jedno archiwum etc utworzone po pierwszej
instalacji). Przyda się, jeżeli od czasu poprzedniej archiwizacji
coś wykonałeś w konfigach (np. crontabie), ale o tym zapomniałeś.
Zmień nazwę kopii katalogu etc na inną np. etc_old2.
-
Skopiuj zawartość katalogu /var. Są tam umieszczone waże pliki z
logami. W katalogu /var umieszczone są także bazy danych MySQL oraz
ewentualne pliki poczty (jeżeli masz serwer pocztowy na pokładzie -
nie mylić ze skrzynkami pocztowymi np. Mozilli). Przyjmuję, że
katalogi /var/www oraz /var/ftp są na osobnych partycjach-dyskach i
nie planujesz ich formatowania. Ciekawostką jest, że bazy danych
MySQL po reinstalacji są od razu gotowe do pracy (działają tabelki,
hasła userów itp.). Oczywiście pod warunkiem, że nie skasujesz
zawartości katalogu /var/lib/mysql.
-
Jeżeli w ramach uszczelniania systemu wprowadziłeś zmiany w
plikach /etc/fstab oraz /etc/mtab zamieniając np. opcję default na
ro,nodev itd. (więcej na temat takiego zabezpieczania danych
znajdziesz na sąsiedniej
stronie), to koniecznie przed rozpoczęciem reinstalacji
wprowadź do katalogu /etc pliki z domyślną (default) zawartością.
Czemu? Gdyż zauważyłem, że podczas reinstalacji Mandrake/Mandriva instalator
szuka na dysku plików konfiguracyjnych (np. /etc/fstab) z
poprzedniej instalacji i jeżeli (podczas reinstalacji) wybrałeś
opcję UŻYJ ISTNIEJĄCYCH PARTYCJI, to instalator zamontuje partycje
zgodnie ze starą zawartością pliku /etc/fstab. Jest to
niebezpieczne, gdyż... jeżeli w pliku /etc/fstab dałeś parametry
montowania np. ReadOnly (tylko do odczytu), to instalacja padnie z
powodu braku możliwości zapisywania plików na dysk (!!!). Problemy
wystąpią także, gdy skopiujesz katalog /etc do jakiegoś katalogu
np. /archiwum lub /home i ZAPOMNISZ ZMIENIĆ NAZWĘ KOPII KATALOGU
ETC NA INNĄ. Skutek będzie taki, że po reinstalacji systemu
będziesz miał dwa systemowe katalogi etc (!!!).
Sama reinstalacja wraz z konfiguracją, zabezpieczeniem oraz
aktualizacją paczek (wcześniej sobie zassysam aktualki) zajmuje mi
ok 2 godziny. Jeżeli aktualizuję zleceniem urpmi (poprzez
internet), to klika godzin dłużej.
Tuż po reinstalacji uruchom połączenie z Internetem kopiując
pliki konfiguracyjne - w moim przypadku pod SDI. Następnie restart
i udostępnij Internet dla domowej sieci. Potem instalacja
dodatkowych programów (Netscape, Kadu, nmap). Następnie
uszczelnianie systemu, a na końcu aktualizacja. Temat ten został
opisany na stronach o
instalowaniu.
Zapamiętaj kilka rzeczy:
- Instalator umie korzystać z plików konfiguracyjnych reinstalowanego Linuksa i pobiera z dysku dane związane z podziałem dysku (/etc/fstab). Należy więc przed reinstalacją podłożyć oryginalny (z opcjami defaults) plik /etc/fstab.
- Podczas standardowej reinstalacji Mandriva 2005 nie pojawia się panel umożliwiający zgranie płytek CD, gdyż instalator pobiera z dysku konfigi urpmi. Warto więc przed reinstalacją skasować lub przenieść do archiwum katalogi: /etc/urpmi , /var/cache/urpmi , /var/lib/urpmi, var/lib/rpm oraz pliki: /var/lib/slocate.db. Oczywiście można zrobić inaczej: zarchiwizować cały katalog /var, a następnie go (podczas reinstalacji) sformatować.
- Reinstalacja ma jeden kluczowy moment: wybór opcji UŻYJ
ISTNIEJĄCYCH PARTYCJI w punkcie tworzenia partycji na dysku. Nie
wolno formatować tych partycji, na których masz dane, czyli:
/archiwum, /var/www , /var/ftp , /home oraz z pewnymi uwagami /var.
Pamiętaj, że na linuksowym kliencie z którego łączysz się do
serwera SSH masz stare i nieaktualne sygnatury znanych hostów w
pliku: /home/antek/.ssh/known_hosts . Skasuj (po
reinstalacji) zawartość tego pliku (ale nie plik!).
Przypominam, że na windowsowym kliencie używając PuTTY możesz stanąć przed problemem usunięcia starych, nieaktualnych kluczy.
Program ten
przechowuje informacje w rejestrze Windows:
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
*
Warto przed reinstalacją systemu na padłym dysku wykonać operację zarchiwizowania na inny komputer kluczowych danych. Czemu? Gdyż podczas reinstalacji mogą wyskoczyć błędy na dysku uniemożliwiające reinstalację i będzie trzeba na nowo zakładać partycje. Jak zarchiwizować dane za pomocą ratunkowego Linuksa opisałem na
sąsiednich stronach: