最近我刚更新到最新的Ubuntu版本时,我意识到安装程序自动重新安装了snap,尽管我之前已经手动删除了它。此外,安装程序还删除了通过软件源安装的Chromium,并通过snap重新安装了它。
由于各种原因,我不希望在我的机器上安装snap,所以我的问题是,是否有人知道一种安全的方法来删除它,并将Chromium DEB恢复到软件源?
有没有PPA?我可以同时使用一个Ubuntu衍生版的源,它没有从其源中删除Chromium Deb吗?
自我撰写本文以来,Ubuntu和Debian都已发布了新版本。这里描述的确切步骤可能在它们上面不起作用(我还没有验证过)。
对于Ubuntu 20.04用户,只要Debian继续支持他们的Buster版本,通过在下面描述的sources.list.d文件中将stable
替换为buster
,可能仍然能获得良好的结果。
我保留此篇文章,因为它描述了从与debian兼容的软件库中挑选软件包并在不同发行版或版本上使用的常规技巧。
Debian仍然将Chromium作为其APT软件源中的常规软件包进行维护。我们可以配置Ubuntu从那里获取它,并继续接收及时的安全更新以及所有其他操作系统更新。从安全角度来看,这是有道理的,因为Debian是Ubuntu获取大部分软件包的地方,而且是一个非常知名的高调项目。没有必要冒险从某个随机来源安装软件或告诉您的系统信任一个PPA。
必要的警告:这完全不受支持,可能会立即或将来导致问题。如果出现故障,那是你自己的责任。
以下是我在Ubuntu 19.10上所做的操作:
sudo apt update && sudo apt upgrade
snap remove chromium
sudo apt purge chromium-browser chromium-chromedriver
umask 22
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian stable main
deb-src [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian stable main
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian-security/ stable-security main
deb-src [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian-security/ stable-security main
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian stable-updates main
deb-src [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian stable-updates main
这告诉apt不仅要在Ubuntu存档中查找软件包,还要在Debian稳定存档中查找。通常情况下,这是一个坏主意,因为你不希望数百个随机的Ubuntu软件包被Debian版本替换,这很可能会破坏你的系统。然而,我们将添加一些规则来避免这个问题。
注意:上面提到的/usr/share/keyrings/debian-archive-keyring.gpg
文件以及其他几个Debian密钥环文件已经存在于我的Ubuntu系统上,这多亏了debian-archive-keyring
软件包。它可能已经存在于您的系统上,但如果没有,请安装它:sudo apt install debian-archive-keyring
创建一个包含以下内容的/etc/apt/preferences.d/debian-chromium
文件:
Explanation: Allow installing chromium from the debian repo.
Package: chromium*
Pin: origin "*.debian.org"
Pin-Priority: 100
Explanation: Avoid other packages from the debian repo.
Package: *
Pin: origin "*.debian.org"
Pin-Priority: 1
sudo apt update
apt upgrade --simulate
apt policy package-name
命令。如果其中任何一个来自Debian存档,我会考虑撤销我的更改,删除我创建的文件,并再次运行sudo apt update
命令。sudo apt update
命令。然后,我可能会考虑重新开始,并更加仔细地输入。sudo apt install chromium
libjpeg62-turbo
,它与我已安装的任何内容都不冲突。)一切看起来都很好,所以我告诉软件包管理器继续进行。我不使用任何 snaps,所以下一步我做的是查看我主目录下的 snap
文件夹,确保里面没有我需要的东西,然后将其丢进垃圾桶。如果你想做同样的事情,请先考虑一下自己在 Chromium 中创建/修改/保存的任何用户数据都保存在 snap 文件夹的某个位置下(可能在大多数文件管理器中默认隐藏的 snap/chromium/current/.config
目录下)。你可能希望备份或将其移动到 Chromium 的常规数据目录:$HOME/.config/chromium
。在我的情况下,我想保留的 Chromium 数据仍然在它的旧/常规位置,因为我只使用了 snap 大约五分钟。
就这样。希望能对某人有所帮助。如果它损坏了你的系统,偷走了你的自行车,带着你的男朋友跑掉,或者做了其他你不喜欢的事情,那我很抱歉,但这仍然是你自己的责任。
祝你好运!
sudo apt install debian-archive-keyring
安装Debian密钥,还需要从Debian存储库中获取Chromedriver,命令是sudo apt install chromium-driver
。 - Ian Mackinnonsudo apt install chromium-browser
命令安装snap。我不喜欢这种重定向方式。apt和apt-get绝对不应该安装snap!顺便说一句,我很喜欢这个答案。 - Lonnie Bestlibicu63
,这必须来自Debian,因为Ubuntu现在正在使用libicu66
(已安装在我的系统上)。我应该怎么做才能避免破坏整个系统?
对于libevent-2.1-6
与libevent-2.1-7
以及libvpx5
与libvpx6
也是同样的情况。 - PlasmaBinturong依赖项:libwebpmux3(>= 0.6.1-2+b1),但要安装的是0.6.1-2ubuntu0.21.04.1
。不幸的是,libwebmux3是我系统上许多已安装软件的依赖项。有什么建议吗? - Bruniapt install chromium
时出现以下错误信息:以下软件包有未满足的依赖关系: chromium : 依赖于:libwebp7 (>= 1.2.4) 但是 1.2.2-2ubuntu0.22.10.1 将被安装 依赖于:libwebpdemux2 (>= 1.2.4) 但是 1.2.2-2ubuntu0.22.10.1 将被安装 依赖于:libwebpmux3 (>= 1.2.4) 但是 1.2.2-2ubuntu0.22.10.1 将被安装 E: 无法纠正问题,您有损坏的软件包。
-- 有什么建议吗? - drmrbrewer理论上我对snap没有什么意见,但是它在我的挂载点、进程和文件系统上的垃圾邮件实在太多了。在 Chrome 被强行推荐之前,我只使用它来编辑微型文本。另外,在 20.04 版本中,它对于微型文本也不再必要。
sudo apt remove --purge snapd -y # may take a while
killall snap snapd # probably not necessary
sudo rm -rf /snap /var/cache/snapd/ # buh-bye
rm -rf ~/snap # that one too!
sudo apt-mark hold snap snapd # prevent reinstall
# sudo add-apt-repository ppa:chromium-team/dev
sudo add-apt-repository ppa:saiarcot895/chromium-beta
# sudo apt update # if it didn't already
sudo apt install chromium-browser
# install it from snap beforehand or compile, then copy locally:
cp micro ~/bin
sudo apt install micro
sudo snap remove chromium
sudo apt purge snapd
rm -rf ~/snap
sudo add-apt-repository ppa:chromium-team/dev
/etc/apt/sources.list.d/chromium-team-dev.list
中的eoan
更改为disco
。deb http://ppa.launchpad.net/chromium-team/dev/ubuntu disco main
deb-src http://ppa.launchpad.net/chromium-team/dev/ubuntu disco main
sudo apt update
apt policy chromium-browser
sudo apt install chromium-browser
dev
而不是 stable
? - lonixRelease
文件,因此自动更新被禁用。 - Dan Dascalescu# first add the beta repo, the stable isn't possible as it doesn't get updated
sudo add-apt-repository ppa:chromium-team/beta
# now edit the file, changing the reference to disco, instead of eoan:
sudo nano /etc/apt/sources.list.d/chromium-team-ubuntu-stable-eoan.list
deb http://ppa.launchpad.net/chromium-team/beta/ubuntu disco main
# Now update the repos:
sudo apt update
Now pin the repository order:
sudo nano /etc/apt/preferences.d/chromium
Explanation: Disallow installing chromium from ubuntu repo.
Package: chromium*
Pin: origin "*.ubuntu.com"
Pin-Priority: 1
Explanation: Allow installing chromium from launchpad repo.
Package: chromium*
Pin: origin "ppa.launchpad.net"
Pin-Priority: 100
# Check which version is to be installed:
apt policy chromium-browser
# Now we can install chromium (the extra codecs resolve playback issues):
sudo apt install chromium-browser chromium-codecs-ffmpeg-extra
snap
的chromium
被削弱了,并且我偶然看到了这个讨论。我现在已经按照您在这里的步骤进行操作,非常感谢您!我现在可以在Ubuntu 20.04下使用完整功能的、未被削弱的chromium
版本了。 - HippoMansudo add-apt-repository ppa:chromium-team/stable
sudo apt-get update
sudo apt install chromium