Jak stosować aktualizacje w OpenBSD, NetBSD i FreeBSD?

25

Używam OpenBSD już od dłuższego czasu. Wszystko, co robię, to jednak przechodzenie od jednej wersji do drugiej, zawsze tylko aktualizując. Skonfigurowałem system, aby działał jako mój router i zapora ogniowa i działa całkiem dobrze. Ale nigdy nie aktualizuję pakietów. Wszystko, co robię, to przejść do następnego wydania.

Pochodzę ze świata Linuksa, przyzwyczajam się do stosowania aktualizacji kilka razy w tygodniu; ale jak to zrobić na * BSD? - Czy to nie jest część filozofii * BSD?

polemon
źródło
portupgrade -arR
usermane
Aktualizacja za pomocą OpenBSD za pomocą pkg_addjest pkg_add -uvi, prawda?
polemon
tak
usermane
Chociaż ten link może odpowiedzieć na pytanie, lepiej dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie. - Z recenzji
Archemar

Odpowiedzi:

22

OpenBSD jest binarny. Możesz zaktualizować pliki binarne (jeśli są dostępne jakieś aktualizacje / zmiany), wykonując pkg_add :

pkg_add -Uu

Zespół OpenBSD zaleca używanie pakietów zamiast budowania z portów - pakietów i systemu portów OpenBSD

FreeBSD można aktualizować za pomocą pakietów lub portów .

gregnotcraig
źródło
1
pkg_add -uwystarczy na OpenBSD. Użyj tej opcji -Upodczas instalowania pojedynczego pakietu (lub zestawu pakietów), jeśli chcesz zaktualizować pakiety, od których to (te) zależy.
Kusalananda
9

Ogólnie rzecz biorąc, podczas korzystania z OpenBSD aktualizujesz swoje pakiety tylko podczas aktualizacji systemu. Ostatnim krokiem po aktualizacji do najnowszej wersji jest wykonanie:

 # pkg_add -ui

Który (u) uaktualni twoje zainstalowane pakiety, zadając ci wszelkie pytania (i) nieaktywne w razie potrzeby.

Ogólnie rzecz biorąc, pakiety dla danej wersji nie są aktualizowane aż do następnej wersji (OpenBSD nie ma zasobów programistycznych do dostarczania aktualizacji pakietów w wersjach innych niż „bieżąca”). Jeśli chcesz aktualizować pakiety częściej, musisz użyć portów lub uaktualnić do nowej migawki, a następnie uruchomić pkg_add -uiponownie.

Więcej informacji można znaleźć na stronie : http://www.openbsd.org/faq/faq15.html

Gabe.
źródło
3
OpenBSD lacks the developer resources for providing updates to packages on versions other than 'current'Czy dotyczy to również aktualizacji zabezpieczeń? Więc jeśli krytyczna luka w zabezpieczeniach zostanie znaleziona w pakiecie binarnym, którego używam, muszę ją ponownie zainstalować ze stabilnych portów?
imgx64,
@ imgx64 Poprawki zabezpieczeń portów zostały wykonane -current. OpenBSD nie odbuduje pakietów -stable.
Kusalananda
4

OpenBSD: M: Tier zapewnia stabilne pakiety dla architektur amd64 i i386. Pozwala to na aktualizowanie systemu za pomocą najnowszych poprawek zabezpieczeń z -stablegałęzi portów.

Artykuł na OpenBSD Journal wyjaśnia szczegóły:

W praktyce oznacza to, że jak tylko poprawka / aktualizacja zabezpieczeń zostanie zatwierdzona w drzewie OPENBSD_5_3, pakiet zostanie zbudowany z drzewa CVS. Ten pakiet jest następnie testowany i przekazywany na nasz serwer fan-out na Stable.MTier.org, z którego mogą korzystać wszyscy!

Holu
źródło
3

Różne systemy BSD mają bardzo wyraźny podział na „system podstawowy” i „oprogramowanie innych producentów (porty / pakiety)”. Uaktualniasz je osobno.

Zakłada się, że masz instalację OpenBSD 6.5 lub nowszą (starsza odpowiedź znajduje się poniżej):

System podstawowy został zaktualizowany o sysupgrade(8):

doas sysupgrade

Spowoduje to pobranie i uaktualnienie systemu podstawowego do następnej „stabilnej” wersji OpenBSD, jeśli podążasz za gałęzią stabilną lub wydaną, lub do najnowszej „migawki”, jeśli używasz migawek. Pamiętaj, że nie powinieneś używać, sysupgradejeśli masz niestandardową instalację bez wszystkich podstawowych zestawów systemowych.

Po uaktualnieniu systemu podstawowego możesz chcieć uruchomić syspatch(8)(tylko w celu podniesienia systemu ze „wydania” do „stabilnego”, systemy migawkowe nie używają syspatch).

Porty są aktualizowane o pkg_add(1):

doas pkg_add -u

W systemie migawkowym możesz do tego dodać -D snap(patrz instrukcja).

Będziesz także chciał sprawdzić odpowiednią sekcję FAQ OpenBSD przed aktualizacją, np. Sekcję „ Śledzenie-bieżącej i używania migawek ” lub sekcję dotyczącą aktualizacji do najnowszej stabilnej wersji.

Istnieje również port / pakiet o nazwie sysclean(in sysutils/sysclean), który pomoże ci wskazać podstawowe biblioteki systemowe i inne pliki, które nie są już częścią domyślnej instalacji. Powie ci również, które porty używają przestarzałych bibliotek.


Stara odpowiedź, dotycząca wersji OpenBSD wcześniejszych niż 6.5:

W przypadku OpenBSD, zakładając, że chcesz przejść z jednej stabilnej wersji do następnej stabilnej wersji (skaczące wersje nie są obsługiwane, chyba że wykonasz nową instalację), zaczynasz od przeczytania konkretnego FAQ dla aktualizacji, którą przeprowadzasz. W przypadku aktualizacji z 5.9 do 6.0, zapoznasz się z „ Przewodnikiem aktualizacji: 5.9 do 6.0 ”.

Ogólnie rzecz biorąc, jego sedno polega na uruchomieniu nośnika instalacyjnego dla wersji, którą chcesz zaktualizować, i wybraniu z menu opcji „(U) pgrade”. Po uaktualnieniu systemu podstawowego uruchamiasz go i, jako root, aktualizujesz wszystkie zainstalowane pakiety za pomocą pkg_add -u.

Pakiety należące do stabilnej wersji OpenBSD często się aktualizują. Zwykle dzieje się tak tylko wtedy, gdy naprawione zostaną błędy krytyczne. Dlatego uruchamianie pkg_add -ukilka razy w tygodniu prawdopodobnie nie zrobi wiele (ale rób to dalej, ponieważ może to powodować krytyczne poprawki).

Jeśli podążysz za „prądem”, sprawy wyglądają zupełnie inaczej. Następnie budowałbyś pakiety z drzewa portów wypisanego przy CVS under /usr/portsi prawdopodobnie prawdopodobnie również ręcznie przebudowałeś system podstawowy (patrz „ Budowanie systemu ze źródła ”). Zainstalowane porty mogą być aktualizowane za pomocą dpb(in /usr/ports/infrastructure/bin), jeśli podano prawidłowe opcje i listę ręcznie zainstalowanych pakietów.

używam

#!/bin/sh -x

pkg_info -P -q -m | sort -o "$HOME/packages"
/usr/ports/infrastructure/bin/dpb -scuR -P "$HOME/packages"

Śledzony przez

$ doas pkg_add -u -D unsigned
$ doas pkg_delete -a

Nie jest to zalecane dla nowych użytkowników.

Kusalananda
źródło
2

Potrzebowałem aktualizacji, ponieważ zainstalowałem bash i nie chciałem cierpieć z powodu luki Shellshock, więc skorzystałem z sugestii Holu /unix//a/103661/93476 i to mnie załatało .

RedScourge
źródło
1

Przepraszamy, NetBSD pkgsrcnie obsługuje nieostrożnego rozwiązania. Zamiast tego powinieneś użyć menedżera pakietów, takiego jak nihlub pkgin. Pod pkgsrctrzeba wymusić aktualizacje która ignoruje często związane zależnościami plików. Również skopiowanie nowej wersji na starą pkgsrcmoże doprowadzić pkgsrcdo niespójności drzewa.

darktrym
źródło
0

Dla mnie aktualizowanie pakietów NetBSD to polecenie w / usr / pkgsrc:

# cvs update -dP && csup /some-path-to-wip-supfile/netbsd-pkgsrc-wip && pkg_rolling-replace -u
sehr
źródło