如何删除所有非免费或 contrib 包?

Nep*_*muk 5 debian free-software apt

在完全更改我的sources.list. 是否apt自动执行此操作?我怎样才能知道?

如何一次删除我的实际无法访问的所有包sources.list

Ste*_*itt 2

识别不再可用的软件包

\n

在这种情况下列出需要检查的包的最有用的工具是apt-show-versions. 安装它,然后按如下方式运行:

\n
    \n
  • apt-show-versions | grep "No available version in archive"

    \n

    列出当前存储库配置中根本不可用的所有\xe2\x80\x99 包应将其删除)。

    \n
  • \n
  • apt-show-versions | grep "newer than version in archive"

    \n

    列出当前安装的版本比当前存储库配置可用的版本更新的所有软件包(并且您可能希望降级)。

    \n
  • \n
\n

您可以使用apt list --installed和 查找 来获取类似的信息[installed,local],但这并不能区分从您配置的存储库中可用的软件包和可用但版本比当前安装的软件包低的软件包。一。

\n

aptitude也可以向您展示这一点;启动它并在 TUI 中查找 \xe2\x80\x9cObsolete 和 Locally Created Packages\xe2\x80\x9d 部分。这将包含您配置的存储库中\xe2\x80\x99t 可用的所有软件包。您可以使用列出包

\n
aptitude search \'~o\'\n
Run Code Online (Sandbox Code Playgroud)\n

也在你的壳里。

\n

删除不再可用的包

\n

aptitude为您的实际问题提供最简单的答案:

\n
aptitude purge \'~o\'\n
Run Code Online (Sandbox Code Playgroud)\n

将清除所有 \xe2\x80\x9cobsolete\xe2\x80\x9d 软件包(存储库中不再可用的软件包)。

\n

识别并删除贡献包或非免费包

\n

aptitude还可以识别 contrib 或非免费软件包,而无需删除相应的存储库:

\n
aptitude search \'~i ~scontrib/.*\' \'~i ~snon-free/.*\'\n
Run Code Online (Sandbox Code Playgroud)\n

您可以直接清除它们:

\n
aptitude purge \'~i ~scontrib/.*\' \'~i ~snon-free/.*\'\n
Run Code Online (Sandbox Code Playgroud)\n