这里仅举例:
part pv.01 -size=100 -grow -ondisk=/dev/sda
part pv.02 -size=300 -grow -ondisk=/dev/sdb
使用目的
PV.<ID>
仅仅是为了自定义某个磁盘的初始大小吗?如何提前指定
<ID>
一些 PV 的值,因为它本身是“随机”数?
请参考以下 http 链接: CentOS/RHEL 7 LVM Partitioning in Kickstart?
这里仅举例:
part pv.01 -size=100 -grow -ondisk=/dev/sda
part pv.02 -size=300 -grow -ondisk=/dev/sdb
使用目的PV.<ID>
仅仅是为了自定义某个磁盘的初始大小吗?
如何提前指定<ID>
一些 PV 的值,因为它本身是“随机”数?
请参考以下 http 链接: CentOS/RHEL 7 LVM Partitioning in Kickstart?
我一直在环顾四周,还没有看到任何人使用逻辑来确定以下选项的包/包组选择的示例%packages
。我正在尝试根据 中发现的标准让 kickstart 安装包%pre
,例如:
%pre
if [ "$(/usr/sbin/dmidecode -s system-manufacturer)" = 'Dell Inc.' ]; then
echo 'srvadmin-all'
elif [ "$(/usr/sbin/dmidecode -s system-manufacturer)" = 'VMware, Inc.' ]; then
echo 'open-vm-tools'
fi
%end
我从未在该%packages
部分中看到条件逻辑的示例,但我正在考虑将所有输出打印到一个由语句引用的文件中,但自 RHEL7 以来%include
我遇到了%include
under的问题。%packages
我很想知道是否有人在这些方面成功使用了其他方法。
我正在使用自定义 kickstart 文件创建 RHEL 7.3 安装映像。
我可以将它添加到我的 kickstart 文件中以在安装期间启用 SCAP 配置:
%addon org_fedora_oscap
content-type = scap-security-guide
profile = stig-rhel7-server-gui-upstream
%end
但是,当我这样做时,我最终nousb
会在我的内核 cmdline 中禁用所有 USB 接口,包括键盘和鼠标。
(我之前对 RHEL 7.2 映像做过同样的事情,它“正常工作”,所以我知道基本方法是合理的。但这是使用较旧且显然不太完整的安全配置文件。)
现在,我完全明白为什么了:有一条规则专门设置它。我需要“定制”规则,以便 SCAP 工具不会禁用我所有的 USB 设备。
根据Red Hat 的 kickstart 文档和OSCAP Anaconda 站点,我可以通过提供我自己的定制文件来暂停这条规则:
剪裁路径 - 应该使用的剪裁文件的路径,作为存档中的相对路径给出。
所以,我运行 scap-workbench,禁用受影响的规则,并将我的更改保存为一个剪裁.xml 文件
然后,我可以在 kickstart 配置中添加一行,如下所示:
%addon org_fedora_oscap
content-type = scap-security-guide
profile = stig-rhel7-server-gui-upstream
tailoring-path = ssg-rhel7-ds-tailoring.xml
%end
基于反复试验,我还得出结论,tailoring.xml 文件必须放在 /root/openscap_data 中(绝对路径绝对不起作用——在安装过程中你会得到一个显着的显示停止调试提示)。
nousb
即使在生成定制文件之后,当我进行全新安装时,我仍然会得到一个内核。
我真的将剪裁.xml 放在正确的位置吗?
是否有详细的日志可以用来诊断插件在做什么?(我在 /var/log/anaconda/journal.log 中只找到了非常基本的信息。)
如果定制方法由于某种原因而失败,那么在不完全放弃 STIG 自动配置的情况下,为解决此问题应用解决方法的干净且一致的方法是什么?(例如,我可以在 OSCAP 破坏内核参数后使用另一个附加模块来清理它们吗?)
我在 Kickstart 安装后脚本中有以下命令:
firewall-offline-cmd --new-zone=management
firewall-offline-cmd --zone=management --add-service=ssh --add-service=snmp
firewall-offline-cmd --zone=management --change-interface=eth1
nmcli device modify eth1 connection.zone management
从我的阅读来看,当 NetworkManager 在图片中时似乎firewalld
无法进行这些更改,因此我在nmcli
命令中添加了更改区域。但它没有生效。安装完成并重新启动服务器后,界面仍保留在默认区域中。之后我可以运行该nmcli
命令,它将生效。
除了这篇文章之外,我在网上找不到任何关于这个问题的信息,但它在付费墙后面。
所以我不确定我为什么会遇到这个问题,所以我希望有人能看到我缺少的东西。
我为测试 Cent OS 7 自动安装创建了一个 kickstart 文件。在分区方面,除了存储部分之外似乎没有任何警告。这是那个部分:
clearpart --all --initlabel --drives=/dev/sda,/dev/sdb,/dev/sdc,/dev/sdd,/dev/sde,/dev/sdf,/dev/sdg,/dev/sdh
part raid.1 --size=1024 --ondisk=/dev/sda
part raid.2 --size=1024 --ondisk=/dev/sdb
part raid.3 --size=1024 --ondisk=/dev/sdc
part raid.4 --size=1024 --ondisk=/dev/sdd
part raid.5 --size=1024 --ondisk=/dev/sde
part raid.6 --size=1024 --ondisk=/dev/sdf
part raid.7 --size=1024 --ondisk=/dev/sdg
part raid.8 --size=1024 --ondisk=/dev/sdh
part raid.9 --size=256 --ondisk=/dev/sda
part raid.10 --size=256 --ondisk=/dev/sdb
part raid.11 --size=256 --ondisk=/dev/sdc
part raid.12 --size=256 --ondisk=/dev/sdd
part raid.13 --size=256 --ondisk=/dev/sde
part raid.14 --size=256 --ondisk=/dev/sdf
part raid.15 --size=256 --ondisk=/dev/sdg
part raid.16 --size=256 --ondisk=/dev/sdh
part raid.17 --size=20480 --ondisk=/dev/sda
part raid.18 --size=20480 --ondisk=/dev/sdb
part raid.19 --size=20480 --ondisk=/dev/sdc
part raid.20 --size=20480 --ondisk=/dev/sdd
part raid.21 --size=20480 --ondisk=/dev/sde
part raid.22 --size=20480 --ondisk=/dev/sdf
part raid.23 --size=20480 --ondisk=/dev/sdg
part raid.24 --size=20480 --ondisk=/dev/sdh
raid /boot --fstype="xfs" --device=boot --level=10 raid.1 raid.2 raid.3 raid.4 raid.5 raid.6 raid.7 raid.8
raid /boot/efi --fstype="efi" --device=boot_efi --level=10 raid.9 raid.10 raid.11 raid.12 raid.13 raid.14 raid.15 raid.16
raid pv.1 --fstype="lvmpv" --device=root --level=10 raid.17 raid.18 raid.19 raid.20 raid.21 raid.22 raid.23 raid.24
volgroup vg1 pv.1
logvol / --fstype="xfs" --size=1 --grow --name=root --vgname=vg1
bootloader --append=" crashkernel=auto" --location=mbr
我正在尝试创建三个分区:
/boot
- 1024 MiB 大小,格式化为xfs
,RAID 10/boot/efi
- 256 MiB 大小,格式化为efi
, RAID 10/
- 20 GiB 大小,格式化为xfs
, RAID 10 + LVM我正在使用图形安装,所以我可以快速查看所有内容,它看起来像是将 /boot/efi 标记为 efi,但无论如何我仍然收到以下错误,阻止我完成安装。
未找到有效的引导加载程序目标设备。详情见下文。对于 UEFI 安装,您必须在 GPT 格式的磁盘上包含一个 EFI 系统分区,该磁盘安装在 /boot/efi。
我看到的另一个奇怪之处是它没有使用我的预制分区大小的值。根据我上面写的 kickstart 文件,这些是我看到的大小:
/boot
- 应该是 1024 MiB,CentOS 7 是 4092 MiB/boot/efi
- 应该是 256 MiB,CentOS 7 是 1020 MiB/
- 应该是 20 GiB,Cent OS 7 是 79.93 GiB我将不胜感激这方面的任何帮助。
尝试使用 Scientific Linux 7 进行我的第一次 Kickstart,并通过从 SL6 迁移我的脚本解决了大部分错误,但仍然存在一个。
我在 DHCP 上启动 VM 以从 HTTP 服务器中提取 Kickstart 文件,方法是在引导加载程序提示符处添加以下内容:
net.ifnames=0 ip=eth1:dhcp inst.ks=http://server/ks.cfg
这工作正常,文件已成功下载和处理。
启动配置:
…
network --bootproto=static --device=eth0 --ip=192.168.242.224 --netmask=255.255.255.0 --gateway 192.168.242.1 --nameserver 192.168.242.200
network --bootproto=static --device=eth1 --ip=10.10.242.224 --netmask=255.255.255.0 --nodns
…
安装重启后,eth1就好了。但是,eth0 保留在 DHCP 上。签入/etc/sysconfig/network-scripts/
我发现既有ifcfg-eth0
静态 IP 信息,也ifcfg-eth0-1
有 DHCP 配置。
/etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by parse-kickstart
UUID=9db01644-e98d-4260-a13e-96d26b251297
DNS1=192.168.242.200
IPADDR=192.168.242.224
GATEWAY=192.168.242.1
DEFROUTE=yes
IPV6_AUTOCONF=no
NETMASK=255.255.255.0
BOOTPROTO=static
DEVICE=eth0
ONBOOT=no
IPV6INIT=yes
/etc/sysconfig/network-scripts/ifcfg-eth0-1
HWADDR=00:50:56:93:D0:AA
TYPE=Ethernet
BOOTPROTO=dhcp
DNS1=192.168.242.200
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV4_ROUTE_METRIC=0
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=73ef022d-ff28-404e-9326-cb2240ba78c1
DEVICE=eth0
ONBOOT=yes
似乎第二种配置优先;我能做些什么来防止这种行为?
(如果相关,我已禁用“一致”接口名称,因为它们不在虚拟硬件上。我net.ifnames=0
在引导加载程序上指定,然后biosdevname
在我的 Kickstart 中删除包。)
我想将我的 kickstart 用户定义分解为一个单独的文件。
尝试使用 拉入该文件时%include
,我收到一个中断安装的错误:
无法打开输入 kickstart 文件:curl#37 - “无法打开文件 /whatever/path/itry/user_section-ks.cfg”
这个文档
和这个文档
都说我可以这样使用它:%include /path/to/file
RH 给出了这个例子:
/usr/share/anaconda/user_section-ks.cfg
我在这里和那里看到了谷歌搜索结果,人们使用/tmp
,file:///
我都试过了。
我检查了每个名称,检查了权限和运行环境,ksvalidator
并且......我很难过!不知道我不知道什么:(
环境 - 我已经安装了 Ansible 并使用了它的 vSphere_Guest API。这是连接到我的 vSphere 并成功创建虚拟机。我已经有一个带有 kickstart 的卫星服务器,配置了 cobbler,它完美地安装了 RHEL。
问题 - 我想在使用 Ansible 创建的 VM 上安装操作系统。vSphere_Guest API 可以使用 ISO 启动 VM,但不能通过网络启动。如何通过网络启动新创建的虚拟机?我看不到通过网络启动 VM 的任何选项。
背景:在 powerppc (IBM pSeries) 上启动 RHEL7
所以多年来我一直在无人看管的情况下启动,过去不得不使用 yaboot、NFS 等进行启动。现在正在尝试现代化。我有一个仅使用 HTTP (Apache)(和 TFTP)的工作启动。我的问题在于尝试仅使用 https 。不确定这是否可能,但人们会认为这是因为您可以指定 https。
如果我有 HTTP 和 HTTPS(相同的 htdocs)的先前工作的 Web 服务器答案,以及以下grub.conf
,它工作正常(IP 和 FQDN 显然被屏蔽):
menuentry 'Install RHEL 7 via Kickstart...' {
set root=http,WEBIP
linux https://WEBFQDN/software/rhel/ppc/ppc64/vmlinuz ro ip=dhcp ks=https://WEBFQDN/kickstart/rhel7-power.ks
echo 'Loading initial ramdisk ...'
inst.repo=https://WEBFQDN/software/rhel/
initrd https://WEBFQDN/software/rhel/ppc/ppc64/initrd.img
}
然而,tcpdump 显示它仍在使用 HTTP 处理大量流量。实际上,如果我将 Web 服务器重新配置为RedirectMatch (.*) https://WEBFQDN/$1
(将所有 http 重定向到 https,不提供 http),我会收到以下错误:
错误:无效的独立于架构的 ELF 魔法。
如果我删除RedirectMatch
(并返回允许 http 而不是重定向),它会再次正常工作。
因此,我可以使用 http,但理想情况下,Web 服务器只是 https(因为它包含许多除了 kickstart 之外的敏感数据)。这可能吗?我错过了一个关键标志吗?我试过root=https,...
但后来我得到一个“找不到文件”(我猜是不支持的网络选项)。
感谢您的任何指点!