Назад | Перейти на главную страницу

Установка url-адреса скрипта кикстарта Centos с зеркалом

У меня есть скрипт 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.

Есть ли другое решение моей проблемы?

Я думал о %pre bash, но без какого-либо пакета будет сложно проверить, какой URL-адрес я должен выбрать.

Я бы создал скрипт% 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'