![[OpenBSD]](http://www.openbsd.org/images/smalltitle.gif)
Podręcznik systemowy
Index Page and Help |
FAQ |
Copyright
RELEASE(8) Podręcznik Administratora Systemu OpenBSD RELEASE(8)
NAZWA
release - budowanie wydania OpenBSD
OPIS
Jest kilka kroków niezbędnych do zbudowania wydania systemu. Są nimi:
1. Uaktualnienie źródeł.
2. Zbudowanie i instalacja nowego jadra.
3. Zbudowanie nowego systemu.
4. Zrobienie i zatwierdzenie wydania systemu.
5. Zbudowanie i instalacja XF4.
6. Zrobienie i zatwierdzenie wydania XF4.
7. Robienie dodatkowych pakietów.
Sekcje te szczegółowo opisują każdy z wymaganych kroków.
Komendy do wydania przez użytkownika mającego prawa zapisu do źródeł i
drzewa portów (odpowiednio /usr/src i /usr/ports) są poprzedzone
znakiem procentu ('%'). Komendy, które musza być wydane przez superuzytkownika
są poprzedzone znakiem hash ('#').
1. Uaktualnienie źródeł
Budowanie nowego wydania powinno sie zawsze zaczynać od znanego zbioru
zgodnych źródeł. Najłatwiejszą droga, żeby upewnić się, że źródła są
kompletne jest sprawdzenie ich przy użyciu etykiety (ang. tag) w CVS,
która programiści OpenBSD dodali do repozytorium przed zrobieniem wydania.
Są dwie etykiety, jedna identyfikująca wydanie takie jakie istnieje na
płytach CD i druga identyfikująca stabilna gałąź systemu. Stabilna gałąź
oznaczana jest od OpenBSD 2.7, zawiera ona laty opisane w
http://www.openbsd.org/errata.html. Etykiety sa w formie:
OPENBSD_x_y_BASE Ta etykieta oznacza źródła takie jakie są na wydaniu
z CD-ROMu, gdzie x jest głównym a y jest pobocznym
tylko errate, żadnych nowych dodatków.
OPENBSD_x_y Ta etykieta jest ruchomym celem. Oznacza ona źródła
należące do stabilnej gałęzi systemu. Ta gałąź zawiera
tylko errate, żadnych nowych dodatków.
Aby uaktualnić źródła systemu do wersji oznaczonej przez jedna z
powyższych etykiet, użyj komend:
% cd /usr/src && cvs up -r TAG -Pd
% cd XF4SRC && cvs up -r TAG -Pd
% cd PORTSPATH && cvs up -r TAG -Pd
Zastąp XF4SRC ścieżką do źródeł Twojego Systemu X Window. Zastąp
PORTSPATH ścieżką do Twojego drzewa portów, standartowo jest to /usr/ports.
Powyższe komendy dostosuj do istniejących drzew źródeł.
Zobacz http://www.openbsd.org/anoncvs.html żeby się dowiedzieć jak pobrać
źródła za pierwszym razem.
Ostrzeżenie: Etykiety CVS są `lepkie'. Po więcej informacji zajrzyj do
cvs(1).
2. Zbudowanie i instalacja nowego jądra
Ze względów bezpieczeństwa, zawsze powinieneś budować i instalować nowe
jądro przed budowaniem programów, które z tego jądra będą korzystać.
To daje pewność, że każde nowe odwołania systemu, na przykład, istnieje
jeżeli jest niezbedne. Żeby zbudować jądro należy:
% cd /sys/arch/${ARCH}/conf
gdzie ${ARCH} jest architekturą Twojej maszyny, np. i386.
% vi ${NAME}
gdzie ${NAME} jest plikiem konfiguracyjnym Twojego jądra. Nie
powinieneś edytować pliku GENERIC, utwórz własny plik
konfiguracyjny jeżeli musisz wprowadzać modyfikacje. Jeśli
używasz GENERIC, możesz pominąć ten krok. I tak, możesz użyć
vi, mg, albo dowolnego innego edytora jaki wybierzesz.
% config ${NAME}
% cd ../compile/${NAME}
% make clean depend bsd
W tym przypadku make clean jest Twoim przyjacielem.
% su
# mv /bsd /bsd.old && mv bsd / && chown root.wheel /bsd
# shutdown -r now
Jeśli system nie wstaje możesz wystartować go korzystając z bsd.old.
3. Budowanie nowego systemu
Teraz, kiedy już działa na nowe jądro, możesz zbudować nowy system. Tak
jest bezpieczniej (ale wolniej), usunąć katakoli obiektowe i stworzyć je
od nowa przed budową. Należy:
% cd /usr/obj && mkdir -p .old && sudo mv * .old && sudo rm -rf
.old &
To przesunie wszystkie istniejące pliki obiektowe ze ścieżki i
następnie usunie je w tle.
% cd /usr/src && nice make obj
To odbuduje Twoje katalogi obiektowe.
% su
# nice make build
Jeśli zainstalowałes sudo(8) możesz połączyc go z poprzednim
krokiem używając komendy
nice make SUDO=sudo build
Aktualizacje /etc, /var i /dev/MAKEDEV musisz zrobić z ręki.
W tym momencie Twój system jest zaktualizowany i chodzi na tym kodzie, z
którego zamierzasz zrobić wydanie.
4. Zrobienie i zatwierdzenie wydania systemu
Wydanie systemu składa się z jądra GENERIC, jednego startowego CD i dwóch
startowych dyskietek, plików *tgz wydania i instrukcji instalacji oraz
pliku sum kontrolnych.
Proces robienia wydania potrzebuje dwuch obszarów pracy. Są nimi:
DESTDIR To jest nazwa katalogu, który będzie katalogiem głównym
całej instalacji OpenBSD, zatem musi on być na tyle dużej
by zmieścić cały system operacyjny (poza Systemem X Window).
Katalog może być usunięty gdy wydanie zostanie stworzone. W
każdym przypadku proces tworzenia wydania się upewni przed
rozpoczęciem czy katalog jest pusty.
RELEASEDIR To nazwa katalogu gdzie wyjściowe pliki procesu tworzenia
wydania są zapisywane. Proces ten sam stworzy ten katalog
jeżeli zajdzie taka potrzeba.
Ostrzeżenie: DESTDIR i RELEASEDIR nie mogą odwoływać się do
żadnego katalogu z /mnt w scieżce, /mnt jest używany w
procesie tworzenia wydania.
RAMDISK obrazu dyskietki i CD wymaga specjalnego narzędzia, które jest
tworzone najpierw. Proces tworzenia wydania jest:
% su
Musisz być superużytkownikiem by stworzyć wydanie.
# cd /usr/src/distrib/crunch && make obj depend all install
Tworzy specjalne nardzędzia, niezbędne do budowania wydania.
# cd /usr/src/distrib/sparc64/mksuncd && make obj depend all in-
stall
Tylko na platforme sparc64, to narzędzie jest niezbędne do
stworzenia obrazu startowego, ISO.
# setenv DESTDIR your-destdir RELEASEDIR=your-releasedir
# test -d ${DESTDIR} && mv ${DESTDIR} ${DESTDIR}- && rm -rf ${DEST-
DIR}- &
# mkdir -p ${DESTDIR} ${RELEASEDIR}
The last two steps ensure ${DESTDIR} exists as an empty direc-
tory and ${RELEASEDIR} exists. ${RELEASEDIR} need not be emp-
ty.
Ostatnie dwa kroki sprawdzają czy ${DESTDIR} istnieje jako
pusty katalog i czy istnieje ${RELEASEDIR}. ${RELEASEDIR} nie
musi być pusty.
# cd /usr/src/etc && nice make release
# cd /usr/src/distrib/sets && sh checkflist
To sprawdza, czy zawartość ${DESTDIR} ładnie pasuje do
zawartości wydania w plikach *tgz.
# unsetenv RELEASEDIR DESTDIR
W tym momencie masz większość wydania OpenBSD. Jedyna pominięta sprawa to
System X Window (który opisany jest w następnej sekcji).
5. Zbudowaniei instalacja XF4
Drzewo XF4 pierwotnie jest oparte na imake(1) i nie zawiera katalogu
mechanizmu ``obj'', ktory dostarczany jest z berkleyowskim make(1).
Poniewaz drzewo może byc budowane lokalnie, lepiej nie uniknać
zasmiecania zrodel pobranych z repozytorium CVS. Wybrac należy
alternatywny katalog, natyle duzy by pomiescic pliki obiektowe Systemu X
Window, biblioteki i binaria. Bedziemy nazywac ten katalog XF4BLD. XF4SRC
jest sciezka do Twoich plikow zrodlowych Systemu X Window. Jezeli juz
wybrales XF4BLD, zaczynamy proces budowy:
% su
# test -d XF4BLD && mv XF4BLD XF4BLD- && rm -rf XF4BLD- &
# mkdir -p XF4BLD
# cd XF4BLD && lndir XF4SRC && nice make build
Zauwaz (tylko dla i386): XF86Setup, budowany i instalowany powyzej wymaga
wersji 8.3 bibliotek tcl/tk. Musza one byc zainstalowane, zeby wlasciwie
zakonczyc budowe. Wersja 8.3 tcl/tk jest w drzewie portow w
/usr/ports/lang/tcl/8.3 i /usr/ports/x11/tk/8.3. Wersja 8.3 jest wymagana
do zbudowania XF4. Moze ona takze koegzystowac z wersja 8.0.
Powyzsza metoda jest analogiczna do make build w katalogu /usr/src.
System X Window jest tworzomy i instalowany do /usr/X11R6. Jednak proces
instalacji nie nadpisuje /etc/X11/xdm. Ten katalog musi byc zainstalowany
recznie. Albo mozesz cd /etc/X11 && xdm xdm- przed rozpoczeciem budowy i
skopiowac wszystkie lokalne konfiguracje z xdm- do xdm po zakonczeniu
budowy.
6. Zrobienie i zatwierdzenie wydania XF4
XF4 korzysta z tego samego mechanizmu DESTDIR i RELEASEDIR, opisanego w
sekcji budowy wydania systemu, powyżej. Mogą to być te same katalogi co
wyżej, ale spowoduje to ostrzeżenie, że zawartość DESTDIR będzie usunięta
jeśli zapuścisz tę procedurę. Jednakże DESTDIR nie powinien być tym samym
katalogiem co użyty do budowy wydania systemu. Może on być taki sam jeśli
nie ma dla Ciebie znaczenia czy zawartość DESTDIR ma być zatrzymana.
(DESTDIR dla XF4 musi być opróżnione, żeby wykonać proces porównania).
Kolejnymi krokami by zbudować wydanie są (zakładając, że nadal jesteś
superużytkownikiem i nadal w XF4BLD):
# setenv DESTDIR your-destdir RELEASEDIR=your-releasedir
# test -d ${DESTDIR} && mv ${DESTDIR} ${DESTDIR}- && rm -rf ${DEST-
DIR}- &
# mkdir -p ${DESTDIR} ${RELEASEDIR}
# nice make release
# unsetenv RELEASEDIR DESTDIR
W tym punkcie masz oba systemy, OpenBSD i X Window w plikach *tgz w Twoim
katalogu wydania.
7. Budowanie dodatkowych pakietów
Podsystem `ports' wspieranych aplikacji jest opisany w ports(7). W celu
łatwej instalacji porty mogą być pre-kompilowane w `pakiety', które
mogą być potem instalowane na wielu maszynach przy użyciu pkg_add(1).
Pakiety są tworzone przez wybieranie aplikacji do zbudowania (będziemy
nazywać to KATEGORIA/PORT) i następnie wydajemy komendy jako
superużytkownik:
% cd /usr/ports/KATEGORIA/PORT
% su
# make package
To wszystko co było do zrobienia.
ZOBACZ TAKŻE
cvs(1), pkg_add(1), ports(7), sudo(8)
HISTORIA
Ten dokument pojawił się pierwszy raz w OpenBSD 2.8.
OpenBSD 3.3 July 6, 2000 4
NAZWA |
OPIS |
ZOBACZ TAKŻE |
HISTORIA