Ubuntu

Ubuntu如何彻底卸载软件包?

apt-get的卸载相关的命令有remove/purge/autoremove/clean/autoclean等。具体来说:

apt-get purge / apt-get --purge remove

删除已安装包(不保留配置文件)。
如软件包a,依赖软件包b,则执行该命令会删除a,而且不保留配置文件

apt-get autoremove

删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件。

apt-get remove

删除已安装的软件包(保留配置文件),不会删除依赖软件包,且保留配置文件。

apt-get autoclean

APT的底层包是dpkg, 而dpkg 安装Package时, 会将 *.deb 放在 /var/cache/apt/archives/中,apt-get autoclean 只会删除 /var/cache/apt/archives/ 已经过期的deb。

apt-get clean

使用 apt-get clean 会将 /var/cache/apt/archives/ 的 所有 deb 删掉,可以理解为 rm /var/cache/apt/archives/*.deb

那么如何彻底卸载软件呢?
具体来说可以运行如下命令:

# 删除软件及其配置文件
apt-get --purge remove <package>
# 删除没用的依赖包
apt-get autoremove <package>
# 此时dpkg的列表中有“rc”状态的软件包,可以执行如下命令做最后清理:
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

当然如果要删除暂存的软件安装包,也可以再使用clean命令。

原文链接:https://blog.csdn.net/get_set/article/details/51276609

阅读更多Ubuntu如何彻底卸载软件包?

一次WordPress未关闭评论导致的sendmail产生大量日志清理过程

有个站群服务器,Ubuntu 20.04,使用的HDD硬盘,最近一直磁盘IO跑满,原因未知,于是一点点排查,发现这么个问题。

正常站点建立后同步安装Disable comments插件用于关闭全站评论,在面板的网站统计中发现部分站点的UV/PV很低,但网站总请求非常高。

进一步发现这部分站点的Disable comments插件处于未启用的状态,基本每个站点都有不低于20万的待审核评论,怀疑是通过Wordpress的xml-rpc 或者 rest api形式提交的批量评论。

于是先启用Disable comments插件,并在插件里关闭 xml-rpc和rest api并清理了所有垃圾评论,这个功能要更新到2.0以后才有。

以为这样子就结束,但是并没有,因为Wordpress默认是有邮件通知的!!!

在清理服务器垃圾文件时,发现 /var/spool/mqueue-client 目录下发现几百万条日志文件,看起来应该是和sendmail相关,文件内容都是如图:

一次Wordpress未关闭评论导致的sendmail产生大量日志清理过程 1

可以看出是Wordpress的新评论邮件通知,也不清楚能不能直接删除目录,于是切换到这个目录后,使用 ls搭配xargs删除文件

cd  /var/spool/mqueue-client
ls|xargs rm -f

同时,/var/spool/mqueue 目录下也有部分文件一并清理。

顺便把 sendmail也删除了,反正也用不上。

apt autoremove sendmail-*

但是这并没有解决我的磁盘高IO的问题,使用 iotop -oP 查看发现有个 jbd2/sda4-8 进程长期99%的IO,找了一圈也没有解决办法,这可如何是好,换SSD吗?

更新:2小时测试下来,IO下降很多,但top查看 wa值还是经常偏高。

阅读更多一次WordPress未关闭评论导致的sendmail产生大量日志清理过程