(tl;dr – przejdź do nagłówka „Procedura”)
Rozwiązanie jakim jest zmiana dystrybucji zastosowałem dla określonego w tytule przypadku, jednak z powodzeniem można zastosować je zarówno przy przesiadce z Red Hat Enterprise Linux (RHEL) na dowolną opartą na (i kompatybilną binarnie z) nim dystrybucję, jak i między nimi. Cały proces zawiera się w kilku prostych komendach. Kiedy to może się przydać?
Przykład: Firma stawiając swoją infrastrukturę postanawia skorzystać z RHEL, ale po roku okazuje się, że wsparcie Red Hata jest jej zbędne i rezygnuje z niego. W takim wypadku nie musimy stawiać całej naszej infrastruktury od nowa. Wymieniamy jedynie repozytorium, edytujemy jeden plik przeinstalowujemy paczki na te dostarczane przez dystrybucję, którą wybraliśmy. Potem restart infrastruktury i po 2-3 minutowej przerwie w dostępie jesteśmy po udanej migracji na nową, bezpłatną dystrybucję.
Red Hat tworząc RHEL udostępnia pakiety i źródła swojej dystrybucji, zastrzegając sobie tylko, by bazujące na nich dystrybucje nie korzystały z jego znaków towarowych. Skutkuje korzystaniem przez bazujące na nim distra ze sformułowań takich jak The Upstream Vendor (TUV). Warto wiedzieć, że powinno się je czytać jako Red Hat.
Wśród opartych na RHEL dystrybucji najpopularniejsze są CentOS oraz „świeżak” – Oracle Linux. Warto również zainteresować się Scientific Linuksem, który jest od CentOSa starszy i rozwijany przez CERN oraz laboratorium Fermi.
Scientific Linux to owoc połączonych działań CERNu oraz laboratorium Fermi, które dążą do zaoferowania dystrybucji najbliższej biznesowemu RHEL
W przeciwieństwie do wymienionych wcześniej dystrybucji zespół deweloperów SL udostępnia zmodyfikowane obrazy płyt instalacyjnych oraz dodaje trochę własnych rozwiązań, które przydatne są w pracach jednostek naukowych. Warto jednak mieć w pamięci, że wbrew swojej nazwie SL nie oferuje masy aplikacji naukowych, a jego zastosowania nie różnią się niczym od RHEL, CentOSa czy Oracle Linuksa. Każdą z tych dystrybucji z powodzeniem możemy wykorzystywać na serwerze, stabilnym desktopie czy laptopie. SL w standardzie dostarcza nam kilka dodatków takich jak obsługa AFS, skrypt yum-autopudate (przydatny raczej na desktopach i laptopach), narzędzia do tworzenia własnych remiksów (jednym z celów istnienia SL jest łatwe dostosowanie go do potrzeb konkretnych jednostek naukowych) i manager okien IceWM. Jest on jednak w ciąż w pełni kompatybilny z pozostałymi dystrybucjami opartymi na RHEL.
O Scientific Linuksie głośniej zrobiło się gdy zespół deweloperów CentOSa bardzo mocno spóźniał się z wydaniem szóstym swojej dystrybucji, bazującym na RHEL. Wówczas wielu administratorów dokonywało migracji zarządzanych przez siebie urządzeń do SL, by umożliwić ich użytkownikom, korzystanie z nowszych wersji oprogramowania. Kiedy w końcu ukazał się CentOS6 w jego rozwoju nastąpiły spore zmiany, społeczność deweloperów opłaca dwie osoby dbające o to by jak najszybciej dostarczać aktualizacje wprowadzane przez TUV.
W chwili obecnej wszystkie dystrybucje oparte na RHEL mają bardzo podobną ofertę. Ze swojej strony polecam i staram się wykorzystywać na stacjach roboczych, na których zależy mi na stabilności Scientific Linux. Głównie ze względu na skrypt yum-autoupdate oraz łatwość tworzenia remiksów. Pozwala to na szybkie stworzenie płytki, z której wykonamy instalację na wszystkich komputerach w danej jednostce. Jeśli jesteśmy bardziej leniwi i mamy taką możliwość, to każdą z opisywanych tu dystrybucji można zainstalować z wykorzystaniem skryptu kickstart, który automatyzuje ten proces.
Procedura
Tyle przedstawiania dystrybucji, czas wykonać naszą migrację. Jest to opcja, gdy nie mamy czasu lub chęci na wykonywanie reinstalacji całego systemu od zera, a z jakiegoś powodu chcemy mieć na naszym komputerze inną dystrybucję kompatybilną binarnie z RHEL. Poniższe komendy przedstawiają migrację z CentOS 6.3 na Scientific Linux 6.3 na architekturze i686, można jednak łatwo dopasować je do procesu migracji na inne dystrybucje i ich wersje, modyfikując odnośniki do paczek odpowiednich dla wybranego przez nas distra lub ich numery wersji.
Pamiętaj, że niepowodzenie opisywanej operacji może skutkować utratą danych oraz koniecznością instalacji systemu od zera. Przygotuj sobie backup, a najlepiej przeprowadź całą procedurę najpierw w stworzonym na tę okazję środowisku testowym.
W pierwszej kolejności instalujemy repozytoria Scientific Linuksa:
rpm -ivh http://ftp.scientificlinux.org/linux/scientific/6x/i386/os/Packages/yum-conf-sl6x-1-2.noarch.rpm
Następny krok to instalacja kluczy, którymi podpisywane są paczki udostępniane przez deweloperów:
rpm -ivh --force http://ftp.scientificlinux.org/linux/scientific/6x/i386/os/Packages/sl-release-6.3-1.i686.rpm
Zmieniamy nazwę naszej dystrybucji w pliku konfiguracyjnym /etc/yum.conf z:
distroverpkg=centos-release
na:
distroverpkg=sl-release
Ostatni krok to wykonanie kilku kolejnych komend w celu instalacji pakietów nowej dystrybucji:
yum erase centos-release
yum clean all
yum distro-sync
Opcjonalnie możemy również dokonać reinstalacji wszystkich pakietów CentOSa, niezależnie czy w SL ich zawartość różni się od tych, które mieliśmy do tej pory:
yum reinstall `rpm -qa --qf "%{NAME} %{VENDOR}n"|grep CentOS|awk '{print $1}'`
Po restarcie maszyny nasz system będzie już działał pod kontrolą dystrybucji Scientific Linux 6.3! Spróbujcie tak zrobić z Debianem czy Ubuntu. (;
Tworząc powyższy opis opierałem się na procedurze opisanej w serwisie nixgeek, dokonałem jednak kilku aktualizacji, oraz poprawek w ostatniej opisywanej komendzie.