我正在为各种无人值守的 Redhat 安装创建 kickstart 文件,但为了集中注意力,我们假设 CentOS 7。
我使用的是最小启动 iso,并且作为启动选项的一部分,我可以使用inst.ks=https://gitlab.com/myrepoinfo/-/raw/main/centos7.cfg inst.text ip=dhcp
此功能,因此 DNS 正在解析,并且安装成功,但从远程源检测和安装软件包除外。
根据文档,我使用repo
带有以下条目的选项:
# Setup additional EPEL and Remi repositories
repo --name=epel --baseurl=http://ftp.cse.buffalo.edu/pub/epel --install
repo --name=remi --baseurl=http://rpms.remirepo.net/enterprise/remi-release-7.rpm --install
当然,这些是不正确的,并且我收到错误,无法找到“%packages”下的每个包,并且我是否想继续(y/n)。
这样我就可以从您的答案中复制并粘贴,我需要添加到 kickstart 文件中以允许从远程源安装基于 HTTP 的软件包的具体配置行是什么?
答案1
repo --name=epel --baseurl=http://ftp.cse.buffalo.edu/pub/epel --install
这是不正确的,因为它不指向存储库的根:您正在寻找包含该repodata
目录的目录;目录路径通常包括发行版本和体系结构。对于 EPEL 存储库,这将是:
repo --name=epel --baseurl=http://ftp.cse.buffalo.edu/pub/epel/7/x86_64/ --install
repo --name=remi --baseurl=http://rpms.remirepo.net/enterprise/remi-release-7.rpm --install
这不起作用,因为你指向的是文件,而不是包存储库的根。与之前的 URL 非常相似,您需要:
repo --name=remi --baseurl=http://rpms.remirepo.net/enterprise/7/remi/x86_64/ --install
我能够使用以下启动配置成功安装 centos 7 系统:
install
url --url http://mirrors.seas.harvard.edu/centos/7/os/x86_64/
repo --name=epel --baseurl=http://ftp.cse.buffalo.edu/pub/epel/7/x86_64/ --install
repo --name=remi --baseurl=http://rpms.remirepo.net/enterprise/7/remi/x86_64/ --install
text
auth --enableshadow --passalgo=sha512
keyboard --vckeymap=us --xlayouts='us'
lang en-US.UTF-8
network --bootproto=dhcp --ipv6=auto --activate
firewall --enabled --service=ssh
timezone US/Eastern --isUtc
selinux --enforcing
bootloader --location=mbr
clearpart --all --initlabel
autopart
reboot --eject
rootpw --plaintext centos
%packages
@Core
chrony
git
iptables-services
man2html
php82
%end
%post
mkdir -m 700 /root/.ssh
curl -o /root/.ssh/authorized_keys https://github.com/YOURUSERNAME.keys
chmod 600 /root/.ssh/authorized_keys
yum -y upgrade
%end
当安装完成后,由于行--install
中的参数,repo
我们有:
# ls -l /etc/yum.repos.d | grep -v CentOS
total 48
-rw-r--r--. 1 root root 81 Nov 6 14:50 epel.repo
-rw-r--r--. 1 root root 86 Nov 6 14:50 remi.repo