根据这个文件,允许创建自定义 Ubuntu 发行版。该文档概述了要更改和修改的内容。但是,有一个部分让我感到困惑/需要帮助来找出如何正确应用。
- 文件 /etc/lsb-release(来自软件包 base-files)包含发行版的名称,某些工具(例如网络配置工具)会使用该名称来标识如何处理文件。此外,此文件的内容(据我所知)会显示在控制台登录中。是否应在衍生发行版中替换此文件(即 base-files 软件包)的内容?
这是一个棘手的问题,因为该文件既用于告诉用户发行版的名称,又用于程序识别它。前者应该改变,但后者不应该改变。也许改变 DISTRIB_DESCRIPTION 而不是 DISTRIB_ID 是正确的做法。
本节提到 /etc/lsb-release 的内容应与发行版的名称相匹配。它表示应更改 DISTRIB_ID 的内容以与发行版的名称相匹配,但也声称这会弄乱某些工具。然后它提到将 DISTRIB_DESCRIPTION 更改为您的发行版的名称。我该怎么办?
答案1
根据您的意图,您可能需要或不需要修改/etc/lsb-release
基于 Ubuntu 的自定义发行版(或可能定义为“remix”)的文件内容。
lsb-release 的基本原理
据我所知,的内容/etc/lsb-release
主要用于确定您是否可以从现有的 Ubuntu 存储库更新您的软件包。
以下是支持示例,其中包括基于 Ubuntu 12.04 版本的不同发行版的组合输出。
kubuntu@kubuntu:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.3 LTS"
xubuntu@xubuntu:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"
^ 尽管 Ubuntu 官方版本的名称是Ubuntu和徐本图,这些从未在文件内容中使用/etc/lsb-release
。这是因为 Ubuntu 官方版本共享和检索相同的包来自与 Ubuntu 相同的存储库。
mint@mint ~ $ cat /etc/lsb-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=13
DISTRIB_CODENAME=maya
DISTRIB_DESCRIPTION="Linux Mint 13 Maya"
trisquel@trisquel:~$ cat /etc/lsb-release
DISTRIB_ID=Trisquel
DISTRIB_RELEASE=6.0
DISTRIB_CODENAME=toutatis
DISTRIB_DESCRIPTION="Trisquel 6.0"
^ 这些 Ubuntu 衍生产品的名称是Linux Mint和三階篇并且他们的名字被包含在文件内容中/etc/lsb-release
。虽然他们从 Ubuntu 存储库获取源代码,这些衍生物承载他们自己的包裹。因此,他们可以定义自己的版本。
上面的组合输出(来自 Kubuntu 和 Xubuntu 的输出)已经给了我们提示。只需编辑DISTRIB_DESCRIPTION=""
并将字符串替换为"Something 1.0 Else"
。这意味着您仍然可以从现有的 Ubuntu 存储库更新和检索软件包。
商标问题
直到几年前,之前有“Ubuntu 商标政策”,但现在已重定向至这一页称为“知识产权政策”。以下引用了一些相关要点:
[...] 您可以修改 Ubuntu 以供个人或内部商业使用。
[...] 如果您要将 Ubuntu 修改版本的任何重新分发与商标关联,则必须由 Canonical 批准、认证或提供。否则,您必须删除并替换商标,并需要重新编译源代码以创建您自己的二进制文件。这不会影响您在适用于 Ubuntu 任何组件的任何开源许可下的权利。[...]
基于这些,如果你打算构建自定义或修改版本的 Ubuntu 并重新分发它,你必须重新品牌推广。这意味着不再只是这样/etc/lsb-release
。
但如果你不是重新分发自定义版本并希望从现有 Ubuntu 存储库更新和检索软件包,然后/etc/lsb-release
按照说明进行修改就足够了。否则取决于您自己;您想在多大程度上自定义版本。