Làm cách nào để áp dụng các bản cập nhật trên OpenBSD, NetBSD và FreeBSD?


25

Tôi đang sử dụng OpenBSD khá lâu rồi. Tất cả những gì tôi làm, tuy nhiên là đi từ bản phát hành này sang bản phát hành tiếp theo, luôn luôn chỉ là cập nhật. Tôi đã cấu hình hệ thống để nó hoạt động như bộ định tuyến và tường lửa của tôi và nó hoạt động khá tốt như thế. Nhưng tôi không bao giờ cập nhật các gói. Tất cả những gì tôi làm chỉ là chuyển sang bản phát hành tiếp theo.

Đến từ thế giới Linux, tôi đã quen với việc áp dụng các bản cập nhật vài lần một tuần; nhưng làm thế nào để tôi làm điều đó trên * BSD? - Hay đây không phải là một phần của triết lý * BSD?



Đang cập nhật với OpenBSD với pkg_addpkg_add -uvi, phải không?
Polemon


Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi. - Từ đánh giá
Archemar

Câu trả lời:


22

OpenBSD là trung tâm nhị phân. Bạn có thể cập nhật các tệp nhị phân (nếu có bất kỳ cập nhật / thay đổi nào) bằng cách thực thi pkg_add :

pkg_add -Uu

Nhóm OpenBSD khuyên bạn nên sử dụng các gói trên tòa nhà từ các cổng - Hệ thống cổng và gói OpenBSD

FreeBSD có thể được cập nhật thông qua các gói hoặc cổng .


1
pkg_add -ulà đủ trên OpenBSD. Sử dụng -Ukhi cài đặt một gói duy nhất (hoặc bộ gói) nếu bạn muốn cập nhật các gói mà cái này (những) này phụ thuộc vào.
Kusalananda

9

Nói chung, khi sử dụng OpenBSD, bạn chỉ cập nhật các gói của mình khi cập nhật hệ thống. Vì vậy, là bước cuối cùng, sau khi nâng cấp lên bản phát hành mới nhất, bạn nên thực hiện:

 # pkg_add -ui

Cái nào sẽ (u) đẩy lùi các gói đã cài đặt của bạn hỏi bạn bất kỳ câu hỏi nào (i) không hoạt động khi cần.

Nói chung, các gói cho một bản phát hành nhất định không được cập nhật cho đến bản phát hành tiếp theo (OpenBSD thiếu tài nguyên dành cho nhà phát triển để cung cấp các bản cập nhật cho các gói trên các phiên bản không phải là 'hiện tại'). Nếu bạn muốn nâng cấp các gói của mình thường xuyên hơn, bạn cần sử dụng các cổng hoặc nâng cấp lên một ảnh chụp nhanh mới, sau đó chạy pkg_add -uilại.

Để đọc thêm, hãy kiểm tra: http://www.openbsd.org/faq/faq15.html


3
OpenBSD lacks the developer resources for providing updates to packages on versions other than 'current'Điều đó cũng áp dụng cho các cập nhật bảo mật? Vì vậy, nếu một lỗ hổng bảo mật quan trọng được tìm thấy trong gói nhị phân mà tôi sử dụng, tôi có phải cài đặt lại nó từ các cổng ổn định không?
imgx64

@ imgx64 Sửa lỗi bảo mật cho các cổng được thực hiện trên -current. OpenBSD sẽ không xây dựng lại các gói cho -stable.
Kusalananda

4

OpenBSD: M: Tier cung cấp các gói ổn định cho kiến ​​trúc amd64 và i386. Điều này cho phép bạn giữ cho hệ thống của mình luôn cập nhật với các bản sửa lỗi bảo mật gần đây nhất từ -stablenhánh cổng.

Một bài viết trên Tạp chí OpenBSD giải thích chi tiết:

Trong thực tế, điều này có nghĩa là ngay khi bản sửa lỗi / cập nhật bảo mật được cam kết với cây OPENBSD_5_3, một gói sẽ được xây dựng từ cây CVS. Gói này sau đó đang được thử nghiệm và đẩy lên máy chủ fan-out của chúng tôi tại Stable.MTier.org, cho mọi người sử dụng!


3

Các hệ thống BSD khác nhau có sự phân tách rất rõ ràng thành "hệ thống cơ sở" và "phần mềm bên thứ 3 (cổng / gói)". Bạn nâng cấp hai cái riêng biệt.

Điều này giả định rằng bạn đã cài đặt OpenBSD 6.5 trở lên (xem thêm câu trả lời cũ):

Hệ thống cơ sở được nâng cấp với sysupgrade(8):

doas sysupgrade

Điều này sẽ tải xuống và nâng cấp hệ thống cơ bản lên phiên bản OpenBSD "ổn định" tiếp theo nếu bạn đang theo dõi nhánh phát hành hoặc ổn định hoặc "ảnh chụp nhanh" mới nhất nếu bạn đang sử dụng ảnh chụp nhanh. Lưu ý rằng bạn không nên sử dụng sysupgradenếu bạn có cài đặt tùy chỉnh mà không có tất cả các bộ hệ thống cơ sở.

Sau khi nâng cấp hệ thống cơ sở, bạn có thể muốn chạy syspatch(8)(chỉ để hệ thống của bạn chuyển từ "phát hành" sang "ổn định", các hệ thống chụp nhanh không sử dụng syspatch).

Các cổng được cập nhật với pkg_add(1):

doas pkg_add -u

Trên hệ thống ảnh chụp nhanh, bạn có thể muốn thêm -D snapvào đó (xem hướng dẫn).

Bạn cũng sẽ muốn kiểm tra phần có liên quan của Câu hỏi thường gặp về OpenBSD trước khi nâng cấp, ví dụ như phần " Theo dõi hiện tại và sử dụng ảnh chụp nhanh " hoặc phần liên quan đến nâng cấp lên bản phát hành ổn định mới nhất.

Ngoài ra còn có một cổng / gói được gọi là sysclean(trong sysutils/sysclean) sẽ giúp bạn chỉ ra các thư viện hệ thống cơ sở và các tệp khác không còn là một phần của cài đặt mặc định. Nó cũng sẽ cho bạn biết những cổng nào đang sử dụng các thư viện lỗi thời.


Câu trả lời cũ, liên quan đến các bản phát hành OpenBSD trước 6.5:

Trong trường hợp OpenBSD, giả sử bạn muốn chuyển từ một bản phát hành ổn định sang bản phát hành ổn định tiếp theo (bản phát hành nhảy không được hỗ trợ trừ khi bạn thực hiện cài đặt mới), bạn bắt đầu bằng cách đọc Câu hỏi thường gặp cụ thể cho bản nâng cấp bạn đang thực hiện. Trong trường hợp nâng cấp từ 5.9 lên 6.0, bạn đọc " Hướng dẫn nâng cấp: 5.9 lên 6.0 ".

Nói chung, ý chính của nó liên quan đến việc khởi động phương tiện cài đặt cho bản phát hành mà bạn muốn nâng cấp lên và chọn "(U) p thoái" từ menu. Khi hệ thống cơ sở được nâng cấp, bạn khởi động nó và, với quyền root, nâng cấp mọi gói đã cài đặt với pkg_add -u.

Thật không bình thường khi các gói thuộc bản phát hành OpenBSD ổn định được cập nhật rất thường xuyên. Thông thường điều đó chỉ xảy ra khi các lỗi nghiêm trọng được sửa chữa. Vì vậy, chạy pkg_add -uvài lần một tuần có thể sẽ không làm được gì nhiều (nhưng hãy tiếp tục làm điều đó vì nó có thể kéo theo các bản sửa lỗi quan trọng).

Nếu bạn theo "hiện tại", mọi thứ sẽ rất khác. Sau đó, bạn sẽ xây dựng các gói của mình từ cây cổng được kiểm tra với CVS bên dưới /usr/portsvà có thể bạn cũng sẽ xây dựng lại hệ thống cơ sở theo cách thủ công (xem " Xây dựng hệ thống từ nguồn "). Các cổng đã cài đặt có thể được cập nhật với dpb(trong /usr/ports/infrastructure/bin) nếu được cung cấp các tùy chọn chính xác và danh sách các gói được cài đặt thủ công.

Tôi đang sử dụng

#!/bin/sh -x

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

Theo dõi bởi

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

Điều này không được khuyến khích cho người dùng mới.


2

Tôi cần nhận các bản cập nhật vì tôi đã cài đặt bash và không muốn bị lỗ hổng Shellshock, vì vậy tôi đã đi với đề xuất của Holu /unix//a/103661/93476 và nó đã được vá.




1

Xin lỗi, NetBSD pkgsrckhông hỗ trợ giải pháp bất cẩn. Thay vào đó bạn nên sử dụng một trình quản lý gói như nihhoặc pkgin. Theo pkgsrcbạn phải buộc nâng cấp mà bỏ qua các phụ thuộc tệp thường được liên kết. Ngoài ra, sao chép phiên bản mới so với phiên bản cũ pkgsrccó thể khiến pkgsrccây của bạn ở trạng thái không phù hợp.


0

Đối với tôi, việc cập nhật các gói NetBSD là một lệnh trong / usr / pkgsrc:

# cvs update -dP && csup /some-path-to-wip-supfile/netbsd-pkgsrc-wip && pkg_rolling-replace -u
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.