[OpenBSD]

[Spis treści] [Sekcja 8 - Ogólne pytania] [Sekcja 10 - Zarządzanie systemem]

9 - Migracja do OpenBSD


Spis treści

Aby uzyskać więcej informacji odwiedź następującą stronę http://sites.inka.de/mips/unix/bsdlinux.html.

9.1 - Rady dla użytkowników Linuksa i innych darmowych systemów Uniksowych

Chociaż OpenBSD jest bardzo tradycyjnym uniksopodobnym systemem operacyjnym, i wyda się znajomy tym, którzy korzystali już z innych systemów uniksowych, istnieją pewne bardzo ważne różnice. Nowi użytkownicy OpenBSD muszą zweryfikować swoje doświadczenie: jeżeli twoją jedyną wiedzą o uniksie jest trochę doświadczenia z pewnym typem Linuksa, możesz postrzegać OpenBSD "jako dziwne". Zresztą Linux wygląda całkiem dziwnie dla każdego kto zaczynał z OpenBSD. Musisz rozpoznać różnicę pomiędzy "standardem" i swoim doświadczeniem.

Jeżeli uczyłeś się Uniksa z jakiejkolwiek dobrej książki, starając się zrozumieć filozofię Uniksów, a później rozszerzałeś swoją wiedzę na konkretne platformy, stwierdzisz że OpenBSD jest "prawdziwym" i znanym Uniksem. Jeżeli uczyłeś się Uniksów w stylu "napisz to by zrobić tamto", lub z książek takich jak "Learn PinkBeenie v8.3 in 31.4 Hours", i powiedziałeś sobie, że "znasz uniksa", odnajdziesz OpenBSD zupełnie różnym.

Jedną z ważniejszych różnic pomiędzy OpenBSD i wieloma innymi systemami operacyjnymi, jest dokumentacja. Developerzy OpenBSD są dumni z systemowych stron manuala. Strony manuali są autorytatywnym źródłem wiedzy o OpenBSD -- nie to FAQ, nie niezależnie tworzone dokumenty "third-party", nie "HOTWO", itd. Gdy developer dokonuje zmian w systemie, oczekujemy że będzie uaktualniał stronę manuala, tak długo jak długo istnieje jego zmiana w kodzie, nie "później", "gdy zaczną się przekonywać do tego" lub "gdy ktoś zacznie narzekać". Strona manuala istnieje właściwie dla każdego programu, narzędzia, sterownika, pliku konfiguracyjnego, i wszystkiego innego czym system dysponuje. Oczekuje się że użytkownik sprawdzi strony manuali zanim poprosi o pomoc na grupie dyskusyjnej.

Poniżej opisano zazwyczaj podawane różnice pomiędzy OpenBSD i pozostałymi Uniksami.

9.2 - Uruchamianie OpenBSD i Linuksa na jednym komputerze

Tak! Jest to możliwe! (na dodatek proste).

Przeczytaj INSTALL.linux.

9.3 - Konwersja pliku haseł Linuksa (lub innego systemu w stylu System-6) do postaci BSD

Po pierwsze, sprawdź czy Twoje hasła w Linuksie przechowywane są jako shadow czy też nie. Jeśli tak, zainstaluj program John the Ripper z pakietów lub portów (security/john) i użyj narzędzia unshadow które się w nim znajduje do scalenia plików passwd i shadow w jeden plik specyficzny dla stylu pliku haseł System-6.

Plik z hasłami Linuksa będziemy nazywać linux_passwd, musisz dodać ::0:0 po czwartym polu każdego wpisu. awk(1) może to zrobić za Ciebie.

# cat linux_passwd | awk -F : '{printf("%s:%s:%s:%s::0:0:%s:%s:%s\n", \
> $1,$2,$3,$4,$5,$6,$7); }' > new_passwd
W tym momencie, zechcesz zapewne wyedytować plik new_passwd i usunąć z niego wpis użytkownika root oraz inne konta systemowe które obecne są w Twoim pliku z hasłami OpenBSD lub są po prostu niepotrzebne. Ponadto upewnij się, że nie w obu plikach (new_passwd oraz /etc/passwd w OpenBSD) nie występują zduplikowane nazwy użytkowników oraz ich numery ID. Najprościej zacząć jest z czystym plikiem /etc/passwd.
# cat new_passwd >> /etc/master.passwd
# pwd_mkdb -p /etc/master.passwd
Ostatnim krokiem jest skorzystanie z pwd_mkdb, jest to konieczne do przebudowania plików /etc/spwd.db oraz /etc/pwd.db. Dodatkowo utworzony zostanie plik haseł /etc/passwd w stylu System-6 (bez zaszyfrowanych haseł) aby mogły z niego korzystać programy. OpenBSD potrafi korzystać z potężniejszych narzędzi kryptograficznych dla haseł (takich jak blowfish), które nie powinny się znaleźć w systemie korzystającym z pliku haseł w stylu System-6. Aby skorzystać z tych mechanizmów użytkownicy powinni skorzystać po prostu z 'passwd' by zmienić swoje hasła. Nowe hasło zaszyfrowane zostanie zgodnie z ustawieniami domyślnymi (standardowo blowfish o ile nie edytowałeś pliku /etc/login.conf). Możesz również jako root wykonać polecenie passwd nazwa_użytkownika.

9.4 - Korzystanie z aplikacji linuksowych w OpenBSD

OpenBSD/i386 posiada zdolność uruchamiania aplikacji linuksowych jeśli jądro skompilowane zostało z opcją COMPAT_LINUX i zmienna sysctl kern.emul.linux jest ustawiona. Jeśli używasz jądra GENERIC, COMPAT_LINUX jest domyślnie włączone, i jedyne co pozostaje do zrobienia to

# sysctl -w kern.emul.linux=1
Jeśli chcesz aktywować tą zmienna przy każdym starcie systemu, usuń znak komentarza (#) z początku linii
#kern.emul.linux=1      # enable running Linux binaries
w pliku /etc/sysctl.conf, aby wyglądała w sposób następujący:
kern.emul.linux=1       # enable running Linux binaries

Większość aplikacji linuksowych dostępnych w formie binarnej linkowana jest dynamicznie, a nie statycznie, aby je uruchomić potrzebne będzie wykonanie kilku dodatkowych czynności opisanych na stronie man compat_linux(8).

Najprostszą metodą na zdobycie większości z używanych w Linuksie bibliotek jest zainstalowanie fedora/base z binarnego pakietu znajdującego się na najbliższym lustrzanym FTP. Aby dowiedzieć się więcej o systemie pakietów, przeczytaj FAQ 15 - System Pakietów i Portów OpenBSD. Aby zainstalować wyżej wspomniany pakiet, użyj komend:

 # export PKG_PATH=ftp://twoj.mirror.ftp/pub/OpenBSD/4.2/packages/i386/
 # pkg_add -i fedora_base
Zauważ, że pkg_add(1) automatycznie wywoła sysctl, aby ustawić kern.emul.linux właściwą wartość podczas dodawania pakietu. Niemniej, zmiana jest nietrwała ponieważ nie dotyczy /etc/sysctl.conf, zatem jeśli będziesz potrzebować emulacji linuksa, konieczna będzie zmiana wartości kern.emul.linux w tym pliku.

9.5 - Odczytywanie partycji linuksowych z poziomu OpenBSD

OpenBSD potrafi obsługiwać system plików EXT2FS. Po dodatkowe informacje, zobacz FAQ 14.

[Spis treści] [Sekcja 8 - Ogólne pytania] [Sekcja 10 - Zarządzanie systemem]


[back] www@openbsd.org
$OpenBSD$