Ubuntu卸载snap

2024-05-08 22:04
文章标签 ubuntu 卸载 snap

本文主要是介绍Ubuntu卸载snap,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ubuntu卸载snap

文章目录

  • Ubuntu卸载snap
  • 1.打开终端,输入`snap list`,查看已安装的软件
  • 2.停止snapd服务
  • 3.依次移除snap安装的软件
  • 4.完全清除 snapd
  • 5.删除缓存目录(如有)
  • 6.防止apt update自动安装snap
  • 7.一键ubuntu卸载snap脚本

最近由于复现实验新装了Ubuntu20.04,发现后台中snapd进程占用高。snap是Canonical公司推出的一款软件管理工具,在20.04以及之后版本Ubuntu中都有预装,但因其难用,资源占用高被广为诟病,特搜索整理资料将其卸载。

1.打开终端,输入snap list,查看已安装的软件

root@ubuntu2204:~# snap list
Name    Version        Rev    Tracking       Publisher   Notes
core20  20230622       1974   latest/stable  canonical✓  base
lxd     5.0.2-838e1b2  24322  5.0/stable/…   canonical✓  -
snapd   2.59.5         19457  latest/stable  canonical✓  snapd

2.停止snapd服务

root@ubuntu2204:~# systemctl disable snapd.service && systemctl disable snapd.socket && systemctl disable snapd.seeded.service

3.依次移除snap安装的软件

运行 sudo snap remove --purge lxd 等命令依次删除前面列表中的各个软件,需要注意的是在上述列表notes列表明是base的表示是其他软件的依赖项,需要放在最后面删除。比如上图中的core20等等

root@ubuntu2204:~# vi remove_snap_package.sh
#!/bin/bash
sum=$(snap list | awk 'NR>=2{print $1}' | wc -l)
while [ $sum -ne 0 ];dofor p in $(snap list | awk 'NR>=2{print $1}') ;dosnap remove --purge $pdonesum=$(snap list | awk 'NR>=2{print $1}' | wc -l)
doneroot@ubuntu2204:~# bash remove_snap_package.sh
# 提示如下,表明已经删除干净:
No snaps are installed yet. Try 'snap install hello-world'.

4.完全清除 snapd

root@ubuntu2204:~# apt -y autoremove --purge snapd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:snapd* squashfs-tools* ubuntu-server-minimal*
0 upgraded, 0 newly installed, 3 to remove and 33 not upgraded.
After this operation, 103 MB disk space will be freed.
(Reading database ... 74127 files and directories currently installed.)
Removing ubuntu-server-minimal (1.481.1) ...
Removing snapd (2.58+22.04.1) ...
Warning: Stopping snapd.service, but it can still be activated by:snapd.socket
Removing squashfs-tools (1:4.5-3build1) ...
Processing triggers for dbus (1.12.20-2ubuntu4.1) ...
Processing triggers for man-db (2.10.2-1) ...
(Reading database ... 74018 files and directories currently installed.)
Purging configuration files for snapd (2.58+22.04.1) ...
rmdir: failed to remove '/etc/systemd/system/snapd.mounts.target.wants': No such file or directory
Discarding preserved snap namespaces
Final directory cleanup
Removing extra snap-confine apparmor rules
Removing snapd cache
Removing snapd state

5.删除缓存目录(如有)

root@ubuntu2204:~# rm -rf ~/snap && sudo rm -rf /snap && rm -rf /var/snap && rm -rf /var/lib/snapd && rm -rf /var/cache/snapd

6.防止apt update自动安装snap

即使使用以上命令移除了 Snap 软件包,但如果没有关闭 apt 触发器,sudo apt update命令会再一次将 Snap 安装回来。

要关闭它,需要在/etc/apt/preferences.d/目录下创建一个 apt 设置文件nosnap.pref来阻止 Snap 服务自动下载

运行命令vi /etc/apt/preferences.d/nosnap.pref,打开编辑器,输入以下内容并保存文件

root@ubuntu2004:~# cat > /etc/apt/preferences.d/no-snapd.pref << EOF
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOF

文件保存后运行sudo apt update 即可。

root@ubuntu2204:~# apt update

7.一键ubuntu卸载snap脚本

Shell脚本源码地址:

Gitee:https://gitee.com/raymond9/shell
Github:https://github.com/raymond999999/shell

可以去上面的Gitee或Github代码仓库拉取脚本。

root@ubuntu2204:~# cat remove_snap.sh 
#!/bin/bash
#
#***************************************************************************************************
#Author:        Raymond
#QQ:            88563128
#Date:          2024-05-06
#FileName:      remove_snap.sh
#MIRROR:        raymond.blog.csdn.net
#Description:   remove_snap for Ubuntu 20.04/22.04
#Copyright (C): 2024 All rights reserved
#***************************************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'ubuntu_remove_snap(){dpkg -s snapd &> /dev/null || { ${COLOR}"snap已卸载!"${END};exit; }systemctl disable snapd.service && systemctl disable snapd.socket && systemctl disable snapd.seeded.servicesum=$(snap list | awk 'NR>=2{print $1}' | wc -l)while [ $sum -ne 0 ];dofor p in $(snap list | awk 'NR>=2{print $1}'); dosnap remove --purge $pdonesum=$(snap list | awk 'NR>=2{print $1}' | wc -l)doneapt -y autoremove --purge snapdrm -rf ~/snap && sudo rm -rf /snap && rm -rf /var/snap && rm -rf /var/lib/snapd && rm -rf /var/cache/snapdcat > /etc/apt/preferences.d/no-snapd.pref << EOF
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOFapt update
}main(){ubuntu_remove_snap
}

这篇关于Ubuntu卸载snap的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/971562

相关文章

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.