我最近一直在阅读关于删除软件包和依赖项的许多问题/答案/意见。有很多不同的方法可以做到这一点,有些过于复杂,有些则不够完整。我想在这里问问其他人认为最好的方法是如何清理软件包以及包括配置文件、依赖项和依赖项的配置文件在内的所有内容。我也会提供我的方法,这是通过大量试错和抓狂得出的。
从桌面注销并按下Ctrl+Alt+F1,然后登录到TTY1并运行以下命令:
sudo apt-get purge <PACKAGENAME>
sudo apt-get purge $(apt-cache depends <PACKAGENAME> | awk '{ print $2 }' | tr '\n' ' ')
sudo apt-get autoremove
sudo apt-get update
sudo apt-get check
sudo apt-get -f install
sudo apt-get autoclean
如果需要的话,重新启动
sudo shutdown -r now
sudo apt-get --purge autoremove PACKAGENAME
sudo apt-get update
sudo apt-get check
sudo apt-get -f install
sudo apt-get autoclean
aptitude purge
来做这件事:sudo aptitude purge <PACKAGENAME>
autoremove
可能是你想要的。
举个例子,使用remove
命令时,只会删除一个软件包:
$ sudo apt remove nvidia-cuda-toolkit
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
g++-8 javascript-common libaccinj64-10.1 libcublas10 libcublaslt10 libcudart10.1 libcufft10 libcufftw10 libcuinj64-10.1 libcupti-dev libcupti-doc libcupti10.1 libcurand10 libcusolver10 libcusolvermg10
libcusparse10 libegl-dev libgl-dev libgl1-mesa-dev libgles-dev libgles1 libglvnd-dev libglx-dev libjs-jquery libjs-underscore libncurses5 libnppc10 libnppial10 libnppicc10 libnppicom10 libnppidei10
libnppif10 libnppig10 libnppim10 libnppist10 libnppisu10 libnppitc10 libnpps10 libnvblas10 libnvgraph10 libnvidia-common-510 libnvidia-ml-dev libnvjpeg10 libnvrtc10.1 libnvtoolsext1 libnvvm3 libopengl-dev
libpthread-stubs0-dev libstdc++-8-dev libthrust-dev libvdpau-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev node-html5shiv nsight-compute nsight-systems nvidia-cuda-dev nvidia-cuda-doc nvidia-cuda-gdb
nvidia-opencl-dev nvidia-profiler nvidia-visual-profiler ocl-icd-libopencl1 ocl-icd-opencl-dev opencl-c-headers openjdk-8-jre x11proto-core-dev x11proto-dev xorg-sgml-doctools xtrans-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
nvidia-cuda-toolkit
0 upgraded, 0 newly installed, 1 to remove and 95 not upgraded.
After this operation, 67.1 MB disk space will be freed.
autoremote
:$ sudo apt autoremove nvidia-cuda-toolkit
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
g++-8 javascript-common libaccinj64-10.1 libcublas10 libcublaslt10 libcudart10.1 libcufft10 libcufftw10 libcuinj64-10.1 libcupti-dev libcupti-doc libcupti10.1 libcurand10 libcusolver10 libcusolvermg10
libcusparse10 libegl-dev libgl-dev libgl1-mesa-dev libgles-dev libgles1 libglvnd-dev libglx-dev libjs-jquery libjs-underscore libncurses5 libnppc10 libnppial10 libnppicc10 libnppicom10 libnppidei10
libnppif10 libnppig10 libnppim10 libnppist10 libnppisu10 libnppitc10 libnpps10 libnvblas10 libnvgraph10 libnvidia-common-510 libnvidia-ml-dev libnvjpeg10 libnvrtc10.1 libnvtoolsext1 libnvvm3 libopengl-dev
libpthread-stubs0-dev libstdc++-8-dev libthrust-dev libvdpau-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev node-html5shiv nsight-compute nsight-systems nvidia-cuda-dev nvidia-cuda-doc nvidia-cuda-gdb
nvidia-cuda-toolkit nvidia-opencl-dev nvidia-profiler nvidia-visual-profiler ocl-icd-libopencl1 ocl-icd-opencl-dev opencl-c-headers openjdk-8-jre x11proto-core-dev x11proto-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 0 newly installed, 73 to remove and 95 not upgraded.
After this operation, 3,654 MB disk space will be freed.
purge
命令而不仅仅是remove
以及autoremove
命令行选项旁边的--purge
。这样一来,所有东西都应该被彻底删除。当然,软件包维护者必须确保这一点... - Alexis Wilkesudo apt-get -s purge <PKG> | grep '^ ' | tr -d '*' | xargs -o sudo apt-get purge
apt-get purge `apt-get -s purge <PKG> | grep '^ ' | tr -d '*'`
awk '{ print $2 }' | tr '\n' ' ' )
" 之外的所有内容。你能详细解释一下这两个管道符号的作用吗? - TrailRiderdepends
的时候没有检查其他软件包是否也依赖于它们吗? - steeldriver