为什么我无法在 Debian 上获取 gcc-doc 包?

Jen*_*ype 7 debian documentation gcc apt repository

当我测试 Stack Overflow 的一些代码片段时,我意识到我的 Debian 系统上没有 GCC 的任何手册页。但是当我尝试从 Debian 的存储库中获取它们时,它会输出E: unable to fetch gcc-doc4.3.

我怎样才能得到那个包,为什么这个包不完全包含在 gcc 中?

Jen*_*ype 17

获取 gcc-doc 包

为了能够使用apt-get install命令获取这些包,我们需要编辑我们的sources.list文件以包含contrib和non-free存储库。

例如,这是我的/etc/apt/sources.list文件:

deb http://httpredir.debian.org/debian/ jessie main contrib non-free
deb-src http://httpredir.debian.org/debian/ jessie main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

# jessie-updates, previously known as 'volatile'
deb http://httpredir.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://httpredir.debian.org/debian/ jessie-updates main contrib non-free

# Backport Testing on stable
# JDK 8
deb http://ftp.de.debian.org/debian jessie-backports main
Run Code Online (Sandbox Code Playgroud)

注意:如果有人还不知道,在正常情况下,这个文件只能以 root 身份编辑。

$ su
[YOUR_ROOT_PASSWORD]
# vi /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

或者您可以使用对新手更友好的编辑器,例如 Nano

# nano /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

或 GUI 编辑器,如 Gedit

# gksu gedit /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

确保同时添加contrib和non-freeresositories。在我的情况下,gcc-4.9-doc all在non-free回购中,而gcc-doc amd64位于contrib回购中。

为什么 gcc-doc 是非免费的?

由于 GFDL(GNU 自由文档许可证)和 DFSG(Debian 自由软件指南)之间的问题,是的,合法性更高。

这是两个核心的不兼容性:

  • GFDL 许可文件禁止用于任何使用 DRM(数字版权管理)的项目,Debian 不允许软件/文件中的此类限制行为将它们视为免费的。

  • 许可为 GFDL 的文档允许包含不变的部分。对于 Debian 而言,这根本不是免费内容的示例,无论该内容是软件还是文档。

有关更多信息,请阅读此立场声明。

  • 这在 Debian 10 Buster 稳定版中不起作用 (4认同)