删除了 apt 作为包管理器

删除了 apt 作为包管理器

那拉是最近推出的软件包管理器,也可用于dpkg管理 Ubuntu 中的软件包。我安装了它nala,并且获得了非常不错的体验。

现在,我想apt从我的系统中删除它,以便只nala保留一个包管理器()。

我试过:

nala remove apt --remove-essentials

但是这个命令成功运行后,我丢失了aptnala

nala update得到了:

bash: /usr/bin/nala: No such file or directory

答案1

你犯了一个相当大的错误,认为理所当然的事情nala是不需要的apt——但事实并非如此。

通过运行,可以完全看出这一点apt depends nala,显示nala的依赖关系。

nala
  Depends: python3-anyio
  Depends: python3-httpx
  Depends: python3-pexpect
  Depends: python3-rich
  Depends: python3-tomli
  Depends: python3-typer
  Depends: python3-typing-extensions
  Depends: <python3:any>
    python3
  Depends: apt
  Depends: python3-apt
  Depends: python3-debian
  Recommends: python3-socksio

因此,nala没有 就无法发挥作用apt

如果您仔细阅读了命令的输出nala remove apt --remove-essentials,您很可能会看到它即将删除nala软件包本身。因此,检查命令将要执行的操作非常重要,尤其是当您使用选项--remove-essentials(可能破坏系统的选项)运行命令时。

--dry-run在删除关键软件包或运行之前执行此操作通常是一个好主意- 具有讽刺意味的是,这是一个仅支持但尚不支持的--remove-essentials选项。aptnala

另外,您没有说明为什么突然想要删除apt,但我有一些猜测:

  • 您想“清理”您的包裹。

    这有时是个好主意,但当你不确定后果时就不行了。另外,如果你读过第一部分nala 自述

    Nala 是 的前端libapt-pkg。具体来说,我们使用python-aptapi 进行交互。

    或者从包裹信息中apt show nala

    APT 包管理器的命令行前端

    这应该给你一个提示,它依赖于apt.

  • 您对 执行常见任务的性能感到满意nala,因此不需要apt

    您可以思考情况确实如此,但我认为并非如此。nala是处于开发阶段的软件,而apt已经存在了 30 年。此外,虽然nala提供了 的最常见功能apt,但它无法执行任何更高级的功能,而这些功能您可能突然需要(例如--dry-run)——而且通常是在您最意想不到的时候。因此,对于日常任务来说nala可能还可以——但它可能永远无法取代完整的apt软件包。

apt现在要将其删除后恢复到您的系统,请参阅此问答。该文件/var/log/apt/history.log实际上应该包含所有被删除的软件包的列表,您必须手动重新安装这些软件包。

你基本上要做的就是找到适当的版本aptJammy 的示例)适用于您的系统以及它的所有依赖包,并使用手动安装这些dpkg(因为您删除了唯一可以为您实际处理依赖项的包管理器)。

相关内容