[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.7 -> 3.8] | [3.8 -> 3.9] | [3.9 -> 4.0] | [4.0 -> 4.1] | [4.1 -> 4.2] | [FAQ Index]
Jest niezwykle ważne abyś przeczytał cały dokument i dokładnie zrozumiał cały proces zanim będziesz usiłował go przeprowadzić. Jeśli zamierzasz działać na krytycznej lub fizycznie odległej maszynie, zalecamy abyś przetestował ten proces na identycznej, lokalnej maszynie i zweryfikował szanse na powodzenie zanim przystąpisz aktualizacji.
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:
Oznacza to mały problem jeżeli zainstalowałeś xbase42.tgz aby mieć libexpat w systemie 4.2. Powinieneś zatem usunąć lub zaktualizować xbase42.tgz. W przypadku gdy instalacja xbase42.tgz wynikała tylko z konieczności posiadania libexpat, usunięcie xbase42.tgz wydaje się najlepszym rozwiązaniem Informacje o tym jak usunąć xbase42.tgz znajdziesz tutaj.
Zwróć także uwagę że kompilacja portów jest wspierana tylko przy pełnej instalacji, włącznie ze wszystkimi zestawami plików dla X-ów.
Zmiany te zawiera także plik upgrade43.patch, jednak łatka ta może nie zostać poprawnie nałożona dla bardzo spersonalizowanych plików httpd.conf. Powinieneś się upewnić, że te linie znajdują się w twoim systemie - w przeciwnym wypadku pakiety instalowane w przyszłości mogą nie działać poprawnie.# # Include extra module configuration files # Include /var/www/conf/modules/*.conf
# mv /usr/src/xenocara /usr
Jedną z najłatwiejszych metod na uruchomienie systemu z instalacyjnego kernela jest umieszczenie pliku bsd.rd dla wersji 4.3 w głównym drzewie systemu plików i poinstruowanie boot loadera by wystartował z pliku bsd.rd. Dla amd64 oraz i386 wykonasz to wpisując po prostu "boot bsd.rd" gdy pojawi się znak zachęty boot>.
Czasem ktoś może potrzebować aktualizacji na maszynie na której nie można w łatwy sposób przeprowadzić normalnego procesu aktualizacji. Można wówczas wykonać aktualizację ostrożnie postępując w procesie podobnym do aktualizacji opartej na źródłach:
export RELEASEPATH=/usr/rel # gdzie mają znajdować się pliki
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 -C / -xzphf ${RELEASEPATH}/base43.tgz ./etc/firmware
export RELEASEPATH=/usr/rel
cd ${RELEASEPATH}
tar -C / -xzphf base43.tgz
tar -C / -xzphf comp43.tgz
tar -C / -xzphf game43.tgz
tar -C / -xzphf man43.tgz
tar -C / -xzphf misc43.tgz
tar -C / -xzphf xbase43.tgz
tar -C / -xzphf xfont43.tgz
tar -C / -xzphf xserv43.tgz
tar -C / -xzphf xshare43.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 etc43.tgz oraz xetc43.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.
Zwracamy uwagę, że sendmail nie działa w tym punkcie aktualizacji dobrze
i wymagany jest jego restart (jako część restartu maszyny), zanim poczta
będzie mogła być obsługiwana zgodnie z oczekiwaniami.
Musisz także użyć vipw(8) do zmiany pliku z hasłami oraz ulubionego edytowa do zmiany pliku /etc/group, zmieniając _hoststated na _relayd, oraz zmieniając w vipw(8) opis z "HostState Daemon" na "Relay Daemon". Nie zmieniaj innych linii.useradd -u90 -g=uid -c"OSPF6 Daemon" -d/var/empty -s/sbin/nologin _ospf6d useradd -u91 -g=uid -c"SNMP Daemon" -d/var/empty -s/sbin/nologin _snmpd
Rozpakuj plik etc43.tgz do tymczasowej lokalizacji:
tar -C /tmp -xzphf ${RELEASEPATH}/etc43.tgz
Pliki które prawdopodobnie mogą być skopiowane z etc43.tgz "w takiej postaci
w jakiej są":
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/* 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ś etc43.tgz w miejscu sugerowanym powyżej:etc/mail/README etc/moduli etc/mtree/4.4BSD.dist etc/mtree/BSD.local.dist etc/mtree/special etc/netstart etc/ospf6d.conf etc/rc etc/rc.conf etc/relayd.conf etc/security etc/snmpd.conf var/named/etc/root.hint
cd /tmp/etc cp moduli netstart ospf6d.conf rc rc.conf relayd.conf security snmpd.conf /etc cp mtree/* /etc/mtree/ cp mail/README /etc/mail cp ../var/named/etc/root.hint /var/named/etc
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:
Zmiany w tych plikach znajdują się w tej łatce. Możesz spróbować z niego skorzystać wykonując jako root nastepujące polecenie:etc/changelist etc/chio.conf etc/ftpusers etc/mail/aliases etc/ssh/sshd_config etc/sudoers etc/sysctl.conf var/named/etc/named-dual.conf var/named/etc/named-simple.conf var/named/etc/named.conf var/www/conf/httpd.conf var/www/conf/mime.types var/www/htdocs/manual/mod/core.html var/www/htdocs/manual/server-wide.html
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" 4.2, 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ć.cd / patch -C -p0 < upgrade43.patch
/etc/ttys został uzgodniony pomiędzy platformami, wymagają one jednak dodatkowych działań na tym pliku. Zalecane jest skopiowanie nowego pliku i ręczne wprowadzenie do niego zmian.
mv /etc/ttys /etc/ttys.orig cp /tmp/etc/ttys /etc
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).
etc/pf.conf
Kilka plików musi zostać usuniętych z systemu ponieważ nie są używane w 4.3:
Ostatecznie skorzystaj z newaliases(8) aby zaktualizować bazę aliasów oraz mtree(8) aby utworzyć jakiekolwiek nowe katalogi oraz zmienić właściciela i prawa dostępu do /etc/chio.conf:rm /etc/hoststated.conf /var/named/standard/root.hint
newaliases mtree -qdef /etc/mtree/4.4BSD.dist -p / -u chown root:operator /etc/chio.conf chmod 644 /etc/chio.conf
Jeżeli podążałeś za instrukcjami procesu aktualizacji bez instalacji nowego kernela, juz zakończyłeś ten krok procesu. Jednakże, jeśli korzystałeś z medium instalacyjnego, i posiadałeś zmodyfikowany kernel w 4.2, istnieje prawdopodobieństwo, że będziesz musiał zmodyfikować kernel w 4.3. 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.
Narzędzia obsługi pakietów pozwalają na aktualizację "w miejsce", poprzez użycie pkg_add -u. Przykładowo, aby zaktualizować twoje pakiety, upewnij się ze PKG_PATH wskazuje na katalog z pakietami dla 4.2 na twoim CD lub najbliższym mirrorze FTP (przyp. tłum. lub na katalog na lokalnym dysku), i użyj polecenia podobnego to poniższego
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.# pkg_add -ui -F update -F updatedepends
Jeżeli chcesz usunąć, wykonaj poniższe polecenia:
# mv /usr/X11R6/lib/libexpat.so.* /usr/lib # rm -r /usr/X11R6 /etc/X11 /etc/fonts
Jeżeli chcesz zainstalować xbase43.tgz, musisz wykonać porządki ze starymi plikami dla libexpat:
# mv /usr/X11R6/lib/libexpat.so.* /usr/lib # rm /usr/X11R6/lib/libexpat* # rm /usr/X11R6/include/expat*
[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.7 -> 3.8] | [3.8 -> 3.9] | [3.9 -> 4.0] | [4.0 -> 4.1] | [4.1 -> 4.2] | [FAQ Index]