[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.7 -> 3.8] | [3.8 -> 3.9] | [4.0 -> 4.1] | [FAQ Index]
Jest niezwykle zalecane abyś przeczytał cały dokument i dokładnie zrozumiał proces zanim będziesz usiłował go przeprowadzić. Jeśli zamierzasz działać na krytycznej lub fizycznie odległej maszynie, jest zalecane abyś przetestował ten proces na identycznej, lokalnej maszynie i zweryfikował szanse na powodzenie zanim przystąpisz do krytycznej lub odległej maszyny.
Upgrade to wygodny sposób na utrzymywanie twojego systemu OpenBSD aktualnym z ostatnią aktualną wersją. Jednakże, rezultat w zamierzeniu nie odpowiada dokładnie wynikowi instalacji wyczyść-i-załaduj. W szczególności stare pliki bibliotek, nie są usuwane w procesie aktualizacji, ponieważ mogą być wymagane przez starsze aplikacje które mogą, lecz nie muszą być zaktualizowane w danym momencie. Jeżeli NAPRAWDĘ chcesz pozbyć się tych wszystkich plików, prawdopodobnie lepiej będzie jeśli zainstalujesz wszystko od początku.
Spis treści:
Sprawdź czy wykonywałeś jakichkolwiek modyfikacji twojego kernela. Przykładowo, mogłeś zmodyfikować twoją kartę sieciową by korzystała z innych niż domyślne ustawień, korzystając z config(8). Zapisz te ustawienia, aby je odtworzyć dla nowego jądra w 4.0.
Czasem ktoś może potrzebować aktualizacji na maszynie na której nie może w łatwy sposób przeprowadzić normalnego procesu aktualizacji. Może wówczas wykonać aktualizację ostrożnie postępując w procesie podobnym do aktualizacji opartej na źródłach:
export RELEASEPATH=/twoja_ścieżka
cd ${RELEASEPATH}
rm /obsd ; ln /bsd /obsd && cp bsd /nbsd && mv /nbsd /bsd
cp bsd.rd bsd.mp /
Zauważ dodatkowe polecenia kopiujące pierwotne jądro: wykonywane są aby
mieć pewność że zawsze istnieje właściwa kopia jądra na dysku tak, że
możliwy będzie boot systemu w sytuacji gdy przytrafi się przerwa w
zasilaniu w niewłaściwym momencie lub awaria systemu.
cd /
tar xzpf ${RELEASEPATH}/base40.tgz "*etc/firmware/*"
Uwaga: jeżeli korzystasz ze sterownika
iwi(4)
dla twojej karty bezprzewodowej, musisz zaktualizować pliki firmware do
wersji 3.0.
Ze względu na ograniczenia licencyjne pliki te nie są dostarczane wraz z OpenBSD.
Nowy "firmware" możesz zainstalować korzystając z pkg_tools pobierając pakiet
http://damien.bergamini.free.fr/iwifw/OpenBSD/iwi-firmware-3.0.tgz.
export RELEASEPATH=/twoja_ścieżka
cd /
tar xzpf ${RELEASEPATH}/base40.tgz
tar xzpf ${RELEASEPATH}/comp40.tgz
tar xzpf ${RELEASEPATH}/game40.tgz
tar xzpf ${RELEASEPATH}/man40.tgz
tar xzpf ${RELEASEPATH}/misc40.tgz
tar xzpf ${RELEASEPATH}/xbase40.tgz
tar xzpf ${RELEASEPATH}/xfont40.tgz
tar xzpf ${RELEASEPATH}/xserv40.tgz
tar xzpf ${RELEASEPATH}/xshare40.tgz
Uwaga: nie wszystkie elementy muszą być zainstalowane dla wszystkich aplikacji,
jednakże, jeżeli zainstalowałeś dany zbiór orginalnie, powinieneś z pewnością
uaktualnić go teraz nowym zbiorem.
Ponadto pliki z /etc są zarządzane oddzielnie, zatem etc40.tgz oraz xetc40.tgz NIE są tutaj rozpakowywane.
cd /dev
./MAKEDEV all
Nov 1 12:47:05 puffy sm-mta[16733]: filesys_update failed: No such file or dire
ctory, fs=., avail=-1, blocksize=380204
Wiadomość ta może być bezpiecznie zignorowana, możesz też chcieć zatrzymać
sendmail(8)-a na czas aktualizacji.
# useradd -u87 -g=uid -c"DVMRP Daemon" -d/var/empty -s/sbin/nologin _dvmrpd
W ten sposób zostanie jednocześnie dodany użytkownik i odpowiednia grupa.
Twoje środowisko pracy może pozwolić ci na skopiowanie/wklejenie
tego polecenia.
IPSec jest obecnie w pełni wspierany przez polecenie ipsecctl(8). Poprzednie narzędzie ipsecadm(8) zostało usunięte. Zobacz stronę manuala ipsec.conf(5) gdzie znajdziesz przykłady konfiguracji.
Konfiguracja sieci bezprzewodowych dla wi(4) obecnie jest w pełni obsługiwana przez ifconfig(8). Poprzednie narzędzie wicontrol(8) zostało usunięte.
Obsługą wbudowanego w kernel PPP zajmuje się teraz ifconfig(8). Poprzednie narzędzie spppcontrol(8) zostało usunięte. Zobacz strony manuali sppp(4) oraz pppoe(4) gdzie znajdziesz przykłady konfiguracji.
Poprzednio plik /etc/hostname.pppoe0 wyglądał tak:
pppoedev ne0
!/sbin/ifconfig ne0 up
!/usr/sbin/spppcontrol \$if myauthproto=pap myauthname=testcaller \
myauthkey=donttell
!/sbin/ifconfig \$if inet 0.0.0.0 0.0.0.1 netmask 0xffffffff
!/sbin/route add default 0.0.0.1
up
Obecnie powinien zostać zaktualizowany do poniższej postaci:
inet 0.0.0.0 255.255.255.255 0.0.0.1 pppoedev ne0 \
authproto pap authname testcaller authkey donttell up
!/sbin/route add default 0.0.0.1
Fizyczny interfejs musi być oznaczony jako UP:
# echo "up" > /etc/hostname.ne0
cd /tmp
tar xzpf ${RELEASEPATH}/etc40.tgz
Pliki które prawdopodobnie mogą być skopiowane z etc40.tgz "w takiej postaci
w jakiej są":
chio.conf
dvmrpd.conf
netstart
pf.os
rc
security
services
mail/helpfile
mail/localhost.cf
mail/sendmail.cf
mail/submit.cf
mtree/*
ppp/ppp.conf.sample
Zauważ, że JEST możliwe by lokalnie zmodyfikować te pliki, jeżeli to
było zrobione, będzie konieczne ręczne scalenie.
Zwróć szczególną uwagę na mail/sendmail.cf jeżeli używasz czegoś
innego niż domyślna konfiguracja Sendmail(8)-a.
Tutaj są linie kopiuj/wklej do kopiowania tych plików, zakładając że
rozpakowałeś etc40.tgz w miejscu sugerowanym powyżej:
cd /tmp/etc
cp chio.conf dvmrpd.conf netstart pf.os rc security services /etc
cp mail/helpfile mail/localhost.cf mail/submit.cf /etc/mail
cp ppp/ppp.conf.sample /etc/ppp
cp mtree/* /etc/mtree/
cp mail/sendmail.cf /etc/mail # uważaj na ten plik!!
Zmianie uległo kilka stron w dokumentacji dla
httpd(8):
/var/www/htdocs/manual/mod/core.html
/var/www/htdocs/manual/mod/mod_proxy.html
Mogą być łatwo skopiowane (jeśli chcesz) poprzez:
cd /tmp/var/www/htdocs/manual/mod/
cp core.html mod_proxy.html /var/www/htdocs/manual/mod
Pliki które muszą być ręcznie włączone, uwzględniając lokalne zmiany w nich wykonane, jeżeli były modyfikowane z domyślnych, w przeciwnym wypadku, po prostu również je skopiuj:
changelist
ftpusers
mail/aliases
rc.conf
ssh/ssh_config
ssh/sshd_config
Zmiany w tych plikach znajdują się w
tym patch-u.
Możesz spróbować z niego skorzystać wykonując jako root nastepujące polecenie:
cd /
patch -C -p0 < upgrade40.patch
Spowoduje to przetestowanie łatki jak dobrze pasuje do TWOJEGO systemu,
aby ją zastosować opuść opcję "-C".
Zauważ że w sytuacji w której posiadasz zmodyfikowane pliki, lub pliki które
nie są wystarczająco aktualne, a także w sytuacji w której zostały zaktualizowane
z wersji "snapshot" 3.9, pliki te mogą nie zostać "czysto" zaakceptowane.
W takiej sytuacji, będziesz musiał ręcznie uwzględnić zmiany.
Prosimy wykonaj test tego procesu zanim się na niego zdecydujesz dla maszyny
do której nie możesz się w łatwy sposób dostać.
W poniższych plikach zostały wprowadzone pewne zmiany na które należy zwrócić uwagę, lecz nie mogą być bezpośrednio skopiowane lub scalone (przykładowo jeżeli korzystasz z pf.conf, przyjżyj się sugerowanej zmianie strategii i zdecyduj czy jest właściwa dla twoich potrzeb).
hostapd.conf
ipsec.conf
rc.local
sensorsd.conf
spamd.conf
Ostatecznie skorzystaj z
mtree(8)
by utworzyć jakiekolwiek nowe katalogi:
mtree -qdef /etc/mtree/4.4BSD.dist -p / -u
Jeżeli podążałeś za instrukcjami aktualizacji bez medium instalacyjnego, już wykonałeś ten krok. Jednakże, jeśli korzystałeś z medium instalacyjnego, i posiadałeś zmodyfikowany kernel w 3.9, istnieje prawdopodobieństwo, że będziesz musiał zmodyfikować kernel w 4.0. Może to być równie proste jak modyfikacja określonego urządzenia korzystając z config(8), lub może pociągać za sobą rekompilację, jeśli dana opcja nie jest włączona w kernelu GENERIC. Prosimy zobacz FAQ 5 - Tworzenie systemu ze źródeł, zanim zdecydujesz się na rekompilację kernela.
# pkg_add -ui -F update -F updatedepends
gdzie opcja -u wskazuje tryb aktualizacji, -i określa
tryb interaktywny, więc pkg_add będzie zwracał się do ciebie gdy
napotka niejasność. Przeczytaj stronę manuala dla
pkg_add(1)
oraz dokument FAQ dotyczący zarządzania pakietami.
[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.7 -> 3.8] | [3.8 -> 3.9] | [4.0 -> 4.1] | [FAQ Index]