将 Debian Sid 添加为软件包存储库?

And*_*zos 20 package-management debian

我正在运行 12.04 Precise beta(从 11.10 Oneiric 升级),并将以下行添加到我的/etc/apt/source.list

deb http://http.us.debian.org/debian unstable main contrib non-free
Run Code Online (Sandbox Code Playgroud)

为了获得我需要但在精确存储库中不可用的更新版本的包(八度音阶 3.6)。

这工作正常,但是现在当我想升级时,需要更新大量软件包。我认为这是因为 sid 的许多软件包的版本都比精确的要新。

我暂时禁用了 sid 存储库,这很好用 - 但是我很想知道如果我允许所有这些升级通过会发生什么?它会破坏我的系统吗?Ubuntu Precise 和 Debian Sid 存储库的结构有什么根本不同吗?

jrg*_*jrg 24

您正在将两个不同发行版的软件包混合在一起。由于各种原因,这是一个坏主意:

  • 安全。

  • 稳定。

  • 冲突的更新,您现在拥有。

  • 如果您让上述更新通过,您会遇到前两个问题,然后如果说,例如内核更新通过,您将陷入困境

此外,这使得获得准确的错误报告或堆栈跟踪几乎不可能,如果不是完全不可能的话。

简而言之,如果您需要 Debian sid,请运行 sid。否则,运行 Ubuntu,然后通过PPAbackports添加您想要的更新软件。

更多解释在这里:

  • 可以使用 Debian 存储库来获取更新的软件。有时没有其他选择,因为 PPA 或向后移植不包含您正在寻找的版本。有时您需要它来获取最新的硬件驱动程序。只是不要将 Debian 存储库用作标准存储库,仅在例外情况下。 (2认同)

kop*_*por 9

如果您需要一个当前在您的 ubuntu 版本中不可用的包,这可能是必要的。

我的建议是使用apt-pin

我创建/etc/apt/preferences.d/unstable了以下内容

Package: *
Pin: release v=12.04, l=Ubuntu
Pin-Priority: 1000

Package: *
Pin: release a=unstable
Pin-Priority: 600
Run Code Online (Sandbox Code Playgroud)

这确保了基本分发始终优先。如果包不可用,则选择不稳定。


Rob*_*ans 5

如果你这样做,它最初似乎可以工作。这意味着您在 Ubuntu 自定义/更改内容之前获得了软件包。

使用其中的一部分和另一部分会削弱解决双方问题的大量能力。Debian 用户将无法帮助您,因为您的大部分发行版都是 Ubuntu。Ubuntu 用户将无法帮助您,因为您的某些发行版是 Debian。

如果您想将一个包放入 ppa/repo,这是一件很棒的事情。分布广泛,在我看来这可能不是一个好主意。