数组字段
Cobbler中的某些字段(例如, - name-servers字段)存储为数组。这些数组始终被视为字符串数组,并且在使用添加/编辑时始终在Cobbler中指定为以空格分隔的列表。
例:
$ cobbler [object] edit --name=foo --field="a b c d"
哈希字段
Cobbler中的其他字段(例如, - ksmeta字段)存储为哈希 - 这是键值对的列表。
编辑时追加值
默认情况下,只要在编辑期间操作哈希字段,就会使用编辑期间指定的新值完全替换字段的内容。
例:
$ cobbler distro edit --name=foo --ksmeta="a=b c=d" $ cobbler distro report --name=foo | grep "Kickstart Meta" Kickstart Metadata : {'a': 'b', 'c': 'd'} $ cobbler distro edit --name=foo --ksmeta="e=f" $ cobbler distro report --name=foo | grep "Kickstart Meta" Kickstart Metadata : {'e': 'f'}
要追加这些字段的内容,应指定--in-place:$ cobbler distro edit --name=foo --ksmeta="a=b c=d" $ cobbler distro report --name=foo | grep "Kickstart Meta" Kickstart Metadata : {'a': 'b', 'c': 'd'} $ cobbler distro edit --name=foo --in-place --ksmeta="e=f" $ cobbler distro report --name=foo | grep "Kickstart Meta" Kickstart Metadata : {'a': 'b', 'c': 'd', 'e': 'f'}
删除值
要从哈希中删除单个值,请使用'〜'(代字号)字符以及--in-place:
$ cobbler distro edit --name=foo --ksmeta="a=b c=d"
$ cobbler distro report --name=foo | grep "Kickstart Meta"
Kickstart Metadata : {'a': 'b', 'c': 'd'}
$ cobbler distro edit --name=foo --in-place --ksmeta='~a'
$ cobbler distro report --name=foo | grep "Kickstart Meta"
Kickstart Metadata : {'c': 'd'}
抑制值
您还可以通过在键名前面指定“ - ”字符来抑制使用值:
$ cobbler distro edit --name=foo --ksmeta="a=b c=d"
$ cobbler distro report --name=foo | grep "Kickstart Meta"
Kickstart Metadata : {'a': 'b', 'c': 'd'}
$ cobbler distro edit --name=foo --in-place --ksmeta='-a'
$ cobbler distro report --name=foo | grep "Kickstart Meta"
Kickstart Metadata : {'-a': 'b', 'c': 'd'}
没有值的键
指定没有值的键:
$ cobbler distro edit --name=foo --ksmeta="a b c"
$ cobbler distro report --name=foo | grep "Kickstart Meta"
Kickstart Metadata : {'a': '~', 'c': '~', 'b': '~'}
具有多个值的键
可以为同一个键指定多个值。在这种情况下,Cobbler会将值部分转换为数组:
$ cobbler distro edit --name=foo --in-place --ksmeta="a=b a=c a=d"
$ cobbler distro report --name=foo | grep "Kickstart Meta"
Kickstart Metadata : {'a': ['b', 'c', 'd']}
标准原始命令
所有对象都支持以下标准命令:
list
list命令只是打印出按字母顺序排列的所有对象列表。
例:
$ cobbler distro list
centos6.3-x86_64
debian6.0.5-x86_64
f17-x86_64
f18-beta6-x86_64
opensuse12.2-i386
opensuse12.2-x86_64
opensuse12.2-xen-i386
opensuse12.2-xen-x86_64
sl6.2-i386
sl6.2-x86_64
ubuntu-12.10-i386
ubuntu-12.10-x86_64
list命令实际上也可以作为顶级命令使用,在这种情况下,它将遍历每个对象类型并列出当前存储在Cobbler数据库中的所有内容。
report
report命令打印每个对象配置的格式化报告。可选的--name参数可用于将输出限制为单个对象,否则将为每个对象打印报告(如果给定类别中有很多对象,这可能有点慢)。
与list命令一样,report命令也可用作顶级命令,在这种情况下,它将为Cobbler数据库中存储的每个对象打印报告。
remove
remove命令仅使用--name选项。
例:
$ cobbler [object] remove --name=foo
copy/rename
复制和重命名命令的工作方式类似,都需要--name和--newname选项。
例:
$ cobbler [object] copy --name=foo --newname=bar
or
$ cobbler [object] rename --name=foo --newname=bar