溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決Debian系統(tǒng)自動更新軟件包的問題

發(fā)布時間:2021-07-30 09:50:39 來源:億速云 閱讀:271 作者:小新 欄目:服務(wù)器

這篇文章將為大家詳細(xì)講解有關(guān)如何解決Debian系統(tǒng)自動更新軟件包的問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

不知從何時開始,我的電腦每天開機(jī)連接上網(wǎng)絡(luò)之后,不斷的在下載數(shù)據(jù),狀態(tài)欄顯示網(wǎng)速達(dá)到每秒1到2兆。開始我還不太在意,不過后來由于帶寬全部被這種莫名其奧妙的下載占據(jù)了,我連網(wǎng)頁都無否正常瀏覽了,所以我決定解決掉這個問題。下面記錄一下解決這個問題的過程。

首先我利用一款名為nethogs的實時網(wǎng)速監(jiān)控程序查看是哪個進(jìn)程在占據(jù)帶寬,發(fā)現(xiàn)占據(jù)帶寬的正是系統(tǒng)的APT包管理工具,我想肯定是系統(tǒng)在執(zhí)行自動更新。殺掉這個進(jìn)程后,我便去Google了一下如何關(guān)閉APT包管理工具的的自動更新。網(wǎng)上人們提供的解決方案大都一致:修改APT的配置文件。

APT關(guān)于自動更新的配置文件位于"/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 表示禁用。

然而,并無卵用,第二天開機(jī)后APT又執(zhí)行自動更新了,更奇怪的是殺掉APT進(jìn)程不久之后它會再一次運行。這時我才意識到一件事情,APT是不會自動把自己調(diào)入內(nèi)存運行的,一定是另有進(jìn)程調(diào)用了它。打開進(jìn)程管理器之后,查看 APT 進(jìn)程的依賴關(guān)系,發(fā)現(xiàn)果然它有一個名為 packagekit 的父進(jìn)程,我查了一下 packagekit 是一個旨在簡化Linux發(fā)行版安裝和更新軟件的系統(tǒng),它為不同的包管理工具提供了統(tǒng)一的前端,你可以在不同的Linux發(fā)行版中使用它來管理軟件包。

我的系統(tǒng)默認(rèn)在開機(jī)時啟動packgekit服務(wù),查看 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

系統(tǒng)每次開機(jī)時都會啟動這個單元,執(zhí)行 /usr/lib/packagekit/packagekitd 命令,而 packagekit 又將在運行期間調(diào)起APT下載需要更新的軟件包。

知道了這些問題自然也就解決了,禁用此服務(wù): systemctl disable packagekit.service.

或者干脆刪除 /lib/systemd/system/ 目錄下的 packagekit.service (當(dāng)然你也可以把這個文件移動到別的地方去,以后用到時再放回來)

在那之后,系統(tǒng)便再也沒有執(zhí)行過自動更新了。

[附]

nethohs是一個能按進(jìn)程實時監(jiān)控網(wǎng)絡(luò)的命令行工具,它可以動態(tài)的展示某一時刻正在進(jìn)行通信的進(jìn)程的網(wǎng)絡(luò)流量信息。
在 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

指定網(wǎng)卡

root@zsimline$ nethogs wlan0 # 監(jiān)聽wlan0
root@zsimline$ nethogs -a  # 監(jiān)聽所有網(wǎng)卡

指定刷新頻率 -d seconds (默認(rèn)為1)

root@zsimline$ nethogs -d 2

指定刷新次數(shù) -c number (默認(rèn)不限)

root@zsimline$ nethogs -c 10

交互模式

在進(jìn)入 nethogs 之后,可以使用如下的交互命令:

q: 退出
s: 按照發(fā)送流量排序
r: 按照流量排序
m: 修改網(wǎng)速單位 (KB, B, MB) and KB/s

關(guān)于“如何解決Debian系統(tǒng)自動更新軟件包的問題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI