Redhat ve Scientific Linux için ağ üzerinden kurulum
TR-Grid, özgür ansiklopedi
Konu başlıkları |
Giriş
Bu yazıda Red Hat Enterprise Linux (RHEL) ve Scientific Linux (SL) dağıtımlarının ağ üzerinden tamamen otomatik kurulmasına olanak sağlayan Kickstart (KS) servisinin kurulumunu adım adım incleyeceğiz.
Her ne kadar yazıda bütün ayrıntılar verilmeye çalışılmış olsa da, bu yazı okuyucunun bazı Linux kavramlarına ve düz metin editörlerine (bu yazıda vi kullanılacaktır) aşina olduğu varsayılmaktadır. Bu yazı, bu kavramları mümkün olduğunca temel düzeyde kullanarak okuyucunun işini kolaylaştırmayı amaçlamıştır.
Kickstart Nedir?
Kickstart (KS), Red Hat tarafından geliştirilmiş olan bir otomatik kurulum yöntemidir. KS, bir konfigurasyon dosyası yardımıyla, kurulum esnasında hiç bir soru sormadan işletim sistemini sizin istediğiniz gibi kurabilir ve konfigüre edilebilir. KS, aynı zamanda sistemi farklı kaynaklardan kurabilir. Bu kaynaklar CD, DVD, FTP, HTTP ya da NFS olabilir. Biz kurulum kolaylığı ve hızı dolayısı ile NFS kaynaktan kurulum yapacağız.
Nasıl Çalışır?
KS sistemi, bizim kuracağımız konfigürasyona göre adım adım şu şekilde çalışmaktadır.
- Sistem kurulacak bilgisayar açılır ve ethernet kartı üzerinden boot edilir.
- Ethernet kartı bir DHCP sunucusu arar, DHCP sunucusu bilgisayara IP adresi, TFTP sunucusu adresi ve TFTP sunucusundan hangi dosyayı çekeceği bilgisini gönderir.
- Bilgisayar TFTP sunucusuna bağlanır, TFTP sunucusundan gerekli dosyayı çeker ve çektiği dosyayı boot eder.
- Çektiği özel dosya, bilgisayarın IP adresine göre seçilmiş bir Linux çekirdeği ve ilgili parametreleri çeker ve kontrolü Linux çekirdeğine bırakır
- Linux çekirdeği, aldığı parametrelere göre sistemi açar, kurulum ayar dosyasını çeker ve sistemi orada belirtilen seçeneklere göre kurar.
- Kurulum sonunda bizim kuracağımız bir web sunucusuna bağlanarak kurulumun bittiğini haber verir ve buna göre kurulum sunucusunda o IP için gerekli değişiklikler yapılır.
- Sistem kendini reboot eder ve yine DHCP ye bağlanır daha sonra gidip gerekli dosyayı alır ama; gerekli dosya kurulumu başlatmak yerine o IP için verilmiş olan "diskten başlat" emrini kullanarak sistemi açar.
Biz ilerleyen bölümlerde bu servisi adım adım kuracak ve çalışır hale getireceğiz.
Donanım Gereksinimleri
Bu kısımda dikkat edilmesi gereken tek nokta, işletim sistemi kurulacak olan bilgisayarın PXE (Pre-eXecution Environment) desteğinin olmasıdır. Bu destek sayesinde KS sistemi bilgisayarı uzaktan boot ederek kurulumu başlatacak ve bilgisayarı yönlendirebilecektir.
PXE boot ROM:
- 3COM / US Robotics / Intel gibi markalı ethernet kartlarında
- Yeni anakartların yerleşik ethernet kartlarında bulunmaktadır.
Not: Marvell Yukon ailesi ethernet kartları, sk98lin sürücüsünün dağıtılamaması nedeni ile Scientific Linux tarafından desteklenmemektedir fakat; bu sürücüleri derleterek ve boot edilecek çekirdeğe ekleyerek bu desteği sağlamak mümkündür.
Servislerin Kurulması
Bu bölümde gerekli servisleri sistemimize kuracağız. Kurulum dosyalarını ise bir sonraki adımda servisleri ypaılandırarak tamamen çalışır hale getireceğiz.
Bu servisi Linux çalıştıran herhangi bir bilgisayara kurabilecek olmamıza rağmen, biz bu yazıda SL üzerine kurulumu işleyeceğiz. Bu prosedür RHEL ya da RHEL uyumlu / tabanlı başka bir dağıtıma da uygulanabilir.
Not: Yapılacak bütün işlemler root kullanıcısı gerektirdiğinden dolayı açtığınız kabuk istemcisinde root hakları almanız gerekmektedir. Eğer sistemin root kullanıcı şifresini bilmiyor iseniz, lütfen şifreyi bilen kişi ile irtibata geçiniz.
TFTP Sunucusunun Kurulması
TFTP, Trivial File Transfer Protocol'ün kısaltılmış halidir ve normal FTP protokolünün alt kümesidir (sadeleştirilmiş bir türüdür). Günlük hayatta ne kadar gözümüze çarpmasa da bir çok yerde kullanılmaktadır.
TFTP servisi, SL'de xinetd (eXtended internet superserver) üzerine kurulan tftp-server eklentisi ile sağlanmaktadır. Bu paketleri kurmak için şu komutları kullanabiliriz:
yum update
yum install xinetd
yum install tftp-server
Eğer bu paketlerden herhangi biri kurulabilir ama güncellenebilir durumdaysa güncellenecek, yeterince güncelse paketin zaten kurulu olduğuna dair bir uyarı mesajı geri dönecektir. Bu bir sorun değildir.
Bu paketler kurulduktan sonra TFTP sunucusunu devreye sokmak icin, /etc/xinetd.d/tftp dosyasındaki
disable = yes satırını disable = no
olarak değiştiriyoruz ve
/etc/init.d/xinetd restart
komutu ile xinetd sistemini yeniden başlatıyoruz.
Eğer her şey yolunda gittiyse, TFTP sunucunuz servise hazır hale gelmiş demektir.
Eğer tftp sunucunuzun her sistem açılışında otomatik olarak çalışmasını istiyorsanız:
chkconfig xinetd on
komutunu kullanabilirsiniz.
TFTP sunucusunun sağlayacağı dosyalarla ilgili adımları bir sonraki adımda inceleyeceğiz.
NFS Sunucusunun Kurulması
NFS (Network File System) Linux tabanlı işletim sistemlerinde dosyaların ağ üzerinden transparan (sanki yerel bilgisayardaymış gibi) olarak erişilmesini sağlayan bir servistir. NFS, paylaşılan yerel bilgisayardaymışcasına kullanılmasına izin verdiği için kurulumu oldukça pratikleştirmektedir. Biz de KS kurulumu yaparken bütün dosyaları NFS üzerinden paylaştıracak ve erişeceğiz.
Sisteminize NFS ile ilgili paketi
yum update yum install nfs-utils
komutlarını kullanarak kurabilirsiniz. Eğer paket sisteminizde kurulu değilse kurulacaktır. Paket kurulu ise sistem bir uyarı vererek programı sonlandıracaktır.
Eğer nfs sunucunuzun her sistem açılışında otomatik olarak çalışmasını istiyorsanız:
chkconfig nfs on
komutunu kullanabilirsiniz.
Dosya paylaştırma ile ilgili diğer adımları bir sonraki adımda inceleyeceğiz.
DHCP Sunucusunun Kurulması
DHCP (Dynamic Host Configuration Protocol) bilgisayarların ağ ayarlarının otomatik bir şekilde merkezi bir sunucudan yapılmasına olanak sağlayan bir iletişim protokolüdür. DHCP genelde bir çok bilgisayara IP dağıtmak ve bu IP leri yönetmek için kullanılmasına rağmen, yapabildikleri bununla sınırlı değildir. Biz DHCP sunucusunu ek özellikleri ile birlikte, daha önce kurmuş olduğumuz TFTP'ye yardımcı olması için kullanacağız.
DHCP sunucusu, SL sistemlerde dhcp paketi ile geliyor ve başka kullandığımız yardımcı paketi yok. Bu paketi yüklemek için:
yum update yum install dhcpd
Bu komutlardan sonra eğer dhcp paketi yüklü değilse kurulacaktır. Yüklü ise sistem bu konuda bir uyarı vererek programı sonlandıracaktır. Paketi kurduktan sonra DHCP sunucumuzun sistem başladığında başlamasını sağlamak için:
chkconfig dhcpd on
komutunu kullanabilirsiniz.
DHCP sunucusu ile ilgili diğer adımları bir sonraki adımda inceleyeceğiz.
Apache Web Sunucusunun Kurulması
Apache, bir web sunucusu olmasına rağmen, KS sisteminde çok işimize yarayacak ufak bir görevi yerine getirecek. Kurulum bittikten sonra kurulan sistem KS sunucusundaki Apache sunucusunda çalışan ufak bir scripti tetikleyerek kendine ait boot parametrelerinin değişmesini sağlayacak. Böylece sistem otomatik olarak yeniden başladığında kuruluma baştan başlamak yerine işletim sistemini açarak kurulumu tamamen otomatikleştirmiş olacak.
RedHat ve SL, Apache sunucusunu apache adı yerine httpd adı altında dağıtıyorlar. Bu paketi yüklemek için:
yum update yum install httpd
komutlarını kullanabilirsiniz. Diğer paketlerde olduğu gibi apache sunucusu yoksa kurulacak, güncellenebiliyorsa güncellenecek yoksa program bilgi vererek kapanacaktır.
Apache sunucusunu yükledikten sonra çalıştırmak için
/etc/init.d/httpd start
komutunu kullanabiliriz. Eğer apache sunucusu çalıştıysa ve herhangi bir güvenlik duvarı tarafından erişim engellenmiyorsa, yeni kurulan apache sunucusuna http://bilgisayarinizin_ipsi üzerinden ulaşabiliyor olmanız gerekir.
Eğer web sunucunuzun sisteminizi her yeniden başlattığınızda otomatik olarak çalışmasını istiyorsanız
chkconfig httpd on
komutunu kullanabilirsiniz.
Apache web sunucusunun cgi desteği ile ilgili ayarlarını bir sonraki adımda inceleyeceğiz.
Sistemi Çalışır Hale Getirmek
Bu adımda bir önceki adımda kurmuş olduğumuz sunucu ve bileşenlerini yapılandıracak, gerekli dosyaları yerine kopyalayacak ve sistemi çalışır hale getireceğiz. Bu adımın sonuna geldiğimizde KS sistemi ile kurulum yapabiliyor olacağız.
Servisleri Yapılandırmak
Bu bölümde, bir önceki adımda kurduğumuz servislerin bazılarında gerekli olan yapılandırma değişikliklerini uygulayacağız.
TFTP Sunucusu
Kurmuş olduğumuz TFTP sunucusu herhangi bir yapılandırma gerektirmemektedir fakat her sunucu gibi göndereceği dosyaların bulunduğu bir dizine ihtiyaç duymaktadır. Bu dizin, varsayılan ayarlara göre /tftpboot dur. Bu klasör eğer yaratılmamış ise:
mkdir /tftpboot
komutu ile oluşturulabilir. Eğer klasör var ise, sistem bir uyarı verecek ve klasörün üzerine yazmayacaktır.
NFS Sunucusu
NFS, daha önce de bahsedildiği gibi ağ üzerinden dosya paylaştırma görevini üstlenen sunucudur. NFS sunucusu, hangi dosyaları hangi şartlar ile paylaştıracağını /etc/exports dosyasından başlatıldığı sırada okur.
/etc/exports altında bu ayarları yapmadan önce, gerekli olan dizinleri oluşturmakta fayda var. Bunu yapmak için diskinizde yaklaşık 5GB boş yer olan bir dizin belirledikten sonra şu dizin ağacını oluştuyoruz:
- kickstart
- img
- install_source
- mount_temp
- etc
Bu dizin yapısını tek bir komutla oluşturmak ise son derece kolay:
mkdir -p kickstart/{img,install_source,mount_temp,etc}
Böylece paylaştırmamız gereken dizinlerin tamamını yarattığımıza göre, artık bunları /etc/exports altından paylaştırabiliriz. /etc/exports dosyası yazması ve okuması oldukça kolay olan bir dosyadır. Paylaşım başına tek satırlık bir formatı vardır:
<paylasilacak_yerel_dizin> erisim_hakki_olan_adres(secenekler)
Alttaki örneğe geçmeden önce kendi sistemimizin şu şekilde yapılandırılmış olduğunu varsayalım:
- Paylaştırılacak dizinin bulunduğu ana dizin:
/data
- Ağın alan adı:
ulakbim.gov.tr
- İstediğimiz seçenekler:
ro, sync, no_root_squash
Bu saydığımız özellikler ile sadece şu anda bulunduğumuz ağın içinden erişilebilecek bir NFS paylaşımını şu şekilde yazabiliriz:
/data/kickstart *.ulakbim.gov.tr(ro, sync, no_root_squash)
Bu satırı /etc/exports dosyasının içine ekledikten sonra servisin ayarları yeniden yüklemesi için servisi reload ediyoruz:
/etc/init.d/nfs reload
Böylece servis kendisini kapatmadan ayarları yeniden okuyarak yeni paylaşımımızı hizmete sokuyor.
Ek Bilgi: /etc/exports dosyası ile ilgili detaylıyı bilgiyi dosyanın man sayfasından edinebilirsiniz. Sayfaya ulaşmak için man exports komutunu kullanabilirsiniz.
DHCP Sunucusu
DHCP sunucusu, daha önce de belirttiğimiz gibi öncelikle IP yönetiminde kullanılan, bilgisayarların ağ parametrelerinin merkezi yönetimini sağlayan bir protokoldür. Biz bu protokolün yönlendirme ve boot özelliklerini de kullanarak kuracağımız bilgisayar(lar)ın tamamen otomatik şekilde kuruluma başlamasını sağlayacağız.
DHCP yapılandırma dosyası /etc/dhcpd.conf dosyası altında durur. Bu dosya DHCP sunucusunun hizmet verdiği bütün ağlar ile ilgili ayarları tutar. Aşağıda bizim yapacaklarımıza uygun bir dosya örnek olarak verilmiştir:
deny unknown-clients;
not authoritative;
option domain-name-servers 193.140.55.254;
option dhcp-max-message-size 2048;
use-host-decl-names on;
ddns-update-style ad-hoc;
subnet 193.140.55.0 netmask 255.255.255.0
{
option domain-name "ulakbim.gov.tr";
option broadcast-address 193.140.55.255;
next-server 193.255.55.100;
option routers 193.140.55.254;
allow bootp;
#eth0 ip dagitma blogu
host grid01{filename "pxelinux.0"; hardware ethernet 09:F9:11:02:9D:74; fixed-address 193.140.55.121;}
}
Yukarıdaki örnek dosya tek bir bilgisayarı uzaktan boot edip PXE'ye yönlendirebilecek bütün ayarları içermektedir. Şimdi bu satırları inceleyelim.
deny unknown-clients: MAC adresi dosya içerisinde olmayan bilgisayarlara cevap verilmez.
not authoritative: DHCP sunucusunu ikincil olarak çalıştırır, birincil bir DHCP sunucusu çalışıyorsa, onunla çakışmasını önler.option domain-name-servers 193.140.55.254: Sunucunun istemcilere yollayacağı DNS sunucusu adreslerioption use host-decl-names on: DHCP sunucusundan IP alan bilgisayarların kendi isimlerini kullanmalarına izin verir.ddns-update-style ad-hoc: DNS sunucusunun dinamik olarak ne şekilde güncelleneceğini belirler.subnet 193.140.55.0 netmask 255.255.255.0: Belirtilen subnet (alt-ağ) ve network mask ile ilgili ayarların başladığını söyler"{"işareti ile betik açılır ve"}"ile kapatılır. Bu iki işaret arasında kalan her şey sadece o alt-ağ için geçerlidir.option domain-name "ulakbim.gov.tr": belirtilen alt-ağın adını belirler.option broadcast-address 193.140.55.255: belirtilen alt-ağın broadcast adresini belirler.next-server 193.140.55.100: TFTP sunucusunun adresini belirler. DHCP bu komut (satır) ile IP verdiği bilgisayarları TFTP ye yönlendirir.option routers 193.140.55.254: Alt-ağın gatewayinin adresini belirler.allow bootp: DHCP sunucusunun bootp isteklerini olumlu cevap vermesini sağlar.host grid01{filename "pxelinux.0"; hardware ethernet 09:F9:11:02:9D:74; fixed-address 193.140.55.121;}:
- Makine adının grid01,
- Kendisini boot etmek istediği zaman TFTP sunucusundan çekmesi gereken dosyanın adının "pxelinux.0" olduğunu,
- Ethernet bağlantısını kullandığını ve ethernet kartına ait MAC adresinin 09:F9:11:02:9D:74 olduğunu,
- Ve kendisine sabir olarak 173.140.55.121 IP sinin verileceğini belirtir.
- Makine adının grid01,
host grid01{filename "pxelinux.0"; hardware ethernet 09:F9:11:02:9D:74; fixed-address 193.140.55.121;} satırı her bilgisayar için ayrı ayrı yazılır. Aynı şekilde bir dhcpd.conf dosyası birden fazla alt-ağ için yapılandırma içerebilir.
Ek Bilgi: /etc/dhcpd.conf dosyası ile ilgili detaylıyı bilgiyi dosyanın man sayfasından edinebilirsiniz. Sayfaya ulaşmak için man dhcpd.conf komutunu kullanabilirsiniz.
Kickstart Yapılandırma Dosyası
Kickstart yapılandırma dosyası, RedHat'in uzaktan kurulum sisteminin bel kemiğini oluşturur. Kurulacak işletim sistemi i
le ilgili bütün ayarlar bu dosya üzerinden yapılır. Bu yapılandırma dosyası kurulum metodundan kurulacak paketlere ve hatta kurulumdan sonra çalıştırılacak betiklere kadar bir çok alan içermektedir.
Bizim kullanmakta olduğumuz kickstart sürümünün yapılandırma dosyası ile ilgili ingilizce el kitabına buradan erişebilirsiniz. Bu sayfalarda ki
kickstart yapılandırma dosyası ile ilgili bütün ayrıntılar mevcuttur.
Bizim kurulumlarımızda kullandığımız kickstart dosyasına buradan erişebilirsiniz. Bizim kullandığımız bu dosya, sistemdeki bütün işletim sistemlerini silerek diski bölümler ve SL 3.0.8'i küme bilgisayarı olabilecek bir yapılandırma ile kurar.
Kickstart yapılandırma dosyanızı istediğiniz hale getirdikten sonra, daha önceden yaratmış olduğumuz /data/kickstart/etc klasörüne kopyalıyoruz. Böylece kickatart yapılandırma dosyamızı da ilk açılacak olan kernelin erişebileceği bir yere koymuş olduk.
PXE
Bu bölümde en son olarak PXE sistemini yapılandıracağız. PXE sistemi kurulan bir servis olmamasına rağmen bazı yapılandırma dosyarına ihtiyaç duymakta. Bu yapılandırma dosyaları Linux'un sistem yükleyici dosyalarına oldukça benzeyen, okunabilir metin dosyalarıdır.
Boot edilen bilgisayar, kurulum sunucunuzdan pxelinux.0 dosyasını indirip açtığı zaman bu dosya, tftp sunucusu içerisindeki pxelinux.cfg klasörü altında DHCP tarafından verilmiş olan IP adresinin hexadecimal (16lık düzen) eşini arar. Eğer dosyayı bulamaz ise, son karakteri siler ve yeniden dener. Bu sayede her bilgisayar için ayrı dosyalar yaratmak yerine bilgisayar grupları için dosyalar yaratmak mümkündür.
Örneğin, kurulacak bilgisayarımızın IP adresi 193.168.1.64 olsun. Bu adresin hexadecimal karşılığı C0A80140 dır. pxelinux.0 dosyası karşıda sırası ile şu dosyaları arayacaktır:
C0A80140
C0A8014
C0A801
C0A80
C0A8
C0
C
default
PXELinux'un çalışma prensibi ile daha ayrıntılı bilgiye buradan erişebilirsiniz.
PXELinux sistemimizi tamamen otomatik hale getirmek için iki tane dosyaya ihtiyacımız var. Biri install_boot diğeri ise hdd_boot.
install_boot dosyasının içeriği şöyle:
default linux
serial 0 38400 n8
label linux
kernel vmlinuz
append initrd=initrd.img network ks=nfs:192.168.1.1:/data/kickstart/etc/ks.cfg ip=dhcp ksdevice=eth0
Bu dosya PXELinux'a
vimlinuzçekirdeği veinitrd.img<code> hafıza görüntüsünün çekilmesini,- Linux çekirdeğinin ağ altyapısını açmasını ve DHCP üzerinden ağ kart(lar)ının ayarlarını yapmasını,
- 193.168.1.1 IP li makinenin <code>/data/kickstart/etc/ NFS paylaşımından
ks.cfgdosyasını kullanarak KS kurulumu başlatmasını, - Kurulum için gereken ağ bağlantısını ilk ethernet ethernet kartı üzerinden yapılmasını ve kontrolü tamamen linux çekirdeğine bırakmasını söyler.
hdd_boot dosyası ise aşağıdaki gibidir ve sistemin kendi hard diskinden işletim sistemi yüklemesini söyler.
default localboot
label localboot
LOCALBOOT 0
Bu dosyaları yerine koyduktan sonra, kurulum sistemini devreye sokmak için, install_boot dosyasını yukarıda belirtildiği gibi IP belirten bir dosyaya sembolik bağ ile bağlamanız gerekmektedir. Dosyaların nasıl isimlendireceğini, bölümün başında anlatmıştık. Dosyaları sembolik şekilde bağlamak için:
ln -s install_boot <hexadecimal_IP>
komutunu kullanabilirsiniz. Ayrıca, kurulum bittikten sonra dosyaların apache tarafından değiştirilebilir olmaları için;
chmod 755 /tftpboot/pxelinux.cfg/* && chown -R apache:apache /tftpboot/pxelinux.cfg
komutunu kullanabilirsiniz.
Dosyaların Gerekli Yerlere Konulması
Kurulum Dosyalarının Yerlerine Kopyalanması
Bu adımda SL CD lerini internetten indirip, kurulum sunucumuzda daha önce hazırladığımız /data/kickstart dizini altına açacağız. Böylece sunucuyu kullanarak bilgisayarlarda CD ya da benzeri bir kurulum medyasına ihtiyacımız olmayacak.
SL dağıtımının anasayfası http://www.scientificlinux.org adresinde bulunmaktadır. Bizim şu anda sitelerimizde kullandığımız 32 bitlik 3.0.8 sürümüne ftp://ftp.scientificlinux.org/linux/scientific/308/iso/i386 adresinden erişebilirsiniz. Öncelikle bu adreste bulunan .iso dosyalarını sunucumuzda daha önce hazırladığımız yer olan /data/kickstart/img/ altına kaydediyoruz.
Bu işlem bittikten sonra CD lerin içindeki dosyaları yine kicktart altındaki install_source klasörüne kopyalayacağız. Bu sayede kurulum sunucumuza NFS üzerinden paylaştırılmış bir SL 3.0.8 kurulum yanısı kurmuş olacağız. CD leri bu klasöre kopylamak için izleyeceğimiz yöntem ise şöyle:
Her CD için:
- CD yi yine aynı dizindeki
mount_tempdizini altına bağlayacak - CD içindeki dosyaları
cpkomutu ile yerine kopyalayacak ve - CD yi çıkartacağız.
Bunun için şu komutları kullanabiliriz:
/data/kickstart dizinindeyken # mount img/<dosyaismi> mount_temp -o loop # cp -prvf mount_temp/* install_source/ # umount mouny_temp
Bu işlemleri bitirdikten sonra oldukça kalabalık bir install_source dizininin oluşmuş olması gerekiyor. Eğer her şey yolundaysa, /data/kickstart klasör
ü altında "du -hc install_source|grep total" komutunu kullandığınızda "2439284 total" cevabını alırsınız. Hiç bir sorun olmadığından eminseniz ve CD ler
e ihtiyacınız olmadığını düşünüyorsanız (ki her ihtimale karşın CDlere yazmanızı öneriyoruz) /data/kickstart dizini altında rm -rfv img mount_temp komutu ile img ve mount_temp dizinlerini içindeki her şey ile beraber silebilirsiniz.
PXE Boot ROM ve KS kernelinin yerine kopyalanması
Kurulum dosyalarını yerlerine kopyaladıktan sonra bu adımda bilgisayarımızı uzaktan boot etmek için kullanacağımız PXE boot programını ve bilgisayarın uzaktan kurulumu için özel olarak hazırlanmış SL kernellerini sunucumuzdaki yerlerine koyacağız.
PXELinux programının özellikleri ve çalışma prensibi hakkında detaylı bilgilere http://syslinux.zytor.com/pxe.php adresinden ulaşabilirsiniz. PXELinux programının 3.36 sürümünü http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.36.tar.gz adresinden indirebilirsiniz.
Dosyayı indirdikten ve açtıktan sonra içinden çıkan pxelinux.0 adlı dosyayı daha önce yarattığımız /tftpboot dizininin içine koyuyoruz. Aynı şekilde /data/kickstart/install_source/images/pxeboot dizini
nde duran initrd.img (PXE boot için özel olan RAM disk imajı) ve vmlinuz (PXE boot için olan Linux çekirdeği) dosyalarını /tftpboot dizinine kopyalıyoruz.
Böylece kurulacak bilgisayarı boot etmek için gerekli olan dosyaların çok büyük kısmını yerine yerleştirmiş oluyoruz.
CGI Scriptinin Yerine Konulması ve Test Edilmesi
Daha önceki bölümlerde söylediğimiz gibi, apache web sunucusu üzerinde çalıştıracağımız ufak bir CGI scripti ile kurulum bitiminde makinelerin açılış ayarlarını otomatik olarak değiştirmesini sağlayacak, böylece kurulumu tamamen otomatikleştirmiş olacağız. Sözünü ettiğimiz bu CGI scriptine buradan erişebilirsiniz.
CGI scriptini çalışır hale getirmek için yapmamız gereken işlemler ise şöyle:
- İndirmiş olduğumuz sıkıştırılmış arşivin içinden çıkan
ack.cgidosyasını kurulum sunucumuzun/var/www/cgi-bindizinine kopyalıyoruz. - Kopyaladığımız dosyasının sahibini ve grubunu
apache(bunun içinchown apache:apache /var/www/cgi-bin/ack.cgikomutunu kullanabiliriz), haklarını ise755 / -rwxr-xr-x(bunun için isechmod 755 /var/www/cgi-bin/ack.cgikomutunu kullanabiliriz) olacak şekilde değiştiriyoruz.
Sadece apache web sunucusunun kullanabileceği bir cgi scriptini sisteme yerleştirdik. Bundan sonra kurulum bittikten sonra bu scripte gelen istekler doğrultusunda /tftpboot/pxelinux.cfg altındaki dosya bağlantıları otomatik güncellenecek.





