为什么apt无法找到任何包的源代码?

我正在尝试下载某些软件包的源代码,例如rhythmbox,用于学习目的。 我想通过apt-get使用apt-get source命令来做到这一点。

出于某种原因, apt-get似乎找不到任何包。 我已经尝试了几个包,并且我一直从apt-get获得这个输出:

 $ apt-get source rhythmbox Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to find a source package for rhythmbox 

我一直在寻找答案很长一段时间,但我找不到任何有同样问题的人。 apt-get在安装和更新时运行良好,所以apt-get在我看来运行正常。 在搜索期间,我还了解到我必须在软件源中启用“源代码存储库”,以便启用它。

我知道(可能只对某些软件包,不确定)源代码包也可以从Launchpad下载bzr ,但我想知道为什么这个方法不起作用。

打开软件中心,然后选择“编辑” – >“软件源”。 你用哪个服务器? 我正在使用“服务器和美国”,只是下载了rhythmbox的来源就好了。 我是精确的。

apt-get source rhythmbox仅在您打开源存储库,更新包列表,并且实际上在源中具有该存储库时才有效。

例如,如果您安装了正常的Ubuntu安装并且没有添加任何apt repos。 然后你需要做的就是确保“源代码”有一个检查。 如果您添加了额外的回购,那么每个回购需要有两个条目。 一个用于“主要”(通常),一个用于“源”。

也是为了以防你没有。 再次运行apt-get update以获取所有新的repos。

现在,apt-get source会为您安装的确切软件包安装源代码。 这意味着如果您从某些奇数ppa(主要)安装了deb,则源需要在某些奇数ppa(源)中。 从some-odd-ppa安装的软件包不会从其他存储库中提取源代码,因为它的版本不同。

我已经检查过,并且可以通过源存储库获得rhythmbox。 您只是没有在apt repos中包含正确的源存储库,或者您还没有运行apt-get update。