Centos kickstart 脚本 url 安装与镜像

Centos kickstart 脚本 url 安装与镜像

我有一个 ks 脚本来安装 Centos6.5。在我的本地网络中,我有一个基础包镜像的快照。

我希望尽可能地通过外联网使用我的本地包裹站点,例如http://mirrors.kernel.org/centos/6.5/os/x86_64/

但是,ks 脚本应该在本地网络之外工作,所以我需要定义一些后备/镜像 url。

在 Fedora 环境中,有一个url指令选项http://fedoraproject.org/wiki/Anaconda/Kickstart#url --mirrorlist但在 Centos6.5 中不存在其选项。

还有其他方法可以解决我的问题吗?

我考虑过%prebash 脚本,但是如果没有任何包的话就很难测试我必须选择哪个 url。

答案1

我将创建一个 %pre Python 脚本并使用urllib2.urlopen()检查本地存储库是否可用。如果不可用,它将使用在线镜像之一。

请参阅此处的示例用法:https://stackoverflow.com/questions/16778435/python-check-if-website-exists

例如:

%pre --interpreter=/usr/bin/python

import urllib2

local_url = 'http://localserver/CentOS/6/os/'
remote_url = 'http://mirror.zetup.net/CentOS/6/os/'

# Determine which URL to use
try:
    urllib2.urlopen(local_url)
    my_url = local_url
except urllib2.URLError:
    my_url = remote_url

# Write the .ks file
with open('/tmp/install-url.ks', 'w') as f:
    f.write('url --url=' + my_url)
%end

# Network installation
%include '/tmp/install-url.ks'

相关内容