Вероятно, самый легкий путь состоит в том, чтобы сделать a:
yum groupremove "X Window System"
Затем удостоверьтесь, что все остаточные связанные с Xorg файлы удалены и затем выполнение a:
yum groupinstall "X Window System"
Я не протестировал вышеупомянутую процедуру по Fedora, но это - такие ситуации, которые выравнивают по ширине их команды группы программного обеспечения наличия.
Также можно настроить службу Proxy DHCP для PXE. Таким образом, существующий DHCP-сервер не нуждается в изменении. Обычная Linux-система (например, рабочая станция) может быть использована для хостинга среды выполнения предзагрузки (PXE).
Следующие шаги необходимы для настройки PXE для сетевой загрузки установочного образа Fedora по сети (в предположении, что это также хост Fedora):
$ gpg --verify Fedora-Server-21-x86_64-CHECKSUM
$ sha256sum --check Fedora-Server-21-x86_64-CHECKSUM
Fedora-Server-netinst-x86_64-21.iso: OK
mkdir /mnt/iso
mount -o loop Fedora-Server-netinst-x86_64-21.iso /mnt/iso
yum install dnsmasq tftp-server syslinux-tftpboot
Пакет tftp-сервер
предназначен только для создания каталога /var/lib/tftpboot
, в dnsmasq уже встроен tftp-сервер.
The config:
cat > /etc/dnsmasq.conf
interface=enp0s25
# and don't bind to 0.0.0.0
bind-interfaces
# extra logging
log-dhcp
dhcp-range=192.168.178.0,proxy
# first IP address is the one of the host
dhcp-boot=pxelinux.0,192.168.178.34,192.168.178.0
pxe-service=x86PC,"Automatic Network Boot",pxelinux
# Specify the IP address of another tftp server
enable-tftp
# default location of tftp-server on Fedora
tftp-root=/var/lib/tftpboot
# disable DNS
port=0
Start it:
systemctl start dnsmasq.service
Copy all needed files:
cp /mnt/iso/images/pxeboot/initrd.img /var/lib/tftpboot
cp /mnt/iso/images/pxeboot/vmlinuz /var/lib/tftpboot
cp /tftpboot/pxelinux.0 /var/lib/tftpboot
cp /tftpboot/vesamenu.c32 /var/lib/tftpboot
cp /tftpboot/ldlinux.c32 /var/lib/tftpboot
cp /tftpboot/libcom32.c32 /var/lib/tftpboot
cp /tftpboot/libutil.c32 /var/lib/tftpboot
Add config:
mkdir /var/lib/tftpboot/pxelinux.cfg
cat > /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
prompt 0
# disable timeout
timeout 0
#timeout 600
# if file is missing, this is ignored
display boot.msg
label linux
menu label Install Fedora 21 Server x86-64
kernel vmlinuz
append initrd=initrd.img inst.stage2=http://workstation.example.org/
yum install nginx
Configure instance:
cat > /etc/nginx/conf.d/iso.conf
server {
listen 80 default_server;
server_name localhost;
root /mnt/iso ;
include /etc/nginx/default.d/*.conf;
}
Disable the default instance/ move it to a different port:
--- a/nginx/nginx.conf
+++ b/nginx/nginx.conf
@@ -43,7 +43,7 @@ http {
include /etc/nginx/conf.d/*.conf;
server {
- listen 80 default_server;
+ listen 8080 default_server;
server_name localhost;
root /usr/share/nginx/html;
start the server:
systemctl start nginx.service
The Fedora installer (dracut) basically needs to get one file from that http-сервер:
LiveOS/squashfs.img
firewall-cmd --add-service=http
firewall-cmd --add-service=dhcp
firewall-cmd --add-service=tftp
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --add-service=tftp --permanent
That's it. Клиенты знают, что могут загрузиться по сети через PXE и получить сетевой образ Fedora.
Вариации могут быть: Добавление кикстартового файла (и установка таймаута) для полностью автоматической сетевой установки, настройка различных параметров PXE для разных клиентов (на основе MAC-адреса) и т.д.
Демоны могут быть остановлены, а образ обратной связи может быть размонтирован:
systemctl stop nginx.service
systemctl stop dnsmasq.service
umount /mnt/iso
Этот метод должен выполняться только в доверенной интрасети, потому что клиент netboot получает свою конфигурацию и несколько образов, абсолютно небезопасных по TFTP и HTTP.