偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何在 Linux 中清理 Snap 包的版本

系統(tǒng) Linux
Snap 軟件包其中一個(gè)缺點(diǎn)是,Snap 包通常體積較大,占用大量的磁盤(pán)空間。如果你的磁盤(pán)空間不夠用,特別是在根分區(qū)上,這可能是一個(gè)問(wèn)題。

Snap 軟件包并不是每個(gè)人都喜歡的,但它們是 Ubuntu 生態(tài)系統(tǒng)中不可或缺的一部分。

它有其優(yōu)點(diǎn)和缺點(diǎn)。其中一個(gè)缺點(diǎn)是,Snap 包通常體積較大,占用大量的磁盤(pán)空間。如果你的磁盤(pán)空間不夠用,特別是在根分區(qū)上,這可能是一個(gè)問(wèn)題。

讓我分享一個(gè)巧妙的技巧,你可以用它來(lái)減少 Snap 包使用的磁盤(pán)空間。

清理舊的 Snap 包版本以釋放磁盤(pán)空間

與 snap 有關(guān)的系統(tǒng)文件都存放在 /var/lib/snapd 目錄下。根據(jù)你所安裝的 Snap 包的數(shù)量,這個(gè)目錄的大小可能在幾 GB。不要只聽(tīng)我的一面之詞。通過(guò) 使用 du 命令檢查目錄大小 來(lái)進(jìn)行評(píng)估。

$ sudo du -sh /var/lib/snapd
5.4G /var/lib/snapd

你也可以使用磁盤(pán)使用分析器這個(gè) GUI 工具來(lái)查看 ??Ubuntu 的磁盤(pán)使用情況??。

Snap disk usage

這可真夠多的,對(duì)吧?你可以在這里騰出一些磁盤(pán)空間。根據(jù)設(shè)計(jì),Snap 至少會(huì)在你的系統(tǒng)上保留一個(gè)你所安裝的軟件包的舊版本。你可以通過(guò)使用 Snap 命令看到這種行為:

snap list --all

你應(yīng)該看到同一個(gè)軟件包被列了兩次,而且版本和修訂號(hào)都不同。

Snap keeps at least two versions of each package

為了釋放磁盤(pán)空間,你可以刪除額外的軟件包版本。你怎么知道要?jiǎng)h除哪一個(gè)呢?你可以看到,這些較舊的軟件包被標(biāo)記為“禁用”。

不要擔(dān)心。你不需要手動(dòng)操作。由于 Alan Pope 在 Snapcraft 團(tuán)隊(duì)工作時(shí)寫(xiě)的一個(gè)靈巧的 bash 腳本,有一種自動(dòng)的方法可以做到。

我希望你知道 如何創(chuàng)建和運(yùn)行 bash shell 腳本?;旧?,創(chuàng)建一個(gè)名為 clean-snap.sh 的新文件,并在其中添加以下幾行。

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
snap remove "$snapname" --revision="$revision"
done

保存它并關(guān)閉編輯器。要運(yùn)行這個(gè)腳本,把它放在你的主目錄中,然后 在 Ubuntu 中打開(kāi)終端,運(yùn)行這個(gè)命令:

sudo bash clean-snap.sh

你可以看到,它開(kāi)始刪除舊版本的軟件包。

Removing old snap package versions如果你現(xiàn)在檢查 Snap 使用的磁盤(pán)空間,你會(huì)發(fā)現(xiàn)現(xiàn)在的目錄大小已經(jīng)減少了。

$ sudo du -sh /var/lib/snapd
3.9G /var/lib/snapd

如果這對(duì)你有用,你可以偶爾運(yùn)行這個(gè)命令。

這個(gè)腳本是如何工作的?

如果你對(duì)這個(gè)腳本的作用感到好奇,讓我來(lái)解釋一下。

你已經(jīng)看到了 snap list -all 命令的輸出。它的輸出被傳遞給 awk 命令。Awk 是一個(gè)強(qiáng)大的腳本工具。

awk '/disabled/{print $1, $3}' 部分在每一行中尋找字符串 disabled,如果找到它,它將提取第一列和第三列。

這個(gè)輸出被進(jìn)一步傳遞給 while 和 read 命令的組合。讀取命令獲取第一列的 Snap 包名和第三列的修訂號(hào)變量。

然后,這些變量被用來(lái)運(yùn)行 snap remove 命令,用 Snap 包名和它的修訂號(hào)來(lái)刪除。

只要發(fā)現(xiàn)有包含 disabled 字符串的行,就會(huì)運(yùn)行 while 循環(huán)。

你拿回了你的空間了嗎?

你可能會(huì)看到一些論壇建議將 Snap 軟件包的保留值設(shè)置為 2。

sudo snap set system refresh.retain=2

我認(rèn)為現(xiàn)在不需要了。現(xiàn)在 Snap 的默認(rèn)行為是為任何軟件包保存兩個(gè)版本。

總而言之,如果你的空間不夠用,擺脫額外的軟件包版本肯定是 釋放 Ubuntu 磁盤(pán)空間的方法 之一。

責(zé)任編輯:趙寧寧 來(lái)源: Linux中國(guó)
相關(guān)推薦

2022-10-21 10:31:36

Arch LinuxSnap

2022-11-06 19:34:53

UbuntuLinux

2022-08-07 12:17:21

Snap磁盤(pán)

2011-05-04 09:11:30

RPM包Linux

2019-08-19 09:19:02

LinuxVimUbuntu

2019-08-19 11:20:33

Linux軟件包命令

2022-05-09 10:51:26

Snap軟件包Ubuntu

2023-01-03 15:53:00

LinuxFlatpak軟件包

2023-01-02 11:34:04

LinuxFlatpak軟件包

2018-06-11 08:50:46

LinuxArch Linux降級(jí)軟件包

2018-10-15 11:00:28

Linux軟件包命令

2023-11-12 22:03:25

CanonicalLinuxSnap

2022-11-13 19:46:49

Ubuntu

2022-06-26 18:23:07

Ubuntu軟件包

2015-04-01 13:51:49

2017-03-21 11:42:29

Linux安裝Python 3.6

2024-01-29 10:28:46

SnapSteam

2015-04-02 11:37:54

2017-04-08 19:45:27

Linux命令安裝

2018-07-10 08:59:07

LinuxArch Linux軟件包
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)