W celu zapewnienia ciągłości usług, każda migracja na komputerze musi być zaplanowana i realizowana zgodnie z planem. Zasada ta ma zastosowanie bez względu na używany system operacyjny.
3.2.1. Ankieta i identyfikacja usług
Ten krok jest niezbędny i jest tak prosty, jak tylko się wydaje. Dobry administrator zna główne role każdego serwera, ale takie role mogą się zmieniać. Czasem, nawet doświadczeni użytkownicy mogą mieć zainstalowane usługi na "dziko". Wiedza o tym, że takie usługi istnieją, pozwoli administratorowi zadecydować o ich dalszym losie i zapobiegnie przypadkowemu usuwaniu usług.
W tym celu dobrze jest poinformować użytkowników o projekcie przed migracją serwera. Zaangażowanie ich w projekt przed migracją może być przydatne w instalacji najbardziej znanych, wolnych programów na ich komputerach. Po migracji do Debiana zetkną się z tymi programami ponownie: pakiet Libre Office i pakiet Mozilla są tego najlepszymi przykładami.
3.2.1.1. Sieć komputerowa i procesy
Narzędzie nmap
(w pakiecie o tej samej nazwie) szybko zidentyfikuje usługi internetowe uruchomione na maszynie podłączonej do sieci komputerowej, nawet bez potrzeby logowania sie na tej maszynie. Po prostu, wywołaj następujące polecenie na innej maszynie, podłączonej do tej samej sieci:
$
nmap mirwiz
Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-24 11:34 CET
Nmap scan report for mirwiz (192.168.1.104)
Host is up (0.0037s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
Jeśli serwer maszyny uniksowej oferuje konta powłoki użytkownikom, to interesujące jest określenie tego, czy procesy wykonywane są w tle pod nieobecność ich właściciela. Polecenie
ps auxw
wyświetla listę wszystkich procesów, razem z tożsamością ich użytkownika. Poprzez sprawdzenie informacji, uzyskanych za pomocą polecenia
who
, które daje listę zalogowanych użytkowników, możliwe jest zidentyfikowanie nieuczciwych lub niezadeklarowanych serwerów lub programów uruchomionych w tle. Rzut okiem na
crontabs
(tabele nasłuchujące automatycznych działań zaplanowanych przez użytkowników) często dostarczy interesujących informacji na temat funkcji spełnianych przez serwer (pełne wyjaśnienie polecenia
cron
jest dostępne w
Sekcja 9.7, „Scheduling Tasks with cron
and atd
”).
W każdym przypadku, konieczne jest tworzenie kopii zapasowych serwerów, co pozwala na odzyskanie danych po fakcie, gdy użytkownicy będą raportować specyficzne problemy, związane z migracją.
3.2.2. Tworzenie kopii zapasowej dla konfiguracji
Dobrze jest, aby utrzymać konfigurację każdej zidentyfikowanej usługi, aby móc potem zainstalować jej odpowiednik na zaktualizowanym serwerze. Absolutne minimum to stworzenie kopii zapasowej plików konfiguracyjnych.
Pliki konfiguracyjne dla maszyn uniksowych znajdują się zwykle w katalogu /etc/
, ale mogą też znajdować się w podkatalogu /usr/local/
. Jest to przypadek, gdy program jest zainstalowany raczej ze źródeł, a nie z pakietu. W niektórych przypadkach, pliki konfiguracyjne można również znaleźć w katalogu /opt/
.
Dla usług zarządzających danymi, które, przykładowo, zarządzają bazami danych usilnie zaleca się, aby wyeksportować dane do standardowego formatu, który będzie można łatwo zaimportować za pomocą nowego oprogramowania. Taki format zazwyczaj jest w trybie tekstowym i jest udokumentowany; może to być, przykładowo, zrzut SQL dla bazy danych lub plik LDIF dla serwera LDAP.
Każdy oprogramowanie serwera jest inne. Nie jest możliwe szczegółowe opisanie wszystkich przypadków. Proszę porównać dokumentację dla istniejących i nowych oprogramowań, które mogą wyeksportować (i ponownie zaimportować) części oprogramowań i dokumentację tych oprogramowań, które wymagają ręcznej obsługi. W dalszej części tej książki zostanie wyjaśniona konfiguracja głównych programów serwera Linuksa.
3.2.3. Przejmowanie (na własność) istniejącego serwera Debiana
Aby efektywnie przejąć kontrolę nad serwerem Debiana, dobrze jest wcześniej przeanalizować maszynę już uruchomioną z tym systemem.
Pierwszym plikiem do sprawdzenia jest /etc/debian_version
. Zawiera on zwykle numer wersji zainstalowanego systemu Debian (jest to cześć pakietu base-files). Jeśli plik zawiera wpis, odnoszący się do nazwy kodowej/sid
, to wnioskujemy, że system został zaktualizowany za pomocą pakietów, pochodzących z dystrybucji rozwojowej (testowej lub niestabilnej).
Program (polecenie konsolowe) apt-show-versions
(z pakietu Debiana o tej samej nazwie) sprawdza listę zainstalowanych pakietów oraz identyfikuje ich dostępne wersje (Po prostu, wpisujemy nazwę tego programu za znakiem zachęty w konsoli lub w terminalu). Do tych samych zadań można użyć programu (polecenia) aptitude
. Jego działanie jest jednak mniej systematyczne.
Rzut oka na plik /etc/apt/sources.list
(i katalog /etc/apt/sources.list.d/
) z dużym prawdopodobieństwem pokaże skąd pochodzą zainstalowane pakiety Debiana. Jeśli pojawi się wiele nieznanych źródeł, to administrator może wybrać całkowitą reinstalację systemu komputerowego, aby zapewnić optymalna kompatybilność z oprogramowaniem dostarczanym przez Debiana.
Plik sources.list
jest często dobrym wskaźnikiem: większość administratorów zachowuje, przynajmniej w komentarzach, listę źródeł APT, które były wcześniej używane. Ale nie należy zapominać, że źródła wykorzystane w przeszłości mogły zostać usunięte, a niektóre losowe pakiety, podpatrzone w Internecie, mogą być zainstalowane ręcznie (za pomocą polecenia dpkg
). W tym przypadku, urządzenie wprowadza w błąd poprzez swój "standardowy" wygląd Debiana. Dlatego należy zwrócić uwagę na wskazania obecności pakietów zewnętrznych (pojawienie się plików deb
w nietypowych katalogach, na numery wersji pakietu ze specjalną końcówką wskazującą, że pochodzi on spoza projektu Debian, przykładowo, ubuntu
lub lmde
, itp)
Podobnie, warto przeanalizować zawartość pliku w katalogu /usr/local/
, w którym są ręcznie zainstalowane i skompilowane programy. Wyliczenie oprogramowania zainstalowanego w ten sposób jest pouczające, ponieważ rodzi to pytania dotyczące powodów nie używania odpowiedniego pakietu Debiana, jeżeli takie pakiety istnieją.
3.2.4. Instalowanie Debiana
Gdy wszystkie wymagane informacje na bieżącym serwerze są już znane, możemy go zamknąć i rozpocząć na nim instalację Debiana.
Aby wybrać odpowiednią wersję, musimy znać architekturę komputera. Jeśli jest to w miarę nowy PC, to jest bardzo prawdopodobne, iż będzie to amd64 (starsze komputery miały zwykle architekturę i386). W innych przypadkach, możemy zawęzić możliwości zgodnie z poprzednio używanym systemem.
Tabela 3.1 nie jest wyczerpująca, ale może być pomocna. W każdym przypadku, oryginalna dokumentacja dla komputera jest najbardziej wiarygodnym źródłem, w którym można znaleźć te informacje.
Tabela 3.1. Dopasowanie systemu operacyjnego i architektury
System operacyjny | Architektur(a/y) |
---|
DEC Unix (OSF/1) | alpha, mipsel |
HP Unix | ia64, hppa |
IBM AIX | powerpc |
Irix | mips |
OS X | amd64, powerpc, i386 |
z/OS, MVS | s390x, s390 |
Solaris, SunOS | sparc, i386, m68k |
Ultrix | mips |
VMS | alpha |
Windows 95/98/ME | i386 |
Windows NT/2000 | i386, alpha, ia64, mipsel |
Windows XP / Windows Server 2008 | i386, amd64, ia64 |
Windows Vista / Windows 7 / Windows 8 | i386, amd64 |
3.2.5. Instalowanie i konfigurowanie wybranych usług
Gdy został zainstalowany Debian, musimy też zainstalować i skonfigurować, po kolei, wszystkie usługi dla tego komputera. Nowa konfiguracja musi wziąć pod uwagę wcześniejszą konfigurację, aby zapewnić płynne przejście. Wszystkie informacje zebrane w pierwszych dwóch etapach będą przydatne, aby pomyślnie zakończyć tę część konfiguracji.
Przed intensywnym rozpoczęciem tego ćwiczenia usilnie zaleca się przeczytanie książki do końca. Potem potrzebne będzie dokładniejsze zrozumienie sposobu konfigurowania oczekiwanych usług.