Câu trả lời:
Có vẻ như sức mạnh Google của tôi đã bị suy yếu: đây là một lỗi đã biết (tập trung vào các nhận xét từ Colin Watson) và nó tồn tại trong một thời gian mà không có cách khắc phục:
Trích dẫn Colin Watson :
[...] Rời khỏi tất cả các gói như được cài đặt thủ công là khó coi nhưng hậu quả của lỗi này thường bị giới hạn là không đủ thông minh để loại bỏ các gói không cần thiết nữa. Một lỗ hổng theo hướng ngược lại sẽ tồi tệ hơn nhiều, bởi vì nó có thể khiến các gói bị loại bỏ khi chúng vẫn còn cần thiết. Cho rằng dường như không có một bản sửa lỗi rõ ràng có sẵn, tốt hơn hết là nên phát sóng [sic] về phía thận trọng. [...]
Được rồi, bây giờ đây là điều đầu tiên tôi làm ngay sau khi cài đặt. Tôi đánh dấu (hầu hết) mọi gói là tự động cài đặt và chúng ở dạng phụ thuộc của ubuntu-desktop
:
apt-mark showmanual | xargs sudo apt-mark auto
sudo apt-mark unmarkauto ubuntu-desktop
Lý tưởng nhất, thế là đủ. Nhưng theo Colin Watson , thế giới không hoàn hảo và chúng ta cần thêm một chút đánh bóng. Lặp lại:
apt-get autoremove --simulate
# ...
# output of what's to be autoremoved
sudo apt-mark unmarkauto <package>
nơi <package>
cho tôi kết thúc lên ít nhất là mỗi ubuntu-standard
, ubuntu-minimal
, ubuntu-restricted-addons
. Ngoài ra một số gói ngôn ngữ.
Đáng chú ý là aptitude
, mà với TUI của nó có thể hỗ trợ quá trình.
Làm xong việc này, các báo cáo quản lý gói hệ thống của tôi trông dễ chịu và dễ hiểu hơn nhiều:
$ apt-mark showmanual
aptitude
dkms
git
subversion
ubuntu-desktop
ubuntu-minimal
ubuntu-restricted-addons
ubuntu-standard
vim
zsh
Voila!
apt-get install
gì tôi đã làm. Quản lý phụ thuộc khá sạch sẽ tôi muốn nói.
autoremove --simulate
tiếp theo unmarkauto
của gói ô hái bằng tay? Đó là chìa khóa. Bạn không cần phải thực sự gỡ bỏ và cài đặt lại các gói. Tất cả các thay đổi bạn thực hiện đối với hệ thống bao gồm các gói đánh dấu là được cài đặt thủ công hoặc tự động - dưới dạng phụ thuộc (thường là gián tiếp) của một số gói được cài đặt thủ công khác.