如何卸载快照?

Goo*_*bot 12 chromium apparmor snap 20.04

我使用 Ubuntu 12 年了,snap在最近的 Ubuntu 版本中真的很丢人。它会产生很多问题。升级后,Chromium 不启动并显示以下错误:

chromium_chromium.desktop[122932]: snap-confine has elevated permissions and is not confined but should be. Refusing to continue to avoid permission escalation attacks: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

如果包在新版本中更改了配置,则它有责任使其工作。现在,我必须在每次启动后重新配置它

sudo apparmor_parser -r /etc/apparmor.d/*snap-confine*
Run Code Online (Sandbox Code Playgroud)

如何完全卸载 snap 并定期重新安装其软件包apt

我处理的包不多snap

snap list
Name               Version             Rev   Tracking         Publisher   Notes
chromium           85.0.4183.121       1328  latest/stable    canonical?  -
core18             20200724            1885  latest/stable    canonical?  base
gnome-3-34-1804    0+git.3556cb3       60    latest/stable    canonical?  -
gtk-common-themes  0.1-36-gc75f853     1506  latest/stable    canonical?  -
snap-store         3.36.0-80-g208fd61  467   latest/stable/…  canonical?  -
snapd              2.46.1              9279  latest/stable    canonical?  snapd
Run Code Online (Sandbox Code Playgroud)

我的问题是如何安全地删除snap. 从snap list,我看gnome取决于snap

Lor*_*eel 21

在 Ubuntu 20.04 LTS 和 Ubuntu 20.10 中,我删除了snapd以下步骤:

# stop snapd services
sudo systemctl stop snapd && sudo systemctl disable snapd
# purge snapd
sudo apt purge snapd
# remove no longer needed folders
rm -rf ~/snap
sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd /usr/lib/snapd
Run Code Online (Sandbox Code Playgroud)

然后,为了避免其他应用程序可能会重新安装它(即使通过 安装也会chromium-browser恢复的应用程序示例),您可以通过发出以下命令来创建文件:snapdaptno-snap.pref

sudo -H gedit /etc/apt/preferences.d/no-snap.pref

然后复制其中的以下内容:

# To install snapd, specify its version with 'apt install snapd=VERSION'
# where VERSION is the version of the snapd package you want to install.
Package: snapd
Pin: release a=*
Pin-Priority: -10
Run Code Online (Sandbox Code Playgroud)

  • 太棒了,谢谢。我已将其写入脚本中:https://github.com/BryanDollery/remove-snap (3认同)

Nei*_*ilG 10

完全归功于 Don Prince 通过此链接提供的全面有效的解决方案

我建议您单独运行这些命令。有些您不需要,有些您可能需要一两行额外的行。

运行注释中列出的探索性信息命令来确定安装中的具体情况。

还安装 Deb 打包的最后一个已知的 Chromium 并将其固定以防止 snapd 将来再次接管。惊人的!谢谢唐!

#!/bin/bash

# probably best to manually type this commands individually checking for problems
 
# snap list | grep -v "^Name" | awk {'print "sudo snap remove " $1'}
 
sudo snap remove snap-store
sudo snap remove gtk-common-themes
sudo snap remove gnome-3-28-1804
sudo snap remove gnome-3-34-1804
sudo snap remove core18
sudo snap remove snapd
snap list # expect: No snaps are installed yet. Try 'snap install hello-world'.
 
sudo umount /run/snap/ns
 
sudo systemctl disable snapd.service
sudo systemctl disable snapd.socket
sudo systemctl disable snapd.seeded.service
sudo systemctl disable snapd.autoimport.service
sudo systemctl disable snapd.apparmor.service
 
sudo rm -rf /etc/apparmor.d/usr.lib.snapd.snap-confine.real
 
sudo systemctl start apparmor.service
 
# df | grep snap | awk {'print "sudo umount " $6'}
sudo umount /snap/chromium/1424
sudo umount /snap/gtk-common-themes/1514
sudo umount /snap/gnome-3-28-1804/145
sudo umount /snap/core18/1944
sudo umount /snap/snapd/10492
sudo umount /var/snap
 
sudo apt purge snapd
 
# find / -type d -iname '*snap*'
# (I left the kernel entries well alone)
rm -rf ~/snap
sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd /usr/lib/snapd
sudo rm -rf /root/snap /root/snap/snap-store /usr/share/doc/libsnapd-glib1 /usr/share/doc/gir1.2-snapd-1
 
cat <<EOF | sudo tee /etc/apt/preferences.d/snapd
Package: snapd
Pin: origin *
Pin-Priority: -1
EOF
 
cat <<EOF | sudo tee /etc/apt/preferences.d/pin-xalt7x-chromium-deb-vaapi
Package: *
Pin: release o=LP-PPA-xalt7x-chromium-deb-vaapi
Pin-Priority: 1337
EOF
 
sudo add-apt-repository ppa:xalt7x/chromium-deb-vaapi
 
sudo apt update
sudo apt-get install chromium-browser
Run Code Online (Sandbox Code Playgroud)


pat*_*pat 5

我同意你关于快照的看法。

我已通过执行以下操作从系统中完全删除了快照:

sudo apt-get purge snapd
rm -rf ~/snap                                      
sudo rm -rf /snap                                  
sudo rm -rf /var/snap                              
sudo rm -rf /var/lib/snapd 
Run Code Online (Sandbox Code Playgroud)

现在系统运行良好,尽管我必须用可用的 APT 或 .deb 文件版本替换 snap 程序。不幸的是,就我而言,我丢失了一个我需要的应用程序,但这是我必须付出的代价,但我获得了一些磁盘空间,并且启动时间缩短了一些。

gnome 仍然安装并像以前一样正常工作

终端中显示的 gnome shell 版本

  • `sudo apt purge snapd` 会为您完成最后 3 个 `rm` 操作,并且以面向未来的方式进行。 (4认同)