包管理¶
可以使用 packages
部分安装和移除包。
packages:
manager: <string> # required
update: <boolean>
cleanup: <boolean>
sets:
- packages:
- <string>
- ...
action: <string> # required
architectures: <array> # filter
releases: <array> # filter
variants: <array> # filter
flags: <array> # install/remove flags for just this set
- ...
repositories:
- name: <string>
url: <string>
type: <string>
key: <string>
architectures: <array> # filter
releases: <array> # filter
variants: <array> # filter
- ...
manager
键指定要使用的包管理器。有效的包管理器是
apk
apt
dnf
egoportage
(portage
和ego
的组合)equo
anise
opkg
pacman
portage
slackpkg
xbps
yum
zypper
也可以指定自定义的包管理器。如果 distrobuilder 不支持所需的包管理器,这很有用。
packages:
custom_manager: # required
clean: # required
cmd: <string>
flags: <array>
install: # required
cmd: <string>
flags: <array>
remove: # required
cmd: <string>
flags: <array>
refresh: # required
cmd: <string>
flags: <array>
update: # required
cmd: <string>
flags: <array>
flags: <array> # global flags for all commands
...
如果 update
为 true,包管理器将更新所有已安装的包。
如果 cleanup
为 true,包管理器将运行清理操作,通常会清理缓存文件。但这取决于包管理器,并非所有包管理器都支持此操作。
集合包含一个 packages
列表、一个 action
以及可选的过滤器。这里,packages
是要安装或移除的包列表。action
的值必须是 install
或 remove
。如果为包集合指定了 flags
,则在调用 install
或 remove
命令时,会将它们附加到特定命令的标志以及任何全局标志。例如,可以定义一个应该使用 --no-install-recommends
安装的包集合。
repositories
包含要添加的附加存储库列表。仅当包管理器支持多个存储库管理器时,才需要 type
字段。key
字段是一个可能需要用于验证的 GPG 加密的密钥环。
根据包管理器,url
字段可以包含存储库文件的內容。以下内容在 yum
中是可能的
packages:
manager: yum
update: false
repositories:
- name: myrepo
url: |-
[myrepo]
baseurl=http://user:password@1.1.1.1
gpgcheck=0