Articles of kickstart

XenServer 6.2上的RHEL克隆(Centos,Scientific,CERN)networking安装

我试图在PXE启动的networking上通过networking在XenServer 6.2上安装Scientific Linux CERN 6 guest,但挂起消息: mounting /tmp as tmpfs… done 我没有使用最相当的模板(CentOS 6模板)来安装这个虚拟机,因为我们想通过我们的PXE服务器来安装它,因为它得到我们的kickstart文件并且用我们的必需品创buildVM,并且使用模板没有select从networking启动。 所以使用“其他安装媒体”模板。 我尝试了其他基于RHEL的发行版,比如干净的Scientific Linux 6(不是CERN版本)和CentOS 6.所有这三个版本都有同样的问题。 其他的发行版,像Debian和Ubuntu,使用这种方法安装得很好,甚至是旧的5.x版本的Scientific Linux都安装正常。 我认为有一件事与上游的盈利公司的Xen Support相关,以迫使他们的虚拟化解决scheme。 但是我不能确定这是否真的是这个问题。

CentOS / RHEL 7 LVM在Kickstart中分区?

我想了解更多关于Linux中的分区,特别是LVM分区。 所以我一直在看这个,各种各样的例子,但是似乎没有更详细的介绍这个,所以我希望能有一些洞察力来更好地理解。 阅读RHEL 7指南 。 它列出了可用的文件系统的XFS,ext4,ext3,ext2,vfat,交换,BIOS启动,用efi的BIOS启动 。 此部分在此处的kickstart语法部分中引用(ctrl + f用于–fstype )。 在许多例子中,我注意到在制作LVM物理卷时使用–fstype="lvmpv"人。 这是什么目的? 如果我想为/var创build一个分区,那么不会有像part pv.4 \var…这样的命令,不包括fstype自动创build一个LVM物理卷吗? 我觉得奇怪的是,它被用作文件系统types,但没有在文件系统部分定义为有效的值。 上述问题的第二部分与pv.id部分有关,我是否正确理解id可以是任何数字? 是否有任何理由我不应该自动为每个物理卷1,2,3,4 ..编号? 我注意到在一些指南中,人们用pv.18和pv.18进行分区。 作为一个例子, 这里的一个

Kickstart – 如果操作系统已经存在,如何退出

对于有更多Linux经验的人来说,我确实有一个补救问题。 我需要检查我的kickstart脚本中是否已经安装了操作系统,如果是,请提示用户是否继续(基本上是重新安装)或退出。 什么是最有效的方法来做到这一点? 我正在考虑做如下的事情: %pre #!/bin/sh if [ -f some_file ]; then read -p "An OS already exists, do you want to re-install?" yn case $yn in [Yy]* ) break;; [Nn]* ) exit;; * ) echo "Please answer yes or no.";; esac fi 我不确定在我的例子中最好用什么文件来代替“some_file”,或者如果这是一个很好的方法去做。 请注意,我需要这样做的原因是因为此Linux安装是一个更大的自动化安装的一部分,因此用户不在手动检查操作系统是否已经存在。

使用LVM的Ubuntu Kickstart安装等待input

我有一个PXE启动安装程序,通过Kickstart安装CentOS 5和Ubuntu 10.04。 我使用LVM并安装CentOS而无需任何用户交互,但Ubuntu总是要求在分区过程中“确认将更改写入磁盘并configurationLVM”。 如果我不使用LVM,Ubuntu不会要求任何确认,只是对磁盘进行分区。 kickstart文件中处理分区的部分如下所示: #System bootloader configuration bootloader –location=mbr #Clear the Master Boot Record zerombr yes #Partition clearing information clearpart –all –initlabel #Disk partitioning information part /boot –fstype ext2 –size 200 –asprimary part swap –size 1024 part pv.01 –size 1 –grow volgroup rootvg pv.01 logvol / –fstype ext4 –vgname=rootvg –size=1 –grow –name=rootvol 我怎么能告诉Ubuntu总是接受设置,而不select屏幕上的“是”? […]

在kickstart安装过程中修改XFS文件系统创build参数

我正在精简一系列EL6.2(RHEL,CentOS,SL等)系统的kickstart过程。 我宁愿使用XFS而不是ext4来生长/数据分区。 不过,我希望能够控制传递给mkfs.xfs的选项来创build分区。 在创build服务器之后,我通常会创build这个分区,这样我就可以拥有这个控制权。 但是这应该是自动的。 当创build一个400GB的手动XFS分区时,我通常会使用如下的命令string: mkfs.xfs -f -L /data -d agcount=100 -l size=128m,version=2 /dev/cciss/c0d1p0 使用/etc/fstab挂载选项,如: LABEL=/data /data xfs noatime,logbufs=8,logbsize=256k,nobarrier 1 2 我怎样才能在anaconda kickstart安装过程中获得类似的内容,而不必将其放在%post中?

Anaconda kickstart和rootpw选项

我已经尝试了一些在SL 6.5上生成encryption密码的不同方法,但似乎没有任何效果。 我在各种/ var / log / anaconda *文件中找不到任何错误,但是我无法login,所以显然无法正常工作。 /root/anaconda-ks.cfg的原始自动创build的文件我用作模板看起来像这样: rootpw –iscrypted $6$…(about 100 characters) authconfig –enableshadow –passalgo=sha512 接下来我尝试了openssl passwd -1 ,它给了我: rootpw –iscrypted $1$…(about 30 characters) authconfig –enableshadow –passalgo=sha512 我意识到这不是SHA-512,所以我尝试了一个Python单线程,我发现在几个地方重复 : rootpw –iscrypted $6…(about 10 characters) authconfig –enableshadow –passalgo=sha512 什么都行不通 我无法login,最终不得不在单用户模式下重置root密码。

Kickstart:通过CGI或PHP脚本提供dynamickickstart图像?

我想Kickstart几个RHEL6 / SL6服务器。 但是,其中一些服务器是不同的,我不想为每个类的服务器创build一个新的ks.cfg文件。 有没有什么办法可以从模板上dynamic生成Kickstart文件? 例如,如果我将这样的一行添加到内核: APPEND ks=http://192.168.1.100/cgi-bin/ks.cgi ip=dhcp 然后脚本ks.cgi可以确定这是什么主机(通过MAC地址),并打印出适合该主机的Kickstart选项。 我可以select通过传递参数到脚本来覆盖一些选项,如下所示: APPEND ks=http://192.168.1.100/cgi-bin/ks.cgi?NODETYPE=production&IP=192.168.2.80 在我们启动服务器之后,我们在这个系统上激活Cfengine / Puppet并使用我们最喜欢的configurationpipe理产品来pipe理系统。 我们正在尝试使用xCAT,但这样做太麻烦了。 我已经看过了补鞋匠 ,但我不确定这是否。 更新: 在O'Reilly的书中讨论了自己的解决scheme: 使用Kickstart和Yumpipe理基于RPM的系统,第3章。自定义你的Kickstart安装>dynamicks.cfg ,它反映了这个线程中的一些注释: 实现这样一个工具已经超出了这个捷径的范围,但我可以通过高层次的devise。 任何这样的解决scheme将混合数据存储(改变的东西)与模板解决scheme(不改变的东西)。 数据存储将保存每台机器的数据,例如IP地址和主机名。 你还需要一个唯一的标识符,也许是主机名,这样你可以拿起一台机器的数据。 数据存储可以是平面文件,XML数据或关系数据库,例如PostgreSQL或MySQL。 反过来,为了调用系统,您将一个机器的唯一标识符作为URLparameter passing。 例如: boot:linux ks = http://your.kickstart.server/gen_config?host-server25 在这个例子中,CGI(或servlet,或其他)为机器server25生成一个ks.cfg。 但是,哦,在哪里,是ks.cgi的代码?

在Debian安装过程中如何回答“scan another CD”提示?

除了一个提示符之外,我已经从光盘上安装了预先安装的光盘。 它在安装软件之前执行了cdrom的扫描,并询问我是否要插入其他CD来扫描。 有没有办法强制这个问题回答否与preseed? 这是从CD1完全安装的7.5.0-wheezy。 更新6/11/2014:伤害只是切换到netinstall而不是从CD,所以实际上不知道下面的答案是否工作,但我接受它,因为它看起来像正确的方法。

安装在kickstart文件中指定的yum存储库

现在,我通过repo指令指定要用于安装kickstart文件的存储库。 然后,我重新指定这些存储库被添加到/etc/yum.repos.d后安装。 有避免重复信息的优雅方法吗? 它已经咬了我一次了。 澄清: 也许我不正确地理解这一点,但似乎repo指令只用于指定anaconda用于安装的存储库。 它实际上不在服务器上安装回购。 我将这个推定基于我的kickstart安装经验。 这就是为什么我在安装后再次安装存储库的原因。 我想知道是否有更好的方法,所以我不必在repo指令和我的安装后脚本中指定存储库。

Kickstart SSH的使用

我有一个小的Kickstart脚本(除其他外)连接到我们的Puppet master,批准证书请求,然后为一个新的服务器创build一个基本的框架。 在我的Kickstart文章部分,我有以下命令。 # Run the setup script. exec < /dev/tty6 > /dev/tty6 2>&1 chvt 6 wget http://enoch/ks/setup.sh -O /root/setup.sh chmod +x /root/setup.sh bash /root/setup.sh # And go back to Anaconda chvt 1 exec < /dev/tty1 > /dev/tty1 2>&1 在setup.sh中我有行 ssh -t $USERNAME@puppetmaster auto_client.sh $HOSTNAME 当从命令行调用时,这是完美的,但是当我从Kickstart菜单运行这个时,我的SSH窗口在原始terminal下打开并打破脚本的其余部分。 我怎样才能纠正这一点?