apt-get hiển thị các gói quan trọng vì không còn yêu cầu


9

Gần đây tôi đã cài đặt Kali Linux trong hệ thống của mình. Nó đi kèm với một Iceweasel được cài đặt sẵn. Tuy nhiên, thay vì Iceweasel tôi muốn cài đặt firefox nên tôi đã làm theo hướng dẫn này và cài đặt firefox thành công.

Bây giờ bất cứ khi nào tôi gọi apt-getnó đều hiển thị nhiều gói được cài đặt sẵn là "tự động cài đặt và không còn cần thiết" :

abhishek@ab-linux:~$ sudo apt-get install
[sudo] password for abhishek: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  empathy empathy-common fonts-cantarell gcalctool gnome-backgrounds
  gnome-dictionary gnome-font-viewer gnome-icon-theme-extras gucharmap
  libavahi-gobject0 libcaribou-gtk-module libcaribou-gtk3-module
  libchamplain-0.12-0 libchamplain-gtk-0.12-0 libgdict-1.0-6 libgdict-common
  libgeocode-glib0 libtelepathy-farstream2 nautilus-sendto-empathy
  sound-theme-freedesktop telepathy-gabble telepathy-logger telepathy-salut
  vino
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.
abhishek@ab-linux:~$ 

Phiên bản Linux

abhishek@ab-linux:~$ uname -a
Linux ab-linux 3.7-trunk-amd64 #1 SMP Debian 3.7.2-0+kali8 x86_64 GNU/Linux

Làm thế nào để đánh dấu các gói này là quan trọng và cần thiết?


Tại sao không chỉ sao chép nội dung của thiết bị đầu cuối của bạn vào bài viết?
Kiwy

Những gói đó không bao giờ được cài đặt rõ ràng. Nếu bạn muốn chúng được đánh dấu cài đặt rõ ràng, bạn có thể làm apt-get install the_package_you_want. Tôi không rõ tại sao bạn nghĩ cài đặt của bạn bị hỏng.
Faheem Mitha

Các gói này đi kèm với bản phân phối cùng với Iceweasel. Nhưng khi gỡ bỏ iceweasel, điều này đã xảy ra. Tôi có thể làm gì để dừng thông báo này?
abhishekkannojia

Câu trả lời:


7

Chắc chắn không có gì bị phá vỡ. Khi một gói được cài đặt, thường có các gói khác phụ thuộc vào. Chúng sẽ được tự động cài đặt bởi apt-get. Trước đây, bạn thường bị buộc phải sử dụng một chương trình riêng nếu bạn muốn theo dõi các gói này và xóa chúng nếu bạn đã gỡ bỏ chương trình gốc mà bạn đã cài đặt.

Bây giờ aptthực hiện một Auto-Installedcờ trạng thái để theo dõi các gói này không bao giờ được cài đặt rõ ràng. Khi bạn gỡ cài đặt gói, bạn có thể thêm --auto-removetùy chọn để xóa thêm bất kỳ gói nào có Auto-Installedcờ của họ và không còn gói nào phụ thuộc vào gói đó nữa (gói cũng có thể được giữ nếu gói khác đề xuất hoặc đề xuất tùy thuộc vào giá trị của các tùy chọn APT::AutoRemove::RecommendsImportantAPT::AutoRemove::SuggestsImportantcấu hình).

Tôi sẽ xem danh sách các gói và quyết định xem chúng có đáng để giữ không, đôi khi các gói mà bạn có thể muốn giữ lại được đánh dấu Auto-Installedtheo mặc định. Bạn có thể nhận được thông tin về những gì các gói khác nhau làm bằng cách làm apt-cache show package_name. Nếu bạn quyết định giữ một số, bạn có thể sử dụng apt-mark manualtheo sau là tên của các gói bạn muốn giữ.

Lưu ý rằng thông thường bạn sẽ muốn có các gói thư viện (hầu hết các gói bắt đầu lib) được đánh dấu Auto-Installedvì có một số lý do để tự cài đặt các gói này - các chương trình khác thường yêu cầu các thư viện khác chạy, nhưng chúng ít được sử dụng. Ngay cả khi bạn đang biên dịch phần mềm dựa vào thư viện để cần gói phát triển (kết thúc bằng -dev) phụ thuộc vào chính thư viện, do đó không cần phải cài đặt rõ ràng thư viện.

Cũng bằng cách sử dụng aptitude, bạn có thể thực hiện aptitude unmarkautotừ dòng lệnh hoặc thay đổi trong giao diện nguyền rủa. Trong danh sách gói trong giao diện, tất cả các gói được cài đặt tự động đều có Abên cạnh chúng. Bạn có thể thay đổi trạng thái này bằng cách sử dụng mđể đánh dấu gói được cài đặt tự động là thủ công và Mđánh dấu lại là thủ công (cũng lđể mở hộp thoại tìm kiếm và Enterđể xem chi tiết gói).


Ok, có nghĩa là tôi phải đánh dấu các gói là Cài đặt thủ công. Đánh dấu các gói thủ công sẽ không tạo ra vấn đề trong tương lai. phải không
abhishekkannojia

Vâng, tôi sẽ chỉ làm những người không phải thư viện, bạn có thể tìm thấy một số thư viện sau đó không xuất hiện vì những người khác phụ thuộc vào họ.
Graeme

@abhishekkannojia, nó phụ thuộc vào hệ thống phần nào. Tôi sử dụng thử nghiệm Debian / không ổn định, đây là một bản phát hành. Đó là một thực hành tốt để luôn đứng đầu trong những điều này vì có những thay đổi lớn đối với các gói phụ thuộc theo thời gian và rất nhiều rác có thể tích tụ. Trên Ubuntu, v.v ... không có vấn đề gì vì mỗi bản phát hành hầu hết chỉ được cập nhật bảo mật / sửa lỗi, vì vậy bạn chỉ nhận được bản dựng rác nếu bạn cài đặt / gỡ cài đặt nhiều.
Graeme

3

để đánh dấu tất cả các gói này sao cho chúng quan trọng và không bị xóa, hãy làm điều này:

apt-mark showauto | xargs sudo apt-get -y install

về cơ bản bằng cách nói aptđể cài đặt một chương trình mà bạn đang nói với nó rằng bạn muốn nó tồn tại trên hệ thống vĩnh viễn.


0

Tại sao không loại bỏ chúng bằng lệnh được đề xuất bởi apt-get, nghĩa là apt-get autoremove?

Nếu chúng được cài đặt theo mặc định trên Kali và được sử dụng bởi trình duyệt web trước đó và không còn được sử dụng nữa khi bạn đã gỡ bỏ trình duyệt này, nó sẽ không thành vấn đề.

Ngoài ra, nếu một ngày nào đó một lần nữa cần một lần nữa, hãy cài đặt nó một cách rõ ràng apt-getvà nó sẽ không xuất hiện dưới dạng "tự động cài đặt và không còn cần thiết".

Giải pháp khác có thể là cài đặt chúng bằng tay. Chúng sẽ không còn được đánh dấu là "tự động cài đặt và không còn cần thiết" trong apt-get, nhưng bạn sẽ có các gói vô dụng, đây không phải là IMO là giải pháp tốt nhất.


Tôi không nhất thiết phải làm điều đó, một số gói có thể hữu ích để giữ - nhưgnome-backgrounds
Graeme

Không, chúng không được trình duyệt sử dụng, chúng là các gói bổ sung được cài đặt sẵn ở Kali. Hầu hết trong số đó là hữu ích như gnome-backgrounds, gnome-font-viewer, gnome-dictionary, empathy, vv
abhishekkannojia

Trong trường hợp của tôi, tôi có trình quản lý mạng cùng với lightdm. Tôi sẽ không gọi những gói đó dễ dàng dùng một lần, đặc biệt là khi tôi sử dụng chúng mọi lúc. LOL
rbaleksandar
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.