解决Debian系统自动更新软件包的问题的方法
不知从何时开始,我的电脑每天开机连接上网络之后,不断的在下载数据,状态栏显示网速达到每秒1到2兆。开始我还不太在意,不过后来由于带宽全部被这种莫名其奥妙的下载占据了,我连网页都无否正常浏览了,所以我决定解决掉这个问题。下面记录一下解决这个问题的过程。
首先我利用一款名为nethogs的实时网速监控程序查看是哪个进程在占据带宽,发现占据带宽的正是系统的APT包管理工具,我想肯定是系统在执行自动更新。杀掉这个进程后,我便去Google了一下如何关闭APT包管理工具的的自动更新。网上人们提供的解决方案大都一致:修改APT的配置文件。
APT关于自动更新的配置文件位于"/etc/apt/apt.conf.d/20auto-upgrades", 将其中的
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";
更改为
APT::Periodic::Update-Package-Lists "0"; APT::Periodic::Unattended-Upgrade "0";
其中
- APT::Periodic::Update-Package-Lists; 每一天自动运行一次 apt-get update,1 表示启用,0 表示禁用。
- APT::Periodic::Unattended-Upgrade; 每一天运行一次 unattended-upgrade 安全升级脚本,1 表示启用,0 表示禁用。
然而,并无卵用,第二天开机后APT又执行自动更新了,更奇怪的是杀掉APT进程不久之后它会再一次运行。这时我才意识到一件事情,APT是不会自动把自己调入内存运行的,一定是另有进程调用了它。打开进程管理器之后,查看 APT 进程的依赖关系,发现果然它有一个名为 packagekit 的父进程,我查了一下 packagekit 是一个旨在简化Linux发行版安装和更新软件的系统,它为不同的包管理工具提供了统一的前端,你可以在不同的Linux发行版中使用它来管理软件包。
我的系统默认在开机时启动packgekit服务,查看 packagekit 的启动单元:
cat /lib/systemd/system/packagekit.service
[Unit] Description=PackageKit Daemon # PK does not know how to do anything on ostree-managed systems; # currently the design is to have dedicated daemons like # eos-updater and rpm-ostree, and gnome-software talks to those. ConditionPathExists=!/run/ostree-booted [Service] Type=dbus BusName=org.freedesktop.PackageKit User=root ExecStart=/usr/lib/packagekit/packagekitd
系统每次开机时都会启动这个单元,执行 /usr/lib/packagekit/packagekitd 命令,而 packagekit 又将在运行期间调起APT下载需要更新的软件包。
知道了这些问题自然也就解决了,禁用此服务: systemctl disable packagekit.service.
或者干脆删除 /lib/systemd/system/ 目录下的 packagekit.service (当然你也可以把这个文件移动到别的地方去,以后用到时再放回来)
在那之后,系统便再也没有执行过自动更新了。
[附]
nethohs是一个能按进程实时监控网络的命令行工具,它可以动态的展示某一时刻正在进行通信的进程的网络流量信息。
在 Debian/Ubuntu 下,使用apt-get install nethogs 安装它。
或编译安装:
wget -c https://github.com/raboof/nethogs/archive/v0.8.5.tar.gz tar xf v0.8.5.tar.gz cd ./nethogs-0.8.5/ make && make install
如果编译失败需要安装依赖库
apt-get install libncurses5-dev libpcap-dev
使用
root@zsimline$ nethogs NetHogs version 0.8.5-2+b1 PID USER PROGRAM DEV SENT RECEIVED 2181 mxsyx /usr/share/code/code usb0 0.449 0.900 KB/sec 1598 mxsyx /usr/lib/chromium/chromium usb0 0.031 0.018 KB/sec ? root unknown TCP 0.000 0.000 KB/sec TOTAL 0.480 0.917 KB/se
指定网卡
root@zsimline$ nethogs wlan0 # 监听wlan0 root@zsimline$ nethogs -a # 监听所有网卡
指定刷新频率 -d seconds (默认为1)
root@zsimline$ nethogs -d 2
指定刷新次数 -c number (默认不限)
root@zsimline$ nethogs -c 10
交互模式
在进入 nethogs 之后,可以使用如下的交互命令:
q: 退出
s: 按照发送流量排序
r: 按照流量排序
m: 修改网速单位 (KB, B, MB) and KB/s
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
上一篇:linux No space left on device由索引节点(inode)爆满引发500问题
栏 目:Linux/apache
本文地址:https://www.xiuzhanwang.com/a1/Linux_apache/10621.html
您可能感兴趣的文章
- 01-10Linux被中断的系统如何调用详解
- 01-10Linux系统文件的默认权限和特殊权限
- 01-10windows 用VMware创建linux虚拟机安装CentOS7.2操作系统
- 01-10Windows操作系统下Linux虚拟机的安装与配置教程图解
- 01-10通过 SSH 在远程 Linux 系统上运行命令的方法
- 01-10CentOS7系统增加swap的操作方法实例
- 01-10Win10 安装Linux ubuntu-18.04双系统(安装指南)
- 01-10VMware虚拟机安装Linux系统图文教程
- 01-10解决Centos7 安装腾达U12无线网卡驱动问题
- 01-10linux 远程控制windows系统下的程序(三种方法)
阅读排行
本栏相关
- 04-02linux关闭串口命令 关闭linux端口命令
- 04-02linux文件命令重命名 linux重命名文件名
- 04-02linux中jobs命令 shell jobs命令
- 04-02linux命令注入过滤 linux 代码注入
- 04-02linux依次执行命令 linux命令的执行过程
- 04-02linux命令注销vnc linux命令行注销用户
- 04-02linux命令免输入 linux配置免密登录
- 04-02软交换linux命令 软交换网络主要协议
- 04-02linux命令历史记录 linux查看历史记录的
- 04-02linux命令页面 linux命令页面中文
随机阅读
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10SublimeText编译C开发环境设置
- 01-11ajax实现页面的局部加载
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10C#中split用法实例总结
- 01-10delphi制作wav文件的方法
- 04-02jquery与jsp,用jquery
- 01-10使用C语言求解扑克牌的顺子及n个骰子