您好,登錄后才能下訂單哦!
這篇文章主要介紹“Debian系統自動更新軟件包問題如何解決”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Debian系統自動更新軟件包問題如何解決”文章能幫助大家解決問題。
首先我利用一款名為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 (當然你也可以把這個文件移動到別的地方去,以后用到時再放回來)
在那之后,系統便再也沒有執行過自動更新了。
[附]
是一個能按進程實時監控網絡的命令行工具,它可以動態的展示某一時刻正在進行通信的進程的網絡流量信息。
在 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
關于“Debian系統自動更新軟件包問題如何解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。