如何清理 Snap 保留的舊軟體包以釋放磁碟空間 | Linux 中國
這個帶有指令碼的快速指南有助於清理舊的 Snap 軟體包,並釋放 Ubuntu 系統中的一些磁碟空間。
- 來源: http:// linux.cn/article-14904- 1.html
- 作者:Arindam
- 譯者:geekpi
(本文字數:1680,閱讀時長大約:2 分鐘)
這個帶有指令碼的快速指南有助於清理舊的 Snap 軟體包,並釋放 Ubuntu 系統中的一些磁碟空間。
我的 Ubuntu 測試系統中出現磁碟空間不足。因此,我通過 GNOME 的磁碟使用分析器進行調查,以找出哪個軟體包正在消耗寶貴的 SSD 空間。除了通常的快取和主目錄,令我驚訝的是,我發現 Snap 和 Flatpak 消耗了大量的儲存空間。
我始終堅持一個規則:除非必要,否則不要使用 Snap 或 Flatpak。這主要是因為它們的安裝大小和一些其他問題。我更喜歡原生 deb 和 rpm 包。多年來,我在這個測試系統中安裝和移除了一些 Snap 包。
問題出現在解除安裝後。Snap 在系統中保留了一些殘留檔案,而一般使用者不知道。
所以我打開了 Snap 資料夾 /var/lib/snapd/snaps
,發現 Snap 會保留以前安裝/解除安裝的軟體包的舊版本。
例如,在下圖中,你可以看到 GNOME 3.28、3.34 和 Wine 這些都被刪除了。但它們還在那裡。這是因為 Snap 設計上在正確解除安裝後保留已解除安裝軟體包的版本。
或者,你可以在終端中使用:
snap list --all
對於保留的版本數量,預設值為 3。這意味著 Snap 會保留每個軟體包的 3 箇舊版本,包括當前安裝版本。如果你對磁碟空間沒有限制,這是可以的。
但是對於伺服器和其他場景,這很容易遇到成本問題,消耗你的磁碟空間。
不過,你可以使用以下命令輕鬆修改計數。該值可以在 2 到 20 之間。
sudo snap set system refresh.retain=2
清理 Snap 版本
在 SuperUser 的一篇文章中,Canonical 的前工程經理 Popey提供了一個簡單的指令碼 可以清理舊的 Snap 版本並保留最新版本。
這是我們將用來清理 Snap 的指令碼。
#!/bin/bash #Removes old revisions of snaps #CLOSE ALL SNAPS BEFORE RUNNING THIS set -eu LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do snap remove "$snapname" --revision="$revision" done
將上述指令碼以 .sh 格式儲存在目錄中(例如 clean_snap.sh
),賦予其可執行許可權並執行。
chmod +x clean_snap.sh
當我執行指令碼時,它減少了很多磁碟空間。該指令碼還將顯示要刪除的包的名稱。
結束語
關於 Snap 的設計效率如何,人們總是爭論不休。許多人說,它的設計是糟糕的,是臃腫的,且消耗系統資源。該論點的某些部分是正確的,我不會否認。如果正確實施和增強,沙盒應用的整個概念就很棒。我相信,與 Snap 相比,Flatpak 做得更好。
也就是說,我希望這可以幫助你清理一些磁碟空間。儘管它只在 Ubuntu 中進行了測試,但它應該適用於所有支援 Snap 的 Linux 發行版。
此外,請檢視我們關於如何清理 Ubuntu 的指南以及其他步驟。
最後,如果你正在尋找清理 Flatpak 應用,請參閱這個指南。
via: http://www. debugpoint.com/clean-up -snap/
作者:Arindam 選題: lkxed 譯者: geekpi 校對: 校對者ID
本文由 LCTT 原創編譯,Linux中國 榮譽推出
- 偶像市場回溫,這次要如何走向正確的方向?
- Ubuntu 將成為首個支援智慧家居通用標準 Matter 的主要 Linux 發行版
- GNOME 43 釋出,標誌性的版本
- 連你家電器的算力都不放過,新發現Linux惡意軟體用IoT裝置挖礦,大小僅376位元組
- C 學習 ---__libc_open 函式的原理
- 四種快取的避坑總結
- systemd 已可用於 WSL | Linux 中國
- C語言冷知識「小眾,但有用」
- 在 Arch Linux 和其他發行版中使用終端連線到 WiFi | Linux 中國
- wibu證書 - 初探
- vulnhub刷題記錄(hacksudo: L.P.E.)-增1
- 10 款更先進的開源命令列工具,太炫酷了!
- Arch Linux 已從儲存庫中徹底移除 Python 2
- 【精通核心】Linux 核心 rcu(順序) 鎖實現原理與原始碼解析
- 關於 Linux 和 Git 的創造者 Linus Torvalds 的 20 件趣事 | Linux 中國
- Linux 考古筆記
- LWN:針對透明巨頁的shrinker!
- Linux惡意軟體興起:保護開源軟體(OSS)的9個技巧
- 如何使用 KubeSeal 高效加密和管理 Kubernetes 叢集的 Secret
- k8s自動化運維十-磁碟掛載