当我运行snap list --all命令时,它会显示所有已安装的snap包版本。
Name Version Rev Tracking Developer Notes
atom 1.26.1 150 stable snapcrafters classic
brave v0.22.669dev 23 stable brave -
core 16-2.32.6 4571 stable canonical core
core 16-2.32.5 4486 stable canonical core,disabled
firefox 59.0.2-1 71 stable mozilla disabled
firefox 60.0-2 85 stable mozilla -
gimp 2.10.0 38 stable snapcrafters disabled
gimp 2.10.0 39 stable snapcrafters -
gimp 2.8.22 30 stable snapcrafters disabled
gnome-3-26-1604 3.26.0 64 stable/… canonical -
gnome-3-26-1604 3.26.0 62 stable/… canonical disabled
gnome-characters 3.28.0 86 stable/… canonical -
gnome-characters 3.26.2 69 stable/… canonical disabled
gnome-logs 3.26.2 25 stable/… canonical disabled
gnome-logs 3.28.0 31 stable/… canonical -
gnome-system-monitor 3.26.0 36 stable/… canonical disabled
gnome-system-monitor 3.26.0 39 stable/… canonical -
libreoffice 6.0.3.2 59 stable canonical disabled
libreoffice 6.0.4.2 63 stable canonical -现在有那么多的残疾人包已经不再使用了。所以我想移除那些包裹。这里的命令是snap remove gnome-3-26-1604 --revision=62。现在,我必须为所有的修订和所有的软件包一个一个地做。是否有任何命令将删除禁用或未使用的snap包的单行命令?
提前谢谢..。
发布于 2020-01-05 02:22:09
在看到迈克的纸条关于这些脚本因输出列数的变化而在不同版本之间中断之后,我去查看是否有任何机器可读的绑定到这些内容。
我发现的是快照的REST。
与snap list --all等价的是
curl --silent --show-error \
--get --data select=all \
--unix-socket /run/snapd.socket \
http://localhost/v2/snaps它返回JSON。若要将其过滤为非活动包并将其转到snap remove命令列表中,可以使用jq:
jq --raw-output '
.result[] |
select(.status != "active") |
"snap remove --revision=\(.revision|@sh) \(.name|@sh)"
'从技术上讲,您可以在一行上运行所有这些(我插入的空格是为了提高可读性),但它非常少,所以我用一个脚本包装了它:remove-disabled-snaps.sh
发布于 2018-05-25 08:18:18
清除/删除旧的/禁用的快照的功能以前已经是讨论,但还没有实现。同时,不幸的是,这是一个手动的过程。
发布于 2023-04-25 07:08:00
我刚做了这个:
通常,输出在一列中。只需找到&替换,重复用单个空格替换双空格,直到只剩下一个空格。
sudo snap remove和--revision的列
https://askubuntu.com/questions/1036633
复制相似问题