Debian
解除安裝顯示意外的軟體包
在過去的幾周里,我已經從單伺服器設置為多伺服器設置。我現在準備從原始伺服器上解除安裝Let’s Encrypt / Certbot 。(我已經使用HA Proxy設置了 SSL 終止。)
我試過了
apt remove --purge letsencrypt
。但這顯示了我仍然需要的包:Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: bsdmainutils cpp-8 dh-python libapache2-mod-php7.3 libasan5 libbind9-161 libbison-dev libboost-iostreams1.67.0 libboost-system1.67.0 libc-dev-bin libcwidget3v5 libdns1104 libdns1110 libevent-2.1-6 libf2fs-format4 libf2fs5 libgfortran5 libicu63 libip6tc0 libiptc0 libirs161 libisc1100 libisc1105 libisccc161 libisccfg163 libisl19 liblinear3 libllvm7 liblua5.2-0 liblwres161 libmemcachedutil2 libmpdec2 libperl5.28 libprocps7 libpython3.7 libpython3.7-minimal libpython3.7-stdlib linux-libc-dev ncal perl-modules-5.28 php-symfony-debug php7.3 php7.3-bcmath php7.3-fpm php7.3-mysql php7.3-pgsql php7.3-soap php8.0-memcached python3-asn1crypto python3-future python3-mock python3-pbr python3.7 python3.7-minimal usb.ids Use 'apt autoremove' to remove them. The following packages will be REMOVED: letsencrypt* 0 upgraded, 0 newly installed, 1 to remove and 5 not upgraded. After this operation, 30.7 kB disk space will be freed. Do you want to continue? [Y/n]
我在 PHP7.3 的末尾,只剩下 1 個腳本在使用它。我不精通 Python。有人可以解釋一下確定電腦不再需要的軟體包列表的邏輯嗎?
apt
跟踪每個包的安裝,是因為它是被顯式請求的,還是因為它是作為依賴項自動引入的。當所有需要它們的軟體包本身都被刪除時,自動安裝的軟體包成為自動刪除的候選者。確定為什麼包在特定環境中變得可自動刪除需要了解系統的歷史;這裡沒有足夠的資訊可以說。
但是,沒有理由驚慌:
apt
告訴您這些軟體包是自動刪除的候選者,而不是它會刪除它們。僅當您要求apt
刪除它們(apt autoremove
例如)時,才會刪除這些包。實際上,如果您確認問題中的命令,則只會letsencrypt
刪除。您可以通過將它們標記為手動安裝來避免這種情況,例如使用
sudo apt-mark manual bsdmainutils