标签: kickstart

如何在 CentOS 中创建自定义 ISO 映像

我正在尝试创建一个自定义 ISO 映像,它将安装所需的最小 RPMS 以及我的应用程序的一些自定义编写的 RPM。并且还想执行一些安装后步骤,例如配置我的应用程序和 VPN 配置等。

我在 google 上看到了一些链接,但它们指向从安装的磁盘或 ISO 映像创建 repo 和 ISO。

谢谢拉梅什

iso kickstart disk-image

20
推荐指数
1
解决办法
9万
查看次数

无需用户输入的 Linux `alternatives --config`

我正在编写一个 RHEL kickstart 脚本,在我的 %post 中,我需要安装一个 JRE。

基本上,当前的设置涉及我需要在第一次启动后手动进入并使用alternatives --config命令将新安装的 JRE 设置为默认值。有没有办法让我传递参数,alternatives这样我就不必手动选择正确的 JRE?

java kickstart centos

15
推荐指数
1
解决办法
8555
查看次数

从 USB 安装 Kickstart -- Kickstart 位置

在添加 kickstart 文件(https://serverfault.com/questions/548405/)后设法让 Fedora ISO 成功重建(用于 USB 记忆棒)后,我现在在 USB 媒体上定位 kickstart 文件时遇到问题.

当这是从 CDROM 完成时,您可以通过添加此参数来启动简单的 kickckstart:

linux ks=cdrom
Run Code Online (Sandbox Code Playgroud)

这将kickstart(假设kickstart 文件名为ks.cfg 并且位于磁盘的根目录中)。

现在,显然这对于​​ USB 驱动器会有所不同,所以根据我的研究,我认为这条线可以完成这项工作:

linux ks=hd:sdb1:/ks.cfg
Run Code Online (Sandbox Code Playgroud)

显然这行不通。我收到一条错误消息,通知我此驱动器已安装且无法重新安装。

编辑:实际错误消息:

mount: /dev/sdb1 is already mounted or /run/install/tmpmnt0 busy
Warning: Can't get kickstart from /dev/sdb1:/ks.cfg
Run Code Online (Sandbox Code Playgroud)

为了测试语法是否正确,我将 kickstart 文件放在另一个 U 盘上并加载了相同的命令以从新位置获取 ks.cfg:

linux ks=hd:sdc1:/ks.cfg
Run Code Online (Sandbox Code Playgroud)

这确实有效(如果 USB 记忆棒按顺序安装,引导 -> sdb1,kickstart -> sdc1)。安装将启动并顺利完成安装。显然必须使用 2 个笔式驱动器有点令人沮丧和不可靠。

有没有解决的办法?

linux fedora kickstart usb

12
推荐指数
2
解决办法
4万
查看次数

安装 Cobbler 后启动 Ansible Playbook

我正在努力实施 Cobbler 和 Ansible 来进行我们的服务器部署,并且遇到了最后一个问题。我的 Ansible playbook 运行良好,我的 Cobbler 安装运行良好,但问题在于将它们捆绑在一起。

我为 Cobbler 编写了一个安装后触发器,它会根据所使用的 Cobbler 配置文件启动我的 Ansible 剧本,该脚本在单独运行时效果很好。问题是,要使其工作,服务器需要先重新启动,但 Cobbler 在第一次重新启动之前会执行安装后触发器。Cobbler 中有一个“firstboot”触发器,但我根本无法让它工作。即使在第一次启动后,它也不会触发。

如果我在重新启动之前尝试运行 Ansible,服务器就会超时。

这适用于 CentOS 6.5、Ansible 1.6 和 Cobbler 2.4

TLDR:如何让 Cobbler“首次启动”触发器工作或如何在安装后但首次重新启动之前成功运行 Ansible Playbook。

有任何想法吗?

谢谢!

kickstart centos cobbler ansible

11
推荐指数
1
解决办法
4098
查看次数

kickstart 文件中的哪些内容将桌面 GUI 设置为默认值(运行级别 5)?

我正在使用 Scientific Linux 6 并且正在安装以下与桌面相关的软件包组:

@basic-desktop
@desktop-platform
@general-desktop
@x11
Run Code Online (Sandbox Code Playgroud)

但是,安装后,/etc/inittab仍然设置为多用户控制台运行级别(id:2:initdefault:)。

我在这里缺少什么?

linux kickstart rhel6

9
推荐指数
1
解决办法
5530
查看次数

红帽服务器最小安装

在虚拟化红帽服务器群中,出于安全原因需要安装最小系统。最少安装有几个优点(甚至与安全无关):

  1. 减少对漏洞的暴露(如果您不需要它,请不要安装它)
  2. 更好的更新过程(更少的包更新,破坏系统的可能性更小)
  3. 更好的性能(没有不需要的守护进程或进程)
  4. 您拥有的软件越少,系统就越容易加固

不幸的是,这并不容易,因为 Red Hat 上的“最小安装”包含许多不必要的包。

由于服务器场正在运行 Oracle iAS,因此存在额外的挑战。有人告诉我 iAS 依赖于本地图形环境。所以最后农场中的每台服务器都有 gnome、X 等。

我一直在网上搜索,一个解决方案似乎是制作一个只安装必要包的 kickstart 脚本。但是我觉得这很困难,并且对之后如何维护系统依赖项有几个疑问。

如何安装最少的 Red Hat 服务器?是否可以使用 kickstart 或者我在安装或更新中是否会遇到依赖问题?有没有办法避免为iAS安装图形环境?

installation redhat kickstart hardening

8
推荐指数
2
解决办法
6763
查看次数

CentOS 6 kickstart 忽略“selinux --disabled”

我一直在与这个问题斗争一段时间,似乎 CentOS 6 中出现了回归,就 anaconda 忽略该selinux --disabled指令而言。这似乎首先出现在RHEL 4.8 中,然后重新出现在RHEL 5.6 中

现在使用以前的版本,您只需将 sed 语句添加到您的%post指令中即可禁用它。

sed -i -e 's/\(^SELINUX=\).*$/\1permissive/' /etc/selinux/config
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是 RHEL/CentOS 6 中的新功能是它们默认设置文件系统属性,因此您现在必须清除这些属性。

我尝试运行以下命令来删除我%post部分中的这些属性,但没有任何效果。

find . -exec setfattr -x security.selinux {} \;
Run Code Online (Sandbox Code Playgroud)

如果您觉得有帮助,我的 kickstart 文件如下:

#version=RHEL6
install
url --url=http://ny-man01.ds.stackexchange.com/centos/6/os/x86_64
lang en_US.UTF-8
keyboard us
%include /tmp/nic-include
rootpw  --iscrypted <mmm no you don't even get the encrypted version>
firewall --service=ssh,ntp,snmp
authconfig --enableshadow --passalgo=sha512 --enablefingerprint --enablekrb5
selinux --disabled
timezone --utc Etc/UTC
bootloader --location=mbr …
Run Code Online (Sandbox Code Playgroud)

selinux kickstart centos

8
推荐指数
1
解决办法
8846
查看次数

为什么在安装 RHEL/CentOS 服务器时蓝牙支持“Base”中的默认包之一?

这是一个困扰我很长时间的问题 - 为什么RHEL的默认服务器安装? CentOS 包括像蓝牙这样的桌面/笔记本电脑包?

使用 kickstart 时,我通常会从Base设置的软件包开始,然后从那里进行自定义。

但是,将以用户为中心的包放在服务器上对我来说似乎有违直觉——为什么要这样做?

redhat kickstart centos packages

7
推荐指数
1
解决办法
1926
查看次数

如何将参数从 PXE 命令行传递到 kickstart %pre、%post 脚本?

基本上我想在 PXE 命令行上使用类似 ARGV 的用法,但我看不到任何文档来执行此操作。

基本上我想通过类似的东西

science-linux-6 主机名 VLAN

然后在 %pre 中点击一些 API 来获取网络信息,我需要将它附加到 KS 配置中。如果我有参数,这部分很容易。

最后在 %post 我想开始厨师运行和引导到厨师服务器。这也需要知道主机名/域名(基本上有主机名 -f 不会爆炸),但如果我能完成上面的内容,这应该不会太糟糕。可悲的是,这是我最初的目标,但是当我意识到我还没有设置主机名时它失败了。

这是我到目前为止所学到的。

$ cat linux-install/msgs/param.msg 



                        09Kernel Parameter Help07

Some kernel parameters can be specified on the command line and will be
passed to the running kernel.  This does not include options to modules
such as ethernet cards or devices such as CD-ROM drives.

To pass an option to the kernel, use the following format:
     0flinux <options>07
If a different installation …
Run Code Online (Sandbox Code Playgroud)

redhat kickstart pxe-boot anaconda scientific-linux

7
推荐指数
1
解决办法
1万
查看次数

CentOS 7.2.1511,kickstart 和用户创建

我遇到了 kickstart 和用户创建问题。很久以前,我在 kickstart 中使用了以下几行来创建用户:

user --name=a --gecos="A" --uid=500 --groups=wheel --password="..." --iscrypted
user --name=b --gecos="B" --uid=501 --groups=wheel --password="..." --iscrypted
Run Code Online (Sandbox Code Playgroud)

它在 CentOS 6 上运行良好,但是当我尝试将它与 CentOS 7.2 一起使用时,我遇到了一些问题,因为第一个用户组将是 1000,我最终得到的用户是 uid=500,但 gid=1000。所以,我添加了组创建命令:

group --name=a --gid=500
group --name=b --gid=501
Run Code Online (Sandbox Code Playgroud)

然后添加--gid=XXX到用户命令中。安装成功,我得到了具有正确 id 的用户和组,但有两个问题:

  1. --groups=wheel 被忽视了;
  2. 我提供的密码不再有效。

如果我--gid=XXX从用户创建命令中删除,这个问题当然会消失。

什么会导致这个问题?

我知道,从 CentOS 7/RHEL 7 开始,低于 1000 的 gids/uids 是为系统组/用户保留的,但我所有的用户都在 500 范围内,目前还无法更改。

kickstart centos7

7
推荐指数
1
解决办法
6209
查看次数