我正在尝试编写 Ansible 脚本来在一些虚拟机上自动安装 Ubuntu。
我最终发现了 resources.list 文件,并且有一些关于组件的事情我不太了解。
到目前为止我的理解是:
Main
所有由 ubuntu 官方团队管理的免费开源软件包。Universe
- 由社区管理的所有免费和开源软件包。Restricted
- Ubuntu 官方团队最终管理的所有专有软件包(即驱动程序)。Multiverse
- 由社区管理的所有专有软件包以及基本上任何不属于其他软件包的内容(非自由软件、插件……)。
现在,通过我的研究,我偶然发现了一些与这些基本含义相同的术语:contrib
和non-free
。这些仅适用于旧版本的 Linux 吗?
此外,多个组件可以放入一个条目中吗?这是我的 resources.list 的示例:
deb http://archive.ubuntu.com/ubuntu kinetic-updates main restricted
deb http://archive.ubuntu.com/ubuntu kinetic universe
deb http://archive.ubuntu.com/ubuntu kinetic multiverse
deb http://archive.ubuntu.com/ubuntu kinetic-updates multiverse
deb http://archive.ubuntu.com/ubuntu kinetic-backports main restricted universe multiverse
为什么在一个条目中同时包含main
and ,然后在两个不同的条目中包含and ?如果您可以将它们相加,为什么不将所有内容都放在第一行呢?restricted
universe
multiverse
为什么只有多元宇宙启用了动力更新?难道我们不想同时升级其他软件包吗?或者说这是一种选择?
如果是这样,基于什么(例如,我们是否只想更新多元宇宙的标准是什么?除了多一点时间之外更新/安装所有内容会发生什么变化?)。
谢谢 ! :)
答案1
您对 Ubuntu 存储库的理解是准确的。contrib
并且non-free
是在 Debian 中使用, 随着main
。
可以将多个组件添加到一行中,是的;是否要合并线条或将它们分开取决于您。
您的sources.list
启用不仅仅适用multiverse
于kinetic-updates
;摘录中的第一行还包含main
和restricted
。
您应该在所有存储库中启用相同的组件:
deb http://archive.ubuntu.com/ubuntu kinetic main universe restricted multiverse
deb http://archive.ubuntu.com/ubuntu kinetic-updates main universe restricted multiverse
deb http://archive.ubuntu.com/ubuntu kinetic-backports main universe restricted multiverse
看手册sources.list
页有关sources.list
格式的详细信息。对于基于 Ansible 的部署,您可能会发现Deb822 风格的格式更有用。