Dòng lệnh tương đương với trình quản lý cập nhật (Trình cập nhật phần mềm) là gì?


25

Khi tôi làm

sudo apt-get update
sudo apt-get upgrade

Đôi khi Trình quản lý cập nhật GUI của Ubuntu vẫn còn một số mục. vd: Hoàn thành chung Linuux kernel.

Tôi biết cũng có sudo apt-get dist-upgrade, nhưng điều đó chạm vào những thứ khác.

Câu hỏi của tôi là, tùy chọn dòng lệnh nào khác mà tôi có thể sử dụng sẽ cập nhật phần còn lại của các mục được hiển thị trong trình quản lý cập nhật GUI (nhưng không chạm vào bất cứ điều gì khác). Nói cách khác, tôi đang tìm kiếm dòng lệnh tương đương.

EDIT: Câu hỏi này đề cập đến trình quản lý cập nhật tương đương với Trình cập nhật phần mềm trong các phiên bản mới hơn (ví dụ 16.04), như @Eliah Kagan đã chỉ ra .


Gói trình quản lý cập nhật Ubuntu là nguồn mở để bạn có thể truy cập mã nguồn để tìm câu trả lời. Tôi đã xem nhanh, nhưng tôi không nhận thấy điều gì bất thường về cách họ nâng cấp.

Tôi không rõ ràng sau một số nghiên cứu rằng có một tương đương trực tiếp, nhưng có một câu trả lời rất sáng tỏ giải thích sự khác biệt giữa apt-get và apt . Tôi đoán là Update Manager tương tự apt-get ở chỗ nó có một bộ quy tắc chuyên biệt hơn một chút mà nó sử dụng để cập nhật, ngoại trừ việc không giống như apt-get update, bộ quy tắc của nó cho phép cài đặt các gói mới trong một số trường hợp chuyên biệt, chẳng hạn như cập nhật kernel. Hy vọng ai đó hiểu biết hơn
cha5on

3
Tôi khá chắc chắn câu trả lời là apt-get dist-upgrade. Ý bạn là gì, "chạm vào những thứ khác"?
Flimm

Câu trả lời:


22

Như Flimm đã nhận xét , câu trả lời thực sự là sudo apt-get dist-upgrade( sau khi chạy sudo apt-get update, công cụ quản lý gói GUI nào tự động làm tương đương). Đó ít nhất là điều gần nhất để chạy Trình cập nhật phần mềm (được gọi là Trình quản lý cập nhật trong các bản phát hành cũ hơn).

Chạy apt-get upgradesẽ nâng cấp các gói có thể được nâng cấp:

  • không cài đặt bất kỳ gói nào chưa được cài đặt trong một số phiên bản
  • mà không loại bỏ bất kỳ gói.

Trình quản lý cập nhật có khả năng thực hiện cả hai điều này, vì vậy apt-get dist-upgradekhá gần với nó.

  • Chạy sudo apt-get dist-upgradesẽ không tự nâng cấp hệ thống Ubuntu của bạn lên bản phát hành mới hơn. Thực tế, không giống như trong Debian, apt-get dist-upgradekhông phải là cách được hỗ trợ để nâng cấp lên bản phát hành mới. Trong Debian (và trong Ubuntu, mặc dù đôi khi có thể bị lỗi và không được hỗ trợ), việc thay đổi tất cả các kho được liệt kê trong /etc/apt/sources.listkho cho bản phát hành tiếp theo và đang chạy sudo apt-get dist-upgradesẽ cố nâng cấp lên bản phát hành tiếp theo.

apt-get dist-upgradecó thể loại bỏ gói (và cài đặt các gói mới mà bạn có thể không muốn), tốt nhất là luôn xem qua mô tả về những gì nó dự định làm trước khi nhấn y.

Vì vậy, trong khi chạy sudo apt-get -y upgradethường hợp lý, -ycờ hiếm khi được sử dụng dist-upgrade.

Lý do bạn không nhận được phiên bản kernel mới với sudo apt-get upgradelà vì họ từng được cung cấp bởi riêng biệt, các gói khác nhau được đặt tên. (Phiên bản kernel là một phần của tên.) Điều này là để tạo điều kiện cho một kernel cũ được cài đặt bên cạnh kernel mới hơn (và có thể chọn giữa chúng trong menu GRUB).

Việc cung cấp tự động các gói kernel mới để cài đặt được thực hiện bằng cách cài đặt siêu dữ liệu (như linux-image-generic). Khi một kernel mới xuất hiện trong bản phát hành Ubuntu của bạn, siêu dữ liệu kernel của bạn được nâng cấp và phiên bản nâng cấp cho metapackage đó liệt kê kernel mới như một phần phụ thuộc (mà không ngăn kernel cũ tiếp tục được cài đặt).

Nếu bạn không muốn sử dụng sudo apt-get dist-upgrade, thì bạn luôn có thể nâng cấp thủ công các gói riêng lẻ được liệt kê là giữ lại khi bạn chạy sudo apt-get upgrade. Để làm điều này, "cài đặt" chúng : .sudo apt-get install packagename


1
"Trình quản lý cập nhật có khả năng thực hiện cả hai điều này, vì vậy việc nâng cấp apt-get dist khá gần với nó." - là rất không rõ ràng trong bối cảnh.
matt

7

Nếu bạn đang tìm cách mở cửa sổ cập nhật phần mềm từ dòng lệnh (đó là những gì tôi đã thu thập được, chủ yếu là vì đó là lý do tại sao tôi tìm kiếm cái này và kết thúc ở đây vì đó là mục tiêu của tôi) truy cập vào cửa sổ GUI (Tôi gặp vấn đề về quyền khi cố gắng thực hiện việc này từ xa)

sudo update-manager

Nếu tôi hiểu đúng câu hỏi, câu trả lời của @questionreality là câu hỏi đúng, ít nhất là nó có hiệu quả với tôi. Chỉ có điều, làm thế nào để tiến hành cập nhật mà không đi qua dấu nhắc cửa sổ? Ý tôi là, một hoạt động dòng lệnh hoàn toàn?
nightcod3r

1

Tôi chỉ tìm thấy câu trả lời này nhưng mất nguồn vì vậy tôi không thể tin vào nó ...

Lệnh dưới đây sẽ cài đặt gói có kernel làm phụ thuộc và do đó sẽ cập nhật kernel của bạn chọn đúng để thực hiện.

Bản cài đặt 14.4 của tôi đã được nâng cấp lên 14.10 ngoại trừ kernel. Trong trường hợp của tôi, kernel đã cập nhật từ 3.13.x lên 3.16.x mặc dù có thể các phiên bản 3.13.0.x có thể đã có bản cập nhật. Rõ ràng 3.13 không phải là hạt nhân LTS.

sudo apt-get install linux-image-generic

1
nếu anh chàng bỏ phiếu tiêu cực cho câu trả lời này có một số cách cư xử cơ bản để nói "tại sao" sẽ giúp những người học Linux như tôi biết tại sao nó sai.
Clain Dsilva 19/07/2015

0

Có thể là sai địa điểm nhưng tôi tin rằng bạn muốn làm:

apt-get -f install

Điều này sẽ làm sạch các phụ thuộc nổi bật


1
cảm ơn. điều đó dường như không phải là nó mặc dù. Tôi đã làm apt-get -f installsau đó cập nhật và nâng cấp lại, sau đó vào gui của người quản lý và kiểm tra, các mục vẫn còn.

0

apttiện ích dòng lệnh không cung cấp mức độ thoải mái chính xác tương đương với gui của chúng (cụ thể là software updater). Mặc dù apt-get dist-upgradesẽ đảm nhiệm phần lớn việc nâng cấp, nghĩa là tải xuống và cài đặt các gói mới hơn, nhưng nó sẽ không phát hiện ra sự phát hành mới của ub Ubuntu (hay debian), mà tiện ích gui ub Ubuntu sẽ làm. Phần còn thiếu là chỉnh sửa /etc/apt/sources.list(hoặc các tệp có liên quan trong /etc/apt/sources.list.d/- nhưng có lẽ bạn không có những thứ này), để nói aptrằng bản phát hành mới tồn tại và nơi lưu trữ.

Ví dụ, đối với một dist-upgradetừ utopic để sinh động , bạn có thể mở /etc/apt/sources.list, và thực hiện tìm kiếm nhanh chóng và thay thế của utopicđểvivid , sau đó chạy dist-upgradelệnh CLI. Một đường dẫn an toàn hơn có thể là sao chép các dòng trong tệp đó và thực hiện tìm kiếm và chỉ thay thế trên các dòng trùng lặp này, do đó giữ các kho lưu trữ không tưởng.

Để biết thêm thông tin, tôi đề nghị tham khảo trang hướng sources.listdẫn mô tả định dạng tệp và cách chỉnh sửa.

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.