![]() |
||
|
||
Bu yaz� FreeBSD'de "make world"�n
nas�l yap�laca��n� anlatmaktad�r.OpenBSD i�in simdilik "make
world"�n nas�l yp�laca��n� anlatm�yaca��m.Make world
Linux'teki kernel derlemeye benzer.Fakat bilindi�i �zere *BSD (BSDi de�il)ler
Linux gibi sadece bir kerneldan ibaret de�ildir.*BSd'leri geli�tiren �ah�slar
core sistem olarak kernel ve sistem i�in gerekli di�er yaz�l�mlar�
isletim sistemine dahil etmi�lerdir.�rnek vermek gerekirse FreeBSD core
olarak sendmail'i i�eririr.Bunun yan�nda /bin ve /sbin dizini alt�ndakilerde
FreeBSD core i�lerim sistemi ile beraber gelir.D���n�n sisteminiz �ok
eskidi.FreeBSD 4.0'a sahipsiniz ama server�n�z�n kararl���na g�venmiyorsunuz.��te
bu durumda Linux'teki gibi sadece kernel'� update etmek yerine FreeBSD
'nin source tree'sini kendi sisteminize dahil indirmeniz gerekmektedir. Not: Bu yaz�n�n her hakk� EnderUnix yaz�l�m geli�tirme grubuna
aittir.Yazar ( �mer Faruk �en) bu d�kuman�n sisteminize verece�i hi�bir
zarar� kabul etmez.Yaz� yaz�l�rken FreeBSD'nin handbook'undan yararlan�lm��t�r.Yazar
kendisi "make world" yapm��t�r ve kar��la�t��� �zel
sorunlar� burada zikredecektir.Bu d�kuman�n ana adresi http://www.EnderUnix.org
adresidir.Yaz�da sisteminizin bu tarih itibar� ile (18.03.2001
) olan 4,3 Beta olan s�r�m�n�n kurulumu anlat�lacakt�r.
|
||
Make World'�n Yap�lmas� | ||
Asl�nda FreeBSD'nin Linux'e g�re bir�ok �st�nl���
var.Nitekim make world!te bunlardan biri.Make World sayesinde sisteminize
birkere herhagi bir FreeBSD s�r�m�n� kurarak sisteminizi stable
yapabilirsiniz.Hatta biraz ileri gidersek sisteminizin multi user
mode'tayken bile sistemniniz otamatik olarak g�ncelleyebilirsiniz. Simdi ad�m ad�m yapacaklar�m�z� s�ral�yal�m: 1)Source Tree'yi G�ncellemek |
||
Source Tree'nin G�ncellenmesi | ||
Bu k�s�m en kolay k�s�mlardan biri asl�nda
bu sizin ba�lant� h�z�n�za g�re de�i�iyor.��nk� /usr/src nin
toplam b�y�kl��� FreeBSD 4.2 Release itibar� ile 251mb kadar.Biraz
buyuk de�ilmi ama i�in kolay� var.Elinizdeki herhangi bir FreeBSD
Release CD'sinden /stand/sysinstall ile sistem sourcelar�n� o release
itibar� ile kurun. Daha sonra cvsup program� ile (Bu programa KABACA cvs sisteminin kullan�m kolayl��� olsun diye biraz de�i�tirilmi� bir versiyonudur denebilir).Bu program i�in bir konfigurasyon dosyas�na ihtiyac�m�z var.Fakat merak etmeyin FreeBSD ekibindekiler bizler i�in bunuda d���nm��ler ve gerekli konfigurasyon dosyas�n� /usr/share/examples/cvsup dizini alt�na koymu�lar.Bu dosyalardan bizim durumumuzda ihtiya� duydu�umuz stable-supfile olacaktir.Bu dosyada yapmam�z gereken sadece bir de�i�ikliklik var.Oda size en yak�n olan cvsup server� se�mek.Burada birka� cvsup server'�n adresini vereyim. a)cvsup.freebsd.org b)cvsup2.freebsd.org ( 3 4 5 6 numaral� servarlarda var) c) Benim kulland���m cvsup.uk.freebsd.org yada di�erleri.Ayr�nt�l� mirror listesi i�in http://www.freebsd.org/handbook/mirors.html adresine yada http://freebsd.enderunix.org/handbook/mirrors.html adresinden bakailirsiniz. Sadece server sat�r�n� de�i�tirdikten sonra yapman�z gereken tek�ey cd /usr/src cvsup -g -L 2 /usr/share/examples/cvsup/stable-supfile dir.Bundan sonra yapman�z gereken sadece beklemek.Gerekli dosyalar ya G�NCELLEN�R yada olmayan dosyalar OLU�TURULUR. Bir di�er yol ise CTM'dir. CTM benim evde source treemi g�ncellemek i�in
kulland���m bir y�ntemdir.CTM= Current Thru Mail yada CVSUP Thru Mail
demektir. Manuel sayfas�na bakarasan�z her iki ifadeyide g�rebilrsiniz:CTM'in
mant��� �udur: G�nl�k yap�lan de�i�iklikler freebsd ftp mirrorlar�ndan
herhangi birinde /pub/FreeBSD/CTM/src-4 dizini alt�nda gerekli de�i�ikliklerin
g�nl�k olarak eklendi�ini g�rebilirsiniz.Buradaki herbir dosyaya DELTA
ad� verilir.Ve herbiri ortalama 5-10 kb civar�d�r.CTM kullanmak san�r�m
b�t�n dial-up��lar�n i�ine gelecektir.CTM kullanmak i�in ilk ba�ta
bir start Delta'ya ihtiyac�m�z vard�r.Bu ba�lang�� deltalar�nda
yine o kadar b�y�k de�ildir.Yakla��k 65 mb b�y�kl���nde olan ve
her 100 deltada bir yay�nlalan deltalardan birini �R: src-4000Empty.gz
indirmeniz gerekmektedir.250 mb'a g�re yinede �ok b�y�k bir�ey de�il.�stelik
deltalar� saklayabilirsinizde.S�rar�syla yap�lacak seyler: |
||
Gerekli Sistem Dosylar�n�n Yedeklerini almak | ||
Mutlaka bu i�lemi yap�n.make world i�lermi
asl�nda /etc dizininize dokunmaz.Ama sisteminiz yenilendi�i i�in /etc
dizini ile /usr/src/etc dizini alt�ndaki de�i�iklikler birle�tirilmelidir.Asl�nda
bunu daha sonra anlataca��m ama bu iki dizindeki dosya farkl�l�klar�n�
birle�tirmek i�in bir perl scripti olan mergemaster kullan�lacakt�r. cp -pR /etc /etc.bak olarak /etc dizininin yede�ini al�n.Make world'�n de�i�iklik yapmad��� bir dizinler ise /var /tmp /usr/local dizinleridir.��te bu y�zdendirki Dan Bernstein qmail'i /var/qmail alt�na kurulmas�n� istemi�tir.Ek olarak make world /usr/local e dokunulmad��� i�in sisteminize kurdu�unuz �zel yaz�l�mlara dokunulmyacakt�r.Asl�nda Linux kullan�rken bile /usr/local'in de�erini ve manas�n� tam anlamam��md�r.Ama FreeBSD tam bir Unix oldu�u i�in FHS ye tam olarak uymaktad�r. |
||
Make.conf ve /etc/group dosyalar� ile oynamak | ||
Evet yava� yava� make world i�lemini yapmaya
do�ru gidiyoruz.Ama �nce /etc/group dosyas� ile oynamam�z
gerekmektedir.make world i�lemi sisteminizde baz� grouplar�n oldu�unu
varsaymaktadir.Ve binaryler bu grouplara�g�re kurulur.Bu problemle ba�a
��kmak iin /usr/src/etc/group dosyas�nda olupta /etc/group dosyas�nda
olmayan group'lar varsa /usr/src/etc/group dosyas�ndaki gerekli grouplar�
(e�er /etc/group dosyas�nda yok iseler) /etc/group alt�na kopyalay�n.Ornek
vermek gerekirse eskiden ppp olarak adland�r�lan (daha sonra network
olarak de�i�tirilmi�tir) group baz� versiyonlarda yoktu.Ve bunu de�i�ikli�i
mutlaka /etc/group alt�na eklemeliydiniz.Benzer bir �ekilde /etc/group
alt�nda olupta /usr/src/etc/group'a g�refarkl� bir GID a sahip olan
grouplar�n gidlar� /usr/src/etc/group baz al�narak de�i�tirilmi�tir.Dikkat
ederseniz /etc/group'taki sys adminlerin sonradane ekledi�i grouplardan
bahsetmiyorum.Onlar zaten 1000+ gid'a sahip oldu�u i�in oynamaya gerek
yok... Birde sizlere ek olarak daha derinlere inmek isterseniz /usr/src/UPDATING dosyas�n� okuman�z� tavsiye ederim.Asl�nda okumanada olur.��nk� burada ben gerekli �eyleri akl�ma geldik�ce bir d�zen i�inde anlataca��m. Sisteminiz i�in �zelle�tirilmesi gereken di�er bir dosya ise /etc/make.conf'tur.Bu dosya ile oynayaraj sisteminize tam olarak uygun optimize edilmi� binary'leri ve/veya kernal'i elde edebilirsiniz.Buradaki yap�lan eklemeler make in gerekli opsiyonlar�na eklenecektir.Burada oynama yaparken CFLAGS'lere sak�n -O2 opsiyonunu eklemeyin.Eklenmesi gereken opsiyon -O olmal�d�r.Daha fazla bilgi isterseniz /etc/defaults/make.conf'a bakman�z� �neririm.E�er h�zl� bir �eklilde make world yapmak isterseniz sisteminiz i�in �rnek bir make.conf dosyas�n�( bu dosyay� /etc/defaults/make.conf'u okuyarak olu�turdum) -------
|
||
Tek Kullan�c�l� Moda Ge�i� | ||
NOT:Aslinda illaki tekli moda girmeniz gerekmiyor. Nitekim tecrube kazandiktan sonra bu isi uzaktaki makinaniza ssh ile baglanarak cok rahat yapabilirsiniz. |
||
Make World | ||
Evet art�k sistem binarylerimizi derleme zaman�m�z
geldi.�imdi make world komutunu verebiliriz.Ama benim sizlere tavsiyem
make buildworld ile �nce sistem binarylerini derleyip daha sonra make
installworld ile derlenenen sistem dosyalar�n�z� sisteminize kurmak
olacakt�r.Ayr�ca % script /root/mbw.out ile derleme s�ras�nda yap�lan her�eyi mbw.out dosyas�nda kaydedebilirsiniz.E�er sisteminizin kac saatte dosylar� derledi�ini ��renmek isterseniz % time make buildworld komutuda kullan�labilir.Benim sistemimde (celeron 300a + 64mb ram) bu i�lem yakla��k 2,5 saat ald�.Birde e�er istenirse % make -j4 make buildworld komutunu kullanarak ayn� anda make komutunun 4 farkl� i� yapmas�n� sa�layabilirsiniz ama size tavsiyem bu opsiyonu kullanmay�n..E�er sisteminiz derleme s�ras�nda �ok de�i�ik .c dosylar�n�n derlenmesinde hata verirse bunun sebebi -j4 't�r. Birde e�er -j4 buildworld derseniz installworld derkende -j4 '� kullanmal�s�n�z yani: % make -j4 installworld B�ylece sistem binarylerimiz stable oldu.Bunlara ek olarak bind gibi yaz�l�mlarda stable duruma geldi.Bu a�amada sak�n sisteminizi kapatmay�n.(reboot vb.)Mutlaka yap�lan her make world'ten sonra source tree'den yeni kernel derlenip stable sistem bu kernel ile a��lmal�d�r.!!!!!!
|
||
Kernel'�n Derlenmesi | ||
Yap�lan her make worldten sonra mutlaka o
stable branch'e uygun bir kernel derlenilmesi gerekir.Neden? Daha �nceden
de s�yledi�im gibi FreeBSD sadece kernel'dan olu�maz.Sistem
binarylerini de i�erir.Nitekim source tree (/usr/src) yi inceleyen herkes
bunun fark�na �ok rahat varabilir.��te bu a�amada kernel nas�l
derleyece�iz o anlat�lacakt�r.En �st k�s�mda Release kernelininizin
konfigurasyon dosyas�n� mutlaka bir diskete kopyalay�n ibaresi vard�.��te
burada onu kullanaca��z.Kernel hatalar� ile make world'ten sonra u�ra�mak
g�� olabilir.B�ylece kar��la��lacak hatalar minimuma indirilmi�
olur.En az�ndan bu a�amada �al���r bir kernel derleyip sistem tam
manas�yla stable olduktan sonra kernel'da gerekli de�i�iklikler yap�labilir.E�er
istenirse stable source tree'nin GENERIC kernel'�da bu a�amada kulan�labilir. |
||
/etc Dizininin G�ncellenmesi | ||
Make world /etc dizinine dokunmaz.Ama stable
sistemin /etc si her zaman release den de�i�ik olmaktad�r.Bunu cvsup
yada ctm yaparkende g�zleyebilirsiniz./etc dizini alt�ndaki dosyalar de�i�tirilebilir
yada /etc alt�nda yeni dosyalar olu�turulabilir.Bu de�i�iklikler
normalde elle de yap�labilir diff komutunu kullanarak gerekli de�i�iklikler
/etc dizini alt�ndaki dosyalara uygulanabilir.Bunun zorlu�u g�z �nune
al�narak "mergemaster" scripti yaz�lm��t�r.Yap�lacaklar
: |
||
/dev Dizinin G�ncellenmesi | ||
Make world ve /etc dizini halledildikten sonra
s�rada /dev dizinini upgrade etmek var.E�er sisteminizde devfs kullan�yorsan�z
bu k�sm� rahatl�kla ge�ebilirsiniz.�lk ba�ta release'imizin /dev
dizini ile /usr/src/dev ini kar��la�t�rmak gerekir.E�er mergemaster'�
kullanm��san�z /dev/MAKEDEV dosyas� source treeden /dev dizinine
kopyalanm��t�r.Ama e�er paranoyak biri iseniz direk ellede
kopyalayabilirseniz.Yeni device'lar yarat�lmadan �nce bu device'lar�n
bir listesini alal�m: |
||
/stand/sysinstall Program�n�n G�ncellenmesi | ||
Asl�nda bu program� g�ncellemek gerekli de�il.�yi
bir sistem y�neticisi sysinstall'a ihtiya� duymadan her t�rl� i�ini
ger�ekle�tirebilir.K�sacas� kendi tabirimle " "BIGADMIN
/stand/sysinstall nedir bilmez.VI'dan �a�maz" :) /stand/sysinstall
g�ncellenmesi i�in |
||
Sistemin Yeniden Ba�lat�lmas� | ||
Art�k her�ey tamam.Sisteminizi tekrar ba�latmal�s�n�z.Bunun
i�in reboot yada fastboot komutlar�ndan birini kullanabilirsiniz.Sistem
yeniden a��lrken problemle kar����rsan�z sonraki b�l�m�
okuyun..... |
||
Sistem a��lm�yor?Ne yapmal�y�m? | ||
Pani�e hi� gerek yok.E�er buraya kadar
gelmi�seniz ve bir sorunla kar��la�masayd�n�z yapt���n�z tek
hata mergemaster ile olacakt�r.Daha a��k bir ifade ile /etc alt�ndaki
dosyalar tam manas�yla g�ncellenmemi�tir.Mesela /dev/ttyv0,,,7 yok gibi
bir hata ile kar��la��rsan�z muhtemelen /etc/gettytab dosyas�n�
manuel olarak /etc alt�na koyalamal�s�n�z.Yada verilen hatalara g�re
gerekli dosyay� kopyalamal�s�n�z.Fakat burada bir sorun olu�acakt�r.E�er
sistem a��l�rken hata ile kar��la��rsaniz sisten b�t�n slice'lar�
read-ony mount edecektir.��te bu durumda daha �nce zikretti�im �ekilde
sistemi single mode'ta a�man�z gerekmektedir.Sistemi CTRL+ALT+DELETE ile
yeniden ba�lat�n 10 saniye beklemeden ENTER tu�u haricinde herhangi bir
tu�a bas�n.B�ylece kernel configurator'a girmi� olursunuz. |
||
Bu d�kuman�n ana adresi http://EnderUnix.org
'tur.Bu d�kuman�n t�m haklar� Enderunix Yaz�l�m Geli�tirme Grubuna
aittir.D�kuman �zerinde yapmak istedi�iniz i�lemler (sitenizde yay�nlama,bas�l�
herhang� bir yerde kullanma vb.) i�in [email protected]
adresine mail atip gerekli izini alma zorunlulu�u vard�r D�kuman� yazan: �mer Faruk �en ( [email protected], [email protected] ) |
||