[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.8 -> 3.9] | [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.
Aby szybko usunąć wszystkie pakiety z systemu:
pkg_delete -q /var/db/pkg/*
Po zakończeniu aktualizacji, zainstaluj nowe wersje tych pakietów.
Zauważ że w OpenBSD 3.8, narzędzia pakietów wspierają uaktualnienia "w miejscu"
korzystająć z pkg_add -r
. Zostało to sprawdzone w działaniu z
większością pakietów, w szczególności z pakietami z DC dostępnymi w 3.6 i 3.7.
Niektóre ważne sprawy:
pkg_add -r
nie wykonuje globalnych uaktualnień, wymaga podania
jaki pakiet będzie aktualizowany. Nowa opcja pkg_add -u
może być wykorzystana do wykrycia dokładnej listy pakietów którą można podać do
pkg_add -r
.
pkg_add -r -F update -F updatedepends -q lista_nowych_pakietów
powinna działać w większości przypadków.
epic(4) zastąpił dotychczasowy sterownik tx(8). Jeżeli twój system zawiera kartę wykorzystującą sterownik tx(8) (np. SMC EtherPower II 10/100), karta ta będzie obsługiwana przez inny sterownik w wersji 3.8 niż w wersji 3.7. ZANIM rozpoczniesz aktualizację, skopiuj plik(i) /etc/hostname.tx* na odpowiedni(e) /etc/hostname.epic*, w przeciwnym wypadku twoja konfiguracja sieci nie będzie działała w trakcie i po procesie aktualizacji.
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:
cd /path
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 /path/base38.tgz "*etc/firmware/*"
przed wykonaniem następnego kroku.
cd /
tar xzpf /path/base38.tgz
tar xzpf /path/comp38.tgz
tar xzpf /path/game38.tgz
tar xzpf /path/man38.tgz
tar xzpf /path/misc38.tgz
tar xzpf /path/xbase38.tgz
tar xzpf /path/xfont38.tgz
tar xzpf /path/xserv38.tgz
tar xzpf /path/xshare38.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 etc38.tgz oraz xetc38.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 -u86 -g=uid -c"HostAP Daemon" -d/var/empty -s/sbin/nologin _hostapd
Polecenie to spowoduje utworzenie nowego użytkownika i powiązanej z nim grupy.
Twoje środowisko powinno pozwolić ci skopiować/wkleić te polecenia.
cd /tmp
tar xzpf /path/etc38.tgz
Pliki które prawdopodobnie mogą być skopiowane z etc38.tgz "w takiej postaci
w jakiej są":
hostapd.conf
netstart
pf.os
rc
services
mtree/*
Zauważ, że JEST możliwe by lokalnie zmodyfikować te pliki, jeżeli to
było zrobione, będzie konieczne ręczne scalenie.
Tutaj są linie kopiuj/wklej do kopiowania tych plików, zakładając że
rozpakowałeś etc38.tgz w miejscu sugerowanym powyżej:
cd /tmp/etc
cp hostapd.conf netstart pf.os rc services /etc
cp mtree/* /etc/mtree/
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:
ftpusers
inetd.conf
login.conf
rc.conf
sysctl.conf
syslog.conf
mail/aliases
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 <upgrade38.patch
Spowoduje to przetestowanie łatki jak dobrze pasuje do TWOJEGO systemu,
aby ją zastosować opuść opcję "-C".
Zauważ że jest prawdopodobne, w sytuacji w której posiadasz zmodyfikowane pliki,
nie są odpowiednio aktualne, lub zostały uaktualnione z wersji snapshot 3.7,
że mogą nie zostać zaakceptowane czysto.
W takiej sytuacji, będziesz musiał nędznie 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ć.
Zwróć uwagę, że w tym czasie zmianie uległ plik /etc/mail/aliases/, zatem będziesz musiał wykonać polecenie newaliases(8) by uwzględnić zmiany.
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).
pf.conf
spamd.conf
/root/.profile
Ostatecznie skorzystaj z
mtree(8)
by utworzyć jakiekolwiek nowe katalogi:
mtree -qdef /etc/mtree/4.4BSD.dist -p / -u
[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.8 -> 3.9] | [FAQ Index]