You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

apt-get purge --autoremove卸载后残留文件无法删除的问题咨询

apt-get purge --autoremove卸载后残留文件无法删除的问题咨询

嘿,我来帮你捋捋这个问题~

首先你别担心,不是你用错了命令,这其实是dpkg和apt的设计逻辑导致的正常现象,我给你拆解下原因和解决办法:

为什么会出现“目录非空无法删除”的警告?

dpkg在卸载软件包时,只会删除这个包自己创建的空目录。如果目录里还有其他文件——可能是其他软件包安装的,或者你手动添加的内容——它就会保留这个目录,避免误删其他软件依赖的关键文件。比如你看到的字体相关目录,大概率是还有其他依赖这些字体包的软件没卸载,或者目录里混入了其他包的文件。

怎么处理这些残留目录和未被移除的包?

给你几个实用步骤:

  1. 先搞清楚残留文件属于哪个包
    针对那些非空目录,先查询里面的文件归属,比如查/usr/share/fonts/type1/urw-base35里的文件:

    dpkg -S /usr/share/fonts/type1/urw-base35/*
    

    这样就能知道这些文件是不是被其他软件包安装的,如果是,你得先确认那些包是不是还需要保留。

  2. 确认依赖关系后再处理未移除的包
    对于autoremove没删掉的包,先查看它们的依赖情况,比如以fonts-urw-base35为例:

    apt-cache rdepends fonts-urw-base35
    

    如果输出里没有你还在使用的软件,那你可以手动再次尝试卸载:

    sudo apt purge --autoremove fonts-urw-base35
    

    要是还是删不掉目录,确认完全没用的话,可以手动删除(谨慎操作):

    sudo rm -rf /usr/share/fonts/type1/urw-base35 /usr/share/fonts/opentype/urw-base35
    
  3. 清理dpkg残留配置(慎用)
    如果还有顽固的残留配置,可以试试这个命令,但--force-all可能会引发依赖问题,只在你确认这个包完全没用的时候用:

    sudo dpkg --purge --force-all <package-name>
    

你遇到的具体错误信息参考:

dpkg: warning: while removing fonts-urw-base35, directory '/usr/share/fonts/type1/urw-base35' not empty so not remove

dpkg: warning: while removing fonts-urw-base35, directory '/usr/share/fonts/opentype/urw-base35' not empty so not rem

Purging configuration files for poppler-data (0.4.11-1) ...

dpkg: warning: while removing poppler-data, directory '/usr/share/poppler/cMap/Adobe-Korea1' not empty so not removed

dpkg: warning: while removing poppler-data, directory '/usr/share/poppler/cMap/Adobe-Japan2' not empty so not removed

dpkg: warning: while removing poppler-data, directory '/usr/share/poppler/cMap/Adobe-Japan1' not empty so not removed

dpkg: warning: while removing poppler-data, directory '/usr/share/poppler/cMap/Adobe-GB1' not empty so not removed

dpkg: warning: while removing poppler-data, directory '/usr/share/poppler/cMap/Adobe-CNS1' not empty so not removed

dpkg: warning: while removing poppler-data, directory '/usr/share/fonts/cmap' not empty so not removed

dpkg: warning: while removing poppler-data, directory '/usr/share/fonts/cMap' not empty so not removed

Purging configuration files for gsfonts (1:8.11+urwcyr1.0.7~pre44-4.5) ...

dpkg: warning: while removing gsfonts, directory '/usr/share/fonts/type1/gsfonts' not empty so not removed

dpkg: warning: while removing fonts-noto-mono, directory '/usr/share/fonts/truetype/noto' not empty so not removed

Purging configuration files for fonts-droid-fallback (1:6.0.1r16-1.1build1) ...

dpkg: warning: while removing fonts-droid-fallback, directory '/usr/share/fonts/truetype/droid' not empty so not removed

备注:内容来源于stack exchange,提问作者ubudoge

火山引擎 最新活动