Làm thế nào để loại bỏ các phụ thuộc của gói đã gỡ cài đặt?


48

Tôi muốn cài đặt một gói (DigiKam), nhưng nó có rất nhiều phụ thuộc. Nếu tôi quyết định tôi không còn cần phần mềm này và gỡ cài đặt phần mềm nữa, liệu các phụ thuộc đơn nhất bây giờ có bị xóa không?

Nếu không, làm thế nào tôi có thể làm điều đó bằng tay?

Câu trả lời:


80

Bạn có thể sử dụng lệnh apt-get autoremove. Nó sẽ loại bỏ các gói được cài đặt như phụ thuộc tự động, nhưng không phụ thuộc nữa.

apt-getcó một cờ --auto-removecó thể được sử dụng để tự động xóa các gói được cài đặt tự động khi xóa gói được cài đặt thủ công:

apt-get remove --auto-remove packagename

Một số công cụ khác cũng có khả năng để làm điều này, ví dụ aptitudesẽ tự động đề nghị bạn nên gỡ bỏ các gói đã bị mồ côi.

Theo dõi các gói được cài đặt tự động được tích hợp sẵn để apt để theo dõi hoạt động bất kể bạn sử dụng công cụ nào để cài đặt các gói.


Vì vậy, câu trả lời sẽ là nó KHÔNG được thực hiện tự động khi xóa gói "cha mẹ", phải không?
jfoucher

Nó phụ thuộc vào phương pháp bạn sử dụng để loại bỏ gói cha. Ví dụ, aptitude gợi ý rằng các gói đó bị xóa khi bạn gỡ cài đặt gói cha. Không phải tất cả các công cụ làm điều này mặc dù.
Ressu

Bạn có thể loại bỏ một gói và tất cả các phụ thuộc bây giờ không còn cần thiết trong một bước với sudo apt-get remove --auto-remove package.
Marius Gedminas

sự khác biệt giữa autoremove và --auto-remove là một chút không rõ ràng. Tôi có thể kết hợp chúng?
johny tại sao

@johnywhy cờ có nghĩa là một tham số cho lệnh remove trong khi lệnh auto-remove là một lệnh độc lập. Tôi nghi ngờ bạn có thể kết hợp chúng, nhưng tôi không thể kiểm tra để đảm bảo vào lúc này.
Ressu

10
aptitude purge digikam
deborphan
aptitude purge $(deborphan)

deborphanliệt kê các gói không được sử dụng hoặc không phụ thuộc. Vì vậy, bạn có thể gỡ cài đặt chúng một cách an toàn. Tôi có xu hướng sử dụng purgenhư tùy chọn aptitudevì nó cũng loại bỏ các tập tin cấu hình và các thứ khác.


Khi sử dụng deborphan, thường phải chạy một vài lần liên tiếp hoặc ít nhất đó là kinh nghiệm của tôi với nó. Nó dường như tiếp tục tìm thấy những thứ mới.
mfisch

Đúng, đúng vậy. Ai đó đã viết một cải tiến cho deborphan. Nhưng điều đó không bao giờ đi vào Debian. Thuật toán tốt hơn và bạn chỉ có nó để chạy một lần. Có lẽ tôi sẽ hỏi tác giả nếu anh ta muốn thêm nó một lần nữa vào repos Debian / Ubuntu.
qbi

Có thể tôi không thể sử dụng nó, nhưng deborphan thường muốn xóa nhiều ứng dụng mà tôi thực sự sử dụng, cũng như một số gói hệ thống quan trọng.
Rafał Cieślak

1
aptitude purge <pkgname>là rất hữu ích cho việc xóa hoàn toàn các gói đã gỡ cài đặt thất bại / thành công một phần. Tình trạng của họ có thể được liệt kê theo dpkg -L <pkgname>như deinstallnhưng sử dụng aptitudesẽ loại bỏ chúng hoàn toàn từ cơ sở dữ liệu của aptitude, và kéo dài file không được loại bỏ bởi quá trình cài đặt thất bại dường như được gỡ bỏ quá.
KomodoDave



3
sudo apt-get remove --auto-remove 

Chỉ chạy cái này.

Cài đặt BleachBit từ Trung tâm phần mềm. Khi bạn dọn dẹp hệ thống của bạn bằng cách sử dụng nó, BleachBit sẽ tự động chạy lệnh này để xóa bộ đệm apt.


0

Tôi đã từng gặp vấn đề tương tự. Đây là những gì tôi đã làm:

sudo apt-get check

Lệnh này sẽ cung cấp tên của các phụ thuộc. Ví dụ, hệ thống của tôi đã có chromium-browser-l10n.

Sau đó nhập lệnh sau

sudo apt-get remove --auto-remove chromium-browser-l10n

Nó sẽ loại bỏ hoàn toàn các phụ thuộc khỏi hệ thống của bạn

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.