当前位置: 首页 > Linux

解决Debian系统自动更新软件包问题

时间:2023-04-06 11:37:28 Linux

不知道什么时候启动的。我的电脑每天上网后,都在不停地下载数据,状态栏显示网速达到每秒1到2兆。一开始没怎么在意,后来因为带宽都被这个莫名其妙的下载占用了,连正常浏览网页都不能,于是决定解决这个问题。下面记录解决这个问题的过程。  首先,我用一个叫nethogs的实时网速监控程序查看是哪个进程占用了带宽,发现是系统的APT包管理工具占用了带宽。我认为系统必须执行自动更新。kill掉这个进程后,又去谷歌了下,看如何关闭APT包管理工具的自动更新。网上大家提供的解决方案大多都是一样的:修改APT的配置文件。APT的自动更新配置文件位于“/etc/apt/apt.conf.d/20auto-upgrades”,其中APT::Periodic::Update-Package-Lists"1";APT::Periodic::Unattended-升级“1”;更改为APT::Periodic::Update-Package-Lists“0”;APT::Periodic::无人值守升级“0”;其中APT::Periodic::Update-Package-Lists;每天自动运行一次apt-getupdate,1表示启用,0表示禁用。APT::Periodic::无人值守升级;每天运行一次unattended-upgrade安全升级脚本,1表示启用,0表示禁用。  然而并没有用,第二天开机APT就进行了自动更新,更奇怪的是杀掉APT进程后不久又运行了。这时我才意识到一件事,APT不会自动调入内存运行,它必须被另一个进程调用。打开进程管理器后,查看APT进程的依赖,发现它有一个父进程packagekit。我查了一下packagekit是一个旨在简化Linux发行版软件安装和更新的系统。它提供了不同的包管理工具,提供了一个统一的前端,你可以跨不同的Linux发行版使用它来管理包。  我的系统开机默认启动packagekit服务,查看packagekit启动单元:cat/lib/systemd/system/packagekit.service[Unit]Description=PackageKitDaemon#PK不知道怎么在ostree上做任何事-托管系统;#目前的设计是拥有像#eos-updater和rpm-ostree这样的专用守护进程,gnome-software会与这些守护进程对话。ConditionPathExists=!/run/ostree-booted[Service]Type=dbusBusName=org.freedesktop。PackageKitUser=rootExecStart=/usr/lib/packagekit/packagekitd每次开机都会启动这个单元,执行命令/usr/lib/packagekit/packagekitd,packagekit会调用APT下载软件包需要在运行期间更新。  知道这些问题自然就解决了,禁用这个服务:systemctldisablepackagekit.service.  或者干脆删除/lib/systemd/system/目录下的packagekit.service(当然你也可以把这个文件把它移到另一个地方,以后需要的时候再放回去)  之后,系统再也没有进行过自动更新。  [附]nethos是一个命令行工具,可以按进程实时监控网络。它可以动态显示某一时刻正在通信的进程的网络流量信息。在Debian/Ubuntu下,使用apt-getinstallnethogs安装。或者编译安装:wget-chttps://github.com/raboof/nethogs/archive/v0.8.5.tar.gztarxfv0.8.5.tar.gzcd./nethogs-0.8.5/make&&makeinstallif编译失败需要安装依赖库apt-getinstalllibncurses5-devlibpcap-devuseroot@zsimline$nethogsNetHogsversion0.8.5-2+b1PIDUSERPROGRAMDEVSENTRECEIVED2181mxsyx/usr/share/code/codeusb00.4490.900KB/sec1598mxsyx/usr/lib/chromium/chromiumusb00.0310.018KB/秒?rootunknownTCP0.0000.000KB/secTOTAL0.4800.917KB/se指定网卡root@zsimline$nethogswlan0#monitorwlan0root@zsimlinea$-#nethog指定所有网卡的刷新频率-dseconds(defaultis1)root@zsimline$nethogs-d2指定刷新次数-c次数(默认无限制)root@zsimline$nethogs-c10交互模式进入nethogs后,可以使用如下交互命令:q:exits:sortbytrafficsentr:sortbytrafficm:修改网速单位(KB、B、MB)和KB/s