如何在不丢失 Firefox 的情况下彻底删除 Snap?

如何在不丢失 Firefox 的情况下彻底删除 Snap?

我想知道是否有办法完全删除折断从 Ubuntu 21.10 (Impish Indri) 开始,而不会失去安装 Ubuntu 默认浏览器火狐。

当我最近更新到最新的 Ubuntu 版本时,我发现安装程序以编程方式重新安装了 Snap,尽管我之前已经手动删除了它。此外,安装程序还删除了通过存储库安装的 Firefox,并通过 snap 重新安装了它。

由于各种原因我不想在我的计算机上安装 snap,所以我的问题是:有没有一种安全的方法可以删除它,并将 Firefox DEB 恢复到源?

有没有电力供应协议? 我是否可以另外使用 Ubuntu 风格的源,而又不会从其源中删除 Firefox Deb?

答案1

您可以将两种措施结合起来。

首先通过 删除 Firefox 的 Snap 包snap remove firefox --purge

然后按照以下步骤操作:

  1. 阻止 Snap 安装清除并以负面优先级固定

    sudo apt-get autopurge snapd
    
    cat <<EOF | sudo tee /etc/apt/preferences.d/nosnap.pref
    # To prevent repository packages from triggering the installation of Snap,
    # this file forbids snapd from being installed by APT.
    # For more information: https://linuxmint-user-guide.readthedocs.io/en/latest/snap.html
    
    Package: snapd
    Pin: release a=*
    Pin-Priority: -10
    EOF
    
  2. 然后从安装 Firefox

    • 官方存储库简单来说

      sudo apt-get install firefox
      

      2022 年 4 月更新:此选项在 Ubuntu 22.04 及更高版本中不再适用。安装该.deb软件包会导致安装 snap 版本。

    • 一些第三方(但值得信赖)存储库

      a. 从 UbuntuZilla 下载 deb 版本的 Firefox - 常规版或 ESR 版
      添加Ubuntu Zilla存储库及其签名密钥

      echo "deb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main" | sudo tee -a /etc/apt/sources.list.d/ubuntuzilla.list > /dev/null
      sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2667CA5C
      sudo apt-get update
      sudo apt-get install firefox-mozilla-build
      

      注意:如果需要 ESR 版本 - 则用 替换最后一个命令sudo apt-get install firefox-esr-mozilla-build

      可以通过以下命令进行删除:

      sudo rm /etc/apt/sources.list.d/ubuntuzilla.list
      sudo apt-get autoremove --purge '*firefox*'
      sudo apt-get update
      

      b. deb 打包来自 Mozilla Team PPA 的 Firefox ESR 版本

      从以下位置安装 Firefox ESR 版本Mozilla 团队 PPA使用以下命令:

      sudo add-apt-repository ppa:mozillateam/ppa
      sudo apt-get update
      sudo apt-get install firefox-esr
      

      可以使用类似软件包来安装其他语言环境firefox-esr-locale-it(例如意大利语)。

      要删除 deb 打包的 Firefox,可以使用以下命令:

      sudo apt-get install ppa-purge
      sudo ppa-purge ppa:mozillateam/ppa
      sudo apt-get autoremove --purge
      
    • 本地提取的 Firefox 存档

      如果需要下载并安装 Firefox 到主文件夹,可以按照以下方式进行:

      mkdir ~/Software ~/bin
      cd ~/Software
      wget -c http://ftp.mozilla.org/pub/firefox/releases/93.0/linux-x86_64/en-US/firefox-93.0.tar.bz2
      tar -xf firefox-93.0.tar.bz2
      ln -sf /home/$USER/Software/firefox/firefox ~/bin/firefox
      
      # create desktop-file with long command below
      mkdir -p ~/.local/share/applications/
      cat <<EOF >  ~/.local/share/applications/firefox-user.desktop
      #!/usr/bin/env xdg-open
      [Desktop Entry]
      Encoding=UTF-8
      Name=Firefox (local)
      GenericName=Browser
      Comment=Web Browser
      Exec=firefox %u
      Icon=/home/$USER/Software/firefox/browser/chrome/icons/default/default48.png
      Terminal=false
      X-MultipleArgs=false
      StartupWMClass=Firefox
      Type=Application
      Categories=Network;WebBrowser;
      MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
      EOF
      
      update-menus
      

      然后注销并重新登录。

      要删除此类本地安装,请使用以下命令:

      rm -rf ~/Software/firefox
      rm -v ~/.local/share/applications/firefox-user.desktop
      rm -v ~/bin/firefox
      update-menus
      

讨论和注释:

我个人的选择是基于 deb 的。
我更喜欢 ESR (2b),因为它是企业级应用程序所需要的,可以使我的 Firefox 行为稳定。

答案2

您可以在此处下载 Ubuntu 22.04 LTS(Jammy)的最新官方 .deb 版本: https://launchpad.net/~phd/+archive/ubuntu/firefox/

这是一个 PPA 存储库官方 Ubuntu 软件包最初针对 Ubuntu 20.04 LTS(Focal)发布,并在新版本发布时自动更新。

记得备份您的~/.mozilla目录(或等效的 snap 文件)。

相关内容