[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 unikso-podobnym 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ą przyjżeć się swojemu doświadczeniu: jeżeli twoją jedyną wiedzą o Unix'ie 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ę Unix'a, a później rozszerzałeś swoją wiedzę na konkretne platformy, stwierdzisz że OpenBSD jest "prawdziwym" i znanym Uniksem. Jeżeli uczyłeś się Unix'ów w stylu "napisz to by zrobić tamto", lub z ksiaż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. Deweloperzy 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 deweloper dokonuje zmian w systemie, oczekujemy że będzie uaktualniał stronę manuala, tak długo jak długo istnieje jego zmiana w kodzie, nie "poź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 Unix'ami.


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, zdobądź program John the Ripper 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ą poprostu 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 skorzystaj po prostu z passwd username jako root i zmień hasło każdego z użytkowników (bądź zasugeruj by zrobili to sami, może wtedy łatwiej będzie im dostać się do systemu ;-)). Nowe hasło zaszyfrowane zostanie zgodnie z ustawieniami w pliku /etc/login.conf (standardowo blowfish).

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 redhat/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://your.ftp.mirror/pub/OpenBSD/3.8/packages/i386
# pkg_add redhat_base-8.0p4.tgz
Zauważ, że od OpenBSD 3.7, 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.

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]


[wstecz] www@openbsd.org
$OpenBSD: faq9.html,v 1.23 2005/12/03 08:02:51 saad Exp $