Forum Oku ll Lider Olmaya Değil , Önder Olmaya Geldik ! - vBulletin
Would you like to react to this message? Create an account in a few clicks or log in to continue.


       Forum Oku ll Lider Olmaya Değil , Önder Olmaya Geldik ! - vBulletinHoşgeldiniz :
En son ziyaretiniz :
Mesaj Sayınız : 0

 
HomeLatest imagesSearchRegisterLog in

Share | 
 

 Linux Hakkında Herşey

View previous topic View next topic Go down 
AuthorMessage
Hitman Bret Hart
Üye
Üye
Hitman Bret Hart

Posts : 14
Join date : 2010-06-15

Linux Hakkında Herşey _
PostSubject: Linux Hakkında Herşey   Linux Hakkında Herşey EmptyTue Jun 15, 2010 1:20 pm

Linux hakk?nda ilk dökümanlar
yaz?ld???nda, Linux çal??t?rabilecek bilgisayarlar?n özellikleri
önemliydi. Linux 32 bitlik bir i?letim oldu?undan en az 80386SX
i?lemcilerle çal??maktad?r. 8086 ve 80286 i?lemcili IBM-PC uyumlu
ki?isel bilgisayarlar Linux taraf?ndan desteklenmemektedir. Haf?za
olarak en az 4 Mbyte RAM (yo?un i?lemler için 12 veya 16) tavsiye
edilmektedir. Teknik olarak 2 Mbyte ile de çal??abilmesi gerekir. Pratik
olarak bugün piyasada bulunan hemen hemen her IBM-PC uyumlu ki?isel
bilgisayarda Linux çal??abilmektedir.

8 Mbyte RAM'a sahip herhangi bir 486 üzerinde hemen hemen her türlü
uygulama rahatl?kla çal??t?r?labilmektedir. Tabii ki daha fazla RAM ve
daha h?zl? i?lemciler sistemin genel olarak daha h?zl? çal??mas?n?
sa?layacaklard?r.

Linux taraf?ndan desteklenen donan?mlar her geçen gün de?i?iyor.
Bilgisayar?n?zda bulunan herhangi bir donan?m?n desteklenip
desteklenmedi?ini Hardware-HOWTO dosyas?ndan ö?renebilirsiniz.

Yine de daha önce yaz?lanlar? k?saca tekrar edersek,


1. Ki?isel bilgisayarlarda INTEL, AMD, CYRIX ?irketlerinin tüm 80386,
486, 586, 686, Pentium, PentiumPro i?lemcileri
2. Tüm IDE, MFM, RLL sabit diskler
3. Ço?u SCSI sabit disk denetçileri
4. Ço?u ethernet ve G/Ç kartlar?
5. Birçok VGA, SVGA, EGA, HERCULES görüntü kartlar?


Linux taraf?ndan desteklenmektedir.

Linux ba?ka i?letim sistemleri ile ayn? sabit diskte bulunabilir.
Makinan?za Linux yüklemek için mevcut i?letim sisteminizi kald?rmak
zorunda de?ilsiniz. Fakat yine de Linux yükleyebilece?iniz bir miktar
alan ay?rmak zorundas?n?z. Bir bilgisayara Linux yüklemek için
bilgisayar?n?z üzerinde bir ba?ka i?letim sisteminin bulunmas?na gerek
yoktur, Linux tam anlam?yla kendi ba??na çal??abilen bir i?letim
sistemidir.

``Linux sabit disk üzerinde ne kadar yer kaplar?'' sorusuna kesin bir
cevap vermek oldukça zor, zira bu hangi yaz?l?mlar? yükleyece?inize ve
ne kadar kullan?c? alan? istedi?inize çok ba?l?d?r. Yine de kaba
rakamlar vermek gerekirse, 40 Mbyte'l?k bir alana çal???labilir durumda
ve i?inizin ço?unu görebilecek bir Linux kurulabilir. Tüm paketleri
yüklemeye kalkt???n?zda ise kabaca 250 Mbyte kadar yer kaplayacakt?r.

Linux, çok çe?itli gruplar taraf?ndan sürekli geli?tirilen bir i?letim
sistemidir. Belirli ki?iler ve topluluklar Linux için geli?tirilen temel
i?letim sistemini ve uygulama yaz?l?mlar?n? bir araya getirerek
da??t?mlar olu?tururlar. Bir Linux da??t?m? temel olarak bir makineye
Linux kurmak ve o bilgisayar üzerinde Linux'la çal??mak için gerekecek
tüm yaz?l?mlar? ve paketleri içerir, bu yaz?l?mlar?n yüklenmesi için bir
yükleme yaz?l?m? sa?lar.

?u an mevcut çok çe?itli Linux da??t?mlar? mevcuttur. Bu da??t?mlar
içerdikleri paketler ve yükleni? ?ekilleri aç?s?ndan baz? ufak tefek
farkl?l?klar gösterseler de temelde ayn? i?letim sistemini yüklerler.
Bir Linux da??t?m? bir araya getirildi?i zamandaki güncel i?letim
sistemini içermektedir. Örnek olarak Linux i?letim sisteminin temeli
olan çekirdek neredeyse her hafta yenilenerek geli?tirilmektedir. Oysa
da??t?mlar senede ancak birkaç kere olu?turulurlar.

Linux da??t?mlar? geleneksel olarak 3.5" lik disketler halinde
haz?rlan?r. (her biri bir 3.5" lik diskete s??abilecek seri dizinler
?eklinde). Her konu ile ilgili bir seri disket bulunur (örnek olarak n
serisi a? uygulamalar? için n1,n2,n3... ?eklinde)

2.1 Mevcut Da??t?mlar

Yayg?n olarak kullan?lan da??t?mlar a?a??da yer almaktad?rlar. Burada
anlat?lacak olan kurulum bilgileri, Linux Slackware da??t?m?na sahip
oldu?unuz farzedilerek haz?rlanm??t?r.

Slackware

Belki de en yayg?n olarak yer alan da??t?m Slackware da??t?m?d?r. Bu
döküman boyunca anlat?lacak olan komutlar ve sistem özellikleri
Slackware da??t?m?na göre düzenlenmi?tir. Di?er da??t?mlar için
anlat?lan i?lemlerin kar??l?klar? için da??t?m hakk?ndaki aç?klamalara
ba?vurabilirsiniz. Slackware da??t?mlar?n?n temin edilebilece?i yerler,


* Slackware da??t?c?s? Walnut Creek
* Orjinal Slackware FTP ar?ivi



Türkiye içerisinde Slackware Da??t?m? bulunduran baz? FTP ar?ivleri:

* Orta Do?u Teknik Üniversitesi
* Ege Üniversitesi
* Akdeniz Üniversitesi
* ?stanbul Teknik Üniversitesi


Red-Hat

Genel da??t?m





Red Hat Software 3201 Yorktown Rd, Suite 123 DeKalb Center Durham, NC
27713 Internet adresi :
redhat@redhat.com

RED-HAT
Linux da??t?m? WWW sayfas?

Orjinal RED-HAT FTP ar?ivi

Türkiye içerisinde Red Hat da??t?m? bulunduran FTP ar?ivleri

Ege Üniversitesi

ODTÜ

Debian

Genel da??t?m





The Debian Linux Association Software in the Public Interest P.O. Box
70152Pt. Richmond CA 94807-0152

Debian Linux da??t?m? WWW sayfas?

Orjinal Debian FTP ar?ivi

Türkiye içerisinde Debian da??t?m? bulunduran FTP ar?ivleri

ODTÜ

InfoMagic

Genel da??t?m





InfoMagic, Inc. PO Box 30370. Flagstaff, AZ 86003-0370 Tel:
(800)-800-6613 (siparis)(520)-526-9852 (teknik destek) Fax:
(520)-526-9573 Internet adresi :
info@infomagic.com

InfoMagic
WWW sayfas?

Bu konuda daha ayr?nt?l? ve güncel bilgi için Distribution-HOWTO'dan
yararlanabilirsiniz.

2.2 Ne ?ekilde Bulabilirim ?

Geleneksel olarak da??t?mlar?n disketler ile yap?ld???n? söylemi?tik.
Ancak günümüzde 100'den fazla disketle da??t?m pek pratik olmamaktad?r.
Linux kurdu?unuz yere ba?l? olarak de?i?ik alternatifleriniz olabilir.

CD-ROM

Çe?itli da??t?mlara ait CD-ROM'lar çe?itli dükkanlarda sat?lmaktad?rlar.
Linux asl?nda ücretsiz bir i?letim sistemidir. Al?nan ücret CD'nin
bas?m? da??t?m?, ambalaj?n? kar??lamas? için al?nmaktad?r. fiyatlar?
kabaca 10$-30$ mertebesinde (bazen birkaç yüz dolar? da bulabiliyor)
de?i?mektedir. Baz? da??t?mlarda telif kitaplar?n bulunmas? bu
da??t?mlar? daha pahal? yapabilmektedir. E?er herhangi bir ?ekilde bir
Internet eri?iminiz yoksa ve bir akademik çevrede de?ilseniz en pratik
Linux elde etme yöntemi CD-ROM'lard?r.

Türkiye içerisinde Linux da??t?m? bulunduran CD-ROM sat?c?lar?,

ADA Multimedia Center
Tunus Cad. 70/2 Kavakl?dere Ankara
Tel : (312) 467 37 28
(312) 467 33 32


?nternet

Tüm Linux da??t?mlar? Internet üzerinde anonim FTP hizmeti ile
sunulmaktad?r. Ancak bireysel olarak da??t?m?n tüm disketlerini bu yolla
almak çok pratik olmayacakt?r. Örnek olarak son slackware da??t?m? 110
Mbyte civar?nda yer kaplamaktad?r. Internet arac?yla da??t?m elde etmek,
yerel kullan?c?lar?na yeni da??t?mlar sunmak isteyen sistem sorumlular?
için ilginç bir çözüm olmaktad?r.

NFS

Bir yerel bilgisayar a??na sahip kurumlarda payla??lan bir disk alan?
üzerinden Linux yüklemek mümkündür. Bu sayede CD-ROM veya Internet
arac?l??? ile elde edilen bir da??t?m kurumda ortak bir disk alan?na
yerle?tirilir ve a?a ba?l? makinalara yükleme yap?labilir.

Birçok kurumda Linux yüklemek için, geçici olarak bir ethernet kart?
tak?l?r, bilgisayar a? deste?i veren bir ?ekilde aç?l?r ve Linux
disketleri bu ?ekilde a? üzerinden yap?l?r.

Sabit Disk

Herhangi bir ?ekilde Linux da??t?m? disketleri bir sabit diske de
kopyalanm?? olabilir. Bu durumda mevcut sabit disk üzerindeki disketler
kullan?larak da yükleme yap?labilir. Bu yöntem yine daha çok e?itim
kurumlar?nda ba?ka kaynaklardan elde edilmi? bir Linux da??t?m?n?
kopyalamak için kullan?l?r.

Bir kullan?c? makinesine Linux yüklerken tüm özelliklerini yüklemek
istemeyebilir. Yükledi?i yaz?l?mlar?n baz?lar?n?n gereksiz oldu?unu
dü?ünüyorsa ileride baz? uygulamalar? kald?rabilir veya sonradan gerekli
gördü?ü yaz?l?mlar? da??t?m disketlerinden rahatl?kla ekleyebilir.

Linux sadece da??t?mlarda bulunan yaz?l?mlarla s?n?rl? bir i?letim
sistemi de?ildir. Da??t?mlarda bulunan yaz?l?mlara ek olarak çok çe?itli
ba?ka uygulamalar mevcuttur. (Örnek olarak Netscape hiç bir Linux
da??t?m?nda bulunmamaktad?r). Bu ek yaz?l?mlar?n birço?u ?nternet
üzerinde FTP ar?ivlerinde bulunmaktad?rlar. Kitab?n sonundaki ek, Linux
uygulama yaz?l?mlar?n?n nerede bulundu?u hakk?nda biraz bilgi veriyor.

CD-ROM üzerindeki da??t?mlarda, da??t?mlar?n yan?s?ra bir çok tan?nm??
FTP ar?ivinde yer alan yaz?l?mlar ve çe?itli dökümanlarda yer al?r.
?nternet ba?lant?s? olan bir kurumda çal??mayan (veya bu tür bir kuruma
eri?imi bulunmayan) birisi için bir CD-ROM çok iyi bir çözümdür.

?nternet ba?lant?s? bulunan (özellikle akademik) kurumlarda güncel
da??t?mlar?n ?nternet üzerinden aktar?lmas? ve buradaki kullan?c?lara
NFS ve sabit disk üzerinde aktar?lmas? daha pratik bir uygulamad?r. Ayn?
kurumlar kendi çal??ma alanlar? ile ilgili bulduklar? ek yaz?l?mlar? da
FTP ar?ivlerinden toparlayabilir ve kullan?c?lar?na bu ek yaz?l?mlar?
sunabilirler.

2.3 Sabit Disk Üzerinde Linux ?çin Yer Açmak

Linux i?letim sistemini yüklemek için sabit diskiniz üzerinde Linux için
bir miktar yer ay?rmak zorundas?n?z. Herhangi bir sabit disk bir
i?letim sisteminde kullan?labilmesi için ilk olarak bölümlere
(partition) ayr?l?r. Daha sonra bu bölümler i?letim sistemine uygun
?ekilde formatlan?r. Linux i?letim sistemi kendi disk format?n? (ext2)
kullan?r. En yüksek verimi sabit disk üzerinde, kendi bölümünde, kendi
disk format? alt?nda çal??t??? zaman verebilir. E?er ayr? bir
bölümlendirme yap?lam?yorsa, tavsiye edilmese bile MS-DOS formatl? bir
disk üzerinde de Linux kurulabilir (UMSDOS) ancak bu sistemin
performans? di?erine göre oldukça dü?ük olacakt?r. Bu döküman?n geriye
kalan tüm k?s?mlar?nda bilgisayar?n?za Linux yüklemek için sabit disk
üzerinde Linux'a özgü bir bölüm ayr?laca?? ve bu bölüme yüklenece?i
kabul edilecektir. MS-DOS formatl? bir disk hiyerar?isi alt?na Linux
kurmak için UMSDOS-HOWTO döküman?ndan yararlanabilirsiniz. E?er
bilgisayar?n?z? bir süredir kullan?yorsan?z, büyük bir ihtimalle sabit
diskinizin tümünü kulland???n?z i?letim sistemi için ayr?m??
durumdas?n?zd?r. MS-DOS kullan?yorsan?z diskiniz bir (sadece C veya
birden fazla (C: D: ..) bölüme ayr?lm?? durumda olabilir. MS-DOS alt?nda
bir disk üzerinde en fazla 4 temel bölüm olabilir (primary partition).
E?er daha fazla bölüme ihtiyaç varsa temel bölümlerden biri
geni?letilmi? bir bölüm olarak ayr?l?r (extended partition) ve bu bölüm
üzerinde mant?ksal bölümler ayr?l?r (logical partitions).

Bilgisayar?n?zda birden fazla bölüm varsa bir bölümü bo?alt?p bu bölümü
Linux için ay?rabilirsiniz. E?er tek bölümünüz varsa, veya mevcut
bölümlerinizden birini tümüyle harcamak istemiyorsan?z diskinizi yeniden
bölümlemeniz gerekecektir. Klasik olarak bu durumda bölmek istedi?iniz
bölümdeki yaz?l?mlar?n yede?ini alman?z, daha sonra MS-DOS alt?nda fdisk
yaz?l?m? yard?m? ile sözkonusu bölümü silmeniz, yeni boyutu ile yeniden
yaratman?z, bu bölümü format komutu ile formatlaman?z ve yede?ini
ald???n?z yaz?l?mlar? yeniden yerle?tirmeniz gerekecektir (Çok i? )

Baz? yaz?l?mlar mevcut bölümünüzü iki parçaya ay?rabilirler. Örnek
olarak fips bu amaçla kullan?lan bir yaz?l?md?r. (Diskiniz üzerinde
i?lem yapan her yaz?l?m az da olsa disk üzerindeki bilgilere zarar verme
riski ta??r. Bu tür yaz?l?mlar ile çal??madan önce önemli oldu?unu
dü?ündü?ünüz bilgilerin yede?ini almaya özen gösterin). fips, defrag
program? kullan?ld?ktan sonra bölümünüzü sizin belirleyece?iniz
boyutlarda iki bölüme ay?rabilir.

E?er bilgisayaran?z? yeni al?yorsan?z veya yeni bir disk al?yorsan?z, bu
diskin tamam?n? veya bir bölümünü Linux için kullanabilirsiniz. Bu
amaçla diskinizde sadece Linux kullanmak istemedi?iniz bölümleri
ay?rman?z (ve gerisini bo? b?rakman?z) yeterlidir. Linux bölümlerinin
Linux alt?ndan formatlanmas? gerekecektir.

Linux sabit disk üzerinde bir bölümden fazlas?n? kullanabilir. Özel
olarak normal dosyalar?n yaz?lmad???, haf?za gereken i?ler s?ras?nda
geçici bir alan olmas? amac?yla Linux bir takas alan?na (swap space)
ihtiyaç duyar. Bu takas alan? için en verimlisi sadece takas i?lemi için
ayr?lm?? küçük bir disk bölümü yaratmakt?r.

Yo?un olarak Linux kullanan yerler için standart olarak da??t?mdan gelen
i?letim sistemini ayr? bir bölüme yüklemeleri kullan?c? alanlar?
(/home) ve sonradan yüklenen yaz?l?mlar (/usr/local) için ayr? bir alan
ay?rmalar? tavsiye edilebilir. Bu sayede, i?letim sistemi güncellemek
son derece kolayla??r, yeni i?letim sistemi yüklerken sadece i?letim
sisteminin bulundu?u bölüm üzerinde i?lem yap?l?r ve bu sayede kullan?c?
alanlar?n?n veya sonradan (da??t?m d???) yüklenen yaz?l?mlar?n zarar
görmeleri engellenebilir.

Her bir bölüm için ne kadar yer ayr?laca?? hakk?nda çok ?ey yaz?lm??t?r.
Ne var ki yaz?lanlar?n birço?u sabit disklerin nadiren 200 Mbyte
s?n?r?n? geçti?i günlerden kalmaktad?r. Linux'un kaplayaca?? alan, hangi
paketleri kullanaca??n?za çok ba?l?d?r. Kabaca her disketin 2-3 Mbyte
aras?nda yer kaplayaca??n? dü?ünerek, yüklemek istedi?iniz disketleri
hesaplayarak kaba bir tablo ç?karabilirsiniz. Tecrübeli bir Linux
kullan?c?s? hangi yaz?l?mlar? kullan?p hangilerini kullanmad???n? daha
iyi belirleyebilecek durumda olacakt?r. Dolay?s? ile yeni bir kullan?c?
ortalama olarak 200 - 300 Mbyte kadar bir yer ay?rmak isteyecektir. Bu,
günümüzün disk kapasiteleri dü?ünülünce o kadar büyük bir alan de?ildir.

Takas alan? konusunda da çok ?ey yaz?lm??t?r. Birçok kaynak takas bölümü
için ayr?lmas? gereken alan?n?n gerçek haf?zan?n 2 kat?n?n biraz
fazlas? olarak kabul etmektedir. Pratikte 10-60 Mbyte aras?nda bir alan
fazlas?yla yeterli kalmaktad?r. Ancak takas bölmeleri 128 megabaytdan
daha büyük olamaz. E?er 128 megabaytdan daha büyük takas alan?
gerekiyorsa birden fazla takas bölmesi yaratmal?s?n?z. Toplam 16 tane
takas bölmeniz olabilir.

Takas alan? kullan?rken, bir seferde daha fazla uygulama çal??man?z?
sa?layacak ?ekilde Linux kullan?lmayan sayfalar? haf?zadan diske ta??r.
Ancak, takas i?lemi genelde yava? oldu?undan gerçek fiziksel haf?zan?n
yerini dolduramaz. Ama çok fazla haf?za isteyen uygulamalar (X Window
System gibi) e?er yeteri kadar fiziksel haf?zan?z yoksa takas alan?na
bel ba?lar.

Tercih olarak, 1.2 Gbyte'l?k bir disk üzerinde,

Linux nedir denemek isteyen bir ki?i için


* Bölüm 1: DOS 1000 Mbyte
* Bölüm 2: Linux 180-200 Mbyte
* Bölüm 3: Linux 'swap' bölümü 10-20 Mbyte


??inde arada s?rada Linux kullanan birisi için


* Bölüm 1: DOS 400 Mbyte
* Bölüm 2: Linux 400 Mbyte
* Bölüm 3: Linux takas bölümü 32 Mbyte
* Bölüm 4: DOS (DOS alt?nda D: olarak gözükecek) 400 Mbyte


?nternet üzerinde sadece Linux kullan?lan bir bilgisayar için


* Bölüm 1: Linux 100 Mbyte
* Bölüm 2: Linux takas bölümü 60 Mbyte
* Bölüm 3: Linux /usr 400 Mbyte
* Bölüm 4: Linux /home 600 Mbyte


2.4 Bilgisayarin Linux ile Aç?lmas?

Bilgisayar?n sabit diski üzerinde yer ay?rd?ktan, bir Linux da??t?m?
bulduktan sonra art?k Linux yüklemek için yap?lmas? gereken, yükleme
yapman?za yard?mc? olmaya yetecek ?ekilde bilgisayar?n?z? Linux alt?nda
çal??t?rmakt?r. Bu amaçla boot ve root disketi ad? verilen iki disket
kullan?lmas? yeterlidir.Bu disketlerden boot disketi bilgisayar?n?z
üzerindeki donan?ma uygun bir Linux çekirde?i (kernel) içerir ve
bilgisayar?n Linux ile aç?lmas?n? sa?lar, root disketi ad? verilen
di?eri ise makinan?z Linux olarak aç?ld??? zaman çal??t?raca??
yaz?l?mlar? içeren ve Linux' un çal??mas? için gereken sistem
programlar?n? içerir. Bu iki disketi, MS-DOS alt?ndaki sistem disketine
benzetmek mümkündür.

Boot ve root disketleri, Linux da??t?m? ile birlikte gelirler. E?er bir
CD-ROM da??t?m? ullan?yorsan?z, büyük ihtimal disketler CD-ROM ile
beraber geleceklerdir. E?er da??t?m? ?nternet'ten al?yorsan?z bu
disketler bir disket görüntüsü olarak bulunacaklard?r. Yapman?z gereken
bu disket görüntülerini normal disketlere bu amaç için yaz?lm?? bir
yaz?l?mla aktarmak ve aç?l?? disketlerini olu?turmakt?r. Bunun için
RAWRITE.EXE program?n? kullanabilirsiniz.

Root disketi için genelde bir veya iki seçenek bulunmaktad?r. Genelde
kullan?lan disket color.gz ad?n? al?r.

Boot disketi için ayn? ?eyi söylemek mümkün de?ildir. Zira boot disketi
Linux çekirde?ini içermektedir. Her i?letim sistemi, o i?letim sistemi
alt?nda çal??acak olan bilgisayar üzerindeki donan?ma eri?ebilmek için
baz? destekler içerir. Ne var ki her donan?m kendisine göre bir tak?m
farkl?l?klar gösterir. Linux bilgisayar?n?z üzerinde bulunan birçok
donan?m için destek verebilir, ne var ki tüm donan?m deste?ini tek bir
çekirdekte toplamak çekirde?in gereksiz yere büyümesine ve
hantalla?mas?na neden olacakt? (Bilgisayar?n?zda ses kart? donan?m?
yoksa çekirde?in ses kart? deste?ine ihtiyac?n?z olmayacakt?r, yap?lan
sadece gereken destekleri ekleyerek çekirde?in verimini art?rmak
demektir). Linux çekirde?i gerekti?inde destek verdi?i donan?mlar?
destekleyecek ?ekilde güncellenebilir. Ancak Linux yükleyebilmek için,
seçece?iniz yükleme yöntemine göre baz? donan?mlara destek vermesi
gereklidir. Örnek vermek gerekirse, NFS üzerinden Linux yüklemek için
çekirdek içerisinde mutlaka a? (network) deste?inin olmas? gerekmektedir
ama ses kart? deste?inin olmas?na gerek yoktur. Linux yükledikten sonra
derleyece?iniz bir çekirde?e ses kart? deste?i vermesini
sa?layabilirsiniz.

Bir i?letim sisteminin sabit diske yüklenme a?amas?nda kullan?c?ya
sa?layaca?? en büyük kolayl?k, deneyimli kullan?c?lar için tüm paketleri
kurmadan önce sormak, Linux'u bilmeyen ve sabit diskine Linux kurmak
isteyen yeni kullan?c?lar için ise kurulum a?amas?n? mümkün olan en az
soru ile bitirip daha önceden belirlenmi? birtak?m paketleri otomatik
olarak yüklemektir.

Çok farkl? donan?mlar?n olmas? Linux yükleyebilmek için bir dizi boot
disketinin olu?mas?na neden olmu?tur. Güncel bir Linux da??t?m?nda hangi
boot disketlerinin hangi donan?mlara destek verebildi?ini görmek için
ilgili da??t?mla gelen README dosyalar?na bakmak gerekecektir. ?u anki
Slackware da??t?m? ile gelen boot disketlerinden baz?lar?


* bare.i IDE sabit disklere, sabit disk veya IDE/ATAPI CD-ROM'lardan
yükleme yapmak için
* net.i IDE sabit disklere, NFS üzerinden yükleme yapmak için
* scsinet.s SCSI sabit disklere, NFS üzerinden yükleme yapmak için. Buna
ek olarak de?i?ik SCSI denetçileri için 25 kadar de?i?ik boot disketi
bulunmaktad?r.
* xt.i Bu aç?l?? disketinde sadece IDE ve XT sabit disk sürücüleri
vard?r.


Boot disketleri hakk?nda geni? bilgi için Bootdisk-HOWTO döküman?ndan
yararlanabilirsiniz.

Boot ve root disketlerinizi de elde ettikten sonra art?k bilgisayar ilk
defa Linux alt?nda çal??mak için haz?rd?r. Boot disketini takarak
sistemi aç?n (PC'nin aç?lma s?ras?n?n A:,C: olmas?na dikkat edin).
Disket aç?l?r aç?lmaz yakla??k bir sayfal?k bir mesaj verecek ve
kullan?c?dan ek bir parametre isteyip istemedi?ini soracakt?r. Bu
noktada çal??acak olan çekirde?e birçok ek parametre verilebilir. E?er
her?ey yolunda giderse bu noktada özel bir parametre belirtmeye gerek
kalmayacakt?r. Boot disketi parametreleri hakk?nda BootPrompt-HOWTO
içerisinde detayl? bilgi bulabilirsiniz. Bu a?amay? geçtikten sonra
çekirdek yüklenmeye ba?layacak ve bir dizi mesaj geçecektir. Bu mesajlar
çekirde?inizin bilgisayar üzerindeki donan?mlar? tan?mas? ve çe?itli
hizmetleri çal??t?rmas? ile ilgili mesajlard?r. Çekirde?in donan?m?n?z?
ne ?ekilde tan?d??? bu mesajlardan anla??l?r. Yükleme yapabilmek için
çekirde?in sabit diskinizi ve a? ba?lant?s? kullanacaksan?z ethernet
kart?n?z? do?ru olarak tan?m?? olmas? gerekecektir.

Daha sonra kullan?c?dan root disketini yüklemesi için bir mesaj
ç?kacakt?r. Bu a?amada boot disketi yerine root disketi tak?lmal?d?r.
K?sa bir yüklemeden sonra bir mesaj ç?kacak ve ard?ndan





login:

mesaj? ile kar??la??lacakt?r. Tebrikler ! Art?k Linux alt?nda çal??maya
ba?layabilirsiniz. Bilgisayar ?u anda sizden bir kullan?c? ismi
beklemektedir. 'root' yazarak sisteme girin.

Ön Haz?rl?klar

Slackware da??t?m?nda yükleme i?i için





setup

isimli bir yaz?l?m bulunmaktad?r. Yüklemenin her a?amas? bu yaz?l?m
taraf?ndan yürütülebilir. Ancak ilk olarak Linux için disk alanlar?n?n
tan?mlanmas? gerekmektedir. Bu amaçla





fdisk

program? kullan?l?r. Linux alt?nda bir bilgisayar ba?l? her türlü cihaza
bir dosya gibi eri?mek mümkündür. Her cihaza kar??l?k gelen bir sistem
dosyas? mevcuttur. Cihazlarla ilgili dosyalar /dev dizini alt?nda yer
al?rlar. Burada IDE sabit diskler "hd" SCSI sabit diskler "sd" olarak
isimlendirilirler. Ayn? anda bir bilgisayarda birden fazla disk
ba?lanm?? olabilir. Diskler s?rayla a b c d olarak isimlendirilirler.
Her disk üzerinde birden fazla bölüm yer alabilir. bu bölümler ise 1 2 3
4 olarak numaraland?r?l?rlar. Örnek olarak


* /dev/hda, bir numaral? IDE (Primary Master) diski
* /dev/hda1, bir numaral? IDE diskin ilk bölümü ( DOS alt?nda C
* /dev/hda2, bir numaral? IDE diskin ikinci bölümünü
* /dev/hdb, iki numaral? IDE (Primary Slave) diski
* /dev/hdc, üç numaral? IDE (Secondary Master) diski
* /dev/hdd, dört numaral? IDE (Secondary Slave) diski
* /dev/sdb3, ikinci SCSI sabit diskin üçüncü bölümünü


göstermektedir. Birden fazla sabit diskiniz varsa hangi sabit disk'le
ilgilenece?inizi belirtmeniz gerekir. E?er iki sabit diskiniz varsa
fdisk'i kullan?rken dikkat edin, her an yanl?? bir diski formatlama
?ans?n?z var.





# fdisk /dev/hda

Bu noktadan sonra art?k fdisk ile istedi?iniz bölümleri tan?mlaman?z
mümkündür.

fdisk komutu harddisk bölümlerinin düzenlenmesi için kullan?lan bir
yaz?l?md?r. Komut sat?r?ndan genelde tek harflik komutlarla kullan?l?r.
E?er komut sat?r?nda bir parametre verilmezse fdisk ilk buldu?u disk
üzerinde i?lem yapacakt?r. Birden fazla disk mevcutsa komut sat?r?nda
istenilen diskin belirtilmesi gerekecektir. A?a??daki örnekte fdisk
herhangi bir parametre ile ça?r?lmam?? ve sistemde bulunan öncelikli
disk olarak bir numaral? SCSI disk (/dev/sda) seçilmi?tir.

fdisk, komutunun yan?nda baz? parameteler al?r:


* /fdisk -v : Fdisk program?n?n sürümü ekrana gelir.
* fdisk -l : /dev/hda, /dev/hdb, /dev/sda, /dev/sdb, /dev/sdc, /dev/sdd,
/dev/sde, /dev/sdf, /dev/sdg ve /dev/sdh disklerinin (varsa)
bölümlendirme tablosunu ekrana yazar ve ç?kar.
* fdisk -s : E?er bir DOS bölümü de?ilse (bölüm numaras? 10'dan büyük) ,
sözkonusu disk bölümünün büyüklü?ü bayt cinsinden ekrana yaz?l?r.


A?a??da, fdisk yaz?l?m?n?n kullan?m? hakk?nda örnek bir fdisk çal??mas?
yeral?yor.

Örnek FDISK Çal??mas?

Bu örnek içerisinde 1 Gbyte'l?k SCSI sabit disk'e sahip bir makine
üzerinde LINUX için gerekli k?s?mlar?n ayr?lmas? ad?m ad?m
incelenmi?tir. Sözkonusu sabit disk üzerinde kullan?c? önceden 400
Mbyte'l?k bir kullan?c? alan? tan?mlam?? ve geri kalan alan? LINUX için
ay?rm??t?. Dü?ünülen da??l?m:


* 400 Mbyte DOS
* 250 Mbyte LINUX i?letim sistemi
* 60 Mbyte Takas alan?


ve geri kalan alan LINUX alt?nda kullan?c? alan?.

fdisk program? çal???r çal??maz ilk i? olarak mevcut bölümler hakk?nda
bilgi almak için p komutunu ( Print Partition Info) kullan?yoruz.





Command (m for help): pDisk /dev/sda: 34 heads, 61 sectors, 1017
cylindersUnits = cylinders of 2074 * 512 bytes Device Boot Begin Start
End Blocks Id System/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M

Bu tablo bize sadece tek bölüm ayr?ld???n?, ayr?lan alan?n DOS
format?nda oldu?unu, boot edecek bölüm oldu?unu belirtiyor. Bölümün ad?
/dev/sda1, yani ilk SCSI sabit disk üzerinde tan?mlanan ilk bölüm. ?lk
i? olarak LINUX i?letim sistemi için yeni bir bölüm yaratmal?y?z.





Command (m for help): nCommand action e extended p primary partition
(1-4)pPartition number (1-4): 2First cylinder (396-1017): 396Last
cylinder or +size or +sizeM or +sizeK ([396]-1017): +250M

n komutu ile kendimize yeni bir bölüm yaratt?k. ?lk seçenek temel bir
disk bölümümü yoksa geli?mi? bir disk bölümü üzerinde mi i?lem
yapaca??m?z? sordu. Temel bir bölüm için p komutunu girdik. Daha sonra
hangi bölümü yarataca??m?z? sordu. Halen mevcut 1 bölüm var, bu bölüm
ikinci bölüm olacak bu yüzden 2 yazd?k.

Bölümün ba?lang?ç adresini giriyoruz. Bu de?er otomatik olarak bir
önceki bölümün biti? de?erinden hesaplanmaktad?r. Sadece onayl?yoruz.
Daha sonra istedi?imiz boyutu belirtiyoruz. +250M tan?m? 250 Mbyte'l?k
bir k?s?m istedi?imizi belirtiyor. Yaratt???m?z bu bölümü p komutu ile
inceliyoruz





Command (m for help): pDisk /dev/sda: 34 heads, 61 sectors, 1017
cylindersUnits = cylinders of 2074 * 512 bytes Device Boot Begin Start
End Blocks Id System/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit
>=32M/dev/sda2 396 396 642 256139 83 Linux native

fdisk yarat?lan her bölümü otomatik olarak (LINUX native) olarak
yaratmaktad?r. ?imdi takas alan? için 60 Mbyte'l?k 3. temel bölümü
tan?mlayal?m:





Command (m for help): nCommand action e extended p primary partition
(1-4)pPartition number (1-4): 3First cylinder (643-1017): 643Last
cylinder or +size or +sizeM or +sizeK ([643]-1017): +60MCommand (m for
help): pDisk /dev/sda: 34 heads, 61 sectors, 1017 cylindersUnits =
cylinders of 2074 * 512 bytes Device Boot Begin Start End Blocks Id
System/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M/dev/sda2 396 396
642 256139 83 Linux native/dev/sda3 643 643 702 62220 83 Linux native

Dikkat edilecek olursa bu bölüm de LINUX native olarak tan?mland?. LINUX
taraf?ndan takas bölümü olarak kullan?lacak olan bölümler farkl? bir
yap?ya sahiptirler ve ayr?ca tan?mlanmalar? gerekmektedir. Bu amaçla t
komutu ile herhangi bir bölümün tipini de?i?tirmek mümkündür. (Tip
de?i?tirmekle o bölümün yap?s? (format?) de?i?mi? olmuyor, format
sonradan yap?lan bir i?lemdir)





Command (m for help): tPartition number (1-4): 3Hex code (type L to list
codes): 82Changed system type of partition 3 to 82 (Linux swap)Command
(m for help): pDisk /dev/sda: 34 heads, 61 sectors, 1017 cylindersUnits =
cylinders of 2074 * 512 bytes Device Boot Begin Start End Blocks Id
System/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M/dev/sda2 396 396
642 256139 83 Linux native/dev/sda3 643 643 702 62220 82 Linux swap

Yukar?da yap?lan i?lemle 3 numaral? bölümün tipini Linux swap olarak
de?i?tirmi? olduk. ?u anda üç farkl? türden alan?m?z mevcut. Son bölümü
de yine n komutu ile ekleriz.





Command (m for help): nCommand action e extended p primary partition
(1-4)pPartition number (1-4): 4First cylinder (703-1017): 703Last
cylinder or +size or +sizeM or +sizeK ([703]-1017): 1017Command (m for
help): pDisk /dev/sda: 34 heads, 61 sectors, 1017 cylindersUnits =
cylinders of 2074 * 512 bytes Device Boot Begin Start End Blocks Id
System/dev/sda1 * 1 1 395 409584+ 6 DOS 16-bit >=32M/dev/sda2 396 396
642 256139 83 Linux native/dev/sda3 643 643 702 62220 82 Linux
swap/dev/sda4 703 703 1017 326655 83 Linux native

Bu örnekte boyut Mbyte cinsinden verilmedi. Zaten amaç kalan alan?
tümüyle kullan?c? alan? olarak ay?rmakt?. Bu nedenle son silindirin
numaras?n?n girilmesi yeterli oldu. Art?k yap?lmas? gereken bu bilginin
diske yaz?lmas?d?r. ?u ana kadar yap?lan hiç bir de?i?iklik sistem
üzerinde herhangi bir etki yapmam??t?r. Ancak bölümleme bilgisi diske
yaz?ld?ktan sonra geri dönü? yoktur. Lütfen yapt???n?z de?i?iklikleri
bir kez daha gözden geçirin!





Command (m for help): wThe partition table has been altered!Calling
ioctl() to re-read partition table.(Reboot to ensure the partition table
has been updated.)Syncing disks.Reboot your system to ensure the
partition table is updated.

Sabit diski bölümleme esnas?nda kar??la??lan baz? sorunlar vard?r.
Bunlar?n en önemlisi Linux'un nas?l çal??t?r?laca?? ile ilgilidir. Linux
açmak için belli ba?l? üç yöntem vard?r:


* LILO ile bir boot menüsünden
* DOS alt?ndan LOADLIN isimli bir yaz?l?mla
* Yüklemek için yap?ld??? gibi bir boot diskiyle


Son iki yöntem herhangi bir s?n?rlama getirmezken ilk yöntemin bir
s?n?rlamas? vard?r. LILO isimli yaz?l?m ile kullan?ld??? zaman
bilgisayar aç?ld??? zaman minik bir yaz?l?m çal??t?r?r ve gerekti?inde
Linux çekirde?ini yükler. Ancak çekirdek yüklenmesine kadar geçen süre
içerisinde sistemin BIOS komutlar? çal???r. Bu komutlar?n önemli bir
s?n?rlamas? bir disk üzerindeki bir yaz?l?m? belirleyen üç parametreden
(silindir say?s?, kafa numaras?, sektör numaras?) silindir say?s?n?n en
fazla 1024 ile s?n?rl? olmas?d?r. Bu bak?mdan LILO kullan?lacaksa Linux
çekirde?inin yer alaca?? bölüm bu 1024 numaral? silindir s?n?r?n?n
alt?nda kalmal?d?r. Bu s?n?rlama tamam?yla DOS'un kulland??? BIOS'un bir
s?n?rlamas?d?r. Yeni BIOS'lar bu s?n?rlamadan kurtulmak için LBA ad?
verilen bir yöntem kullan?rlar. Bu yöntemin temelinde BIOS'ta kafa
say?s? için gereksiz yere ayr?lan k?s?mlar?n silindir say?s?n? belirtmek
için kullan?lmas?d?r. (BIOS, bir sabit disk için 64'e kadar kafa kabul
edebilmektedir. Pratik olarak 15 kafadan fazla sabit diskin üretilmesi
çok zor oldu?u için yap?lan kafa say?s?n? iki veya dört ile çarparak,
silindir say?s?n? iki veya dörde bölmektir.) Böylelikle 1654 silindirli
16 kafal? bir sabit disk, LBA olarak 827 silindirli ve 32 kafal? olarak
tan?mlanabilmektedir. ?kinci durumda bu disk üzerinde tan?mlanabilecek
her bölümün yukar?da belirtilen s?n?rlama içerisinde kalaca??na dikkat
ediniz.

Setup Program?

Disk üzerindeki tan?mlamalar? da bitirdikten sonra art?k setup yaz?l?m?
çal??t?r?labilir. Setup Linux yüklemek için gereken temel birçok i?lemi
yapabilir. Ok tu?lar? yard?m? ile menüler aras?nda gezerek i?lemleri
tamamlayabilirsiniz. Burada yukar?dan a?a??ya do?ru bir s?ra
izleyebilirsiniz.

?u anki güncel Slackware da??t?m?n?n setup komutu çal??t?r?l?nca ekrana
gelen menüleri a?a??dad?r.





Welcome to Slackware Linux Setup. Hint: If you have trouble using the
arrow keys on your keyboard, you can use ''+'', ''-'', and TAB instead.
Which option would you like? HELP Read the Slackware Setup HELP file
KEYMAP Remap your keyboard MAKE TAGS Tagfile customization program
TARGET Select target directory [now: /] SOURCE Select source media DISK
SETS Decide which disk sets you wish to install INSTALL Install selected
disk sets CONFIGURE Reconfigure your Linux system PKGTOOL Install or
remove packages with Pkgtool EXIT Exit Slackware Linux Setup < OK
>


* HELP Menüsü : Setup program? hakk?nda baz? ipuçlar? verecektir.
* KEYMAP Menüsü : Bu menü ile Amerikan klavye d???nda bir klavye
tan?mlamak mümkün olacakt?r. Henüz türkçe q veya f klavye deste?i
bulunmamaktad?r.
* MAKE TAGS Menüsü : Bu menü yard?m? ile da??t?m disketlerinde özel
uzant?l? dosyalar haz?rlayarak hangi paketlerin yüklenece?ini otomatik
olarak belirlemek mümkündür. Bu sayede e?er benzer makinalar
yüklenecekse yüklenecek paketler bir kere belirlenir ve bir daha
menülerden ekstradan paketlerin seçilmesine gerek kalmaz.
* ADDSWAP Menüsü : fdisk ile ay?rd???n?z takas bölümünü uygun ?ekilde
formatlar ve bu bölümü kullan?ma açar. Setup yaz?l?m? hangi disk
bölümünün takas bölümü olarak ayr?ld???n? otomatik olarak bulacakt?r.
Daha sonra sözkonusu alanlar? formatlayacak ve bu takas alan?n? sistem
belle?ine ekleyecektir. (Her ad?mda bir onay isteyecektir)
* TARGET Menüsü : Linux'un hangi bölüme yüklenece?ini belirler. Bu
menüye girildi?i zaman Linux'un disk format?na (ext2) sahip (sabit disk
bölümü numaras? 83 olan) tüm disk bölümleri gösterilecek ve içerlerinden
hangisine Linux kurulmas? istenilece?i sorulacakt?r. Bu a?amadan sonra o
disk bölümü kullan?c? isterse formatlanacakt?r. Burada iki format
seçene?i vard?r. Bu seçeneklerin ikincisinde disk önce hatalar için
taranacak daha sonra formatlanacakt?r. E?er Linux disk format?nda ba?ka
bölümler varsa bu bölümlerin kullan?lmas?n?n istenip istenmedi?i
sorulacakt?r. Bu sayede disk hiyerar?isinin herhangi bir k?sm?n? bu ek
disk bölümleri üzerine kurmak mümkündür. Son olarak Linux taraf?ndan
desteklenen ba?ka disk bölümleri varsa (Örne?in DOS) bu bölümlere Linux
alt?ndan eri?im yap?lmas?n?n istenip istenmedi?i sorulacak ve bu
bölümler için hiyerar?i içerisinde bir dizin atanmas? istenecektir.
* SOURCE Menüsü : Bu menü Linux da??t?m?n?n nerede aranmas? gerekti?ini
belirler. Buradaki seçenekler

SOURCE MEDIA SELECTION Where do you plan to install Slackware Linux
from? 1 Install from a hard drive partition 2 Install from floppy disks 3
Install via NFS 4 Install from a pre-mounted directory 5 Install from
CD-ROM
o 1 Numaral? seçenek, Linux da??t?m?n? bir sabit disk bölümünde aramak
için kullan?lacakt?r. Bu seçenekle örnek olarak DOS k?sm?nda bulunan
da??t?m disketlerinden yükleme yap?labilir.
o 2 Numaral? seçenek, disketlerden yükleme yapmakt?r. Çal???r bir
sistemi birkaç disketle olu?turmak mümkündür. Ancak günümüzde pek tercih
edilen bir yöntem de?ildir.
o 3 Numaral? seçenek, NFS üzerinden yükleme yapmak için
kullan?lmaktad?r. Burada bilgisayar?n bir yerel bilgisayar a??na ba?l?
olmas?, Bu bilgisayar a?? üzerindeki bir sunucu üzerinde eri?im izni
bulunan bir dizin alt?nda da??t?m disketlerinin bulunmas? gerekmektedir.
Bu seçenekle yükleme yapmak için boot disketi içerisinde yer alan
diskette a? deste?inin bulunmas? gerekmektedir. Bu seçene?in ard?ndan
bilgisayar?n (geçici) IP numaras? varsa a? üzerindeki yönlendirici'nin
(router-gateway) IP numaras?, a? maskesi (subnet mask), NFS sunucusu IP
numaras? ve sunucu üstünde da??t?m disketlerinin bulundu?u hiyerar?i
gibi a? ile ilgili parametreler sorulacakt?r. Bu sorular?n cevab?n?
sistem yetkilisinden ö?renmeniz ve onun onay?n? alman?z gerekecektir.
o 4 Numaral? seçenek, asl?nda 1 numaral? seçene?e çok benzemektedir.
Aradaki fark bu durumda sistem hiyerar?isine ba?lanm?? (mounted) bir
dizin içerisinde da??t?m disketlerinin bulunmas?d?r.
o 5 Numaral? seçenek ise CD-ROM'dan yükleme yapmak içindir.
* DISKSETS Menüsü Art?k nereye ve nereden yükleyece?iniz belirlenmi?tir.
S?ra yüklemek istedi?iniz disket serilerini seçmeye gelmi?tir. Disk
serileri:

CUS Also prompt for CUSTOM disk sets A Base Linux system AP Various
Applications that do not need X D Program Development (C, C++, Lisp,
Perl, etc.) E GNU Emacs F FAQ lists, HOWTO documentation K Linux kernel
source N Networking (TCP/IP, UUCP, Mail, News) T TeX typesetting
software TCL Tcl/Tk script languages X XFree86 X Window System XAP X
Applications XD X Server development kit XV XView (OpenLook Window
Manager, apps) Y Games (that do not require X)


1. A Serisi (8 disket) : Temel i?letim sistemi bu disketlerde yer al?r.
Temel disk hiyerar?isi yarat?l?r, sistemin çal??mas? için hayati olan
yaz?l?mlar, terminal yaz?l?mlar?, kabuklar (shell), disk düzenleme
yaz?l?mlar?, kütüphaneler, Linux çal??t?rmak için LILO ve LOADLIN bu
disketlerdedir.
2. AP Serisi (5 disket) : X Window ortam? gerektirmeyen uygulama
yaz?l?mlar. Metin editörleri, ghostscript, man sayfalar?, midnight
commander (Norton commander benzeri bir yaz?l?m) bu disketlerde yer
al?r.
3. D Serisi (13 disket) : Tüm programlama dilleri ve destek yaz?l?mlar?
bu disketlerde yer al?r. E?er kendinize yeni bir Linux çekirde?i
derlemeyi dü?ünüyorsan?z bu seriye ihtiyac?n?z var.
4. E Serisi (8 disket) : EMACS editörü.
5. F Serisi (2 disket) : Linux hakk?nda birçok döküman ve aç?klama bu
disketlerde yer almaktad?r. Yeni ba?layan birisinin bu disketleri
mutlaka yüklemesi gerekir. Söz konusu dökümanlar s?k??t?r?lm?? halde

/usr/doc/usr/doc/faq /usr/doc/faq/HOWTO dizinlerine yüklenecektir.
Birçok kullan?c? cevap arad??? sorular?n birço?unun zaten makinelerinde
yaz?l? oldu?unu sonradan ö?renince çok ?a??rmaktad?r. Dökümanlar
s?k??t?r?lm?? olduklar?ndan

zlessgibi s?k??t?r?lm?? dosyalar? destekleyen bir yaz?l?mla okunmalar?
gerekir.
6. K Serisi (6 disket) : Çekirde?in kaynak kodu burada bulunur. E?er
kendi donan?m?n?za uygun bir çekirdek derlemek istiyorsan?z bu seriye
muhakkak ihtiyaç duyacaks?n?z. FTP ar?ivlerinden kaynak kodu olarak
bulaca??n?z baz? yaz?l?mlar da bu hiyerar?i alt?nda yer alan baz?
dosyalara ihtiyaç duyacaklard?r.
7. N Serisi (6 disket) : A? deste?i bu disketler ile sa?lanmaktad?r.
E-posta okuma yaz?l?mlar?, lynx, www sunucusu, haber grubu okuma
yaz?l?mlar? bu disketlerin içerisinde yer alan yaz?l?mlard?r.
8. T Serisi (9 disket) : TeX. TeX yüklerken üç temel seçenekle
kar??la?acaks?n?z. ?lk seri seçenek hangi TeX yard?mc? paketlerini
isteyece?inizi sorar, ikinci seçenekler hangi dil için makro tan?mlar?
istedi?inizi sorar, son seçenek ise yaz? tipleri hakk?nda tercihlerinizi
sorar. (Burada gerçekten çok fazla seçenek var)
9. TCL Serisi (2 disket) : X Window alt?nda kullan?m? basit bir
programlama dili ve bu dili ile yaz?lm?? baz? uygulama yaz?l?mlar?
(tkdesk)
10. X Serisi (16 disket) : X Window deste?i. Bu disketlerin büyük k?sm?
de?i?ik grafik kartlar? için X window sunucular? ve yaz?
karakterlerinden olu?maktad?r. Linux yükledi?iniz bilgisayar üzerindeki
grafik kart?n? bilmeniz ve buna uygun bir sunucu seçmeniz gerekmektedir.
11. XAP Serisi (4 disket) : X window alt?nda çe?itli uygulamalar:
satranç, gnuplot, xv, xfileman, windows95 benzeri X Window arayüzü bu
seriler içerisinde yer almaktad?r.
12. XD Serisi (3 disket) : Xserver geli?tirmek için kütüphaneler ve
uygulama yaz?l?mlar?
13. XV Serisi (3 disket) : OpenLook deste?i veren yaz?l?mlar. Bu sayede X
Window alt?nda Sun bilgisayarlarda yer alan OpenWindows benzeri bir
ortam kullan?labilir.
14. Y Serisi (1 disket) : Minik birkaç oyun. (özellikle bog) Seçti?iniz
disk serileri ilgi alan?n?z? genel olarak belirler. Her seri içerisinde
birçok yaz?l?m pakedi yer almaktad?r. Bu paketlerden istediklerinizi
yükleyebilirsiniz.



* INSTALL Menüsü Seçti?iniz disk serilerini belirledi?iniz kaynaktan,
belirtilen hedef disk bölümüne aktar?r. Disk serileri içerisinde yer
alan paketleri ne ?ekilde yüklemek istedi?iniz konusunda birtak?m
seçenekleriniz olacakt?r. Bunlar:

NORMAL Use the default tagfiles for verbose prompting MENU Choose
package subsystems from interactive menus CUSTOM Use custom tagfiles in
the package directories PATH Use tagfiles in the subdirectories of a
custom path EXPERT Choose individual packages from interactive menus
NONE Use no tagfiles - install everything

NORMAL : Sistem her disk serisi içerisindeki paketleri 'gerekli
(required)', 'olsa iyi olur (recommended)' ve 'seçime ba?l? (optional)'
olarak s?n?flar. Bu seçenek ile gerekli paketler yüklenir, di?er
paketler için k?sa bir aç?klama yaz?l?r ve kullan?c?n?n fikri sorulur.
?lk yüklemeler için tavsiye edilen bir seçenektir. Ancak özellikle T
serisi insan?n sabr?n? ta??racak derecede çok ufak tefek paket
yüklemekte ve her paketi sormaktad?r (mesela klingon fontlar?n? yüklemek
isteyip istemedi?inizi soruyor, bilmeyenler için klingonlar uzay yolu
dizisindeki kötü uzayl? yarat?klard?r )

MENU ve EXPERT : Bu seçeneklerde her disk serisi yüklenmeye ba?lan?rken o
seride yer alan tüm paketler bir menü içerisinde görülür. Kullan?c?
istedi?i paketleri i?aretler ve bunlar?n yüklenmesini sa?lar.

CUSTOM ve PATH : Daha önce belirtilen TAGFILE dosyalar? yard?m?yla
yükleme yapmak için kullan?l?r. Bu durumda belirli bir uzant?ya sahip
dosyalar içerisinde (TAGFILE) yüklenmesi gereken yaz?l?mlar belirtilir.
Bu seçenek ile TAGFILE' lar?n uzant?s? belirtilir ve o uzant?l?
dosyalarda bulunan paketler yüklenir.

NONE : Tembellerin seçene?i. Her ?eyi kuracakt?r. Sadece belirli
paketler için anlaml?d?r. Zira birçok paket içerisinde içinden seçilmesi
gereken seçenekler mevcuttur. (Mesela Xserver 10 seçenek aras?ndan
seçilecektir)

Bu noktadan sonra art?k yükleme ba?layacakt?r.

Konfigürasyon

Yükleme bittikten sonra yap?lacak i? art?k sisteminiz için
tan?t?mlar?n?z? yapmakt?r. Bu i?lemin ilk a?amas? sistemi açacak bir
çekirdek belirlemektir. Bu konuda üç seçene?iniz var:

bootdisk Use the kernel from the installation bootdisk cdrom Use a
kernel from the Slackware CD floppy Install a zimage or bzimage file
from a DOS floppy

Bootdisk : Bu seçenekte yüklemede kulland???n?z çekirdek boot
disketinden kopyalanacakt?r. Sisteminizi yükleyebildi?inize göre bu
çekirdek ile çal??abilirsiniz. E?er bir de?i?iklik yapmam??san?z bu anda
sürücü içerisinde boot disketi de?il root disketi bulunuyor olmal?,
de?i?tirmeyi unutmay?n!

CD-ROM : Slackware CD-ROM'unda bulunan önceden derlenmi? çekirdeklerden
herhangi birini seçebilirsiniz.

Floppy : herhangi bir DOS disketinde yer alan çekirde?i yüklemenizi
sa?lar.

Daha sonra sisteminiz için bir boot disketi yaratmak isteyip
istemedi?iniz sorulacakt?r. Ne olursa olsun, elinizin alt?nda her zaman
bir boot ve root disketi bulundurmak zorundas?n?z. Herhangi bir sorun
oldu?unda sisteminizi açmak için bir boot disketi bulman?z gerekecektir.
Bunun için yükleme s?ras?nda kulland???n?z boot ve root disketlerini de
kullanabilirsiniz.

Ard?ndan setup size modem, mouse, CD-ROM, bulundu?unuz zaman dilimini
soracak ve





liloconfig

yaz?l?m? çal??acakt?r. LILO, Linux Loader (Linux yükleyicisi)
kelimelerinden meydana gelir. LILO Linux yüklemek için kullan?lan çok
pratik ve etkili bir yaz?l?md?r. Bilgisayar aç?l?r aç?lmaz, boot eden
ilk sabit diskin üzerinde (boot partition) kendini yazar, bilgisayar
aç?l?r aç?lmaz.
Back to top Go down
Hitman Bret Hart
Üye
Üye
Hitman Bret Hart

Posts : 14
Join date : 2010-06-15

Linux Hakkında Herşey _
PostSubject: Re: Linux Hakkında Herşey   Linux Hakkında Herşey EmptyTue Jun 15, 2010 1:21 pm

Dosya ve Dizin İşlemleri

Tıpkı MS-DOS'ta olduğu gibi Linux dosya yapısının da hiyerarşik bir
yapıya sahip olduğunu söylemiştik. Temel dosya bilgisi önceki konularda
anlatıldığından burada sadece dosya ve dizinlerle ilgili özelliklere
değinilecektir.

4.1 Erişim Hakları

Erişim hakları, Linux dosya sistemi güvenliğinin belkemiğini oluşturur.
Her dosyaya ayrı verilebilen erişim izinleri sayesinde çok daha rahat
bir sistem yönetimi gerçekleştirilebilir. Bu, konuya sadece sistem
görevlisi tarafından yaklaşıldığı zaman çıkartılabilecek bir sonuçtur.
Kullanıcı bazında erişim hakları bazen daha da anlamlı olabilir. Yanlış
kullanıldığında hoş olmayan süprizlere yol açabilir. Linux altında üç
çeşit erişim hakkı vardır :


* Okuma izni : Dosyanın okuma izni varsa içeriği görülebilir, dizinin
okuma izni varsa içerdiği dosyaların listesi alınabilir.
* Yazma izni : Dosyanın yazma izni varsa dosyayı değiştirebilir veya
silebilirsiniz. Dizine yazma izni verildiğinde dizin altındaki dosyalar
yazılabilir veya silinebilir.
* Çalıştırma izni : Dosyayı çalıştırma hakkını verir.


Bir dosya veya dizin ilk yaratıldığı anda Linux tarafından öntanımlı
bazı izinler verilir. Genellikle bu izin çalıştırma ve okumadır.
Dosyanın oluşma anında verilen izini değiştirmek için erişim yetki
kalıbı olarak da bilinen umask komutu kullanılır. Daha fazla bilgi için
komuta ait man dosyasına bakın.

Erişim haklarının dışında bir dosyanın üç izin düzeyi daha vardır.
Bunlar, dosyanın sahibi, dosyanın grubu ve diğer kullanıcılardır.
Dosyanın sahibi, o dosyayı oluşturan kişidir. Her kullanıcının bir grubu
da olduğu için, dosya oluşturulurken kullanıcı hangi grupta ise dosya
da o gruba ait olacaktır. Dosyanın sahibi olmayan ve grubu da dosyanın
grubuyla uyuşmayan sistemdeki kullanıcılar ``diğer'' sınıfına girerler.
Gruplar hakkında daha fazla bilgi için Linux Sistem Yönetimi konusuna
bakın.

Dosya İzinlerinin Değiştirilmesi

Dosya izin bilgilerini görebilmek için ls komutu, -l parametresiyle
kullanılır. Aşağıdaki dosya üzerindeki erişim haklarına göz atalım :





-rwxr-xr-x 2 gorkem users 182 Feb 12 03:58 deneme

Dosya bilgisinin en sol kısmında izin hakları yeralır. En baştaki ``-''
işareti bunun düz dosya olduğunu belirtir. ``gorkem'', dosyanın sahibi;
``users'' ise grubudur. Ardından sırayla uzunluk, son değiştirilme
tarihi ve dosya ismi gibi bilgiler gelir. Son harf kümesine dosyanın
modu da denir.

Solda yeralan r,w ve x karakterleri sırayla okuma, çalıştırma ve yazma
haklarını belirtir. En soldaki ``-'' işaretini ayırdığımız zaman geri
kalan harfleri üç adet üçlü grup haline getirelim:





rwx r-x r-x

Sırayla birinci harf kümesi dosya sahibinin izinlerini, ikinci harf
kümesi grup izinleri ve son küme de diğer kullanıcıların izinlerini
belirtir. Buna göre yukarıdaki dosyada


* rwx : kullanıcı okuyabilir, yazabilir, çalıştırabilir
* r-x : grup okuyabilir, çalıştırabilir fakat yazamaz.
* r-x : diğerleri okuyabilir, çalıştırabilir fakat yazamaz.


Sol baştaki karakter ``d'' olsaydı, bir dizini inceliyor olacaktık.

Dosyanın izinlerini değiştirmek için chmod komutu kullanılır. Bu komutu
kullanırken hangi izin düzeyine (kullanıcı, grup veya diğerleri) hangi
izinlerin verileceği veya kaldırılacağı yazılır.

Örnek olarak yukarıdaki dosyanın okuma iznini kaldırmak için





$ chmod -r deneme

kullanılabilir. "-" işareti, iznin kaldırılacağını belirtir. İzin vermek
için ise "+" yazın. Dosyanın yeni görüntüsü şöyle olur :





--wx--x--x 2 gorkem users 182 Feb 12 03:58 deneme

Sadece grubun, sadece kullanıcının veya sadece diğerlerinin erişim
hakkını değiştirebilmek için her izin düzeyi için bir harf
tanımlanmıştır. Kullanıcı için "u", grup için "g" ve diğerleri için "o"
yazarak belirli bir izin düzeyi için erişim hakkını değiştirmek mümkün
olur. Bu üç harf, izinden hemen önce yazılır.





$ chmod u+x deneme (dosyanin sahibi calistirabilir)$ chmod o+r t2sac
(digerleri okuyabilir)$ chmod g-w deneme (dosyanin grubu yazamaz)

Her izin için aynı zamanda sayılar da tanımlanmıştır. Dosyanın erişim
izinlerinideğiştirmek için her izne ait sayıları kullanabilirsiniz.
Aşağıdaki tabloda, her izin düzeyi (dosyanın sahibi, grubu ve diğerleri)
için üçer tane olmak üzere toplam 9 sayıdan oluşan izin numaralarını
görebilirsiniz. Bir izni vermek için sırayla numaraları toplayın.
Örneğin sahibinin okuması (400), yazması (200), çalıştırması (100),
grubun okuması (40), çalıştırması (10) ve diğerlerinin okuması (4) ve
çalıştırması (1) için kullanılan rakamların toplamı 755'tir.





$ chmod 755 deneme




400 sahibi okur
200 sahibi yazar
100 sahibi çalıştırır


040 grubu okur
020 grubu yazar
010 grubu çalıştırır


004 diğerleri okur
002 diğerleri yazar
001 diğerleri çalıştırır




Başka bir değişiklikle konuyu pekiştirelim. Sahibinin okuması (400),
yazması (100), grubun okuması (40), diğerlerinin okuması (4) için izin
numarasını bulmak için bu cümlede parantez içinde yeralan sayıları
toplarsak 644 yapacaktır.





$ chmod 644 deneme

Aynen dosyalarda olduğu gibi, bir dizinin de sahibi ve grubu vardır.

4.2 Dosyanın Sahibinin ve Grubunun Değiştirilmesi

Bir dosyanın sahibini sadece sistemdeki root kullanıcı değiştirebilme
yetkisine sahiptir. Dosya sahibinin değiştirilmesi için chown komutu
kullanılabilir. Yukarıdaki dosyanın sahibini ozgur isimli kullanıcı
yapalım.





# chown ozgur deneme

Dosyanın yeni hali şöyle olur :





-rwxr-xr-x 2 ozgur users 182 Feb 12 03:58 deneme

chgrp komutu yardımıyla da dosyanın grubunu değiştirilebilir. Yukarıdaki
dosyanın grubunu www yapmak için





# chgrp www deneme

komutu kullanılabilir. chown komutu, dosyanın hem kullanıcısını, hem de
grubunu değiştirme özelliğine sahiptir. chown komutundan sonra kullanıcı
ve grup isimlerini aralarında bir nokta kalacak şekilde yazın.





$ chown ozgur.www deneme $ ls -l deneme-rwxr-xr-x 2 ozgur www 182 Feb 12
03:58 deneme

4.3 Diğer Dosya Sistemlerinin Kullanılması

Bir Linux işletim sisteminde dosyaların ve dizinlerin herbirisi sabit
disk, CDROM veya diğer bilgi saklamaya yarayan cihazların birer parçası
olan "dosya sistemlerinde" tutulur. Linux'un desteklediği pek çok dosya
sistemi vardır ve bunların her birisinin veri depolarken kullandıkları
yöntem birbirinden farklıdır.

Linux'ta her dosya sistemi farklı bir dizinde tutulur ve bu dizinlerin
bilgisi /etc/fstab dosyasında yeralır. Açılış anında bu dosyada hangi
dosya sistemlerinin hangi dizinler altına yerleştirileceği okunur ve
buna göre makina açılır. Linux, kendisi için özel olarak geliştirilen
ext2 dosya sistemini kullanır.

Bir sistem görevlisi olarak çeşitli dosya sistemlerini tanımalı, bu
dosya sistemleri üzerinde hata oluşması durumunda zararı en aza
indirecek yolu bilmelisiniz. Bilgisayar başında geçireceğiniz
zamanınızın büyük bir bölümünü dosya sistemleri üzerinde
harcayacaksınız.

mount İşlemi

Bir dosya sisteminin kullanılabilmesi için boş bir dizin altına
yerleştirilmesi gerekir. Ancak bu gerçekleştirilirse sözkonusu dosya
sistemini oluşturan dosyalar üzerinde işlem yapılabilir. Bu işlem mount
komutu yardımıyla yapılır.

mount komutunun şu şekilde kullanılır :





mount -t

tip : Dosya sistemi çeşidi. Örnek dosya sistem çeşitleri arasında ext2,
minix, msdos sayılabilir. Dosya sistemleri hakkında daha geniş bilgi
için Çekirdek konfigürasyonu konusuna bakın. Genellikle mount programı
ne tür bir diske eriştiğini otomatik olarak anlayacaktır.

nereye : mount edilecek dosya sistemi hangi dizin altına
yerleştirileceğini belirtir.

aygıt : Üzerinde dosya sisteminin bulunduğu sabit disk, CD-ROM benzeri
aygıt.

Linux'a bağlı olan tüm donanımlara ait bir giriş, /dev dizini altında
bulunur. Bu dizin altındaki dosyalar özel olarak tanımlanmıştır ve
bunlara kısaca "düğüm" adı verilir. Örneğin /dev/hda2, birinci IDE sabit
diskin ikinci bölümünü; /dev/tty1 ise birinci sanal konsolu gösterir.

Çeşitli sabit disklere ait /dev düğümleri, Linux Kurulumu bölümünde
detaylı olarak anlatılmıştı. mount programı bu düğümlere ihtiyaç
duyacaktır. Bu yüzden bir dosya sistemini erişilebilir hale getirebilmek
için hangi düğüm ismine sahip olduğunu bilmelisiniz. Örnek olarak
CD-ROM için /dev/cdrom, birinci disket sürücü için /dev/fd0 gibi.

CD-ROM sürücüsünü /mnt altına mount etmek için





# mount -t iso9660 /dev/cdrom /mnt

yazın. Eğer çekirdekte CD-ROM dosya sistemi desteği varsa ve sistem
açılırken çekirdek CD-ROM'u tanımışsa /mnt dizini altına CD'deki dosya
sistemi yerleştirilir. Buna benzer şekilde MS-DOS disket içeren disket
sürücüyü ve üzerinde ext2 dosya sistemi bulunan ikinci IDE sabit diskin
birinci bölümünü sırasıyla /mnt/disket ve /mnt/disk dizinlerine
bindirmek için





# mount -t msdos /dev/fd0 /mnt/disket

ve





# mount -t ext2 /dev/hdb1 /mnt/disk

yazılabilir. Bir mount işleminin tersini yapmak ve dosya sistemini
erişilemez kılmak için umount komutu kullanılır. /disk altındaki
/dev/hdb1 sabit disk bölümünü umount etmek için





# umount /disk

veya





# umount /dev/hdb1

kullanılır. Her iki yazım şekli de kabul edilir. Son olarak o an
sistemde bindirilmiş halde bulunan tüm dosya sistemlerini görmek için
mount komutunu parametresiz yazın. Bu komut hakkında daha detaylı bilgi
ve aldığı diğer parametreler için man sayfasına bakın.

mount ve umount komutları ile bir dizin yapısını disk üzerinde
konumlandırırken veya ayırırken üzerinde işlem yapılan dizinde
bulunmamanız, ya da o dizinde başka bir süreç çalışıyor olmaması
gereklidir. Aksi takdirde aşağıdaki hata mesajını alırsınız:





# pwd/disk# umount /diskumount: /dev/hdb1: device is busy

Yapmanız gereken, ayıracağınız dizinden dışarı çıkıp tekrar denemek.
Diğer bir seçenek de fuser komutunu kullanmak. Bu komut, ayırmak
istediğiniz dizini kullanan tüm süreçleri ekranda gösterir. Böylelikle
rahatlıkla yukarıdaki örnekteki gibi umount işlemini
gerçekleştirebilirsiniz. fuser komutunun -km seçeneğiyle o dizini
kullanan süreçleri öldürülebilir.





# cd /# fuser /disk/disk: 78c# fuser -km /disk# umount /disk

fuser komutunu kullanırken dikkatli olun, zira sistemi kilitlenme
noktasına getirebilirsiniz.

Dosya Sistemi Bilgileri

Linux açılırken mount komutu yardımıyla root dosya sistemine ekleyeceği
her değişik dosya sistemini /etc/fstab dosyasından okur ve işleme koyar.
Aşağıda örnek bir fstab dosyası yeralıyor.





/dev/hda2 / ext2 defaults 1 1/swap none swap defaults 1 1/dev/cdrom
/cdrom iso9660 defaults 1 1 none /proc proc defaults 1 1/dev/hda1 /dos
msdos defaults 1 1

Çekirdek açılış mesajları içinde





VFS: Mounted root (ext2 filesystem) readonly.

gibi bir satır göreceksiniz. Sistem açılırken en önce / dosya sistemini
mount eder. Bu sayede bu dosya sistemi altında yeralan ve hayati önem
taşıyan yazılımlara (fsck, mount gibi) ulaşır. Daha sonra yerel dosya
sistemleri ve en son da ağ üzerinden erişilen dosya sistemlerine (NFS)
bağlanır. fstab dosyasında kullanıcının kendi dosyalarını
yerleştiremediği, fakat sistem tarafından kullanılan swap ve proc dosya
sistemleri için de mount bilgileri bulunur.

Yukarıdaki fstab dosyasında ext2 dosya sistemine sahip /dev/hda2 sabit
disk bölümü, / dizinini oluşturuyor. MS-DOS formatlı /dev/hda1 bölümü de
/dos dizinine erişilebilir olarak açılış anında eklenecektir.

Sistemdeki CD-ROM sürücü /cdrom dizini altına yerleştirilmiş olup root
kullanıcı bunu istediği dizine koyabilir. Bu dosyaya, mount komutundaki
gibi parametreler de eklenebilir. Dördüncü sırada yeralan defaults
parametresinin yanına eklemek istediğiniz opsiyonları yazın. Bu
parametrelerden sıkça kullanılan bir tanesi de "user" olup root
dışındaki kullanıcılara mount hakkını verir. CD-ROM sürücüyü normal
sistem kullanıcılarının mount veya umount yapabilmesi için fstab
dosyasındaki ilgili satırı





/dev/cdrom /cdrom iso9660 defaults,user 1 1

satırıyla değiştirin. defaults parametresi ise , halihazırdaki dosya
sistemini okunup yazılabildiğini, asenkron olduğunu, üzerindeki
bilgileri bloklar halinde alıp verdiğini (buna diğer örnekler CD-ROM ve
disket sürücülerdir), içerdiği programların çalıştırılabilir olduğunu ve
normal kullanıcıların mount, umount yapamadığını gösterir. user
parametresiyle kullanıcılara mount ve umount hakkı yukarıda verilmiştir.

Dosya Sistemi Yaratılması ve Kontrolü

Bazen MS-DOS altından oluşturulamayan dosya sistemlerini (ext2 gibi)
oluşturmak gerekebilir. Linux altında bir dosya sistemini oluştururken
aynı zamanda bunu kontrol eden programlar vardır. Bunların en çok
kullanılanı, Slackware sürümünde gelen mkfs/'tir.

mkfs ile Linux native (ext2) dosya sistemi oluşturmak için mkfs.ext2
programı kullanılır.





mkfs.ext2

"aygıt" yerine üzerine dosya sistemi kurulacak olan cihazın /dev dizini
altındaki düğüm dosyasının ismi yazılır. Blok sayısı yerine, fdisk
yazılımından o bölümün kaç blok olduğunu öğrenip bu sayıyı girmelisiniz.
Bir blok 1024 bayttan oluşur. Örneğin





# mke2fs /dev/hda3 163829

komutu, /dev/hda3 disk bölümünde ext2 dosya sistemi kurar. Bu komutu
kullanmadan önce iyi düşünün, zira burada yeralan tüm dosyalar silinir
ve bu hatanın geri dönüşü olmaz. Aşağıdaki komut ile bir disket üzerinde
ext2 dosya sistemi kuruluyor.





# mke2fs /dev/fd0 1440

mke2fs ile mkfs.ext2 komutları aynıdır. Benzer şekilde, MS-DOS dosya
sistemi yaratmak için mkfs.msdos, minix dosya sistemi yaratmak için
mkfs.minix kullanılabilir. Blok sayısı girilmez ise mke2fs bunu otomatik
olarak bulacaktır.

Herhangi bir sebepten dolayı diskte bozulma ve veri kaybını en aza
indirmek için de yazılımlar vardır. fsck ile dosya sistemi kontrolü
yapılabilir. fsck ile ext2, dosfsck (veya fsck.msdos) ile MS-DOS
formatlı alanlar kontrol edilir.





linux:~# fsck /dev/hda2Parallelizing fsck version 0.5b (14-Feb-95)e2fsck
0.5b, 14-Feb-95 for EXT2 FS 0.5a, 95/03/19/dev/hda2 is mounted. Do you
really want to continue (y/n)? yesPass 1: Checking inodes, blocks, and
sizesPass 2: Checking directory structurePass 3: Checking directory
connectivityPass 4: Checking reference countsPass 5: Checking group
summary informationFix summary information? yesBlock bitmap differences:
-46486 -46487 -46488 -46489 -46490. FIXEDFree blocks count wrong for
group 5 (2803, counted=2808). FIXEDFree blocks count wrong (16326,
counted=16331). FIXED/dev/hda2: ***** FILE SYSTEM WAS MODIFIED
*****/dev/hda2: ***** REBOOT LINUX *****/dev/hda2: 3494/29632 files,
42904/59235 blocks

Bir dosya sistemini kontrol etmeden önce okunan bölümü root dosya
sisteminden ayırın ve kontrol işleminden sonra bilgisayarı kapatıp
tekrar açın.

debugfs programı, dosya sistemi parametrelerini incelemek için
kullanılır. Disk üzerine doğrudan erişım yaptığı için dikkatli
kullanmalısınız. ext2fs yardımıyla kurtarılamayan bazı dosyalar
(özellikle silinmiş dosyalar) debugfs yardımıyla kurtarılabilir.

4.4 Sembolik Bağlantılar

Bazı durumlarda, bir dosyayı oluşturup bu dosyanın başka bir dosyayı
işaret etmesi istenebilir. Genellikle sistem yöneticileri tarafından
kullanılan sembolik bağlantı yardımıyla bir dosya veya dizin, bunlara
karşılık gelen başka bir dosya veya dizin olarak gösterilir.

Aşağıda bir sembolik bağlantı örneği yeralıyor. Sistem görevlisi, /root
dizini altındayken /usr/src/linux dizinine geçmek istiyor.
/usr/src/linux dizinine işaret eden bir bağlantı kurmak için ln komutu
kullanılır. -s parametresi, bu bağlantının sembolik olacağına işaret
eder.





ln -s





linux:~# ls -ltotal 116drwxr-xr-x 2 root root 1024 Feb 14 08:13
kernel-rw-r--r-- 1 root root 115695 Sep 15 1994 lodlin15.zipdrwx------ 2
root root 1024 Jan 7 1980 mail-rw-r--r-- 1 root root 0 Feb 15 08:14
typescriptlinux:~# ln -s /usr/src/linux linuxlinux:~# ls -ltotal
116drwxr-xr-x 2 root root 1024 Feb 14 08:13 kernel-rw-r--r-- 1 root root
115695 Sep 15 1994 lodlin15.zipdrwx------ 2 root root 1024 Jan 7 1980
maillrwxrwxrwx 1 root root 9 Feb 15 08:14 linux ->
/usr/src/linux-rw-r--r-- 1 root root 0 Feb 15 08:14 typescript

Bu işlemden sonra kullanıcının /usr/src/linux dizinine geçmesi için cd
linux" yazması yetecektir. Sembolik bağlantı dosyasını diğerlerinden
ayıran, satırın en solundaki l karakteridir.

4.5 Dosya Arşivleme ve Sıkıştırma

Linux altında dosya arşivlenmesi ve sıkıştırılması neredeyse belirli ve
standartlaşmış birkaç komut ile gerçekleştiriliyor. tar komutu
yardımıyla istenilen dosyaları arşivleyebilir, bunların üzerine
yenilerini ekleyebilir, istediğiniz zaman da tekrar açıp eski haline
getirebilirsiniz. GNU gzip komutu ise dosyaların sıkıştırılması (zip) ve
sıkıştırılmış dosyaların açılması (unzip) işlemlerini yapabiliyor.
Fazla disk alanınız yoksa bu iki komut her zaman yardımınıza koşacaktır.

Dosya Arşivleme

tar (Tape ARchive) programı, bir veya birden fazla dosyayı tek bir forma
sokar. Genellikle bir dizin ve bu dizinin altında yer alan tüm alt
dizinleri biraraya getirmek için kullanılır. tar, dosyaların üzerinde
sıkıştırma işlemini normalde uygulamaz. Fakat tar'ın GNU sürümü
(Linux'ta da kullanılan) bu işlemi gzip kullanmadan da yapabiliyor.

tar komutuna bir örnek verelim :





$ tar -cf arsiv.tar tmp/

Bu komut, -c (create archive) parametresi yardımıyla tmp dizini
altındaki herşeyi paketleyip arsiv.tar isimli dosyaya yollar. -f
parametresi, hangi dosyaya yazılacağını belirtir. İstediğiniz zaman
dosyayı tekrar açmak isterseniz :





$ tar -xf arsiv.tar

komutunu kullanın. -x (extract) parametresi, -f ile belirtilen dosyayı
açacaktır.

-r opsiyonu ile daha önce yaratılmış bir arşive dosya eklenebilir.
Böylece dosyayı açma ve tekrar arşiv oluşturma işleminden kurtulmuş
olursunuz.





$ tar -rf arsiv.tar ekleme.txt

Dosyanın içeriğini önceden görebilmek için -t parametresini kullanın ve
bu işlemi de alışkanlık haline getirin. Bazı durumlarda arşivlenmiş
yazılım, kendine ait bir dizin açmak yerine içerdiği dosyaları bulunduğu
yere yazabilir.





tar -tf arsiv.tar

Hangi dosyaların açıldığını ekranda görebilmek için -v parametresini
ekleyin:





# tar -zcvf tmp.tgz /tmptar: Removing leading / from absolute path names
in the
archive.tmp/tmp/tar-errortmp/.X11-unix/tmp/rc.inet1.OLDtmp/networks.OLDtmp/linux/tmp/
linux/fss.txttmp/lilo.conftmp/PKGTOOL.REMOVED

Aşağıdaki komut, arşivlenen dosyaları diskete kaydetmeye yarıyor. Bunun
için temiz bir disketi yuvasına yerleştirin ve aşağıdaki satırı yazın.





# tar -cf /dev/fd0 tmp/

tmp dizini altındaki herşeyi diskete kaydetmiş olduk. Açmak için bilinen
yöntemi kullanırız :





# tar -xf /dev/fd0

Dosya Sıkıştırma ve Açma

Dosya sıkıştırma amacıyla sıkça kullanan iki yazılım vardır : gzip ve
compress. Her iki yazılım da Slackware Linux dağıtımında bulunuyor.
GNU'nun dağıtımı olan gzip, tar ile birlikte kullanılan ve dosya
sıkıştırma ve arşivlemede neredeyse standart haline gelmiş bir program.
Bir dosyayı sıkıştırmak için parametre girmeden gzip komutunun ardından
dosya ismini yazın.





$ gzip elvis$ ls -al elvis.gz

gzip ile sıkıştırılmış dosyaların sonu .gz ile biter. Bunları açmak için
gunzip komutunu kullanın:





$ gunzip elvis.gz

compress ve uncompress de sırayla bir dosyayı sıkıştırmak ve açmak için
kullanılır. Aslında Linux'ta uncompress adında bir yazılım yoktur, bu
dosya ismi compress dosyasına bağlantılıdır. compress ile sıkıştırılan
dosyaların sonu .Z ile biter.





$ ls -al web.html-rw-r--r-- 1 gorkem users 41450 Jan 27 13:40 web.html$
compress web.html$ ls -al web.html.Z-rw-r--r-- 1 gorkem users 18906 Jan
27 13:40 web.html.Z

Yukarıdaki web.html dosyasını sıkıştırdığımızda dosyanın boyutu 41450
bayttan 18906 bayta indi. Açmak için:





$ uncompress web.html.Z

Bir dosyanın uzantısından ne tür bir dosya olduğunu anlayamazsanız file
komutu imdadınıza koşar. Linux'ta belirli uzantılı dosyaların başı
bilinen bir harf veya harf grubu ile başlar. file komutu dosyanın
başındaki karakterleri kontrol ederek ve bunları bir listeyle
(/etc/magic) karşılaştırarak dosyanın ne tür olduğunu söyler.





# file tmp.gztmp.tgz: gzip compressed data - deflate method , last
modified: Sat Feb 15 0850 1997 os: Unix# file tmp.tar.Ztmp.tar.Z:
compressed data 16 bits

Birlikte Kullanım

ftp adreslerinde Linux için yeralan yazılımlar genellikle tar ve gzip,
nadiren de tar ve compress ile sıkıştırılıp arşivelenerek saklanırlar.
Çünkü tar komutu tek başına arşivi sıkıştırmaz, bu işlem için gzip veya
compress kullanılır. Bunların açılabilmesi için tar komutu ve birkaç
parametre yeterli olur.





$ ls netscape-4.0.linux-elf.tar.gz

Yukarıdaki dosya önce tar ile arşivlenmiş, ardından gzip ile
sıkıştırılmış. Tek adımda bu iki dosyayı açmak için tar dosyasına x ve f
parametrelerinin dışında z parametresini de ekleyin :





$ tar -zxf netscape-4.0.linux-elf.tar.gz$ ls netscape-4.0.linux-elf

Eğer dosya sıkıştırılırken compress komutu kullanılmışsa z yerine Z
parametresini yazın.





$ ls folder.tar.Z$ tar -Zxf folder.tar.Z$ ls folder

Benzer şekile, bir dosyayı aynı anda hem tar ile arşivlemek, hem de
sıkıştırmak istersek c ve f parametreleri dışında compress ile Z, gzip
ile z parametrelerini girmek yeterlidir. Aşağıda sırayla gn-gopher
dizisinin önce tar ve gzip ile, ardından tar ve compress ile
arşivlenmesi görülüyor.





$ lsgn-gopher/ $ tar -zcf gopher.tgz gn-gopher/$ tar -Zcf gopher.tar.Z
gn-gopher/

4.6 Dizin Tarama

Linux işletim sistemini ilk kurduğunuz anda, yüzlerce dizin altında
binlerce dosyanız olacaktır. find komutu, bu dosyaların arasında tarama
yapabilmek için geliştirilmiştir. Bu komutla sadece dosya isimlerine
değil, dosyanın sahibi, erişim hakları, son erişim tarihi gibi verilere
de ulaşmak mümkündür. find komutunun en sık kullanış şekli şudur :





find -name

dizin-ismi yerine taranacak olan dosyanın bulunduğu dizin ismi yazılır.
-name parametresinden sonra ise aranan dosyanın ismini girin. Burada "*"
ve "?" gibi joker karakterlerini de kullanabilirsiniz. (Bu gibi özel
karakterler hakkında daha geniş bilgi Bash kabuğu konusu altında
bulunabilir)

Aşağıda, find komutunun kullanımına ilişkin birkaç örnek yeralıyor.





$ find . -name "*.html" (bulundugunuz dizinden itibaren sonu .html ile
biten dosyalari arar)$ find /home/halil -name "screen" (/home/halil
dizininden itibaren screen isimli dosyalari arar)

Bu komut, -type d parametresi yardımıyla sadece dizin isimleri arasında
arama yapar.





$ find /usr/ -name "linux" -type d

find komutuna bir alternatif olan locate komutu ile dosyalar çok kısa
bir sürede taranabiliyor. update komutu, her sabah belirli bir saatte
sistemdeki tüm dosya ve dizin isimlerini bir veri tabanına yükler. Daha
sonra bu dosyada yeralan belirli bir dosya veya dizin ismini locate ile
arayabilirsiniz:





# locate pico/usr/bin/pico/usr/man/man1/pico.1.gz

Yukarıdaki komut ile içinde pico kelimesi geçen dosyaları bulduk.

4.7 mtools MSDOS Arabirimi

Linux altından, MS-DOS formatlı disketlere ulaşmayı kolaylaştıran
paketin ismi mtools olarak biliniyor. Bu isim, paketin tüm komutlarının
ilk harfinin "m" olmasından kaynaklanmış. Paketle birlikte gelen çeşitli
yardımcı programlar sayesinde MS-DOS formatlı diskette yeralan dosyalar
listelenebilir, silinebilir, disket formatlanabilir, hatta disketin
kimliği değiştirilebilir.

Son çıkan mtools paketi, 2MB formatlı disketleri de tanıyabiliyor.
Aşağıda, mtools paketinden çıkan bazı komutlar ve örnek kullanımları
gösteriliyor.

mdir : disketin içeriğini görüntüler.





linux:~# mdir a: Volume in drive A is SYSTEM_BT Directory for A:/IO SYS
40566 9-30-93 6:20aMSDOS SYS 38138 9-30-93 6:20aAUTOEXEC BAT 91 3-29-95
10:23aNDD
3-29-95 10:26aCHKLIST MS 81 11-07-96 7:00pVGA_45
3-29-95 10:28aYARDIM
3-29-95 10:17aUTIL
3-29-95 10:17aVIRUS
3-29-95 10:17a 9 File(s) 291328 bytes freelinux:~#

mcopy : Bir dosyayı Linux'tan diskete, disketten Linux'a aktarır.





linux:~# mcopy a:/autoexec.bat .Copying AUTOEXEC.BAT

mdel : DOS dosyasını siler

mformat : Disketi formatlar.

mmd : Disket üzerinde dizin oluşturur.

MSDOS mtools arabirimi aynı zamanda VFAT tipi uzun dosya isimlerini de
ekranda gösterebilir. Eğer dosya ismi, tek bir DOS ismi içine sığmıyorsa
ve 8+3 kuralını bozuyorsa uygun bir kısa isim yaratılır.

Bunun yanında mtools'un 2 Mb'lık disketleri okuyabilme özelliği de
vardır. mtools paketinin konfigürasyon dosyası /etc/mtools.conf'tur. Bu
dosyanın kullanımı için mtools(1) man dosyasından yararlanabilirsiniz.
Back to top Go down
Hitman Bret Hart
Üye
Üye
Hitman Bret Hart

Posts : 14
Join date : 2010-06-15

Linux Hakkında Herşey _
PostSubject: Re: Linux Hakkında Herşey   Linux Hakkında Herşey EmptyTue Jun 15, 2010 1:21 pm

Linux Sistem Yönetimi

Bir i?letim sistemi, marka ve modeli ne olursa olsun bak?m isteyen bir
araçt?r. Yap?lacak küçük bir hata, veya hatay? gösteren bir i?aretin
gözard? edilmesi, zaten de?erli olan zaman?n bo?a gitmesine neden olur.
Linux da aç?k bir i?letim sistemi oldu?undan, sorumluluk sahibi sistem
yöneticisi taraf?ndan aç?k tutuldu?u süre içinde verimli ve düzgün
çal??mas? için gerekli özen gösterilmelidir. ?nternet üzerinde üzerinde
500 kullan?c? olan , veya ftp.linux.org adresi gibi her hafta onbinlerce
ziyaretçisi olup a??r sorumluluklar yüklenen Linux makinalar? vard?r.
Bunlar?n bir saat boyunca bile kapal? kalmas?, o anda ba?lanmay?
bekleyen pek çok kullan?c?y? ma?dur durumda b?rakacakt?r.

Performans? etkileyen unsurlar?n ba??nda, önlemek pek de elinizde olmasa
da elektrik kesintileri ve makinan?n kapal? oldu?u zamana denk gelen
çekirdek de?i?imleridir. Bu tür donan?msal etkileri bir tarafa
b?rak?rsak sistem yöneticisinin uymas? gereken ve ?nternet etikleri
dedi?imiz davran?? kurallar? vard?r. Bu kurallara öncelikle sistem
sorumlusu uymal? ve kullan?c?lar? da uymaya zorlamal?d?r. Aç?k i?letim
sistemlerinin en büyük sorunlar?ndan biri olan güvenlik konusuna sistem
yöneticisi belirli günler zaman?n?n bir bölümünü ay?rmal?d?r.
Kullan?c?lardan gelebilecek her türlü sald?r?, sisteme onar?lmas? çok
zor olabilecek zararlar verebilir. Bunun için düzenli olarak dosyalar?
kontrol edin ve ?üpheli durumlarda ara?t?rma yapmaktan çekinmeyin. Bu
konuda daha fazla bilgiyi Linux ??letim Sisteminde Güvenlik ba?l???
alt?nda bulabilirsiniz.

Yukar?daki tabloya bakarak i?inizin zor oldu?u kan?s?na kap?lmay?n, zira
tüm bu denetleme mekanizmas?n? basitle?tirebilirsiniz. Yap?lacak tüm
rutin i?leri bir programa yaz?p günün veya haftan?n belirli saatlerinde
bu program? çal??t?r?n ve olabilecek tüm hata mesajlar?n? bir dosyaya
yaz?n. Bu dosyay? bo? bir vakitte inceleyerek program?n ne kadar düzgün
çal??t???n? gözlemleyebilirsiniz. Bunun yan?nda sistem yönetimini zevkli
k?lacak uygulama programlar? da vard?r. Bu uygulama yaz?l?mlar?ndan
baz?lar? o kadar geli?mi?tir ki yapamad?klar? tek i? yemek pi?irmektir.

Yabanc? kaynakl? yay?nlardan Essential System Management (Frisch) ve
Essential System Administration (O'Reilly) bu yönde tavsiye edilebilecek
kitaplar. Piyasada bulunan Türkçe kitaplar?n hiçbirisinde sistem
yönetimine ciddi olarak de?inilmedi?i için Türkçe yay?n bulmak gayet
zor.

5.1 Yetkili Kullan?c? ve Di?er Kullan?c?larla ?li?kiler

Sistemin en büyük sorumlusu root ?ifresini bilen kullan?c?d?r. Yukar?da
da belirtildi?i gibi bu ?ifrenin sorumlulu?u büyüktür. Sistem
yöneticisi, makinadaki kullan?c?lar?n isteklerini ve ?ikayetlerini
yönelttikleri tek merci durumundad?r. Burada kar??l?kl? güven
sözkonusudur, bunu da sistem görevlisi herkese hissettirmelidir. root
kullan?c?s?n?n, ba?kalar?ndan gözünüz gibi saklad???n?z e-posta ve
dosyalar? sizden habersiz okudu?unu ö?renseydiniz tepkiniz ne olurdu ?

root kullan?c?s?n?n sahibinin haberi olmaks?z?n sistem kullan?c?lar?na
ait dosyalar?n yerini ve izinlerini de?i?tirmesi de uygun de?ildir.
Zorda kalsan?z bile, ba?kalar?na ait hiçbir dosyay? silmeyin veya
içeri?ini de?i?tirmeyin. Belki de s?k???k bir durumdan kurtulman?n ba?ka
bir yolu vard?r ?

Temel olarak zaman zaman kullan?c?lar? bilgilendirmek ho? bir davran??
olarak kar??lan?r ve onlar?n Linux'a olan ilgilerini perçinleyebilir.
Örne?in /etc/motd ve /etc/issue dosyalar?na periyodik olarak çekirdek
de?i?imlerini ve eklenen uygulama programlar?n? haber veren birkaç sat?r
ili?tirebilirsiniz. Sistemde aç?lan her kullan?c? hesab?na Linux Çokça
Sorulan Sorular (Linux ÇSS), çe?itli UNIX belgeleri ve ?nternet hakk?nda
bilgilendirici dökümanlar?n?n yerald??? bir dizi e-posta da
yollanabilir. Bu konuda yarat?c?l???n?z? konu?turun.

5.2 Sistem Kurallar?

Kullan?c? hesab? açmadan önce birkaç basit kural? tan?mlay?p
kullan?c?lardan bunlara uymalar?n? istemelisiniz. En basitinden birkaç
kural, bir hesab?n birden fazla ki?i ile kullan?lmamas?, sistemin
güvenli?ini zedeleyecek crack, cops, satan gibi programlar?n di?er
kullan?c?lar?n zarar?na çal??t?r?lmamas? ve sistem kaynaklar?n?n
sorumsuzca tüketilmemesi olarak say?labilir.

Siz, en iyisi yukar?da yeralan kurallar? birkaç madde halinde yaz?n ve
sistemdeki herkesin bu maddelere uyaca??n? taahhüt eden imzas?n? al?n.
Tats?z durumlar?n ç?kmamas? için de önlem almay? ihmal etmeyin.

5.3 Kullan?c? ??lemleri

A?a??da yeralan konularda, kullan?c? hesaplar?n?n aç?lmas? ve
kapat?lmas? anlat?l?yor.

Kullan?c? Hesab? Açmak (adduser)

Kullan?c? hesab? açmak iki yoldan yap?labilir. Birincisi, adduser komutu
yard?m?yla, di?eri de bu komutun yapt??? i?lemleri s?ras?yla elden
yapmak. root olarak sisteme girin ve komutu çal??t?r?n :





# adduserLogin name for new user (8 characters or less) []: mehmetUser
id for mehmet [ defaults to next available]Linux Hakkında Herşey Goodnitial group for mehmet
[users]:Additional groups for mehmet []:mehmet's home directory
[/home/mehmet]:mehmet's shell [/bin/bash]:mehmet's account expiry date
(MM/DD/YY) []:OK, I'm about to make a new account. Here's what you
entered so far:New login name: mehmetNew UID: [?leri available]Initial
group: usersAdditional groups: [none]Home directory: /home/mehmetShell:
/bin/bashExpiry date: [no expiration]This is it... if you want to bail
out, hit Control-C. Otherwise, pressENTER to go ahead and make the
account.Making new account...Changing the user information for
mehmetEnter the new value, or press return for the default Full Name []:
linux kullanicisi Room Number []: Work Phone []: Home Phone []: Other
[]:Changing password for mehmetEnter the new password (minimum of 6,
maximum of 8 characters)Please use a combination of upper and lower case
letters and numbers.New password:Bad password: too simple.Warning: weak
password (enter it again to use it anyway).New password:Re-enter new
passwordassword changed.Done...

Kullan?c?n?n isminin 3 karakterden az, 8 karakterden fazla olmamas?na
özen gösterin. Sistem sizden kullan?c?n?n gerçek ismini, ev dizinini,
(genellikle /home içinde olur), grubunu isteyecektir. adduser komutu,
e?er özel olarak de?i?tirmek istemezseniz her kullan?c?n?n grup
numaras?n? GID = Group ID) 100 olarak tan?mlayacakt?r. Bu gruba kar??l?k
gelen isim (Group Name) users d?r. Kullan?c? kimli?i (UID = User ID)
ise genellikle 500'den sonra gelen ve kullan?lmayan ilk say? olarak
atan?r. E?er UID olarak 0 girerseniz sistemde sizinle beraber bir
süper-kullan?c? daha yaratm?? olursunuz

Sisteme giri?te çal??t?r?lacak olan kabuk için seçimi ister kullan?c?ya
b?rak?n, isterseniz öntan?ml? olarak bash verin. Bash'in sistemdeki tam
patikas?n? (/bin/bash) yazmal?s?n?z. Bu alana sadece kabuk ismi girmek
?art de?ildir.

Yukar?da sistem bizi güçlü bir ?ifre seçmedi?imiz için uyard?. ?ifre
olarak, herkesin kolayca tahmin edemeyece?i zorlukta, fakat kullan?c?n?n
bir yere yazmas?n? önleyici kolayl?kta bir kelime bulun. Kullan?c?,
hesab?n?n aç?lmas?ndan hemen sonra sisteme girecekse ve ?ifresini
de?i?tirecekse k?sa ve kolay bir ?ifre yeterli olacakt?r.

Her ?eyin do?ru oldu?una eminseniz, sorulan soruya "y" ile, de?ilseniz
"n" ile cevap verin. Hemen ard?ndan /etc/skel dizini alt?nda yeralan tüm
dosyalar bu kullan?c?n?n dizinine kopyalanacakt?r. Buraya, her
kullan?c?n?n ev dizinine önceden yüklenmesini istedi?iniz sistem
dosyalar?n? yerle?tirebilirsiniz. Bu andan itibaren yeni kullan?c?
sisteme girebilir.

Sisteme kullan?c? ekleme i?lemini el yordam?yla yapmak isterseniz,
/etc/passwd ve /etc/shadow dosyalar?na birer sat?r eklemelisiniz.
/etc/passwd'de aralar?nda birer ':' karakteri olmak kayd?yla s?rayla
hesap ismi, "x", grup kimli?i, kullan?c? kimli?i, kullan?c? isim ve
soyad?, ev dizini ve kabuk program? yeral?r. /etc/passwd içine bu sat?r?
ekleyin:





ozgur❌100:502:Misafir Sanatci:/home/ozgur:/bin/bash

/etc/shadow içine ise a?a??daki sat?r? yerle?tirin, tabi di?er sat?rlara
dokunmadan.





ozgur::9990:0:99999:::

Bu sat?rda yeralan ikinci girdi mirkelam kullan?c?s?n?n ?ifresini
belirtiyor. /etc/shadow dosyas?na yaz?lacak olan ?ifreyi önce bo?
b?rak?p, ard?ndan passwd ozgur komutuyla bir ?ifre atay?n.

/etc/shadow dosyas?nda kullan?labilecek parametreler için shadow(5) man
dosyas?na göz gezdirin.

Ard?ndan /home/ozgur dizinini olu?turun. Dizinin grubunu da ayarlay?n.
Çok gerekli olmasa da gelen e-postalar için /var/spool/mail dizininde
bir dosya tan?mlay?n ve /etc/skel içinde yeralan dosyalar? kullan?c?n?n
dizinine kopyalay?n.





# mkdir /home/ozgur# chown -R ozgur.users /home/ozgur# touch
/var/spool/mail/ozgur# chown ozgur.mail /var/spool/mail/ozgur

Yukar?da yaz?lan elle kullan?c? girme i?lemi, shadow kullanan Linux
makinalar? için geçerlidir. Shadow için Güvenlik bölümüne göz at?n.

Kullan?c? Grubu

E?er Linux makinan?z birkaç yo?un görev üstlenmi?se (örne?in www veya
ftp sunucusu olarak kullan?l?yorsa) her bir i?lem için birden fazla grup
tan?mlanabilir. users grubuna ba?l? kalmadan wwwadm veya ftpadm gibi
grup isimleri belirtebilir, bu gruplar? da bir veya birkaç kullan?c?ya
ait olacak ?ekilde de?i?tirebilirsiniz.

users grubunun d???nda birden fazla grup tan?mlanmas?, sistemin
denetlenmesini bir miktar güçle?tirse de sistem güvenli?ini art?r?r.
Baz? kullan?c?lar?n birden fazla grubunun olmas?yla bu kullan?c?lar
rahatl?kla sistemde root kullan?c?s?n?n üstlenmesi gereken i?leri
yapabilirler.

Grup kimli?inin de?i?tirilmesi veya yeni grubun eklenmesi için
/etc/group dosyas? kullan?l?r. Bu dosyaya grubun ismi, numaras?, grup
?ifresi ve gruba ait kullan?c?lar yaz?l?r. Her kullan?c?n?n en az bir
grubu vard?r.

/etc/group dosyas?n?n iki sat?r?nda yeralan parametreler,





root::0:root sys:root,bin,sys,adm

gibidir. S?rayla ":" karakteri ile ayr?lm?? her kolon,



Grup ismi
Grup ?ifresi
Grup numaras?
Gruba ait kullan?c?lar

?eklinde özetlenebilir. ?lk sütun grup ismini belirtir. Grup ismi, ls -l
komutunu i?letince kullan?c? isminin hemen sa??nda görülen kelimedir.
Grup ?ifresi, gruba ait olmayan kullan?c?lar?n dosyalar?na eri?im
sa?lamak için kullan?l?r.

Grup ?ifresi nadiren kullan?l?r. Grup numaras?, kullan?c?n?n ait oldu?u
grubun kar??l???d?r. Son sütunda ise gruba ait kullan?c?lar, her biri
birer virgülle ayr?lm?? olarak yaz?l?r. Kullan?c? sisteme girdi?i zaman
otomatik olarak /etc/passwd dosyas?nda yeralan grup ismi aktif olur, bu
yüzden her kullan?c?n?n ismi /etc/groups dosyas?na yaz?lmaz. Sistem ilk
kuruldu?u anda birkaç grup halihaz?rda zaten vard?r. Örne?in root
grubunun grup numaras? 0'd?r ve pekçok sistem dosyas?n?n sahibidir, bin
grubunun numaras? is 2 olup /usr/bin ve /bin dizinlerindeki ço?u
dosyan?n grubudur.

Hangi grubun (veya tan?mlanm??sa gruplar?n) içinde oldu?unuzu ö?renmek
için groups komutunu kullanabilirsiniz.





$ groups gorkem users

Kullan?c?n?n Hesab?n?n Silinmesi

Bir kullan?c?ya ait hesab? silmek için /etc/passwd dosyas?nda bu
kullan?c?ya ait olan sat?rdaki ?ifre kolonunun ba??na * i?areti koyun.
Bir ?ifrelenmi? bir parolan?n içinde * karakteri olamayaca??ndan bu
kullan?c? bir daha sisteme giremez.

Hesab? tamamen silmek için, kullan?c?n?n ev dizinini ve e-postalar?n?
yedekledikten sonra sistemde kullan?c?ya ait olan dosyalar? (/tmp
alt?nda) ve ev dizinini silin.

/etc/passwd ve /etc/group dosyas?ndan kullan?c?n?n isminin geçti?i
sat?rlar? kald?r?n.

Sistemde kullan?c?ya ait olabilecek tüm dosyalar? da silmeniz
gerekebilir. Bunun için find kullanabilirsiniz.





$ find / -user gorkem -ls -exec rm {} \;

Bu komutu /etc/passwd dosyas?ndan kullan?c? ismine ait olan sat?r?
kald?rmadan önce yapmal?s?n?z.

5.4 Sistemin Yedeklenmesi

Makinan?z?n belirli aral?klarla yedeklenmesi, sistem güvenli?inin bir
parças? say?labilir. Donan?mdan meydana gelen bir hata sonucu veya
yanl??l?kla girilen bir komut, sistemi aç?lamaz hale getirebilir. Ancak
yedekleme ile bu tür kullan?c? hatalar?n?n önüne geçebilirsiniz.
Yedekleme genellikle tüm sistem üzerinde yap?lmaz. Sadece önemli sistem
bilgilerini içeren dizinler yedekleme a?amas?na girmelidir.

Yedekleme üniteleri olarak teyp, disket veya ba?ka diskler
kullan?labilir. Teypler, büyük miktarda yedekleme i?lemleri için ön
plana ç?ksa da birkaç dosyadan olu?an paketlerin korunmas? söz konusu
olacaksa disketler daha pratiktir. ?nternet üzerinde ise ba??ms?z bir
makina, kendi rutin görevi d???nda yerel a?da bulunan makinalar?n
yedeklerini belirli gün ve saatlerde almak üzere programlanabilir.

Sistemde fazla miktarda kullan?c? varsa yedekleme i?lemi ciddi bir
düzene oturtulmal?d?r. Sistemdeki hayati dosyalar örne?in her hafta,
üzerinde kullan?c?lar?n bulunmad??? ak?am saatlerinde yedeklemeye
sokulabilir.

Yedekleme için birkaç yol önerilebilir. Kullan??l? olmas? için
yedeklemeyi yapan program, yedeklenen dosyalar aras?ndaki belirli bir
dosyay? kolayca açabilmelidir. Bunun yan?nda, yedek bilginin de
bozulmas? ihtimali vard?r. Yede?in içindeki tek bayt?n bozulmas?, baz?
durumlarda tüm yede?in çöp y???n? haline gelmesine yol açabilir. Do?ru
yedekleme program?n?n kullan?lmas? bu anda önem kazan?r.

Yedeklenecek olan dizinlerden en önemlileri, sistem konfigürasyon
dosyalar?n?n yerald??? /etc, kullan?c? dizinlerinin yerald??? /home,
baz? X Window dosyalar?n?n bulundu?u /usr/X11/lib/X11 dizini alt?ndaki
baz? dosya ve dizinler, /usr ve /usr/local dizinde yeralan baz? dizin ve
dosyalar ile /root dizinidir. ?art olmasa da yedekleme için yeriniz
bolsa /tmp dizinini de koyabilirsiniz.

Elektronik postalar? ( /var/spool/mail) da unutmamak gerekir. Yoksa, çok
me?hur olan "e-mey?l?m cyber-space'de kayboldu" cümlesini s?kça duymaya
ba?lars?n?z.

A?a??daki komut, /usr ve /home dizinlerini diskete yedekler.





$ tar cvMf /dev/fd0 /usr /home

tar komutununa verilen M parametresi yard?m?yla bir disket doldu?u zaman
ba?ka bir diskete devam etmenizi sa?lar. Dizinleri s?k??t?rarak atmak
için z seçene?ini vermek yeterli olur. S?k??t?rarak yedekleme disket ya
da teyp'te yer kazand?racakt?r, ancak hata oldu?unda verilerin
kurtar?lmas? daha zor olacakt?r. Açmak için





$ tar xf /dev/fd0

komutu yeterlidir. S?k??t?r?larak diskete at?lan yedekler için açarken
de "z" kullan?n. Disketleri s?ra ile numaraland?rmay? ihmal etmeyin,
yoksa bir disketten fazla yer kaplayan ar?ivleri açamazd?n?z.

Linux'ta gerek SCSI, gerek floppy teyp deste?i vard?r. Özellikle çok
veri yedekleyecekseniz teypler kaç?n?lmaz olur. Teyplere yedek al?rken
de yukar?daki floppy orneklerindeki gibi tar kullanabilirsiniz. tar'?n
yan? s?ra s?kça kullan?lan yedekleme komutlar? aras?nda dump ve restore,
cpio ve dd gösterilebilir. Linux'ta ilk SCSI teyp sürücüye /dev/st0,
ikinciye /dev/st1 ... kullanarak, PC'lerde s?kça kullan?lan ``floppy
teyp''lere de /dev/ftape üzerinden eri?ebilirsiniz. Piyasada bulaca??n?z
ortalama floppy teyplerin kapasiteleri 120M, 4mm SCSI teyplerin 4G, 8mm
SCSI teyplerin ise 7G kadar olacakt?r. Teybin kapasitesi kulland???n?z
sürücünün yetene?ine ve teybinizin uzunlu?una göre de?i?ir. Örnek
olarak, bütün sistemin tar kullanarak ilk SCSI teybe yedeklemek için,





# tar cvf /dev/st0 /

Bir TCP/IP a??n?z varsa, ve birden fazla Linux ya da UNIX makinas?
kullan?yorsan?z, tek bir teyp sürücü ile bütün makinalar?n?z?n, hatta
Windows makinalar?n?z?n bile (Linux'un yard?m?yla) yede?ini
alabilirsiniz. Bu i? için amanda gibi daha özelle?mi? ve yedekleme
i?lemini otomatikle?tiren bir program kullanabilece?iniz gibi, GNU
tar'dan da yararlanabilirsiniz. Örne?in tar ile, cclub.metu.edu.tr
makinas?ndan, linux.org.tr makinas?ndaki floppy teybe yedek almak için,





cclub:~# tar cvf linux.org.tr:/dev/ftape /home

yukar?daki komutun çal??mas? için linux.org.tr makinas?n?n root'unun
.rhosts dosyas?nda cclub makinas?n?n root'una izin verilmi? olmas?
gerekir. Bu i?lem güvenlik için sak?ncal? oldu?undan, bu i? için özel
bir kullan?c? açmak gibi bir yönteme ba?vurulabilir. Örne?in
linux.org.tr'da yedek adl? bir kullan?c? açt???m?z? dü?ünelim. Bu
durumda yukar?daki komutu,





cclub:~# tar cvf yedek@linux.org.tr:/dev/ftape /home

?eklinde yazabiliriz.

5.5 Sistemin Güncellenmesi

Tekrar Linux yüklenecek olan makina üzerinde halihaz?rda Linux
bulunmas?n?n yararlar? oldu?u gibi baz? sak?ncalar? vard?r. ?lk olarak
yararlar?na de?inmek gerekirse, yap?lacak asl?nda sadece i?letim
sisteminin bulundu?u bölümü de?i?tirmektir. Takas alan?n?n ayr?lmas?,
kullan?c? alan?n?n ayr?lmas? gibi i?lemler bu durumda önceden yap?lm??
oluyorlar. Ancak yeni i?letim sisteminin yüklenmesinin baz? zararlar? da
var.

Her?eyden önce çal??t??? bilinen bir i?letim sistemi yenisi ile
de?i?tiriliyor. Gerçekten bunu gerektirecek bir sebep olmad?kça bu tür
güncellemelerden kaç?n?lmas? veya en aza indirilmesi gerekir. Yeni bir
sistem, yeni bilinmeyenler ve az da olsa bile çal??mama riski
getirecektir.

E?er sistem üzerinde belirli hizmetler veriliyorsa o hizmetlere ili?kin
verilerin bu güncelleme esnas?nda yok olmamas?na dikkat edilmeli. Mesela
makina bir web sunucu olarak kullan?l?yorsa web dosyalar?n?n bir
?ekilde yeni sisteme aktar?lmas? gerekecektir .

Benzer bir ?ekilde makinaya ait tan?mlar?n (/etc) ve standart da??t?m
d???nda yüklenmi? paketlerin önceden yedeklenmesi gerekir. Yoksa her?eye
yeniden ba?lamak gerekebilir.

Güncelleme için iki yöntem akla gelebilir, do?rudan yeni sistemi
eskisinin üzerine bindirmek veya eskisini silerek yeniden yüklemek.
Slackware sürümü için en sa?l?kl?s? eski sistemi silmektir. Çünkü
de?i?ik da??t?mlarda dosya da??l?m? farkl?l?klar göstere bilmektedir.
Bunun sonucunda baz? dosyalar birden fazla yerde gözükebilmektedirler.
Bir di?er sak?nca ise setup yaz?l?m?n?n bazen bu durumda ?a??rabilmesi
ve hata vermesi. Baz? ticari Linux sürümleri (Red-Hat, Debian, Caldera
gibi) eski sürümü silmeye gerek b?rakmadan sistemi güncelleme özelli?ine
sahipler.

Güncellemeniz gerekebilecek dizinler, /var/spool/mail, kullan?c?
dizinleri (root dahil), /usr alt?nda gerekli dizinler,/var/adm/ ve /etc
olarak say?labilir. Bazen /etc içinde yer alan dosyalar?n yeri veya
?ekli de?i?mi? olabilir. Onun için en güvenlisi teker teker dosyalar?
inceleyip kopyalamakt?r. Belirli dosyalar? yeni sistemi kurduktan sonra
hemen kopyalayabilirsiniz :





/etc/group/etc/printcap /etc/hosts ...

Daha önce shadow kullanmayan bir sistemden shadow sistemine
geçiyorsan?z, /etc/passwd ve /etc/shadow dosyalar?nda gerekli
de?i?iklikleri yapmadan yeni yerine kopyalamay?n.

Ayr?ca ne olur ne olmaz diye çal??t???n? bildi?iniz bir çekirde?i de
yede?e almay? ihmal etmeyin.

5.6 Çekirde?in Derlenmesi

Bu bölümde, çekirde?in konfigürasyonu ve derlenmesi için gerekli
bilgiler vard?r. Çekirdek derleme uzun ve zahmetli bir i?lemdir. Derleme
a?amas?n? en k?sa zamanda ve en uygun yoldan gerçekle?tirmek gerekir.
Derleme i?lemi, kullan?c?n?n önüne kafas?n? kar??t?racak kadar çok
seçenek sunar.

Nedir bu çekirdek? Genel anlamda çekirdek, yaz?l?m?n ve donan?m?n
aras?nda bekleyerek ileti?imi sa?layan bir arabirimdir. Çal??an tüm
programlar?n ve süreçlerin haf?za ile olan ili?kilerini düzenler.
??lemcinin gücünün tüm bu programlar aras?nda adil bir ?ekilde
da??t?m?n? üzerine al?r. Bu i?lemleri kullan?c?n?n haberi olmadan her an
durmaks?z?n yapar.

Çekirdek kaynak dosyalar? diskte hat?r? say?l?r bir alan tutar. Örne?in
sürüm 2.0.20 yakla??k 6Mb disk alan? kaplar. Aç?ld??? zaman ise toplam
kaplad??? alan 24 Mb olur. Derleme a?amas?ndan sonra bu rakam 30 Mb'yi
geçer. Her eklenen ayg?t sürücü deste?i bir miktar daha yer al?r.

Kulland???n?z sisteme göre çekirde?in derlenme süresi de?i?kenlik
gösterir. 12 Mb 486DX4/100 makinas?nda, 5 dosya sistemi deste?i, a?
deste?i ve ses kart? sürücüsü ile yakla??k 30 dakika sürer. Ayn?
konfigürasyonu içeren çekirde?in derlenmesi ise daha güçsüz bir makina
olan 8Mb 386DX/40 alt?nda 1.5 saati bulur. Derlerken gidip çay?n?z?
için, biraz televizyon seyredin. Makinaniz 386 ise bir banyo al?p d??ar?
ç?k?n, al??veri? yap?n. Çok ümitsiz bir durumdaysan?z, yap?lacak en iyi
?ey en yak?n bilgisayar sat?c?s?na u?rayarak yeni fiyatlar? sormak :-)

Çekirdek kaynak kodu , ODTÜ ftp ar?ivindeki adresinden veya
tsx-11.mit.edu adresinin yans?s?n? tutan herhangi bir adresten
al?nabilir. Bu dizin alt?ndaki Linux sürümlerinin bir tanesini (v1.2,
v2.0, v2.1 gibi) seçtikten sonra alt?ndaki dosyay? alabilirsiniz.
Dosyan?n ismi linux-x.y.z.tar.gz yap?s?ndad?r.

A?a??daki örnekte ODTÜ ftp ar?ivinden 2.0.20 sürümünün al?n???
gösterilmektedir:





$ ftp ftp.metu.edu.trConnected to ephesus.cc.metu.edu.tr.220-220-Welcome
to METU Ftp Site !220-220-All logins and transfers are logged with your
hostname.220-If you do not agree with this policy, please cancel
now.220-220 ephesus FTP server (Version wu-2.4(5) Wed Jan 10 18:06:56
EET 1996) ready.Name (ftp.metu.edu.tr:gorkem): ftp331 Guest login ok,
send your complete e-mail address as
password.Password:230-##################################################
########################230-## Welcome to the Middle East Technical
University Ftp Archive
##230-##################################################
########################230-230-230-Hello ftp@compclup.ceng.metu.edu.tr
!230-You are the 19. anonymous user. 230-Maximum number of users
allowed is 100.230-Local Time is Tue Nov 5 1241 1996.230-230-Mirrored
sites are placed under the directory /pub230-This archive is maintained
by ftp.metu.edu.tr" class="postlink" target="_blank" rel="nofollow">ftpload@ftp.metu.edu.tr230-You
can reach this archive via FSP at port 21.230-230-You can reach public
directories via "cd dirname" 230-command independent of your current
location; 230-e.g. "cd linux" instead of "cd /pub/linux"230-230 Guest
login ok, access restrictions apply.ftp> cd
/pub/linux/tsx/sources/system/250-Please read the file README250- it was
last modified on Mon Sep 16 11:36:00 1996 - 50 days ago250 CWD command
successful.ftp> dir200 PORT command successful.150 Opening ASCII mode
data connection for /bin/ls.total 66-rw-r--r-- 1 ftpload ftp-adm 36981
Sep 16 12:36 CREDITSdrwxr-xr-x 3 ftpload ftp-adm 512 Oct 13 15:59
Historic-rw-r--r-- 1 ftpload ftp-adm 12056 Sep 16 12:36 READMEdrwxr-xr-x
2 ftpload ftp-adm 512 Oct 14 11:47 SillySoundsdrwxr-xr-x 2 ftpload
ftp-adm 512 Oct 13 18:17 testingdrwxr-xr-x 2 ftpload ftp-adm 512 Oct 14
11:47 v1.0drwxr-xr-x 2 ftpload ftp-adm 2048 Oct 31 21:55 v1.1drwxr-xr-x 2
ftpload ftp-adm 1024 Jun 25 11:34 v1.2drwxr-xr-x 2 ftpload ftp-adm 6656
Sep 27 04:24 v1.3drwxr-xr-x 2 ftpload ftp-adm 1536 Nov 2 00:05
v2.0drwxr-xr-x 2 ftpload ftp-adm 512 Nov 2 21:33 v2.1226 Transfer
complete.ftp> cd v2.0250 CWD command successful.ftp> bin200 Type
set to I.ftp> dir linux*200 PORT command successful.150 Opening ASCII
mode data connection for /bin/ls.total 141009-rw-r--r-- 1 ftpload
ftp-adm 5859566 Jul 3 11:22 linux-2.0.1.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5940281 Jul 27 06:39 linux-2.0.10.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5952403 Aug 5 03:01 linux-2.0.11.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5954278 Aug 9 12:53 linux-2.0.12.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5981780 Aug 16 06:19 linux-2.0.13.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5984960 Aug 20 11:52 linux-2.0.14.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5986368 Aug 25 06:20 linux-2.0.15.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5990228 Aug 31 14:03 linux-2.0.16.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5991606 Sep 2 06:37 linux-2.0.17.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5993351 Sep 5 10:38 linux-2.0.18.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5997342 Sep 11 10:21 linux-2.0.19.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5861789 Jul 5 12:09 linux-2.0.2.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5997693 Sep 13 08:53 linux-2.0.20.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5999162 Sep 20 09:51 linux-2.0.21.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 6009488 Oct 8 13:02 linux-2.0.22.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 6010694 Oct 18 08:20 linux-2.0.23.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5931967 Jul 6 07:53 linux-2.0.3.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5926911 Jul 8 08:48 linux-2.0.4.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5927899 Jul 10 08:23 linux-2.0.5.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5929807 Jul 12 07:22 linux-2.0.6.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5931378 Jul 15 07:38 linux-2.0.7.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5936467 Jul 20 02:52 linux-2.0.8.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5939510 Jul 26 04:09 linux-2.0.9.tar.gz-rw-r--r-- 1 ftpload
ftp-adm 5843677 Jun 9 23:36 linux-2.0.tar.gz226 Transfer
complete.ftp> get linux-2.0.20.tar.gz200 PORT command successful.150
Opening BINARY mode data connection for linux-2.0.20.tar.gz (5997693
bytes).226 Transfer complete.5997693 bytes received in 136 secs (43
Kbytes/sec)ftp> quit221 Goodbye.

Sisteme root olarak giri? yap?n ve /usr/src dizinine geçin. Linux'un
kurulmas? a?amas?nda çekirdekleri de kurmu? iseniz bu dizinde 'linux'
isminde ve eski çekirde?in kaynak kodlar?n? kapsayan bir alt dizin
göreceksiniz. Genellikle her kullan?c?n?n yapt???, bu dizinin ismini o
an çal??an çekirde?in sürümüne göre de?i?tirmektir. Çekirdek sürümünü
bulmak için ise uname -r komutunu kullanabilirsiniz.





$ uname -r 2.0.23

Bu komuttan çekirde?in 2.0.23 sürümü oldu?unu anlayabiliriz.

Çekirdek kodunu içeren paketi açmadan önce /usr/src dizinine kopyalay?n,
ve açmadan önce bu dizinde 'linux' isimli bir dizinin olmad???na emin
olun. ?imdi /usr/src içinde iken s?k??t?r?lm?? çekirdek kodunu 'tar'
komutu yard?m?yla aç?n.





# tar -zxf linux-x.y.z.tar.gz

Komutun i?letimi bitince 'linux' dizini olu?ur. ?lk defa derleme i?lemi
yapacaksan?z a?a??daki komutlar? s?ras?yla yaz?n.





# cd /usr/include # rm -rf asm linux scsi # ln -s
/usr/src/linux/include/asm-i386 asm # ln -s /usr/src/linux/include/linux
linux # ln -s /usr/src/linux/include/scsi scsi # cd /usr/src/linux #
make mrproper

Çekirdek Konfigürasyonu

/usr/src/linux dizini altinda iken make config yaz?n. Bu komut, bir
konfigürasyon dosyas? yaratmak amac?yla sorular sorar.

Kar??n?za ç?kan sorulara 'y' (evet) veya 'n' (hay?r) ile cevap vermeniz
gerekir. Baz? ayg?t sürücülerde 'm' seçene?i de olabilir. Bunun anlam?,
sistem o program? modül olarak derleyecek ve çekirde?e dahil etmeyecek
demektir. Kullan?c? derleme a?amas?ndan sonra istedi?i zaman bu modülü
çekirde?e dahil edebilir, i?ini bitirdikten sonra da ç?karabilir.

2.0.x ve daha yukar? sürümlerde '?' tu?una basmakla daha ayr?nt?l? bilgi
alabilirsiniz. A?a??da baz? konfigürasyon parametreleri verilmi?tir.



Matematik i?lemci emülasyonu (Kernel math emulation)
Kulland???n?z makinan?n i?lemcisi yard?mc? matematik i?lemcisine sahip
de?ilse (486SX, 386SX veya daha dü?ük makinalar) bu seçene?e evet
cevab?n? vermelisiniz.

Normal (MFM/RLL) disk ve IDE disk/cdrom deste?i (Normal disk and IDE
disk/cdrom support)
Hemen herkesin kulland??? PC sabit disklerinin standart olmas? sebebiyle
bu seçenege 'y' cevab? verilebilir. Daha ileride SCSI sabit disk ve
cdrom deste?i de sorulacakt?r. Ard?ndan gelecek olan 'old disks-only' ve
'new IDE' sürücülerinden birini seçerken, aralar?ndaki fark?n ilkinde
tek arabirim üzerinden iki adet diski desteklemesi, di?erinde ise ikinci
arabirim ile birlikte IDE/ATAPI cdrom'lar? desteklemesidir.

A? deste?i (Networking support)
Makinan?z herhangi bir a? üzerinde ise (?nternet gibi), veya ?nternet'e
ba?lanmak için SLIP, PPP gibi programlar? kullanmak istiyorsan?z bu
bölüme 'y' cevab? vermelisiniz. Fakat, a? üzerinde olmasan?z bile her
geçen gün yeni yeni uygulama programlar?n?n ve paketlerin a? deste?ine
ihtiyac? oldu?unu dü?ünürsek (X Window gibi) bu bölüme 'y' cevab?
vermeniz ?art görünüyor.

En fazla 16Mb haf?za (Limit memory to low 16Mb)
Baz? hatal? 386 DMA denetleyicileri haf?zan?n 16Mb'tan yüksek
bölümlerine ula?amazlar. Çok nadir görülen bu durum makinan?zda varsa bu
seçene?i 'y' ile geçin.

System V IPC (System V IPC):
IPC (Interprocess Communication) deste?i verir. Baz? Perl programlar? ve
oyunlar (DOOM gibi) bu seçenek olmadan çal??amazlar. Bu durumda ne
yapt???n?z? iyi bilmiyorsan?z bu seçene?e 'y' -evet- cevab? verin.

??lemci tipi (386, 486, Pentium, PPro):
Burada, çekirde?inizi hangi tür makina için derliyorsan?z, o makinan?n
tipini giriniz.

SCSI deste?i (SCSI Support):
SCSI ayg?tlar?n?z var ise bu seçenek için 'evet' deyin. Daha sonra da
kar??n?za gelecek SCSI ayg?tlar aras?ndan size uygun olanlar? al?n.

A? kart? deste?i (Network Device Support):
A?a ba?lanmak için bir kart kullanacaksan?z veya SLIP, PPP ba?lant?lar?,
ya da paralel port üzerinden yapaca??n?z her türlü i?lemler için bu
seçene?i i?aretleyin. Ard?ndan ekrana gelen kart tiplerinden uygun
olanlar?n? seçin.

Dosya sistemleri (Filesystems):
Burada, a?a??daki dosya sistemlerinden kullanmak istediklerinizi
seçebilirsiniz.



minix: Yeni da??t?mlar , artik tarih olmaya ba?layan bu dosya sistemini
desteklememekte. Baz? kurtarma disketleri yaratmak için daha yayg?n,
fakat daha az kararl? olan ext2 dosya sistemine tercih edilirler.
Extended file system (ext): Bu da art?k kullan?m? olmayan bir dosya
sistemi. Deste?ini ekleyip eklememek size kalm??.
Second extended file system (ext2): Linux'un kulland??? en önemli dosya
sistemi. Al?nmas? ?art.
xiafs: Art?k kullan?lm?yor.
msdos: Sabit diskinizde DOS bölümü varsa, ya da DOS disketi kullanmak
istiyorsan?z, al?n.
umsdos: MS-DOS dosya sistemine baz? yenilikler (uzun dosya isimleri
gibi) getirilerek olu?turulan bir teknoloji. MS-DOS deste?i almad?ysan?z
buna da gerek yok.
proc: Bu asl?nda gerçek bir dosya sistemi de?il, çekirdek görüntüsüdür.
`y' cevab?n? vermezseniz ileride ba??n?z çok a?r?r.
NFS: Linux makinaniz bir a? üzerinde kurulu iken a? üzerindeki di?er
makinalar?n dosya sistemlerini kullanabilmenizi sa?lar.
ISO9660: CD-ROM sürücünüzü Linux alt?nda kullanabilmek için 'y' cevab?
verin.
OS/2 HPFS: OS/2 dosya sistemlerini okuyabilmek için 'y' cevab? verin.
System V: Bir UN*X sürümü olan System V makinalar?n?n dosya sistemleri
üzerinde çal??abilmeyi sa?lar.

Karakter ayg?tlar (Character devices):
Bu bölümde yaz?c?, fare ve baz? teyp yedekleme sürücüleri gibi karakter
ayg?tlar? (ileti?imini karakter karakter sa?layan ayg?tlar) için
sürücüleri ekleyebilirsiniz.

Ses kart? (Sound Card Support):
Linux'un ses kapasitesini "duyabilmek" için bu deste?i ekleyin.

Çekirdek i?lemleri (Kernel Hacking):
Çekirdekten do?an hatalar?n bulunmas?n? kolayla?t?ran bu seçenek,
programc?lara yönelik.



Tüm bu i?lemlerin ard?ndan make config komutunun görevi bitmi? olur.

Temizlik

Fazla dosyalar? temizlemek, gerekli olan dosyalar?n da yerinde olup
olmad???n? kontrol etmek için , s?ras?yla





# make dep # make clean

yaz?n. Ard?ndan tüm nesne dosyalar? ve eski sürümden arta kalan dosyalar
silinecektir. Bu ad?m? es geçmemelisiniz.

Temizlik i?leminden sonra,





# make zImage , veya # make zdisk

yaz?n. E?er bir ki?isel bilgisayarda çal???yorsan?z, ilk seçenekte
çekirdek derlenip /usr/src/linux/arch/i386/boot dizini alt?na zImage
ad?yla yerle?tirilecektir. Buraya yerle?tirilmeden önce yerden kazanmak
için çekirdek s?k??t?r?l?r. Di?er durumda ise yeni çekirdek sabit disk
yerine A: disket sürücüsüne yaz?l?r. Disket üzerine yazman?n bir
avantaj?, kararl? olmayan ve sistemi açmayan çekirdek ile kar??la??lmas?
halinde, sistemi sabit disk üzerindeki eski çekirdekten açabilme imkan?
b?rakmas?d?r.

Çekirde?in Kurulmas?

LILO, bilgisayar?n aç?l??? an?nda çekirdek ile ilgili düzenlemeleri
okur, buna göre hangi çekirdekten açmas? gerekti?ini anlar.
Konfigürasyon dosyas? biraz karma??k olmas?na ra?men kullan?m a?amas?nda
büyük yararlar sa?lar. /etc/lilo.conf dosyas?n?n içinde gerekli olan
kurulum bilgileri vard?r. Bu dosyan?n bir bölüm a?a??da görülüyor.





image = /vmlinuz label = linux root = /dev/hda1 other = /dev/hda1 label =
dos table = /dev/hda

image = ibaresi kurulu olan çekirde?e i?aret eder. Ço?u kullan?c? bu
k?sma vmlinuz yazar. label = bölümünde hangi i?letim sistemi veya
çekirdek sürümünun aç?l??ta kullan?laca?? yaz?l?r. Hemen alt?ndaki root
bölümünde ise label = k?sm?nda seçilen i?letim sisteminin hiyerar?ik
s?rada en üst dizin yap?s? yaz?l?r. Eski çekirde?in bir yede?ini al?n ve
yeni derledi?iniz çekirde?i image = sat?r?nda belirtilen yere
kopyalay?n.





# cp zImage /vmlinuz

?imdi LILO program?n? çal??t?r?n. Komut sat?r?nda lilo yazmak
yeterlidir. `*' karakteri, çal??t?r?lacak ilk çekirde?i veya sistemi
gösterir.





# lilo Added linux * Added dos

LILO ve konfigürasyonu hakk?nda , daha fazla bilgi LILO-NASIL
çevirisinden al?nabilir.

Yeni bir çekirde?i derledikten sonra LILO üzerinden ekleme yapmak ve
aç?l?? an?nda kullanmak için /etc/lilo.conf dosyas?ndaki





image = /vmlinuz label = Linux root = /dev/hda1

sat?rlar?n?n kopyas?n? ç?kar?n, image , label ve root yerine s?ras?yla
yeni derlenen çekirde?in sabit disk üzerindeki yerini, ismini ve Linux
i?letim sisteminizin kök dizinini yaz?n. Bunlara ek olarak, aç?l??
an?nda bekleme sa?lamak ve seçim yapabilmek için konfigürasyon
dosyas?n?n ba??na delay = xxx ekleyebilirsiniz. xxx say?s?, gecikme
zaman? saniyenin onda biri olarak verilir. Bu sayede aç?l?? an?nda ,
örne?in shift tu?una bas?larak istenen çekirde?in ismi (label =
sat?r?nda yaz?lan isim) seçilir ve çal??t?r?l?r.

Çekirde?in Yamanmas? (patch)

Çekirde?in her yeni sürümüyle birlikte bir önceki sürümünun yamas? da
gelir. Yamay? uygulamak, tüm çekirde?in tekrar derlenmesinden daha
kolayd?r. Örnek olarak, elinizde 2.0.10 çekirde?i var ve ftp adresinde
2.0.11 sürümü bekliyor. Halihaz?rdaki çekirde?i 2.0.11 sürümüne
yükseltelim:

Yamay? önce /usr/src dizinine kopyalay?n. Bu dizin alt?nda iken





# zcat patch-2.0.11.gz | patch -p0

veya e?er s?k??t?r?lm?? de?ilse





# patch -p0 < patch-2.0.11

yaz?n. Bu komutun ard?ndan sat?rlar ekrandan kaymaya ba?layacak ve yama
i?lemi tamamlanacakt?r. Sat?rlar bazen o kadar h?zl? kayar ki neler
yazd???n? bile göremeyebilirsiniz. Yaman?n ba?ar?l? bir ?ekilde
tamamland???ndan emin olmak amac?yla, /usr/src/linux dizini alt?nda .rej
uzant?l? dosyalara bak?n.





# find . -name '*.rej' -print

Komut, .rej uzant?l? dosyalar bulursa yama i?lemi tamamlanamam??
demektir. E?er yama i?lemi tamamlan?rsa, s?ras?yla





# make clean # make config # make dep

komutlar?n? yaz?n. Bu komutlarla ilgili detayl? bilgi önceki konuda
anlat?lm??t?r.

patch komutunun alabildi?i baz? seçenekler vard?r. patch -s komutu
olu?abilecek tüm hata mesajlar?n? ekrana yazar. Di?er yama seçenekleri
man patch yazarak görülebilir.

Birkaç yaman?n ard?ndan, .orig uzant?l? dosyalar etrafta dola?maya
ba?lar. Bu dosyalar gereksizdir, büyük yer kaplad?klar? için silinmeleri
gerekir. A?a??daki komut yard?m?yla /usr/src/linux dizini alt?nda .orig
uzant?l? dosyalar? silebilirsiniz.





# find /usr/src/linux -name '*.orig' -exec rm -f {} ';'

Ç?kabilecek Sorunlar

Eger rutin bir çekirdek güncellemesinden sonra yeni çekirde?iniz
gerçekten garip ?eyler yap?yorsa, büyük ihtimalle yeni çekirde?inizi
derlemeden önce "make clean" komutunu kullanmay? unutmu?sunuzdur.

E?er çekirdek çok fazla haf?za harc?yorsa, çok büyükse, veya yeni
786DX6/440 makinan?zda bile derlenmesi sonsuza kadar sürüyorsa, büyük
ihtimalle ayarlanm?? bir çok gereksiz parça (ayg?t sürücüleri, dosya
sistemleri, vb.) vard?r. Büyük çekirdeklerin en belirgin özelli?i
sürekli haf?zadan diske ve diskten haf?zaya takas yapmalar?d?r.

Çekirde?inizin ne kadar haf?za kulland???n? makinan?n toplam
haf?zas?ndan /proc/meminfo dosyas?ndaki total mem de?erini ç?kararak
veya free komutunun ç?kt?s?ndan ö?renebilirsiniz. Ayr?ca dmesg komutunu
kullanarak (veya çekirdek kay?t dosyas?na bakarak) da bu de?ere
ula?abilirsiniz.





Memory: 15124k/16384k available (552k kernel code, 384k reserved, 324k
data)

LILO'yu çal???t?rmay? unuttunuz, veya sistem hiç aç?lm?yorsa bu durumda
yapaca??n?z en iyi ?ey disketten aç?l?? yapmak ve daha sonra aç?l??
yapabilen ba?ka bir disket haz?rlamakt?r.

E?er eski çekirdek 1.2.X ve daha dü?ükse ve bunu 2.0.x sürümüne
yükseltmek istiyorsan?z, 2.0.x çekirdek kurulumunda getirilen baz?
de?i?iklikler sorun ç?kartabilir. /usr/src/linux/Documentation/Changes
dosyas?nda yapman?z gereken de?i?klik listesi vard?r. gcc, libc gibi
birkaç paketi yeniden kurman?z gerekebilir.

Ayn? anda birkaç çekirdek kaynak kodunu sistemde bulundurmay?
dü?ünüyorsan?z, izlenecek en güvenilir yol, her birine
/usr/src/linux-x.y.z ismini vermektir (x.y.z halihaz?rdaki çekirdek
sürümünü gösterir). Ard?ndan sembolik bir ba?lant? yard?m?yla
istedi?iniz kaynak dizinini seçebilirsiniz, örne?in





# ln -sf linux-2.0.2 /usr/src/linux

komutu, linux-2.0.2 dizinini aktif hale getirir. Art?k kaynak
dosyalar?n?n bulundu?u yer linux-2.0.2 dizinidir.

5.7 Modüller (Yüklenebilir Çekirdek Parçalar?)

Linux i?letim sistemi çekirde?inin boyu genellikle 400-600Kb
aras?ndad?r. Hantal çekirdeklerde bu say? 800Kb'lara kadar ç?kabilir.
Çekirde?in boyunun büyümesi, sistemin performans?n? olumsuz yönde
etkiler. Özellikle bilgisiz kullan?c?lar?n gerekli gereksiz tüm deste?i
çekirde?e yüklemesi s?kça görülür. Bunun önüne geçmek de deneyim ister.

Linux'a özgü özelliklerden birisi modüllerdir (yüklenebilir çekirdek
parçalar?). Modüller sayesinde nadiren gerekli duyulan bir çekirdek
parças? sadece gerekti?i zaman çekirde?e eklenir. Örne?in Java
programlar?n? her zaman çal??t?rmak istemiyorsan?z, bu deste?i modül
olarak derleyip bir kenara koyars?n?z. Ne zaman bir Java program?
çal??t?r?lacaksa bu modül haf?zaya yüklenecektir.

Bir modül, çekirde?in derleme a?amas?nda `M' parametresiyle tan?mlan?r.
Her deste?in modülü henüz geli?tirilmemi? olmas?na ra?men bu say? gün
geçtikçe artmaktad?r. ?lginizi çekebilecek modüller aras?nda disket
deste?i, yaz?c? deste?i, minix dosya sistemi deste?i veya SCSI ayg?t
sürücü deste?i say?labilir.

Bir modülü derledikten sonra modüle ait dosya /lib/modules dizini
alt?nda yeral?r. Burada istenilen bir modül





# insmod modul-ismi

komutuyla çekirde?e eklenir. Modülü haf?zadan ç?karmak için





# rmmod modul-ismi

yaz?n. Haf?zadaki modüllerin bir listesini görebilmek için de lsmod
komutu kullan?labilir.

kerneld komutu, arkaplanda çal??arak gerekli olan modülleri an?nda
yükler. Bu sayede çekirde?e eklemek için insmod komutuna gerek kalmaz.
Ayr?ca belirli bir süre içinde kullan?lmayan modülleri de çekirdekten
atar.

5.8 Yeni Yaz?l?mlar?n Yüklenmesi

Linux i?letim sistemi, benzerlerine nazaran çok büyük bir h?zla
geni?liyor. Her an yeni bir program, yeni bir yaz?l?m piyasaya ç?k?yor
ve bunlar? takip etmek de gittikçe zorla??yor. Bir ftp adresini kontrol
ettikten iki gün sonra tekrar bak?yorsunuz ki üç-be? yeni yaz?l?m
gelivermi?.

Tabi ki her an her program? makinan?za indirip açmak zorunda de?ilsiniz.
Buna ne zaman?n?z, ne de sabit diskiniz yeter (Linux'un sunsite ar?ivi
20GB'tan fazla yer kapl?yor!). Öyleyse tespih çeker gibi program
indirmek veya varolan yaz?l?mlar? güncellemek komik olur. Sadece gereken
zamanda gereken dosyalar? makinan?za kurmal? veya güncellemelisiniz.

Bu i?lem çekirdek için de geçerlidir. Baz? çekirdek fanatikleri
çekirde?i ç?kt??? anda makinalar?na indirir ve derlerler. Linux'a çok
önemli bir fonksiyon kazand?rmayacaksa her an çekirdek derlemek hem
zaman kayb? olur, hem de derleme esnas?nda sistemi yava?latarak di?er
kullan?c?lar? k?zd?r?r.

Kurmak istedi?iniz ve ftp adresinden bulup getirilen dosya çok büyük
ihtimalle tar ve gzip ile ar?ivlenip s?k??t?r?lm??t?r. Bu dosyan?n sonu
genellikle tar.gz, tgz veya tar.Z ile biter. Dosya kaynak koduyla veya
çal??t?r?labilir program olarak da??t?l?yor olabilir . Her iki durumda
da yap?lacak i?lemler birbirine benzer.

Öncelikle yaz?l?m?n aç?ld??? zaman hangi dizine kendini yerle?tirece?ine
bakmak gerekir. Bunu tar komutunun -t seçene?i ile kontrol edin.
compress ve gzip ile s?k??t?r?lm?? dosyalar için,





# tar -ztvf dosya.tar.gz

komutu kullan?labilir. Çok nadir durumlarda dosya, kendine ait bir dizin
yaratmaz, onlarca program? ve konfigürasyon dosyas?n? bulundu?unuz
dizine yazar. Karma??kl?k yaratan bu durumdan ancak ar?ivi ayr? bir
dizin alt?nda açmakla kurtulabilirsiniz.

Linux'çular yeni bir yaz?l?m? denemek istediklerinde ar?ivi genellikle
/usr/src veya /usr/local/src dizini alt?na kopyalarlar ve burada açarak
biraz sonra anlat?lacak konfigürasyon i?lemini uygularlar. Derleme
gerektirmeyen baz? programlar?n ise do?rudan kök dizinde aç?lmalar?
gerekebilir. Bu programlar aç?ld?klar? anda çal??maya haz?rd?rlar.

/usr/src veya /usr/local/src dizini alt?na dosyay? açt?ktan sonra bol
miktarda dosya ve dizinle kar??la?abilirsiniz. Buna en iyi örnek Linux
çekirde?idir. Burada yeralan baz? anahtar dosyalar yaz?l?m?n kurulmas?
için hayati önem arzeder.

Öncelikle README, README.linux ve varsa INSTALL dosyalar?n?n gözden
geçirilmesi gerekir. Bunlar s?rayla bir kullan?c? olarak dosyalar? nas?l
kuraca??n?z? ayr?nt?lar?yla söyler. Kurma a?amas?nda dikkat edilecek
dosyalardan ilki Makefile veya makefile dosyas?d?r. Bu dosyan?n içinde
(nadiren) küçük birkaç de?i?iklik yapmak gerekebilir. Di?er kontol
edilmesi gereken dosya ise varsa config.h dosyas?d?r. Bunu da sistem
gereksinimize göre de?i?tirmelisiniz.
Back to top Go down
Hitman Bret Hart
Üye
Üye
Hitman Bret Hart

Posts : 14
Join date : 2010-06-15

Linux Hakkında Herşey _
PostSubject: Re: Linux Hakkında Herşey   Linux Hakkında Herşey EmptyTue Jun 15, 2010 1:22 pm

Bazen başta derleyici olmak üzere sistemdeki yazılımı baştan aşağı
kontrol eden programlar olabilir (configure gibi). Bunların da komut
satırından çalıştırılmaları gerekir.

Varsa Makefile dosyasına göre yazılımı kurmak için make komutunu
kullanın. make komutu kuruluma make all, make install gibi bazı
parametreler alabilir. make all, halihazırda yeralan tüm yazılımları
kurarken make install, bu yazılımı konfigürasyon dosyalarının gösterdiği
dizinlere yerleştirirler.

Çoğu büyük paketler, man dosyalarıyla birlikte gelirler. Bunları da
diğer man dosyalarının yanına (/usr/man) koymak için ayrı bir make
install.man türü komut kullanmak gerekebilir.

Her durumda, mutlaka README dosyasını okuyun. Biraz sıkıcı gelse de sizi
zaman kaybından kurtaracaktır.

Slackware dağıtımını kullanıyorsanız, yüklenmiş yazılımları silmek için 2
yolunuz var. Birincisi, root olarak sisteme girip, istemediğiniz
programları tek tek komut satırından silebilirsiniz. Ama bu size
önerebileceğimiz bir yol değil ve çok fazla sakıncası var. Örneğin,
programı silip, ona olan bağlantıları unutabilirsiniz. Ya da tam tersi
olabilir. İkinci yol ve en geçerlisi, Slackware dağıtımı ile gelen
pkgtool programı kullanmanız. pkgtool seçenekleri arasındaki remove
package işinize yarayacaktır.

5.9 Sistem Açılış Dosyaları

Linux makinası açılırken onlarca dosyayı okur. Birkaç dakika içinde
çekirdeği hafızaya yükler, belirli dizinlerin altındaki programları
arkaplanda çalıştırır. Sistem uyanırken hatırı sayılır nicelikte
konfigürasyon dosyası elden geçer. Açık bir işletim sistemini
diğerlerinden ayıran bir özellik de kullanıcının büyük bir kolaylıkla bu
konfigürasyon dosyalarını değiştirebilmesidir. Sistem açılış
dosyalarında , özellikle ağ temelli dosyalarda değişiklik yapabilmek
için TCP/IP konusunda basit temelleri anlayabilmiş olmanız gerekir.

Açılış dosyalarında, tek bir kullanıcı için veya sistemde hesabı olan
herkese yönelik olarak değişiklik yapmak mümkündür. Pek çok kullanıcı bu
açılış dosyalarıyla oynayarak Linux'u daha yakından öğrenme imkanına
sahip olur.

İnternet servisi veren bir makina bu servisini daemon'lar aracılığıyla
yapar. Bir daemon, her makina tarafından bilinen bir port numarasını
açar ve dinlemeye koyulur. Eğer sorumlu olduğu port adresine istek
gelirse bu isteğe cevap vererek servise başlar.

Bash kabuğunun anlatıldığı konu içinde sisteme girerken okunan dosyaları
anlatmıştım. Sistemde yeralan önemli dizinler de dosya sistemi yapısı
konusunda detaylı olarak belirtilmişti. Bu bölümde daemonlardan kısaca
bahsedip açılış anında çalıştırılan programlara ve bunların
konfigürasyon dosyalarına kısa bir giriş yapılacaktır.

inetd ve /etc/inetd.conf

inetd, en ağır görevleri üstlenen ve en önemli İnternet
servislerindendir. Bu program sistem açılırken arkaplanda çalışmaya
bırakılır. inetd'nin görevi belirli portları dinleyerek bu portlara
yapılan bağlantıları denetlemektir. Bir bağlantı yapıldığı anda inetd bu
portla ilgilenecek olan programı çalıştırır. Örnek olarak Linux'a ftp
isteği geldiği anda inetd, ftp isteğine cevap verecek olan wu.ftpd
programını uyandırır ve geri kalanını bu programa bırakır.

inetd olmasaydı her standart port numarası için bu portu dinleyecek olan
bir program arkaplanda çalışıyor olacaktı. Bu da sisteme normalden daha
fazla yükün binmesi demektir. inetd'nin kullandığı konfigürasyon
dosyası /etc/inetd.conf'tur. Bu dosyadan bir bölüm aşağıda yeralmaktadır
:





# "kill -HUP ".# The inetd will re-read this file whenever it gets that
signal.## #time stream tcp nowait root internaltime dgram udp wait root
internalftp stream tcp nowait root /usr/sbin/tcpd wu.ftpdtelnet stream
tcp nowait root /usr/sbin/tcpd in.telnetd#nntp stream tcp nowait root
/usr/sbin/tcpd in.nntpdshell stream tcp nowait root /usr/sbin/tcpd
in.rshd -Llogin stream tcp nowait root /usr/sbin/tcpd in.rlogindntalk
dgram udp wait root /usr/sbin/tcpd in.talkdpop3 stream tcp nowait root
/usr/sbin/tcpd in.pop3dimap2 stream tcp nowait root /usr/sbin/tcpd
imapdfinger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd -wsystat
stream tcp nowait nobody /usr/sbin/tcpd /bin/ps -auwwxnetstat stream tcp
nowait root /usr/sbin/tcpd /bin/netstat -a# End of inetd.conf.

/etc altında bir konfigürasyon dosyasını değiştirmek isterseniz, o
dosyayı okuyan ve arkaplanda çalışıyor durumda bulunan süreçleri bundan
haberdar etmelisiniz. Çünkü bu dizindeki bazı dosyalar sadece açılışta
okunur. inetd, yukarıdaki inetd.conf dosyasını sistem açılırken
okuyacaktır. Değişiklik yaptıktan sonra inetd'nin bu değişiklikten
tekrar haberinin olması için bu sürecin PID numarasını ps -aux komutu
ile bir kenara not edin ve şunları yazın.





# kill -HUP

PID-inetd yerine not ettiğiniz süreç numarasını girmelisiniz. Bu sayede
inetd kendisine ait olan inetd.conf dosyasını tekrar okuyacak ve
değişiklikler işleme konacaktır.

Her bilgisayar tarafından bilinen servislerin isimleri ve hangi portları
(portları) kullandıkları /etc/services dosyasında tutulur.

syslogd ve /etc/syslog.conf

syslogd programı Linux'taki çeşitli olayların kayıtlarını tutar. Bunlar
genellikle hata mesajları veya çekirdek mesajları gibi kayıtlardır.
syslogd sistem açılırken arkaplanda işlemeye bırakılır.

/etc/syslog.conf, syslogd programının konfigürasyonu için kullanılır.
Normal olarak sistem kayıtları /usr/adm/messages dosyasının sonuna
eklenir. Bu dosyanın yapısı biraz karışık olmasına rağmen eğer sistem
yöneticiyseniz syslogd sizin en büyük yardımcınız olabilir.

Örnek bir syslog.conf dosyası aşağıda yeralıyor.





*.info;*.notice /usr/adm/messages*.debug /usr/adm/debug*.warn
/usr/adm/syslog*.emerg;*.alert;*.crit /dev/tty8mail.* /dev/tty9kern.*
/dev/tty10

Bu dosyanın en solunda yeralan ve nokta ile ayrılmış olan iki kelimeden
ilki, kaydı yapılan program grubudur. Bu kısma kern (çekirdek
mesajları), mail (sendmail mesajları), login (sisteme giriş veya
sistemden çıkış mesajları), auth, authpriv veya security (güvenlik
mesajları), cron (cron mesajları), daemon (deamon'lardan gelen
mesajlar),lpr (yazıcı mesajları), news (haber grubu mesajları), user
(kullanıcı mesajları) veya uucp (uucp mesajları) yazılabilir. Noktanın
sağındaki kelime ise kaydı yapılan program grubunun mesaj önem sırasını
belirler. Bu kısımda önem sırasına göre debug, info, notice, warning,
err, crit, alert ve emerg bulunur.

Dosyanın sağında yeralan kısımda ise bu mesajların hangi dosyaya
yazılacağı vardır. Yukarıda verilen örnekte, syslogd'den gelen mesajlar
sanal konsollardan kullanılmayanlara yönlendirilmiştir. Böylece sistem
yöneticisi F8, F9 ve F10 tuşlarını kullanarak sistem kayıtlarına anında
ulaşabilir.

Başka bir makinaya kayıt tutturmak da mümkündür. Uzak makinanın ismi
syslog.conf dosyasının sağ bölümüne yazılır. Böylece diğer makina yerel
olarak sistem kayıtlarını tutacaktır.





mail.err @ordek.cclub.metu.edu.tr

Bazı kritik ve sistemin düzgün çalışmadığını haber verebilecek
mesajların konsola yönlendirilmesinde fayda vardır.





kern.crit /dev/console

Sisteme bağlanmış olan kullanıcılar hakkında bilgiyi ise





/var/adm/wtmp

dosyası tutar. Bu dosya ASCII olmadığından doğrudan okunamaz, last
komutu ile içeriği incelenebilir. Buna ek olarak çeşitli paketler
çalıştırılıyorsa onların yarattığı kayıt dosyaları da incelenmelidir.
Örneğin ftp çalışıyorsa /var/adm/xferlog kimin ftp ile hangi dosyaları
aktardığını gösterir. Bu tür dosyalar içerisinde elde edilebilecek
ipuçları ile sistemin çalışma performansı artırılabilir, kendisini pek
belli etmeyen hatalar bulunabilir.

init ve /etc/inittab

init, sistemde ilk çalışan programdır. Neredeyse sistemin tüm açılış
yükünü elinde tutar. init sayesinde açılış anında hangi programların
çalışacağı belirlenir. Bu programları da /etc/inittab dosyasından
öğrenir.

Burada /etc/inittab dosyasından alınan birkaç örnek satır yeralıyor. Her
satırın sonunda çalıştırılacak olan dosyalar var.





# Default runlevel.idinitdefault:# System initialization (runs when
system boots).siLinux Hakkında Herşey Confused:sysinit:/etc/rc.d/rc.S#
Script to run when going single user (runlevel
1).su:1S:wait:/etc/rc.d/rc.K# Script to run when going multi
user.rc:23456:wait:/etc/rc.d/rc.M# What to do at the "Three Finger
Salute".ca::ctrlaltdel:/sbin/shutdown -t5 -rfn now# Runlevel 0 halts the
system.l0:0:wait:/etc/rc.d/rc.0# Runlevel 6 reboots the
system.l6wait:/etc/rc.d/rc.6# What to do when power fails (shutdown to
single user).pfwerfail:/sbin/shutdown -f +5 "THE POWER IS FAILING"# If
power is back before shutdown, cancel the running
shutdown.pg:0123456owerokwait:/sbin/shutdown -c "THE POWER IS BACK"# If
power comes back in single user mode, return to multi user mode.psLinux Hakkında Herşey Confusedowerokwait:/sbin/init
5c1:1235:respawn:/sbin/agetty 38400 tty1
linuxc2:1235:respawn:/sbin/agetty 38400 tty2
linuxc3:1235:respawn:/sbin/agetty 38400 tty3
linuxc4:1235:respawn:/sbin/agetty 38400 tty4
linuxc5:1235:respawn:/sbin/agetty 38400 tty5
linuxc6:12345:respawn:/sbin/agetty 38400 tty6 linux# Serial
lines#s1:12345:respawn:/sbin/agetty 19200 ttyS0
vt100#s2:12345:respawn:/sbin/agetty 19200 ttyS1 vt100# Dialup
lines#d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200
ttyS0 vt100#d2:12345:respawn:/sbin/agetty -mt60
38400,19200,9600,2400,1200 ttyS1 vt100x1wait:/etc/rc.d/rc.4

Bir Linux makinasının birkaç tane çalışma düzeni vardır. Bunlardan
birkaçı 3 (çok kullanıcılı konum), 1 (tek kullanıcılı konum) ve 4 (X
Window konumu)'tür. Her konum, bir sayı veya bu sayılara karşılık gelen
tek harften oluşur. Bir konum altında çalışırken diğerine geçebilmek
için init veya telinit komutu kullanılır.

/etc/inittab'da yeralan dosya isimleri değiştirilebilir veya
kullanıcının isteği doğrultusunda her çalışma modu için farklı dosyalar
çalıştırilabilir.



# init 1 Switching to runlevel 1 Sending all processes the TERM signal
Waiting for processes to terminate........ Turning off quota..Single
user mode.

init komutundan sonra açmak istediğiniz çalışma düzenine ait olan sayıyı
yazabilirsiniz. Örneğin init 0 komutu sistemi kapatacaktır. Yukarıdaki
komut çalıştıktan sonra /etc/inittab dosyasında bu konuma ait olan
/etc/rc.d/rc.K dosyası çalıştırılır. Bu dosya çalıştıktan sonra
dışarıdan yapılan bağlantılara izin verilmez.

/etc/inittab dosyasında yapılacak her değişikliğin ardından





# init q

komutunu vererek init programının inittab dosyasını tekrar okuyup
değişikliklerden haberdar olmmasını sağlamalısınız. O an sistemin hangi
konumda çalıştığını bulabilmek için runlevel komutunu kullanın :





$ runlevel N 3

Sistem, yukarıdaki bilgilere göre 3 numaralı konumda (çok kullanıcılı
konum) çalışıyor.

/etc/rc.d/* Dosyaları

İşte sistemin kalbinin attığı yer. Ne yaparsanız yapın ama bu dosyaları
gözünüz gibi koruyun. Sistem açılırken arkaplanda çalışmaya başlayan
programlar burada yazılıdır. Tüm bu dosyalar Slackware dağıtımına
özgüdür.



rc.0
Bu dosya, 0 (halt) çalışma düzenine geçerken okunur. Sistemin shutdown
veya halt komutları ile kapatılmak istenirse bu program çalıştırılır.
Önce sistemdeki tüm süreçler öldürülür, ardından sistemin kapandığını
belirten bazı satırları kayıt dosyalarına atar. Tüm dosya sistemlerini
umount işleminden geçirdikten sonra da sistemi dondurur.

rc.K
Bu dosya, init tarafından 1 numaralı çalışma düzenine (tek kullanıcılı
konum) geçilirken çalıştırılır. Tüm süreçler öldürülür ve sistem sadece
konsoldan giriş yapılacak şekilde tekrar açılır.

rc.cdrom
Bu dosya, bulduğu CDROM sürücüsünü /cdrom dizini altına mount yardımıyla
ekler.

rc.local
Çok kullanıcılı açılış anında çalıştırılan bu dosyaya istediğiniz
programları ekleyebilirsiniz.

rc.4
4 numaralı çalışma düzenine geçilirken bu dosya çağırılır. Tüm sanal
konsollara vt100 terminalleri yerine grafik tabanlı bir program
kullanılarak girilir.

rc.M
init tarafından çok kullanıcılı konuma geçmek için kullanılır.

rc.S
Sistem açılırken bu dosya mutlaka çalıştırılır. Takas alanı açılır,
dosya sisteminde hata olması halinde bunu gidermeye çalışır. Bazı
kontrollerden sonra kontrolü diğer rc programlarına bırakır.



5.10 Çekirdek Mesajları

Çekirdek, hafızaya yüklenip çalıştırıldıktan sonra kendisi ve sistemdeki
donanım hakkındaki her türlü bilgiyi ekrana yazar. Her türlü bilginin
içine hata mesajları da girer. Çekirdeğin hata verip vermemesi açılış
anında ekrana bakmakla anlaşılabilir. Bu nedenle sistem açılırken
gözünüzü monitörden ayırmamalısınız. Aşağıda bir çekirdeğin açılış kaydı
yeralıyor :





Console: colour EGA+ 80x25, 1 virtual console (max 63)bios32_init :
BIOS32 Service Directory structure at 0x000faf10bios32_init : BIOS32
Service Directory entry at 0xfb390pcibios_init : PCI BIOS revision 2.10
entry at 0xfb3c0Calibrating delay loop.. ok - 30.22 BogoMipsSerial
driver version 4.11 with no serial options enabledtty00 at 0x03f8 (irq =
4) is a 16550Atty01 at 0x02f8 (irq = 3) is a 16550Alp1 at 0x0378, using
polling driverftape: allocated 3 buffers aligned at: 00210000hda:
QUANTUM ELS170A, 162MB w/32KB Cache, CHS=1011/15/22, MaxMult=8ide0:
primary interface on irq 14Floppy drive(s): fd0 is 1.44MFDC 0 is a
post-1991 82077lance.c: PCI bios is present, checking for
devices...Memory: 6612k/8192k available (760k kernel code, 384k
reserved, 436k data)This processor honours the WP bit even when in
supervisor mode. Good.Swansea University Computer Society
NET3.019Swansea University Computer Society TCP/IP for NET3.019IP
Protocols: ICMP, UDP, TCPPPP: version 0.2.7 (4 channels) NEW_TTY_DRIVERS
OPTIMIZE_FLAGSTCP compression code copyright 1989 Regents of the
University of CaliforniaPPP line discipline registered.SLIP: version
0.8.3-NET3.019-NEWTTY (4 channels) (6 bit encapsulation enabled)CSLIP:
code copyright 1989 Regents of the University of Californiaeth0: D-Link
DE-600 pocket adapter: at I/O 0x378.Checking 386/387 coupling... Ok, fpu
using exception 16 error reporting.Checking 'hlt' instruction...
Ok.Linux version 1.2.13 (root@bigkitty) (gcc version 2.7.0) #1 Wed Aug
23 01:06:43 CDT 1995Partition check: hda: multiple mode turned off hda:
hda1 hda2VFS: Mounted root (ext2 filesystem) readonly.Adding Swap: 8188k
swap-space

Yukarıdaki mesajda swap alanı belirlenmesi, sabit diskin tanınması,
disketin tanınması, aygıt sürücülerinin, ethernet kartını tanıması ve
ekranın özelliklerinin yazılması gibi bilgiler vardır. Bu bilgilere
sistem açıldıktan sonra /var/adm/messages dosyasıından da erişilebilir.

5.11 Linux Dosya Sistemi Yapısı

Bu bölümde Linux'un kullandığı dosya sistemi hakkında bilgi
verilecektir. Dosya sistemini oluşturan dizinler, kapsadıkları dosyalar
ve bunların Linux işletim sistemindeki görevleri de kısaca
belirtilecektir.

Bir işletim sisteminin dosya sisteminin performansı, hızı ve buna benzer
çeşitli özellikleri sistemin verimli ve kararlı çalışması üzerinde
doğrudan etkisi vardır. Linux dizin yapısının geliştirilmesinde FSSTND
(file system standard) grubunun çalışmalarının payı çok büyük oldu.
Programcılardan oluşan grup, standartların belirlenmesinde ve uygulama
aşamasında Linux ile ilgilenenlere yardım etti. 1993 yılında Olaf Kirsh,
Linux haber grubuna yazdığı bir e-postasında Linux dosya sistemi
üzerindeki çalışmaların tamamlandığını haber verdi.

Linux dizin yapısında bazı dizinlerin işlevi birbiriyle aynıdır. Bu
durum, özellikle birbirini takip eden iki Linux sürümünde belirginleşir.
Örnek olarak bir dağıtımda /usr/bin dizini altında yeralan dosya, diğer
sürümde /bin altına yerleştirilebiyor.

Dosya sistemleri ve dizinler paylaşımlı olarak da kullanılabilir. Birden
fazla kişisel bilgisayarın bağlandığı ağda, disk alanından yer kazanmak
için bir makina sunucu (ana makina) olarak tayin edilir. Ağ üzerindeki
diğer makinalar da sunucu üzerindeki diski paylaşır. Buna örnek olarak
kullanıcı ev dizinlerinin yeraldığı /home, çalıştırılabilir dosyaların
bulunduğu /usr, e-posta ve haber grubu bilgilerinin bulunduğu
/var/spool/mail ve /var/spool/news dizinleri verilebilir.

Kök dizini, kendisine bağlı diğer tüm dizinleri de içerdiğinden, Linux
dosya sisteminde önemli bir yere sahiptir. Linux açılırken önce kök
dizini /etc/fstab dosyasına uygun şekilde bağlanır. Diğer dosya
sistemlerinin onarımı ve kontrolü için gerekli olan fsck programları, bu
dizinde bulunmalıdır. Benzer şekilde yedekleme için gerekli olan tar,
zip, compress gibi arşiv programlarına da kök dizin altından
erişilebilmeli, açılış esnasında hafızaya yüklenen çekirdek de kök
dizininde yeralmalıdır.

Bir programı yerine koymadan önce bazı "dengelerin" gözönünde
tutulmasında yarar vardır. Programlanan her yazılımı kök dizinine
koyarsanız, bir süre sonra bu dosya sisteminin şiştiğini görürsünüz. Kök
dizinini başlangıçta küçük (20-30Mb kadar) tutmak, geliştirilen
programları daha önceden belirlenen başka bir dosya sistemi altına
koymak akıllıca olur. Bu yol, ağ üzerinden genellikle paylaşımı mümkün
olmayan kök dizininin her makinadaki sabit diskte mümkün olan en az yer
işgal etmesini sağlar.

Sistemdeki önemli dizinlere göz atarsak,



/bin :
Sistemin açılışı ve kontrolü için gerekli komutlar. Hem kullanıcıların,
hem de sistem görevlisinin kullanabileceği dosyalar (kök dizinde ise
fazla şişmemesi koşuluyla) buraya atılabilir. Sadece root kullanıcının
ihtiyaç duyacağı init, getty, updatedb gibi programlar /sbin veya
/usr/sbin'de durabilir. Bu dizinde bulunan dosyalara örnek olarak cat,
chgrp, chown, date, dd, df, ln, mkdir, mount, ps, rm, sh, su, sync ve
umount verilebilir.

/dev :
G/Ç dosyaları. Linux çekirdeğinde desteklenen her aygıta ait dosya /dev
dizini altında bulunur. Kurulum anında bu dosyalar yerine yerleştirilir,
bu dosyaların silinmesi durumunda /dev/MAKEDEV ile tekrar
yaratılabilirler.

/etc :
Sistem konfigürasyon dosyaları. Bu dizinde çalıştırılabilir dosyalar
bulunmamalıdır.



skel : Buradaki dosyalar, kullanıcı hesabı açıldığında kullanıcının ev
dizinine kopyalanır.
rc.d : Bu dizinin içinde, init sürecinin başvurduğu konfigürasyon
dosyaları vardır. Bunlara "rc dosysları" da denir.
passwd : Kullanıcı veritabanı
fstab : Linux'un açılışı esnasında bindirilecek dosya sistemleri burada
listelenir.
group : passwd'e benzer şekilde kullanıcıların gruplarını tutar.
inittab : init daemon için konfigürasyon dosyası
motd : Kullanıcı sisteme girdikten sonra ekranına basılması istenen
mesaj burada tutulur.
profile : Kullanıcı sisteme girdiği zaman çalıştırılan dosya (csh ve sh
türevi kabuklar için)
shells : Sistemde kullanılabilecek kabuk isimleri burada tutulur.
login.access : login komutu için konfigürasyon dosyası. Sisteme girişi
kullanıcı bazında sınırlamak için kullanılir.

/home :
Kullanıcılara ayrılmış dizin. Başka şekilde ayarlanmamış ise, açılan her
hesaba ait kullanıcı, burayı kullanır. Büyük sistemlerde, bu kısım alt
parçalara ayrılabilir (/home/ftpadm , /home/ogrenci gibi)

/lib :
Kütüphane dosyaları.

/mnt :
Geçici mount edilen dosya sistemleri. Sadece bu iş için kullanıldığından
sistem görevlisine zaman kazandırır.

/proc :
Süreç kontrollerini ve diğer sistem bilgilerini tutan dosya sistemi. Bu
dosya sistemi aslında disk üzerinde yer kaplamaz, tüm dosyalar
çekirdeğin bir uzantısı sayılabilir.



cpuinfo : işlemci modeli, tipi ve performansını bildirir.
devices : Halihazırda çalışan çekirdek içinde desteği bulunan aygıt
sürücülerini listeler.
dma : Hangi dma kanallarının kullanıldığını belirtir.
filesystems : Halihazırda çalışan çekirdek içinde desteği bulunan dosya
sistemlerini listeler.
interrupts : Hangi kesintilerin kullanımda olduğunu söyler.
iports : Halen hangi giriş/çıkış iskelelerinin kullanıldığını belirtir.
kcore : Sistem hafızasının görüntüsü

/root :
Sistem görevlisinin ev dizini. Mümkünse bu dizini sistemdeki diğer
kullanıcıların görmeyeceği şekilde ayarlayın.

/sbin :
Hayati sistem komutları. Bir zamanlar bu dosyalar /etc dizini altında
yeralıyorlardı. Sadece sistem görevlisinin ihtiyacı olan komutlar, /sbin
veya /usr/sbin içinde bulunur.

/tmp :
Geçici dosyaların koyulduğu dizin. Belirli zaman aralıklarında
temizlenmelidir.

/usr :
Diğer önemli sistem dosyalarını tutar. Bu bölüm genelde en kalabalık
dizindir, zira yeni kurulan tüm programlar buraya konulur.



X11R6: X Window sistemi bilgileri tutulur.
doc: Belge ve dökümanlar, genellikle HOWTO ve FAQ dosyaları.
lib: Bazı kütüphaneler
man: Man dosyaları
src: Bazı kaynak dosyaları ve linux çekirdeğini oluşturan kodları
(/usr/src/linux) içeren dizin.
sbin : Kök dosya sisteminde yeralması gerekmeyen çalıştırılabilir sistem
görevlisi dosyaları



/var : Sürekli değişen sistem bilgileri burada tutulur. İstisnalar
dışında diğer makinalarla paylaştırılmaz.
adm: Sistem yönetimini ilgilendiren kayıtlar
preserve : Sistemin göçmesinden sonra zarar görmesi mümkün dosyaların
kaydedildiği yer.
spool : Sonra işlenecek olan veriler buraya atılır (e-posta gibi)



Eğer sistem yöneticisi iseniz düzenli olarak dosya ve dizin yapısını
kontrol etmelisiniz. Örneğinn /tmp dizini normal kullanıcıların
kullanımına açık olduğu için çok kısa bir sürede dolabilir. Burayı
periyodik olarak silmek için find komutu işe yarayabilir :





# find /tmp -atime +7 -exec rm -rf {} \;

Yukarıdaki komut, tmp dizini altında yeralan tüm dosyaları kontrol
edecek ve 7 günden daha eski dosyaları silecektir. Benzer şekilde,
kullanıcıların dosyalarının yer aldığı /home dizini de çok kısa bir
sürede dolmaya mahkumdur. Sistemde ne kadar büyük sabit disk olursa
olsun bir gün gelecek burası dolacaktır. Periyodik olarak buraya da göz
gezdirmek gerekir. Aşağıda yeralan kısa program, /home dizininde yeralan
kullanıcı dizinlerideki disk kullanımını büyükten küçüğe doğru disk
isimli dosyaya yollayacaktır. Bu dosyanın incelenmesiyle hangi
kullanıcıları "cezalandıracağınızı" görebilirsiniz





# du -skx /home/* | sort -rn > disk

du (disk usage), sistem kullanıcılarının sıkça başvurduğu bir komuttur.
Kullanılabilecek parametreler için du(1) man sayfasına bakın.

UNIX, (ve dolayısıyla Linux) iki tip aygıt tanır. Bunlardan ilki
karakter aygıtları, başka bir deyişle veri alışverişini bayt bazında
yapan cihazlar, diğeri de blok aygıtları, yani veri alışverişini blok
cinsinden yapan cihazlardır. Karakter aygıtlarına örnek olarak seri
bağlanan cihazlar ve teypler, disk aygıtlarına örnek olarak da diskler
verilebilir. Bu cihazlardan bir bilgi yazılıp okunduğunda dosya sistemi
altında bunları tanımlayan dosyalar (/dev/*) kullanılmış olur. Örnek
olarak bir yazıcıya bilgi göndermek için,





$ cat dosya > /dev/lp1

komutunu kullanabilirsiniz. Dosya, yazıcının anlayabileceği bir yapıda
olmalıdır (örneğin düz metin).

Her aygıt, bir dosya olarak dosya sisteminde kendine yer bulduğuna göre
hangi aygıt dosyalarının bulunduğunu görmek mümkün olabilir.





$ ls -l /dev/cua0crw-rw-rw- 1 root uucp 5, 64 Nov 30 1993 /dev/cua0

İlk kolondaki ilk karakter (c), bu dosyanın bir karakter aygıtına ait
olduğunu belirtiyor. Normal dosyalar için buradaki karakter '-'
olmalıydı. Benzer şekilde blok aygıtlar için ise 'b' kullanılr.

Aygıt sürücü desteği çekirdekte olmasa bile /dev dizini altında
genellikle tüm aygıt dosyaları bulunur. Bu demektir ki /dev/sda
dosyasına sahip olduğunuz halde bir SCSI sabit diski sistemde takılı
olmayabilir. Tüm aygıt sürücülerinin bulunması, programların kurulumunu
ve yeni donanımın eklenmesini kolaylaştırır.

5.12 Konsolda Türkçe Yazmak

Linux sanal terminallerinde bir tuşa basıldığı zaman bilgisayarın
ekranda herhangi bir dildeki alfabeye ait harfi göstermesi kolayca
sağlanabilir. Bunun yanında 12 fonksiyon tuşunun herbirine belirli bir
dizisel değer atanabilir ve bu sayede bu tuşlara basıldığında bir
komutun veya programın çalışması mümkün olur.

Aslında bunları yapabilmek için önümüzdeki iki temel sorunu aşmamız
gerekiyor. Birincisi standart olmayan karakterlerin (örneğin Türkçe)
ekranda görüntülenebilmesi, ikincisi de bilgisayara standart dışı bir
klavye olduğunun belirtilmesidir.

Dünya üzerindeki belli başlı dillerin hepsi yıllar önce bir standart
geliştirilmesi amacıyla sınıflandırıldı. Avrupa'da Slav dilleri hariç
hemen tüm dillerin karakterleri ISO (Uluslararası Standartlar
Organizasyonu) tarafından tek bir sınıfa yerleştirildi ve buna ISO8859-1
(latin 1) dendi. O vakit izlenen yanlış politikalar nedeniyle Türkçe bu
sınıfa dahil edilmedi ve sadece Türkçe için ISO8859-9 (latin 5) isminde
ayrı bir sınıf açıldı.

Türkçe yazabilme sorununu hemen her işletim sisteminde hissediyor
olmalısınız. Linux altında Türkçe desteğini sağlamak için birkaç işlem
yapılmalıdır. Bu işlemlerin başında Linux'a Türkçe destekli klavye ve
font tanıtmak geliyor.

/usr/lib/kbd/keytables dizini altında yeralan dosyalar, çeşitli ülke
dillerine ait klavye dağılımını içeriyor. Buradaki bilgileri kullanarak
klavye üzerinde yeralan tuşlara basılması halinde yazılı tuş dışında bir
karakterin ekranda gösterimi sağlanabilir.

Sistem açıldığı zaman -eğer kurulum aşamasında bir font beğenip sürekli
onu kullanmıyorsanız- defkeymap.map dosyasında yeralan klavye dağılımını
kullanacaktır. Farklı bir klavye düzeni kullanmak için .map dosyalarını
yüzeysel olarak anlamanız gerekiyor. /usr/lib/kbd/keytables dizini
altındaki herhangi bir dosyada 300'den fazla satır ve üç ana
tanımlamayla karşılaşacaksınız. Birinci grup, "keycode", "alt",
"control" gibi bir satırla, ikinci grup "string" ile, üçüncü grup ise
"compose" kelimesiyle başlar.

Dosyanın yapısını daha iyi kavrayabilmek için üzerinde bir örnekle
açıklamaya çalışalım. Control-Alt-Del tuşlarına basılınca bilgisayar
kendini "reset"ler. Eğer yanlışlıkla bu üç tuşa basmışsanız, klavyeden
girilecek bir shutdown -c komutunu yazmak ve sistemi kapanmaktan
kurtarmak için sadece 3-4 saniyeniz vardır. Fakat shutdown -c komutunu
bir fonksiyon tuşuna bağlar ve bu tuşa basarsanız sistem eski haline
dönecektir. Örnek olarak Control-F1 tuşunu bu işe ayıralım.

Öncelikle /usr/lib/kbd/keytables dosyasında yeralan defkeymap.map
dosyasındaki F1 fonksiyon tuşunun hangi tuş tanımına denk geldiğini
bulmalıyız. Dosyadaki F1 ile ilgili satırlar şunlardır :





keycode 59 = F1 F13 Console_13 control keycode 59 = F25 shift control
keycode 59 = F37 alt keycode 59 = Console_1 control alt keycode 59 =
Console_1

Linux, her satıra bir numara atar. Yukarıdaki satırda, F1 tuşunun
numarasının 59 olduğu kolayca görülüyor. 59 numaralı tuşa basılınca, F1
ile tanımlanan dizi ekrana yazılacaktır. Benzer şekilde F1'e control ile
birlikte basılması halinde ise F25 dizisini ekrana basar. Önceden
tanımlanan değerlerden Console_1, 1 numaralı sanal konsolun ekranda
gösterilmesini işaret eder. Tüm bu dizilerin içeriğini görebiliriz. Aynı
dosyanın sonlarında şu satır yeralıyor :





string F1 = "\033[[A"

Bunun anlamı, F1'e basınca ESC[[A dizisini ekrana gönder demektir.
sayısı, Escape tuşunun oktal (sekizli) sistemde gösterimidir.

Bu satırı veya F1'den itibaren seçeceğimiz bir fonksiyon tuşu ismini
istediğimiz şekilde değiştirebiliriz. Yanlız dikkat etmemiz gereken bir
husus, bu tuşun başka uygulamalar tarafından kullanılabiliyor olmasıdır.
Örnek olarak F61 ve karşılık gelen dizi değeri dosyada yeralmıyor.
Dosyaya küçük bir ekleme yapalım:





string F61 = "shutdown -c\n"

Dosyayı farklı bir isimde (örneğin bas.map) kaydedip çıkın. Yeni klavye
dağılımını denemek için





# loadkeys bas.map

komutunu kullanın. Artık yeni klavye standardı sisteme yerleşmiştir.
Sistemin çalıştığına emin olmak için Shift-Control-F1 tuşuna basın.
shutdown -c komutu işletilmelidir.

Artık Türkçe yazabilmeye geldik. Bunun için standart dışı klavyeden
gelen bir Türkçe karakteri ekranda gösterebilmek amacıyla bir font
dosyası oluşturmamız gerekecek. Linux altında bu dosyalar
/usr/lib/kbd/consolefonts dizini altında yeralıyor.

Linux'ta standart dışı bir font yüklemek için setfont komutu kullanılır.
Türkçe fontları, Linux Kullanıcıları Grubu ftp arşivinden temin
edebilir veya iso09 ön adlı herhangi bir fontu kullanabilirsiniz.
Aşağıdaki komut, 8 piksel eni, 16 piksel boyu olan Türkçe font
yükleyecektir.





setfont tr8x16.map

Türkce klavye düzenlerini içeren dosyaları ftp ile yine aynı adresten
alabilirsiniz. Burada tr.map ve trq.map adlı iki dosya bulacaksınız.
Bunlardan tr.map, normal klavye düzeninin yanında `alt' tuşları ile "c,
g, i, s, o, u" tuşlarına basıldığında karşılık gelen özel Türkçe
karakterler görüntülenir. trq.map yaygın olarak kullanılmakta olan
Q-Türkçe klavye düzenini içerir.

Bash kabuğu altında Türkçe yazabilmek için aşağıdaki üç komutu .inputrc
dosyanıza eklemeniz gerekir.





set ********-flag on set output-******** on set convert-******** off

less komutununu Türkçe karakterleri göstermesi için de aşağıdaki gibi
LESSCHARSET değişkenini latin5 yapmak gerekiyor.





LESSCHARSET=latin5

loadkeys ve setfont komutlarını sistem açılırken aktif olmaları için
bunları /etc/rc.d/rc.local dosyasına yerleştirebilirsiniz. Fontu ve
klavye düzenini ayarladıktan sonra sistemde çıkın ve tekrar girin.

Artık Türkçe yazabilirsiniz.

5.13 Belirli Zamanlarda Komut İşletilmesi

crontab dosyası yardımıyla sistem üzerinde olmadığınız zamanlarda
Linux'tan bazı belirli işleri yapmasını istemek mümkündür. Örneğin
gereksiz trafik sıkışıklığı yaratamak için akşam geç saatlerde sistemi
yedeklemek için evden İnternet'e bağlanmak yerine crontab ile bu işlemi
otomatikleştirmek mümkün olur.

Bir crontab dosyasında toplam 6 alan bulunur. Bunlardan ilk beşi komutun
ne zaman işleneceğini gösterirken son kısımda bu saatler içinde
çalıştırılacak olan komutu gösterir. Zamanı belirten sütunlardan ilki
dakikayı (0 ile 59 arası), ikincisi saati (0 ile 23 arası), üçüncüsü
günü (1-31 arası), dördüncüsü ayı (1-12 arası), son kısım ise haftanın
gününü (0 pazarı göstermek üzere 0-6 arası) verir. Yine crontab'ın güzel
özelliklerinden birisi de bu alanların her birisinde zaman aralıklarını
yazmaya izin vermesidir. Mesela haftanın üçüncü ve beşinci günleri
arası, saat 4 ve 9 arası gibi. Eğer bir zaman alanına * girilirse, bunun
anlamı "her zaman" olur. Örneğin saat yerine * konulması "her saat", ay
yerine * konulması "her ay" anlamına gelecektir.

Önce aşağıda yeralan küçük bir crontab dosyası incelenecek, ardından
crontab işlemine nasıl başlanılacağı kısaca anlatılacaktır.





40 06 * * * updatedb

Yukarıdaki örnekte birinci ve ikinci sayılar 06:40 saatini gösteriyor.
Diğer zaman kısımları * ile doldurulmuş olduklarından her gün 06:40'ta
updatedb isimli program çalışacaktır.

Komut yerine kullanılacak olan program ismi parametre alabilir. Bu
örnekteki crontab dosyası pazartesi günleri saat 1'de, /tmp dizinindeki
üç günden daha eski dosyaları siler.





0 1 * * mon find /tmp -atime 3 -exec rm -f {} \;

Bu örnekte kullanılan virgül, her ayın 9, 19 ve 29'unu gösterir. Aynı
alanda birden fazla sayı kullanacaksanız arada boşluk bırakmamaya dikkat
edin.



0 1 9,19,29 * * find /tmp -atime 3 -exec rm -rf {} \;

Ay isimlerinde ocak, şubat, mart, nisan, mayıs, haziran, temmuz,
ağustos, eylül, ekim, kasım, aralık için sırasıyla january, february,
march, april, may, june, july, august, september, october, november,
december kullanabilirsiniz. Benzer şekilde pazar, pazartesi, salı,
çarşamba, perşembe, cuma, cumartesi ve pazar yerine sunday, monday,
tuesday, wednesday, thursday, friday ve saturday kullanın. Aşağıdaki
crontab girdisi yardımıyla iki ayda bir çalıştırılan komutla önce teyp
başa alınıyor, ardından /home dizini bu teybe yedekleniyor :





0 2 1 */2 * mt -f /dev/rft0 rewind; tar -cf /dev/rft0 /home

*/2 ile belirtilen zaman dilimini ikiye bölebilirsiniz. 2 yerine uygun
herhangi bir tamsayı yazılabilir.

Bu girdileri bir crontab dosyasına nasıl yazacağız? Bunun için root
kullanıcısı olarak girin ve aşağıdaki satırları yazın :





# crontab -e

Ekrana bilgisayar ilk kurulduğu anda ön tanımlı olarak girilen crontab
satırları gelecektir. Buraya yukarıda belirtilen yapıda istediğiniz
kadar crontab girdisi yapabilirsiniz. Eğer daha önceden VISUAL çevresel
değişkenini uygun bir editöre ayarlamamışsanız, vi altında çalışmanız
gerekecektir. Başka bir editörle çalışabilmek için bu değişkeni,
editörün patikasını gösterecek şekilde değiştirin. İleride de kısaca
bahsedilecek olan tin (haber grubu okuyucu yazılımı) de VISUAL
değişkenine göre metin editörünün patikasını ayarlayacaktır.





# export VISUAL=/usr/bin/pico

Crontab dosyasının normal olarak işletilmesinden crond sorumludur.
Sistem açılırken /etc/rc.d dizini içindeki dosyalardan bir tanesi crond
programını çalıştırır ve bu andan itibaren crontab -e komutuyla
yarattığınız dosyadaki emirler zamanı geldikçe yerine getirilir.
Back to top Go down
Hitman Bret Hart
Üye
Üye
Hitman Bret Hart

Posts : 14
Join date : 2010-06-15

Linux Hakkında Herşey _
PostSubject: Re: Linux Hakkında Herşey   Linux Hakkında Herşey EmptyTue Jun 15, 2010 1:22 pm

7.1 SED (Stream editor)

Metin dosyaları üzerinde sürekli işlem yapanlar için sed ve vi hemen
imdada yetişir. Bu iki programın yapabildiklerini etkileşimli olarak bir
metin editörü üzerinden gerçekleştirebilmek de mümkündür. sed ve vi tam
anlamıyla zaman kaybını önleyen kullanıcı dostu iki uygulamadır.
Yapısal olarak diğer programlama dillerinden biraz farklı olduklarından
öğrenmesi biraz zaman alır. Buna rağmen eğer metin editörlüğü işinizin
bir parçası ise sed ve vi'ı öğrenip bunlardan verimli bir şekilde
yararlanmanız uygun olacaktır.

Sed ve Özellikleri

Sed bir dosyadan veya standart girdiden(klavyeden) bilgi okur ve
standart çıktıya (ekrana) okuduğu bilgileri kullanıcının belirlediği
düzene sokarak yazar. Bu veriyi de kullanıcı genellikle bir dosyaya
yerleştirir.

Sed komut satırında iken veya bir kabuk programı içinden kullanılabilir.

Örnekler

Sed kullanırken en çok başvuracağınız işleç `s' işlecidir. Bir karakteri
veya karakter kümesini başka bir diziye çevirmeye yarar. Buna basit bir
örnek :





sed 's/hapisane/hapishane/g' dosya

Komutun sonundaki `g' işleci, sed'e dosyanın tamamını araştırmasını
söyler. Eğer bunu kaldırırsanız, sed her satırın başında bulduğu ilk
değiştirmeyi yapacak ve satırın geri kalanına dokunmayacaktır.

Aşağıdaki karakterler sed tarafından kullanılan özel karakterler
kapsamına girer. Bu karakterlerin herbirisinin anlamı olduğundan
dikkatli kullanılmaları gerekir.





.*[]^$\&

Yukarıdaki karakterleri gözönüne almadan yapılan aşağıdaki gibi bir
kullanım hataya yol açar.





sed 's/[J.S. Bach]/[Bach, J.S]/' dosya

Bunun yerine her özel karakterin başına `' karakteri getirilerek özel
anlamlarının yitirilmesi sağlanabilir (saklama işlemi). Yukarıda
çalışmayan örneği yeniden düzenleyerek yazalım:





sed 's/\[J\.S\. Bach\]/[Bach, J.S ]/' dosya

Aynı anda birden çok değiştirme yapabilmek için ise her argüman için -e
kullanılır.





sed -e 's/computer/bilgisayar/g' -e 's/server/sunucu/g' dosya

İçinde '/' karakteri olan bir diziyi değiştirmek için ne yapmalı? Bu,
özel karakter sınıfına girdiği için karakterin özel anlamını yitirmesi
sağlanır.





sed 's/\/usr\/bin/\/bin/g' dosya

Düzgün Deyimler (Regular Expressions)

Sed, UNIX üzerinde metin işleyen birçok program gibi düzgün deyimlerden
yararlanır. Aşağıdaki bu duruma birkaç örnekle yer veriliyor. '^'
karakteri satır başlangıcını gösterir. Bu komut,





sed 's/^Pts /Pazartesi/' dosya

bir satırın başında ``Pts'' varsa bunu ``Pazartesi'' haline getirir.
Dikkat ederseniz komut dahilinde `g' işleci kullanılmamıştır. Çünkü her
satırda sadece bir satır başı olabilir.

$ karakteri satır sonunu belirtir. Aşağıdaki örnekte,





sed 's/ $//' dosya

Sed komutu satır sonundaki tüm boşluk karakterlerini siler. Her satır
sonuna ``SATIR_SONU'' karakter kümesini getirmek için





sed 's/$/SATIR_SONU/' dosya

yazılabilir. Boş bir satırı bulmak için satır başı ve satır sonu
belirteçleri birlikte kullanılır.





sed 's/^$/bu daha once bos bir satirdi/' dosya

`.' (nokta) karakteri herhangi bir karakter anlamına gelir. Örneğin
üzerinde işlem yapacağımız dosyada bütün satırlardaki ilk iki karakteri
silmek için:





sed 's/^..//' dosya

Köşeli parantezler birden fazla sayıda karakter içinde seçim yapar.





sed 's/[Oo]pen[Ww]in/openwin/g' dosya

Alfabedeki iki karakterin arasındaki tüm karakterleri seçmek için köşeli
parantezlerin içinde `-' karakteri kullanılabilir. Bu karakter,
sağındaki ve solundaki de dahil olmak üzere aradaki tüm harfleri seçer.
Örnek dosyadaki tüm büyük harfleri silelim.





sed 's/[A-Z]//g' dosya

Bir karakter kümesinin dışında kalan karakterleri seçmek için ise `^'
kullanılır. Örnek dosyada, rakamların ve küçük harflerin dışındaki tüm
harfleri silmek istiyoruz.





sed 's/[^1-9a-z]//g' dosya

'*' karakteri, kendisinden bir önce gelen karakterin veya küme içine
alınmış karakter gruplarının sıfır veya daha fazla tekrarı anlamına
gelir.





sed 's/^ *//' dosya

komutu her satır başındaki boşluk karakterlerini siler. Aşağıdaki sed
komutu her satırdaki son kelimeyi (boşluk karakterlerinden oluşmayan
karakterler grubunu) siler.





sed 's/[^ ]*$//' dosya

unutulmaması gereken bir nokta, `*' karakteri önceki grubun sıfır kere
tekrarını da gözönüne alır, bu durumda aşağıdaki satırda görülen ve bir
tamsayı değerini ``TAMSAYI'' sözcüğü haline getirmek için kullanılan
komut Linux tarafından yanlış işletilecektir.





sed 's/ [0-9]* / TAMSAYI /g' dosya

Bu satır aynı zamanda her boşluk karakterini ``TAMSAYI'' ya çevirir.
Bunu engellemek için, en azından bir haneyi arama kapsamına sokmak
gerekir:





sed 's/ [0-9][0-9]* / TAMSAYI /g' dosya

`.* harf kombinasyonu herhangi bir sayıda karakter grubu anlamındadır.
Aşağıdaki örnekte, ``ku'' ve ``ik'' arasında ne olursa olsun bulunan
satırı değiştirecek ve bunların yerine ``kuru erik'' koyacaktır.





sed 's/ku.*ik/kuru erik/g' dosya

Buraya kadarki bölümde eşleştirdiğimiz harf veya harf gruplarını ya
başka bir forma soktuk ya da tamamen sildik. Ancak sed'in kelime işleme
kapasitesi sadece yaptıklarımızla sınırlı değildir. `\(' ve `\)'
operatörleri yardımıyla eşleştirildiği anda hafızaya kaydedilen kelime
grupları daha sonra tekrar çağırılabilir. Parantezler özel anlamlı
karakterlerin anlamlarını yitirmesini sağlamak amacıyla daha önceki
kullanıma uygun konulmuşlardır. İlk kullanılan `\(\)' operatörü `\1'
adlı alana, ikinci kullanılan `\(\)' operatörü `\2' adlı alana
eşleştirilir (kayıt edilir). Aşağıdaki sed komutu,





sed 's/^\([A-Za-z][A-Za-z]*\) \([A-Za-z][A-Za-z]*\)/\2 \1/' dosya

bir dosyadaki ``isim soyisim'' sırasını ``soyisim isim'' sırasına
çevirmekte kullanılabilir. Örnek olarak içeriği aşağıdaki gibi olan bir
dosya üzerinde bu komut çalıştırılırsa

Mehmet Kırk
Biray Çift
Gürkan Ballı

ekranda aşağıdaki çıktı görünür:

Kırk Mehmet
Çift Biray
Ballı Gürkan

Bazı durumlarda tüm dosya üzerinde değil de bazı özellikleri sağlayan
satırlar üzerinde işlem yapmak isteyebilirsiniz. Bunun için 'adresleme'
yapmanız gerekir. Adresleme işlemi, `s işlecinden hemen önce yapılır. Bu
komut ile dosyanın sadece 1 ve 20. satırları arasında işlem
yapılacaktır.





sed '1,20s/Karadeniz/Akdeniz/g' dosya

``Makina'' kelimesiyle başlayan tüm satırlardaki ``Endüstri'' kelimesi
yerine ``Elektronik'' kelimesini yerleştirelim.





sed '/^Makina/s/Maden /Elektronik /g' dosya

``Makina'' kelimesiyle başlamayan tüm satırlara benzer işlemi
uygulayalım. `!' karakterinin yerine dikkat edin.





sed '/^Makina/!s/Maden /Elektronik /g' dosya

Sed Kaynak Dosyası

Eğer sed kaynak satırınız bir iki satıra sığmayacak kadar büyük ise
komutları tek dosya altında toplayabilirsiniz. Bu örnekte degistir.sed
isimli dosyaya üç satırlık sed komutu yazalım.





s/tiren/tren/gs/Pazar/Pazartesi/gs/1996/1997/g

Ardından sed komutunu -f parametresiyle çalıştıralım.





sed -f degistir.sed dosya

Bunların yerine kendi kendine çalışan bir sed programı yazmaya ne
dersiniz ?





#!/usr/bin/sed -f# degistir.sed
dosyasis/tiren/tren/gs/Pazar/Pazartesi/gs/1996/199 7/g

Çalıştırmak için dosya izni verdikten sonra





chmod u+x degistir.sed

Komut satırı üzerinden rahatlıkla çalıştırabiliriz





$ degistir.sed dosya

7.2 vi Editörü

Bir linux sistemde her kullanıcının zevkine hitap eden çeşitli metin
editörler vardır. Bunların arasında en çok kullanılan ve standart olan
ed ve vi, UNIX sistemler için özel olarak tasarlanmış editörlerdir. vi
kadar çok kullanılmasa da ed, pico ve joe da büyük bir taraftar
kitlesine sahiptir. vi ilk başta karmaşık görünse de hızı ve verimi ile
her kullanıcının işini büyük ölçüde kolaylaştıracak bir editördür. En
çok kullanılan komut takımlarını öğrendikten sonra vi ile aynı dili
konuşuyor olduğunuzu göreceksiniz.

vi'a Başlangıç

PC editörlerin büyük çoğunluğunda klavye, editör komutlarını almak ve
basılan tuşları ekrana göndermek için kullanılan iki gruba ayrılmıştır.
Kullanıcı aynı anda hem komut işletip hem de yazı yazabilir. Bu tip
editörler geniş bir klavye haritasına sahip oldukları için, örneğin
fonksiyon tuşlarını veya klavyenin en sağındaki nümerik tuşları da
kullanıyor olabilirler. vi' ın tasarım aşamasında bu durumdan
kaçınılmış, standart dışı klavyesi olan bilgisayarların da var
olabileceği düşünülerek klavye üzerinde kullanılması gereken tuşların
sayısını mümkün olduğunca indirilmesine çalışılmıştır. Burada karşımıza
vi editörünün çalışma aşamasında üç ayrı işlev geliyor. Birincisi,
bilgisayara komutların girdisi sırasında kullanılan komut modu, ikincisi
yazı yazarken kullanılan yazı modu ve satır modu.

Komut modunda klavye üzerinde görevi olan tüm tuşlar, bilgisayar komut
vermek için kullanılıyor. Yazı modunda ise diğer editörlerdekine benzer
şekilde yazı yazmak mümkün oluyor. Klavye modunu değiştirdiğinizde
klavye tuşlarının işlevleri de hemen değişiyor. vi editörünü ilk
çalıştırdığınız anda komut moduna girersiniz. Bu anda her tuşa ait bir
komut çalıştırılmaya hazırdır (örneğin `j' bir karakter aşağı, `k' bir
karakter yukarı gider). Bu anda kullanıcı yazı moduna geçmek isterse `i'
tuşuna basabilir.

Yazı moduna iken klavyeden girilen her karakter ekranda görünür. Bundan
sonrası daktilo kullanmaya benzer. Tekrar komut moduna geçmek için ESC
tuşu yardımcı olur. Bir dosya yazarken veya düzeltmede bulunurken her
iki yazım stili arasında sürekli gidip geldiğinizi farkedeksiniz.

Bunlara ek olarak dosya işlemleri veya eşleme (substitution) yaparken
iki mod da kullanılmaz. Linux kullanıcısı vi üzerinde çalışırken en alt
satırda vi mesajlarını görür ve gerektiği zaman satır modunda komutları
girer. Satır moduna geçmek için `:' (iki nokta üstüste) karakteri
kullanılır. Bu tuşa basıldığında ekranın en altında bir satır açılır ve
vi sizden bir komut girmenizi bekler. vi komutunu yazdıp enter'a
bastıktan sonra tekrar editör komut moduna geçersiniz.

Dosya İşlemleri

Sisteme girip ekrana vi telefon yazdığınızda aşağıdakine benzer bir
metin üzerinde arama ve değiştirme görüntüsü monitörde belirecek ve
program çalıştırılacaktır.





_~~~~~~~~~~~~ "telefon" [NEW FILE] 1 line, 1 char

vi'a ilk girdiğiniz anda komut modunda olursunuz. Yazı moduna geçmek
için `i' veya `a' tuşuna basın. Bu andan itibaren zamanınızın büyük bir
kısmını geçireceğiniz yazı moduna atlarsınız. Bıkana kadar yazıp önce
ESC tuşuna, ardından iki kere `Z' tuşuna basın. Bu komut dizisi önce
dosyayı kaydedecek, sonra da vi editörden çıkmanızı ve kabuğa dönmenizi
sağlayacaktır.

vi' a yeni başlayanların yaptıkları en sık hatalardan biri yazı modundan
komut moduna geçerken ESC tuşuna basmamalarıdır. `w' komutu `ZZ'
komutuna benzer çalışır, hafızada halihazırda bulunan dosyayı, editörden
çıkmadan diske kaydeder. Eğer isimsiz bir dosyada üzerinde
çalışıyorsanız (örneğin vi telefon yerine sadece vi yazarak editöre
girmişseniz) dosyayı sabit diske yazmak için `w' satır komutunu
kullanmalısınız. Bunun için daha önce de belirtildiği gibi





:w telefon

yazıp satır moduna geçerek komutu girmelisiniz.

vi editörden çıkmak için `:q' yazın.

vi' da Yazma

Şimdi vi yardımıyla bir dosya üzerinde denemeler yapalım. Aşağıdaki
satırları kabuk satırında iken yazın ve ENTER'a basın.





metu:~$ vi deneme

Ekran silinecek ve yukarıdakine benzer bir görüntüyle karşılaşacaksınız.
Yazı moduna geçmek için `i' tuşuna basın. Hemen ardından bir zamanlar
İnternet üzerinde görüp kaydettiğim birkaç satırı yazın.

Arada sırada kitapta bir şeyler ararken /'e basasım gelmiyor değil.
~
~
~
~
~
~


Ekranın en sonuna geldiğinizde vi, alttaki satır başına geçmeyecektir.
Bunun için ENTER tuşuna basarak yazmaya devam edin.

Arada sırada kitapta bir şeyler ararken /'e basasım gelmiyor değil.
Fazla vi kullanmaktan tembelliğe alışmışız anlaşılan,
~
~
~
~
~


Satır sonuna geldiğiniz zaman komut satırına geçmek için ESC tuşuna
basın. Klavyenin sağındaki yön tuşlarını kullanarak dosya içinde
gezinebilirsiniz. vi'ın sevdiğim özelliklerinden birisi de kullanıcıyı
10 parmak yazmaya zorlamasıdır. Yön tuşlarının görevini h, j, k ve l
tuşları da yapabilir, böylece kullanıcı sağ elini klavye üzerinde
sürekli gezdirmek zorunda kalmaz.



j, imleci bir satır aşağı indir
k, imleci bir satır yukarı gönder
h, imleci bir karakter sola al
l, imleci bir karakter sağa al

Alternatif olarak ENTER tuşu komut modunda `j' tuşu yerine de
kullanılabilir. Kursörü yön tuşları yardımıyla ``Fazla'' kelimesiyle
başlayan satıra kadar taşıyın. `i' tuşuna basıp tekrar yazı moduna
geçerek metin üzerinde biraz değişiklik yapın:

Arada sırada kitapta bir şeyler ararken /'e basasım gelmiyor değil.
Fazla vi kullanmaktan dolayı_tembelliğe alışmışız anlaşılan..
~
~
~
~
~


``dolayı'' kelimesini ekledikten sonra bir noktayı işaret etmek
istiyorum. Kullandığım Linux makinası Türkçe destekli olduğu için Türkçe
karakterleri okuyup yazmam mümkün, aslında Linux işletim sistemi hemen
her ülkenin alfabesini desteklediğinden herhangi bir dilde (örneğin
Alman alfabesi karakterlerini kullanarak) yazmak için birkaç komut
yeterli oluyor.

`i' tuşu imlecin bulunduğu yerden yazmasına rağmen, `a' komutu bir
karakter sağdan başlayarak yazmanızı sağlar. `o' komutu ise imlecin
bulunduğu yerin altında bir satır boşluk bırakır ve boş satırın başına
geçerek yazı moduna atlar. ESC tuşuna basarak komut modundayken en alt
satıra inin ve `o' tuşuna basın. Burada bir satır daha ekleyelim:

Arada sırada kitapta bir şeyler ararken /'e basasım gelmiyor değil.
Fazla vi kullanmaktan dolayı tembelliğe alışmışız anlaşılan..
Sayfaları karıştırmak zor geliyor...
~
~
~
~


Eğer ekrandaki bilgi birkaç sayfadan ibaretse Control-F tuşunu bir sayfa
ileri gitmek için, Control-B tuşunu ise metni bir sayfa geriye almak
için kullanabilirsiniz.

vi her satırı kendi içinde numaralandırır. Belirli bir satıra gitmek
için tuşlar dışında satırın numarası kullanarak da gidilebilir. `G'
komutu yardımıyla imlecin gideceği satırı belirtebilirsiniz. Bunun için
komut modunda iken satır numarasını girin (ekranda görünmeyecektir) ve
hemen ardından `G' tuşuna basın. Eğer satır numarası girilmezse imleci
dosyanın sonunda konumlandırılır.

Silme ve Kopyalama

Yazı modunda iken back space tuşu yardımıyla, komut modunda iken ise `x'
komutu ile istediğiniz kadar harfi silmeniz mümkündür. `dd' komutu ise
imleci üzerinde bulunduğu satırı siler ve alttaki tüm satırlar bir satır
yukarı alınır. PC üzerindeki editörlerdeki satır sonuna gelince imlecin
otomatik olarak bir satır aşağı kayması, :set wm=n satır komutu
yardımıyla gerçekleştirilir. Komuttaki n sayısı, sağdan kaç boşluk
bırakılacağını söyler. Ekranın sağından 4 satır boşluk bırakmak için (bu
durumda satır uzunluğu 76 karaktere inecektir) :set wm=4 yazın.

`dd' veya `x' komutundan sonra silinen harf ve harf grupları hafızaya
alınır ve istenildiği zaman `p' tuşu yardımıyla imlecin bulunduğu yerden
itibaren ekrana basılır. `P' yardımıyla hafızadaki metni imlecin bir
satır üzerine kopyalayabilirsiniz.

Kursörün bulunduğu yerden satır sonuna kadar silmek için `d$' , metin
sonuna kadar silmek için `dG' kullanılabilir. ($ ve G harflerinin
işlevlerine dikkat edin!)

Son kaldığımız yerden devam edelim. Son satırı `dd' ile silelim.

Arada sırada kitapta bir şeyler ararken /'e basasım gelmiyor değil.
Fazla vi kullanmaktan dolayı tembelliğe alışmışız anlaşılan..
~
~
~
~
~


Ardından kestiğimiz satırı P komutuyla en üste yapıştıralım .

Sayfaları karıştırmak zor geliyor...
Arada sırada kitapta bir şeyler ararken /'e basasım gelmiyor değil.
Fazla vi kullanmaktan dolayı tembelliğe alışmışız anlaşılan..
~
~
~
~


Tek bir karakteri başka bir karakterle değiştirmek için önce komut
modunda karakteri silip yazı moduna geçtikten sonra gerekli değişikliği
yapmaya gerek yoktur. `r' komutu tek bir harfi değiştirmek için
kullanılır. Bu tuşa basınca imlecin üzerinde bulunduğu karakter silinir
ve editör kullanıcıdan yerine gelecek karakteri bekler. Bundan sonra vi
tekrar komut moduna döner.

Bir kelimeyi silip üzerine yazmak için de `cw' komutu kullanılabilir.
Kelimenin başına gelin ve sırayla önce `c' sonra `w' tuşlarına basın.
Editör yazmayı bitirmenizi bekleyecektir. ESC tuşuna basıncaya kadar
yazdıklarınız ekranda kalacak ve (varsa) kelimeden arta kalan harf(ler)
silinecektir.

Her ölümlü gibi siz de hata yapabilirsiniz. Hata yaptıktan sonra eski
konuma dönmek için `u' komutunu kullanın. Bu komut, üzerinde
değişiklikler yaptığınız metni son çalıştırılan komuttan önceki duruma
getirir. Yeni konuma tekrar geri dönmek için Control-R 'ye basın.

Komut Tekrarı

20 satırı silmek için 20 kere dd tuşuna basmak gereksizdir. Bunun için
`dd' komutundan önce klavyeden 20 rakamını girmek yeterli olur. Girilen
rakamlar `G' komutundaki örneğe benzer şekilde ekranda görünmezler.
Kullanılan rakamlar, kendinden sonra gelecek olan komutun kaç kere
işletileceğini belirtir. Örnek olarak `8x' komutu sekiz karakteri siler,
`12j' komutu 12 satır aşağı iner. Üzerinde çalıştığımız dosyada birkaç
uygulama yapalım. Kursörü ilk satırdaki ``geliyor'' kelimesinin başına
alın ve `7x' komutunu girin. Son durum yaklaşık şu şekilde olmalıdır:

Sayfaları karıştırmak zor ...
Arada sırada kitapta bir şeyler ararken /'e basasım gelmiyor değil.
Fazla vi kullanmaktan dolayı tembelliğe alışmışız anlaşılan..
~
~
~


vi'ın komut tekrar özelliği sayesinde ekrana yazdıklarınızı ardarda
kopyalayabilirsiniz. Örnek dosya üzerinde birinci satırın başına gidin
ve `9i' yazın. Gireceğiniz yazı modunda ekrana ne gönderirseniz ESC
tuşundan sonra 9 kopyası basılacaktır:

bip bip bip bip bip bip bip bip bipSayfaları karıştırmak zor ...
Arada sırada kitapta bir şeyler ararken /'e basasım gelmiyor değil.
Fazla vi kullanmaktan dolayı tembelliğe alışmışız anlaşılan..
~
~
~
~


Kopyalama

Silinen karakter veya karakter gruplarının hafızaya kaydedildiğini
söylemiştik. Bu hafıza geçici bir tampon vazifesi görür. `yy' komutu
üzerinde bulunduğu satırı kopyalar. Eğer komuttan önce sayı girilirse o
kadar satır kopyalanır. Ardından kullanıcı metin üzerinde istediği yere
gelip `p' tuşuna basarak hafızadaki satırları imlecin bulunduğu satırın
altından itibaren basar. `yy' komutu yerine `Y' de tercih edilebilir.

Arama ve Eşleştirme

vi'da çalışırken arama yapmak isteyebilirsiniz. Eğer üzerinde
çalıştığınız metin uzun ise belirli bir kelime veya kelime gruplarını
aramak çok zaman alabilir. Komut modunda iken `/' karakterine basarak
arama/tarama moduna geçin. Ekranın en alt kısmında bir satır
açılacaktır. Aramak istediğiniz kelimeyi yazın ve ENTER tuşuna basın. vi
editörü imlecin bulunduğu yerden itibaren girilen anahtar sözcüğü metin
içinde tarayacaktır. Eğer aranan kelime bulunmuşsa satır bunun üzerine
konumlandırır.

`/' komutu dosyanın sonuna doğru arama yaparken `?' komutu başa doğru
gider. Aynı kelimeyi tekrar aratmak için `n' tuşuna basın. Arama işlemi,
`/' komutu yardımıyla yapılmışsa ileri doğru, `?' komutu yardımıyla
yapılmışsa geriye doğru tekrar başlayacaktır.

Aslında arama yaparken komut modunda girilen her karakter grubu bir
düzgün deyimdir. Örnek olarak komut modunda `d$' yazdığımızda $ harfinin
satır sonunu belirttiğini, `dG' komutundaki `G' harfinin de metin
sonunu işaret ettiğinden imlecin bulunduğu yerden itibaren dosya sonuna
kadar sildiğini görmüştük. Metin içindeki büyük harfleri aramak için





/[A-Z]

kullanılabilir. Burada gösterebildiğimiz özellikleri vi'ın sadece küçük
bir parçasıdır. vi kullanıcılarının işine yarayabilecek birkaç
arama-eşleştirme komutuna göz atalım.

:[a,b]s/deyim/eşlenecek deyim/işleç

Yukarıdaki komut metin içinde a ve b satırları arasındaki ``deyim''i,
``eşlenecek deyim''e çevirir. Özel tanımlı karakterleri de
kullanabilirsiniz. Aşağıdaki komut da 1. ve 10. satırları arasında
bulduğu tüm ``nümerik'' kelimelerini ``sayısal'' hale getirir.

:1,10s/nümerik/sayısal;

Satır sayısı yerine tüm dosya üzerinde eşleştirme yapmak için %
sembolünü, satır sonunu belirtmek için $ sembolünü kullanabilirsiniz. Bu
durumda satır sayısını belirten [a,b] tanımını boş bıraktığınızda
değişiklik sadece imlecin bulunduğu satırda yapılacaktır. İşleçler de
birkaç çeşit olabilir. `c' işleci, her eşleme öncesi kullanıcıdan izin
alır. vi kullanırken çoğu durumda her satırda rastlanan ilk eşlemeyi
yerine getirecek olan `g' işlecini kullandığınızı göreceksiniz. Daha az
kullanılan `i' işleci ise aramanın büyük-küçük harf gözetimi yapmadan
yerine getirmesini sağlar.





:%s/elektronik/s/nik//g

komutu, içinde ``elektronik'' kelimesi geçen her satırdaki
``elektronik'' kelimesini ``elektron'' haline getirir. Fakat ``mekanik''
kelimesine dokunmaz. Sed altında kullanılan `\(\)' operatörü vi için de
geçerli bir tanımdır. Aşağıdaki komut da yukarıdaki uygulamaya benzer
şekilde her ``kalemlik'' kelimesini ``kalemler'' haline getirir.





:g/\(kalem\)lik/s//\1ler/g

Diğer Dosyaların Metne Eklenmesi

Kursörün bulunduğu yerden itibaren rehber.txt dosyasını halihazırda
çalıştığınız metine kopyalamak için





:r rehber.txt

komutunu kullanın.

Kabuk Komutlarının Çalıştırılması

vi altında iken kabuk komutlarını, hatta kabuğun kendisini bile
çalıştırmak mümkündür. `:!' ile komut ismini girebilirsiniz. Aşağıdaki
komut vi'dan çıkmadan ls komutunu çalıştıracak ve sonucu ekrana
verecektir.





:!ls -la

Bunun yanısıra komut çıktısını ekran yerine üzerinde çalıştığımız metine
aktarmak için aşağıdaki vi komutunu kullanın:





:r! ls -al

Metnin son halini görelim:

bip bip bip bip bip bip bip bip bipSayfaları karıştırmak zor ...
Arada sırada kitapta bir şeyler ararken / 'e basasım gelmiyor değil.
Fazla vi kullanmaktan dolayı tembelliğe alışmışız anlaşılan..
bash.txt
index.html
images/
~


vi Başlangıç Dosyaları

vi her açıldığında belirli bir dosyayı okur ve gerekli düzenlemeleri ve
düzeltmeleri yapar. Bu işlemler için kullanılan set komutu birtakım
parametreler alır. Örneğin set wm=n , n karakter kenar boşluğu bırakmak
için, set nu ise her satırın numaralandırılması için kullanılır. Bu
komutlar ister vi içinde , ister başlangıç dosyası içinde
çalıştırılabilir.

vi her açılışta öntanımlı olarak önce bulunduğunuz dizin içindeki,
ardından ev dizininizin içindeki .exrc dosyasına bakar. Böylece açılış
anında konfigürasyon işlemlerini bu dosyayı kullanarak kolayca
gerçekleştirebilirsiniz. Dosyaya her satırda bir set komutu gelecek
şekilde istedinildiği kadar komut yerleştirilebilir. Aşağıda örnek bir
.exrc dosyası görülüyor.





set ignorecaseset wrapmargin=2set tabstop=6

Yukarıdaki seçenekler arasında ignorecase, vi editörünün arama yaparken
küçük-büyük harf ayrımı gözetmemesini; wrapmargin=2 sol kenardan iki
satır boşluk bırakmasını; tabstop=6 ise TAB tuşuna her basıldığında
imlecin 6 karakter ileri gitmesini sağlar. Daha kısa yazmak isterseniz
sırasıyla ic, wm ve ts kullanın.
Back to top Go down
Hitman Bret Hart
Üye
Üye
Hitman Bret Hart

Posts : 14
Join date : 2010-06-15

Linux Hakkında Herşey _
PostSubject: Re: Linux Hakkında Herşey   Linux Hakkında Herşey EmptyTue Jun 15, 2010 1:23 pm

. Tcp/ip
Diğer açık sistemler gibi Linux'un da en büyük özelliklerinden biri ağ
protokolleri ve uygulamalarının sistemin en doğal parçalarından biri
olmasıdır. Dolayısıyla ağ yapısını bilmeyen bir yöneticinin, açık
sistemler üzerindeki bilgisini daha da geliştirebilmesi mümkün değildir.
Bu bölümde anlatılacaklar Linux üzerinde TCP/IP'ye bir giriş
yapılmasını sağlayacaktır. Ayrıntılı bilgi TCP/IP servislerinin ve
uygulamalarının anlatıldığı diğer bölümlerden ve aşağıda sözü edilen
kitap ve dökümanlardan edinilebilir.

TCP/IP üzerine önerebileceğimiz bir kitap, ilk baskıları TÜBİTAK
tarafından bastırılan, ve büyük bir okuyucu kitlesi bulmuş Herkes İçin
İnternet (Kürşat Çağıltay) 'tir. Bunun dışında İngilizce Prentice Hall
tarafından yayınlanan Internetworking with TCP/IP Volume I (D.E. Comer),
O'Reilly & Associates tarafından yayınlanan, TCPIP Network/
Administration (Craig Hunt) ve Linux Network Administrator's Guide (NAG -
Olaf Kirsh). NAG, Linux Documentation Project'in bir parçası olduğundan
elektronik kopyası İnternet üzerinden ücretsiz olarak edinilebilir.

Linux Documentation Project grubunun hazırladığı NET-3-HOWTO, TCP/IP
temelleri ve ağ uygulamalarını örnekleriyle işlemiş. Bu dökümanı nasıl
temin edebileceğinizi kitabın sonunda bulabilirsiniz. NET-3, TCP/IP ve
buna bağlı protokollerin Linux için geliştirilen bölümüne verilen
isimdir.

8.1 Temel TCP/IP

TCP/IP, ilk defa ABD'de ARPANet (Advanced Research Projects Agency
Network) adı altında, askeri bir proje olarak geliştirildi. Önceleri
askeri amaçlı düşünülen proje önce ünivesiteler tarafından kullanılmaya
başlandı. Ardından ABD'nin dört bir yanında birbirinden bağımsız
geliştirilen ağlar, tek bir omurga altında NSFNet olarak adlandırıldı ve
ulusal boyutu aşarak dünyaya yayıldı. İnternet'in doğuşu da bu tarihe
denk gelir.

Bir sokak üzerinde yeralan evlerin adresleri gibi, İnternet'e bağlı olan
her makinanın da bir adresi vardır. Bu adres sayesinde bir
bilgisayardan diğerine ulaşmak mümkün olur. İnternet adresi 4 bayttan
(32 bit) ibaret olup yazılırken her bayt arasına bir nokta konulur. En
çok kullanılan bu gösterim şekline örnek olarak, ODTÜ'deki bir
bilgisayarın adresi olan 144.122.199.20'yi verebiliriz.

Bununla beraber, 4 baytlık numaraların kolayca hatırlanmasının mümkün
olmadığından, İnternet üzerindeki makinalara alfanümerik adlar da
verilebilir. Yukarıda örneğini verdiğim adresin ismi,
knidos.cc.metu.edu.tr'dır. ilk noktaya kadar olan kelime, makina
adıdır(yukarıdaki örnekte knidos), bundan sonraki noktayla ayrılmış
bölümler özelden genele doğru makinanın ait olduğu kurum, kurumun tipi
ve ülke gibi bilgiler içerir. Bu adlandırma yöntemiyle ilgili ayrıntılı
bilgiyi Alan İsimlendirme Sisteminin (Domain Name System - DNS)
anlatıldığı bölümde bulabilirsiniz.

8.2 İnternet Adresleri

İnternet üzerinde 3 sınıf adres vardır. Avrupa'da RIPE (Réseaux IP
Européens) tarafından dağıtılan bu adresler daha sonra o yerin ağ
yöneticisi tarafından uygun şekilde bölünebilir. Bu bölümlendirmeye
``subnetting'' işlemi adı verilir. Bu sayede ağlar gruplanarak
herbirisinin yönetimi bağımsız hale getirilmiş, aynı zamanda da kısıtlı
olan IP adresleri daha verimli bir şekilde kullanılmış olur.

Üç çeşit İnternet adresi şunlardır :



A sınıfı İnternet adresi: Adresin ilk baytı 1 ile 126 arasında bir
sayıdır. Bu adrese verilen yetkiyle toplam 2^24 makina adreslenebilir.
Dünya üzerinde 126 tane A sınıfı adres vardır.
B sınıfı İnternet adresi: Adresin ilk baytı 128 ile 192 arasında bir
sayıdan oluşur. Bu adresin subnetlere bölünmesiyle 65534 farklı makina
adreslenebilir.
C sınıfı İnternet adresi: Adresin ilk baytı 192 ile 223 arasındadır. C
sınıfı bir adresi blokuyla bağlı 254 bilgisayar adreslenebilir.

A ve B sınıfı adreslerin hepsi dağıtılmış ve şu anda intenet C sınıfı
adreslerde de sıkıntı çekilmektedir. Adres yetersizliğine çözüm getirmek
amacıyla IPv6 ya da IPNG adlarıyla daha uzun İnternet adresleri
kullanan protokoller geliştirilme ve test aşamasındadır.

Bir İnternet adresi iki kısımdan meydana gelir: ağ adresi ve düğüm
adresi. Her makina, bir ağ üzerinde bulunur ve bu adres ``ağ adresi''
olarak adlandırılır. Üç sınıf (A, B ve C) İnternet adresinin ağ ve düğüm
adresleri farklı farklıdır. A sınıfı İnternet adreslerinde ağ adresini 1
bayt tayin eder. Örnek olarak hayali yazılan 74.198.59.33 makinasını
tanımlayan ağ adresi 74'tür. Ağ adresi uzun halde yazıldığı zaman kalan 3
baytın yerine 0 konur. Bu durumda yukarıda adı geçen makinaya ait ağ
adresi 74.0.0.0 olacaktır.

Ağ adresinden geriye kalan düğüm adresi, bir makinanın İnternet sınıfına
göre 1,2 veya 3 bayttan ibaret olabilir. Örnek olarak,

195.12.288.3 makinasının (C sınıfı) ağ adresi 195.12.288.0, düğüm adresi
3'tür.

130.11.195.62 makinasının (B sınıfı) ağ adresi 130.11.0.0, düğüm adresi
195.62'dir.

Düğüm adresleri yerine 4 baytı da kullanmak da olası. Yukarıdaki iki
örnek için düğüm adreslerini sırasıyla 195.12.288.3 ve 130.11.195.62
olarak kabul edebiliriz.

Yukarıda sözedilen subnetting (alt ağlara ayırma), çok sıkça kullanılan
bir yöntem olup getirdiği birtakım kolaylıklar vardır. Büyük bir
iletişim ağı alt ağlara ayrılırsa, kontrol edilmesi daha kolaylaşır.

Bir kuruluş, kendine ait olan B sınıfı adresi subnetlere bölmek
isteyebilir. Gerekli düzenlemeleri yaparak bir B sınıfı adresi (örneğin)
255 adet alt adrese ayırabilir. ODTÜ'nün NIC'den aldığı 144.122.0.0
ağı, 254 parçaya bölünmüş, bu parçalardan 144.122.71.0 alt ağı
Bilgisayar Mühendisliği bölümüne, 144.122.34.0 alt ağı Kimya
Mühendisliği bölümüne verilmiştir. Bundan sonra her bölüm kendi ağı ve
üzerindeki makinalardan sorumlu olur.

8.3 Protokoller

Internet protokollerinin yaygınlaşmasındaki en önemli etkenlerden biri
herhangi bir ağ donanımına ya da firmaya özel olmamalarıdır.
Bilgisayarınız, işletim sistemiz ya da ağ bağlanma yönteminiz ne olursa
olsun intenete bağlamanız mümkündür. İnternet protokolleri RFC adı
verilen dökümanlarda açıklanır, bu dökümanlar herkese açıktır ve
ücretsizdir. RFC'lere NIC ya da ODTÜ'deki yansısından erişebilirsiniz.

Internet protokollerinin temeli Intenet Protocol (IP)'dir. İnternet
üzerinde yönlendirme(routing) gibi temel ağ işlemlerinin
gerçekleştirildiği protokol katmanıdır. IP paketlerinin her biri kendi
başlarına aradaki ağ cihazları tarafından yönlendirileren paket içinde
belirtilen adrese ulaştırılır. Bu sırada fiziksel ağ farklılıklarından
kaynaklanan paket parçalanmaları(fragmentation) ve bunların yeniden
birleştirilmeleri aradaki ağ cihazlarının aşırı yüklenmelerini önlemek
gibi görevler de IP katmanı tarafından gerçekleştirilir.IP bağlantı
temelli(connection oriented) bir ağ protokolü değildir. Bunun yanı sıra
IP paketlerin içeriklerinin doğruluğunu da garanti etmez. IP katmanı
sadece başlık kısmında oluşan hataları bulur ve düzeltir. Internet
üzerinde yönlendirme, yukarida sözü edilen adreslerden yararlanılarak
yapılır.

Kullanıcı uygulamalarının IP katmanına doğrudan ulaşımları yoktur. IP ve
uygulama programları arasındaki bağlantıyı sağlayan iki protokol
vardır: Transmission Control Protocol (TCP) ve User Datagram Protocol
(UDP). TCP, İnternet protokolleri arasındaki en önemli protokollerden
biridir (İnternet protokol ailesi bu nedenle TCP/IP diye adlandırılır.).
TCP, IP katmanının sağlamadığı bağlantı temelli, güvenilir servisi
sağlar. TCP kullanarak ağ üzerinden veri aktaran programlar, bir
dosyadan okuyormuş ya da yazıyormuş gibi güvenle ağ bağlantısını
kullanabilirler. Arada oluşan hatalar TCP tarafından onarılır. IP
protokol katmanına uygulma programları doğrudan erişemediklerinden, hata
kontrolü ve bağlantı gerektirmeyen ya da bu işlemleri kendileri
gerçekleştirmek isteyen uygulamalar UDP kullanarak ağ üzerinden iletişim
sağlarlar.

Yukarıdaki protokollerin yanı sıra İnternet standardı olmuş birçok
uygulama protokolü de vardır. Bunlar arasında, TELNET, FTP, SMTP ve HTTP
gösterilebilir.

İnternet üzerinde paketler son makinaya ulaştıktan sonra, ilgili
uygulama programına ulaşabilmesi için port adı verilen sanal numaralar
kullnılır. Servis veren uygulamalar, önceden belirlenmiş standart port
numraları kullanırlar. Örnek olarak SMTP 25 numaralı TCP portunu, talk
ise 518 numaralı UDP portunu kullanır. Sisteminizin kullandığı port
numaraları ve bunların isimlerini /etc/services dosyasından
görebilirsiniz.

8.4 İnternet'e Bağlanma

Linux'u İnternet'e bağlamak ilk aşamada biraz zor görünse de biraz
teori, biraz pratik yardımıyla mantık kolayca anlaşılabiliyor. Ağlar,
bilgisayar sistemlerinde hata olma olasılığı en yüksek, en çok sorunun
çıktığı alandır. Bu bölüm, özelde bir ethernet kartı ile bağlantı
yapıldığı varsayılarak anlatılmıştır. Ancak anlatılan birçok kavram
herhangi bir yapıdaki İnternet bağlantısı için geçerli olacaktır.

Öncelikle çekirdeği -daha önce yapmamışsanız- ağ bağlantısına destek
verecek şekilde tekrar derleyin. Bunun için gerekli birkaç soruya "y"
cevabı vermek yeterli olacaktır :





CONFIG NET ? [Y/n] y...TCP/IP networking (CONFIG_INET) [Y/n/?]
y...Network device support (CONFIG_NETDEVICES) [Y/n/?]...Ethernet (10 or
100Mbit) (CONFIG_NET_ETHERNET) [N/y/?] y...Other ISA cards
(CONFIG_NET_ISA) [N/y/?] y...NE2000/NE1000 support (CONFIG_NE2000)
[N/y/m/?] y

Yukarıdaki örnekte ethernet kartınızın ne2000/ne1000 ya da uyumlu bir
kart olduğu var sayılıyor. Kartınızın marka/modeline uygun seçeneneğe
`y' cevabı vermelisiniz. Ethernet kartlarının dışında bağlanma
yönteminize bağlı olarak çekirdeği PPP, SLIP, Token Ring gibi bir
destekle derlemeniz gerekebilir. Bunları modül olarak derlemeniz de
mümkün. Çekirdek derlemek konusunda daha ayrıntılı bilgiyi bu kitabın
ilgili bölümünde bulabilirsiniz.

Tabi ki çekirdeği derlemek yetmiyor, derleme aşamasından sonra ağ
desteğine sahip olan çekirdek ile makinanın açılması gerekir.

Bağlantıyı gerçekleştirmek için ağ sorumlusundan bazı önemli bilgileri
almalısınız. Makinanızın IP adresi bunların başında gelir. Diğer gerekli
bilgiler de subnet mask ve broadcast adresidir.

DNS adres çözümleyici olarak çalışan DNS makinası ve makinanızı
İnternet'e bağlayacak olan yönlendiricinin IP adreslerini de biliyor
olmalısınız.

Bu aşamadan sonra konfigürasyon işlemlerine geçilebilir.

Ağ Konfigürasyonu

Bu bölümde anlatılan rc.* konfigürasyon dosyaları Slackware dağıtımına
özeldir. Diğer dağıtımlarda da açılışta çalışan benzeri rc dosyaları
değiştirilerek, ya da sistemle birlikte gelen sistem yönetim araçları
kullanılarak istediğiniz konfigürasyonu yapabilirsiniz.

Linux, açılırken bazı dosyalara bakarak düzgün çalışması için gerekli
konfigürasyonu yapar ve bazı yazılımları çalıştırır. Bu dosyalar
/etc/rc.d dizini altında yeralır. İnternet bağlantısı için sadece iki
dosyaya gerek duyulur. Slackware dağıtımı içinde bunlar, konfigürasyonu
yapan /etc/rc.d/rc.inet1 ve temel ağ programlarını çalıştıran
/etc/rc.d/rc.inet2 dosyalarıdır.

Bu dosyadaki değerleri gerektiği şekilde düzenleyerek İnternet'e
bağlanacağız. Öncelikle rc.inet1 dosyasının içeriğine göz atalım:





HOSTNAME=`cat /etc/HOSTNAME`/sbin/ifconfig lo 127.0.0.1/sbin/route add
-net 127.0.0.0IPADDR="144.122.71.55"NETMASK="255.255.25 5.0"
NETWORK="144.122.71.0" BROADCAST="144.122.71.255"GATEWAY="144.122.71.1"
/sbin/ifconfig eth0 $IPADDR broadcast $BROADCAST netmask
$NETMASK/sbin/route add -net $NETWORK netmask $NETMASK/sbin/route add
default gw $GATEWAY metric 1

ifconfig komutu, ağ bağlantısı yapan kartın belirli parametreler ile
konfigürasyonunun sağlar. Kart kimliğini bilgisayara tanıtmak için bu
komut kullanılır.

İlk satırdaki ifconfig programı, makinanın kendisiyle haberleşmesini
sağlamak amacıyla kendi ağ adresini (loopback device) 127.0.0.1 olarak
tanıtmıştır. İnternet üzerindeki her makinanın loopback adresi 127.0.0.1
'dir. 127 ile başlayan hiç bir adres, İnternet üzerinde gerçek bir
adres olarak kullanılamaz.

Her paket, gönderileceği adrese gitmeden önce bir tabloya bakar. Bu
tablo, paketin muhtemel rotasını içerir. route komutu yardımıyla bu
tablo oluşturulur veya kontrol edilir. Genellikle bir kart için bir
ifconfig kullanılırken, paketin yollanacağı birden fazla rotanın olması
durumunda rc.inet1 dosyasında birden fazla route komut girdisi
yapılacaktır.

Kullanılan her ağ kartının bir veya birden fazla internet adresi
olabilir. Linux'a takılan birinci kart eth0 ismini alırken ikinci karta
eth1, üçüncüye eth2 ... denir. Loopback cihazının ismi lo dur. ifconfig
komutunu parametre vermeden kullanırsanız, Linux'a tanıtılan çevresel
birimlerin listesi ekrana gelir.





$ ifconfiglo Link encap:Local Loopback inet addr:127.0.0.1
Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING
MTU:3584 Metric:1 RX packets:493 errors:0 dropped:0 overruns:0 TX
packets:493 errors:0 dropped:0 overruns:0eth0 Link encap:10Mbps Ethernet
HWaddr 48:54:33:00:E8:3A inet addr:144.122.71.55 Bcast:144.122.71.255
Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX
packets:171956 errors:0 dropped:0 overruns:0 TX packets:113212 errors:3
dropped:0 overruns:0 Interrupt:3 Base address:0x300

cclub.metu.edu.tr makinasının ifconfig bilgisi yukarıdaki şekildedir. Bu
makina üzerinde tek ethernet kartı olup, ifconfig bilgisinde ikinci
sırada yeralıyor. Kartla ilgili detaylı bilgi (her kart özgü donanım
numarası, alınan ve verilen paket sayısı gibi) ifconfig çıktısında var.

route komutunun genel kullanımı şu şekildedir:





route [add | del] [-net | -host] varis_adresi [gw yonlendirici]
secenekler...

host: paketin gideceği yer başka bir makina
net: paketin gideceği yer başka bir ağ
varış_adresi: paketin gideceği yer
yönlendirici: bu paketin gidebilmesi için geçmesi gereken yönlendirici
add: tabloya ekle
del: tablodan sil


Tablonun genel durumunu kontrol etmek için route komutuna parametre
vermeden komut satırından yazın:





cclub:~# routeKernel IP routing tableDestination Gateway Genmask Flags
Metric Ref Use Ifacelocalnet * 255.255.255.0 U 0 0 67 eth0loopback *
255.0.0.0 U 0 0 3 lodefault router71.ceng.m 0.0.0.0 UG 1 0 404 eth0

Örnek tabloda üç ayrı yönlendirme girişi vardır. Birincisi, makinanın
kendisi ile haberleşmesini sağlayacak olan loopback. İkinci satırda,
yerel ağa gidecek olan tüm paketlerin yönlendiriciye verilmeden ağa
yönlendirilmesi söylenmiş. Son sırada ise (default) paket ilk iki
satırda yeralan varış adresinden farklı bir adrese gidecekse, önce
yönlendiriciden geçip sonra dış dünyaya açılacağından yönlendiricinin IP
adresi yazılmıştır.

ifconfig, biraz karmaşık bir komuttur. Sistem yöneticisinden öğrenmeniz
gereken subnet maskesi, broadcast adresi ve IP adresini kullanıp
kartların konfigüre eder.





ifconfig eth0 144.122.71.55 netmask 255.255.255.0 broadcast
144.122.71.255

Yukarıda ifconfig yardımıyla eth0 kartına hem bir IP adresi verilmiş,
hem de bilgisayarın bulunduğu ağın özellikleri tanıtılmıştır.

Bu andan sonra istendiği kadar route komutu ile makinadan çıkacak
paketler için yeni yollar tanımlanabilir.





route add -net ...route add -host ...

Dosyanın içeriğini sistem görevlisinin verdiği bilgiler doğrultusunda
değiştirdikten sonra komut satırından çalıştırmanız, İnternet'e bağlantı
için yeterli olacaktır.





# /etc/rc.d/rc.inet1

Bağlantıyı kontrol etmek İnternet adresini bilip çalıştığından emin
olduğunuz bir makinaya telnet ile bağlantı yapmaya çalışın :





$ telnet orca.cc.metu.edu.trConnected to orca.cc.metu.edu.trEscape
character is ^]

Ethernet kartının bağlantısını yazılım yoluyla kesmenin yolu ifconfig
'in down seçeneğidir. Örneğin tek ethernet kartı üzerinden İnternet
bağlantınız var ve bunu hemen kesmek için aşağıdaki satırı yazın.





# ifconfig eth0 down

ethernet bağlantısını yeniden açmak için





# ifconfig eth0 upkomutunu girmelisiniz. Bu işlem sonrasında yönlendirme
bilgilerini yeniden girmeniz gerekebilir.



ping komutu, bağlantıları ve aynı zamanda bağlantı hızını ölçmek için
kullanılan bir komuttur. Ping, ICMP protokolü yardımıyla hedef makinaya
belirli uzunlukta paketler gönderir. Karşıdaki makina bunları aldığı
anda bekletmeden geri yollar. Arada geçen zaman farklı, iki makina
arasındaki bağlantı hızı hakkında fikir verir.





cclub:~# ping knidos.cc.metu.edu.trPING knidos.cc.metu.edu.tr
(144.122.199.20): 56 data bytes64 bytes from 144.122.199.20: icmp_seq=0
ttl=253 time=34.0 ms64 bytes from 144.122.199.20: icmp_seq=1 ttl=253
time=487.7 ms64 bytes from 144.122.199.20: icmp_seq=2 ttl=253 time=3.6
ms--- knidos.cc.metu.edu.tr ping statistics ---3 packets transmitted, 3
packets received, 0% packet lossround-trip min/avg/max = 3.6/175.1/487.7
ms

netstat komutu, makinanın ağ kartı üzerinden yapılan bağlantıların
dökümünü çıkarır.





cclub:~# netstatActive Internet connections (w/o servers)Proto Recv-Q
Send-Q Local Address Foreign Address State tcp 0 0
cclub.metu.edu.tr:1947 ftp02.quicktime.appl:20 ESTABLISHED tcp 0 0
cclub.metu.edu.tr:1943 despair.thebandit.c:ftp ESTABLISHED tcp 0 0
cclub.metu.edu.tr:1424 despair.thebandit.co:20 ESTABLISHED tcp 0 0
cclub.metu.edu.tr:1932 ftp02.quicktime.app:ftp ESTABLISHED tcp 0 0
cclub.metu.edu.tr:1407 165.113.58.253:20 ESTABLISHED tcp 0 0
cclub.metu.edu.tr:1392 165.113.58.253:ftp ESTABLISHEDtcp 0 0
cclub.metu.edu.tr:1377 ppp23.cc.metu.ed:telnet ESTABLISHED tcp 0 0
cclub.metu.edu.t:telnet pclabI_23.feas.met:7075 ESTABLISHED tcp 1 0
cclub.metu.edu.t:telnet ppp23.cc.metu.edu.:1054 TIME_WAIT tcp 0 0
cclub.metu.edu.t:telnet labmonitor.feas.m:10345 ESTABLISHED tcp 0 9495
cclub.metu.edu.t:telnet a5-03-asy27.bil-ro:1026 ESTABLISHED tcp 0 0
cclub.metu.edu.t:telnet pclabI_14.feas.me:15694 ESTABLISHED tcp 0 0
cclub.metu.edu.t:telnet stu21.math.metu.e:16158 ESTABLISHEDActive UNIX
domain sockets (w/o servers)Proto RefCnt Flags Type State I-Node
Pathunix 1 [ ] STREAM CONNECTED 232 unix 1 [ ] STREAM CONNECTED 299 unix
1 [ ] STREAM CONNECTED 327 unix 1 [ ] STREAM 591

İkinci önemli dosya olan /etc/rc.d/rc.inet2, belli başlı tüm İnternet
sunucularını çalıştırır. Aşağıda bu dosyanın bir kısmı görülüyor.





#!/bin/shNET="/usr/sbin"IN_SERV="lpd"LPSPOOL="/var/ spool/lpd"echo -n
"Starting daemons:"# inetd calistiriliyor.if [ -f ${NET}/inetd ]; then
echo -n " inetd" ${NET}/inetdelse echo "no INETD found. INET cancelled!"
exit 1fi# degisik internet servisleri sirasiyla calistiriliyor.for
server in ${IN_SERV} ; do if [ -f ${NET}/${server} ]; then echo -n "
${server}" ${NET}/${server} fidone

Bu açılış dosyası, ağ üzerinden servs veren bir dizi sunucu programı
çalıştırıyor ve hataları engellemek için programların yerinde olup
olmadığına da bakıyor.

Kontrol Dosyaları

Konfigürasyonu tamamlamak için /etc dizini altında yeralan bazı
dosyaların elden geçirilmesi gerekir. Bu dosyalar sistemin daha güvenli
ve verimli çalışmasına yardım eder. Bu dosyaların belli başlı olanları
ve ne işe yaradıklarını görelim.

/etc/hosts dosyasında makinaların IP numaraları ve İnternet adresleri
yazılır. Buraya sürekli kullanılan belli başlı önemli makinaların girişi
yapılabilir. Her makinanın uzun isimleri yerine kısa bir kelime
yazılarak sözkonusu makinaya ulaşılabilir. Örnek bir /etc/hosts dosyası :





127.0.0.1 localhost144.122.199.20 knidos.cc.metu.edu.tr knidos

İlk satırda loopback IP numarası ve buna karşılık gelen makina ismi
vardır. Bu satırı silmemelisiniz. İkinci satırda ise
knidos.cc.metu.edu.tr makinasının IP numarasını 144.122.199.20 olarak
belirtilmiş ve bu bilgisayara "knidos" ismi ile de ulaşılabilmesi
sağlanmıştır.

/etc/hosts.allow ve /etc/hosts.deny konfigürasyon dosyaları, başka bir
makinadan Linux'unuza yapılan bağlantıları denetler. /etc/hosts.deny
içine, sınırlandırılma getirmek istediğiniz İnternet servislerini ve
hangi makinalar için sınırlandırma istediğinizi yazabilirsiniz.





$ cat /etc/hosts.deny#in.fingerd: ALL except localhost, localhost : \
echo "request from %d@%h" >> /tmp/req; in.telnetd : .net.tr

Yukarıdaki hosts.deny dosyasında dışarıdan gelebilecek finger istekleri
filtreleniyor ve bu istekler hakkında detaylı bilgi (hangi kullanıcı,
hangi makinadan) /tmp/req dosyasına ekleniyor.

Sonraki satır in.telnetd yazılımını çalıştıran isteklerin *.net.tr
adreslerinden gelmesi halinde bunların gözardı edileceğini belirtir.

hosts.allow dosyasında, genellikle hosts.deny dosyasına gruplanan makina
isimlerinin sınırlandırma istenmeyen bir veya birkaç tanesi yazılır.
Eğer bir makina ismi ve karşılık gelen İnternet adresi her iki dosyada
da varsa, sözkonusu servise izin verilir.

Daha fazla bilgiyi hosts_access(5) man sayfalarından bulabilirsiniz.

/etc/resolv.conf dosyasında alan adı ve alan adı sunucusunun IP numarası
yazılır.





$ cat /etc/resolv.confdomain linux.org.trnameserver 144.122.199.20

Yukarıdaki satırlardan üzerinde bulunduğum makinanın alan adının (domain
name) linux.org.tr, alan adı sunucusunun ise 144.122.199.20 IP numaralı
knidos makinası olduğu anlaşılıyor.

8.5 Yönlendirme

Daha önce de belirtildiği gibi birden fazla ağa fiziksel bağlantısı
bulunan ve ağlar arası bilgi paketlerinin geçişine olanak tanıyan
araçlara yönlendirici (router) adı verilir.

İki ayrı ağda yeralan makinaların haberleşmesine imkan tanıyan
yönlendiriciler, kendilerine gönderilen paketleri bir ağdan diğerine
iletirler.

Herhangi bir ağ içerisinde yer alan makinalar aynı IP ağ içerisinde
bulunan makinalarla (ağ konfigürasyonları doğru olduğu sürece)
haberleşebilirler. Başka adreslere ulaşabilmek için bulunulan ağ
dışındaki ağlarla bağlantısı olan ve o ağ üzerinde bulunan bir makina
ile haberleşmeleri gereklidir. Bu makina bilgisayar tanımlarında gateway
(yönlendirici, arabirim, arayol) olarak verilir.

Minimum yönlendirme, bir ağa bağlı olmayan makinalarda, ifconfig
yardımıyla yapılan yönlendirmedir. En çok kullanılan statik yönlendirme
çeşidinde, az sayıda arayol ile dışarıya bağlı olan bir makinada, route
komutuyla yapılır. Aynı adrese ulaşan birden fazla arayol olması
durumunda ise, kendi yönlendirme tablosunu ağın durumuna göre
değiştirebilen dinamik yönlendirmeye başvurulabilir.

Linux'un yönlendirici olarak kullanılmasına bir örnek verilebilir.
Elimizde var olduğunu bildiğimiz iki ağ olsun. Bu ağlardan birincisini,
144.122.71.0 ağı, diğeri de 144.122.1.0 ağı olarak kabul edelim.
144.122.71.0 ağının İnternet'e bağlanabilmesi için 144.122.1.0 ağına
ulaşması gereklidir. Yönlendirici olarak kullanılacak makinayı 71.0
ağında kurup gerekli yönlendirme talimatları verildiği anda bu ağa bağlı
olan diğer makinalar da İnternet'e açılabilecektir.

Örnek olarak 144.122.71.0 ağı üzerindeki bir makina için ifconfig satırı





ifconfig eth0 144.122.71.1 broadcast 144.122.71.255 netmask
255.255.255.0

olarak görünüyor. Bu makinanın yönlendirici görevi yapabilmesi için
route komutu kullanılır. Bu sayede bu bilgisayar, diğerlerine
ulaşacaktır.





route add -net 144.122.71.0 netmask 255.255.255.0 dev eth0

Bu, 144.122.71.0 ağında olan makinaların eth0 kartı üzerinden
erişilebileceğini gösterir. Diğer adreslere erişebilmek için ise bir
çıkışa (gateway) ihtiyaç duyulmaktadır.





route add default gw 144.122.71.1 dev eth0

Bu satır sayesinde eldeki tablo yardımıyla çözümlenemeyen adreslere
gitmesi gereken tüm paketler 144.122.71.1 üzerinden gönderilmektedir. Bu
durumda bu makinanın paketleri nereye göndereceğini bildiği
varsayılmaktadır.

Bu makina içinde iki adet ethernet bağlantısı bulunmaktadır. Bunlardan
biri yönlendiriciyi 144.122.71.0 ağına bağlarken diğeri 144.122.1.0
ağına bağlamaktadır. İlk olarak bu iki kart için gereken tanımlamalar
/etc/rc.d/rc.inet1 içerisinde aşağıdakine benzer şekilde tanımlanmıştır.


ifconfig eth0 144.122.71.1 broadcast 144.122.71.255 netmask
255.255.255.0ifconfig eth1 144.122.1.200 broadcast 144.122.71.255
netmask 255.255.255.0

Birinci ethernet kartı için eth0, ikinci ethernet kartı için de eth1
kısaltmaları kullanılabilir. Doğal olarak her iki ağ için bir 'route'
satırı gerekmekte :


route add -net 144.122.71.0 netmask 255.255.255.0 dev eth0route add -net
144.122.1.0 netmask 255.255.255.0 dev eth1

Bu sayede diğer makinalardan farklı olarak yönlendirici hem 144.122.1.0
ağı, hem de 144.122.71.0 ağı üzerindeki adreslere direk
ulaşabilmektedir. Diğer adreslere ulaşabilmek için benzer bir yöntem ile
144.122.1.0 ağı üzerindeki arayola (gateway) yönlendirme yapılır.


route add default gw 144.122.1.200 dev eth1

Bu çeşit yönlendirmeye statik yönlendirme adı verilir. Burada tüm
bağlantılar bir tablo halinde verilmiştir. Birbiri arkasına ağ eklendiği
zaman statik yönlendirme basitlik avantajını kaybetmeye başlar. Bu
amaçla yönlendiricilerin kendi aralarında bildikleri yolları
(yönlendirme bilgilerini) birbirlerine aktardıkları dinamik yönlendirme
kullanılır.

Ağa bağlanmak amacıyla birden fazla kart kullanıyorsanız, arp komutunu
incelemenizi tavsiye ederim. Bu komut pekçok opsiyon alır ve sistem
yöneticisinin Linux üzerindeki ağı kontrolünü kolaylaştırır.


# arp -a IP address HW type HW address 191.72.1.3 10Mbps Ethernet
00:00:C0:5AC1 191.72.1.2 10Mbps Ethernet 00:00:C0:90:B3:42 191.72.2.4
10Mbps Ethernet 00:00:C0:04:69:AA

Birden Fazla Ethernet Kartının Tanıtılması

Yukarıda örneğini verdiğimiz Linux yönlendirici üzerinde iki ethernet
kartı bulunuyor. Bu sayede Linux makinası iki ethernet ağı arasında bir
yönlendirici olarak kullanılabilmektedir. Bir Linux'a birden fazla
ethernet kartı takmak mümkündür. Bu kartları takarken aşağıdaki
maddelere dikkat etmek gerekir:



Çekirdek içerisinde her iki kart için destek bulunmalıdır.
Ethernet kartları sistemdeki diğer IO ve IRQ ayarlarını çakışmayacak
şekilde ve farklı değerlerde olmalıdır.

Birden fazla ethernet kartı (ya da gibi herhangi iki veya daha fazla
PPP, SLIP gibi ağ bağlantısı) olan makina bir yönlendirici olarak
kullanılacaksa, çekirdek IP FORWARDING desteğiyle derlenmelidir. Bunun
yanı sıra Linux'unuzun birinci görevi yönlendiricilik olacaksa optimize
as router sorusuna da `y' yanıtı vermeniz yararlı olacaktır.


IP: forwarding/gatewaying (CONFIG_IP_FORWARD) [N/y/?] y...IP: optimize
as router not host (CONFIG_IP_ROUTER) [N/y/?] y

Linux açılırken çekirdek tanıdığı donanımları teker teker arayarak
bulmaya çalışır (probing). Birden fazla ethernet kartı kullanımına sık
raslanmadığından Linux ilk ethernet kartını bulduktan sonra ikinci ve
daha fazla ethernet kartı aramadığından iki kartınız bile olsa Linux
sadece birini görecektir. Çekirdeğe ethernet kartı ile ilgili
parametreler vererek birden fazla ethernet kartının açılışta bulunması
sağlanabilir. LILO kullanıldığı zaman /etc/lilo.conf içinde


append="ether=0,0,eth1"

Yukarıdaki paramatre ile çekirdek ikinci bir ethernet kartını (eth1) da
arayacaktır. Ayni şekilde arka arkaya ether=.... parametreleri vererek
varsa üçüncü, dördüncü ve daha fazla ethernet kartının aratılması da
mümkündür. Ethernet kartlarınızın adreslerini biliyorsanız, kartların
yanlış sırayla bulunması tehlikesini de önlemek için,





append="ether=5,0x340,eth0 ether=15,0x300,eth1"

gibi bir satır eklenmesi yeterli olacaktır. Burada eth0 isimli bağlantı
IRQ 5 ve IOBASE 0x340 ve diğer ethernet bağlantısı eth1 IRQ 15 ve IOBASE
0x300 olacak şekilde ayarlanır, bu durumda çekirdek bir daha kartların
hangi adres ve IRQ'da olduğuna dair tahmin yürütmez, girilen değerlerde
bulunan kartları bulmaya çalışır.

Sistem açıldıktan sonra gerçekten istenen kartların istenen adreste
çalıştığına emin olmak için /var/adm/messages dosyasına bakabilirsiniz,
ya da dmesg komutuyla çekirdek mesajlarını görebilirsiniz.

8.6 NFS

NFS (Network File System), bir ağ üzerinden disklerin paylaşımını
sağlamak üzere geliştirilmiştir. NFS sayesinde bir makinada yeralan
belirli bir disk bölümü, başka makinalar tarafından okunabilir veya
yazılabilir. Bu işleme özellikle büyük organizasyonlarda, disk alanından
tasarruf etmek için başvurulur. Her makinada aynı dosyalar,
çalıştırılabilir programlar olması yerine bunlar tek sunucuda toplanır,
diğer bilgisayarlar bu alanı ortaklaşa paylaşırlar. Paylaşılan dizin,
sanki yerel makinanın bir diziniymiş gibi davranır. Kendi disk alanını
paylaştıran makinaya NFS sunucusu, bu diske erişim yapan makinalara da
NFS istemcisi adı verilir.

NFS kullanımının pek çok avantajı sayılabilir. Bunlar kısaca:



Yerel bir işletmede tüm kullanıcılar tek bilgisayar üzerindeki aynı disk
alanını paylaşabilirler. Diğer bilgisayarlar açıldıktan sonra bu
diskleri kendi dosya sisteminlerine bindirebilirler. NFS'in NIS ile
birlikte kullanımı sayesinde bir kullanıcı herhangi bir makinaya girip
diğer kullanıcılarla birlikte aynı dosya yapısı ile çalışabilir.
Paylaşım sayesinde büyük disk alanı isteyen programlar tek bir sunucuda
toplanabilir ve bu sayede önemli miktarda diskten tasarruf sağlanabilir.
Bir makina üzerinde yapılan değişiklik, her makinada yapılmış gibi olur.
Böylece aynı yazılımı örneğin 20 bilgisayara yüklemek zorunda
kalmazsınız.

Ağ Üzerinde Paylaşım

NFS'in çalışması, yerel bir diskin mount edilmesi kadar kolaydır. Örnek
olarak NFS sunucusu olan aspendos makinasında yeralan /home dizinini,
yerel makinadaki /users dizinine yerleştirmek için :


# mount -t nfs aspendos:/home /users

kullanılır. mount, karşı makinanın erişim izinleri doğru olduğunu teyit
ettiği anda bu işlemi gerçekleştirir. Sunucu ile istemci arasındaki
mesaj alış-verişini mountd programı üstlenir.

NFS kullanabilmek için çekirdekte NFS desteği olması şarttır. Çekirdeğin
hangi dosya sistemlerini desteklediğini /proc dosya sistemi altındaki
filesystems dosyasını okuyarak anlayabilmek mümkündür. Eğer aşağıdaki
satırlarda nfs kelimesi geçmiyorsa çekirdeğe NFS desteği verilerek
tekrar derlenmesi gerekir.


$ cat /proc/filesystems minix ext2 msdosnodev procnodev nfs

NFS için mount programının genel kullanımı şu şekildedir :



mount -t nfs -o

Sistem açılırken /etc/fstab dosyasında yeralan bilgilerle uzak makinanın
diski otomatik olarak paylaştırılabilir. Mount programı bazı
seçenekleri destekler. Bu seçenekler -o yardımıyla komut satırında
verilebildiği gibi /etc/fstab içinde de belirtilebilir. Her iki durumda
da birden fazla seçenek kullanılırsa bunlar birbirlerinden virgülle
ayrılırlar.

Açılış sırasında news makinasındaki /usr/spool/news dosyasını yerel
makinadaki /usr/spool/news dizini altına yerleştiren /etc/fstab satırı


news:/usr/spool/news /usr/spool/news nfs timeo=20

şeklinde yazılır. NFS ile kullanılan timeo seçeneğinin karşısında
yeralan sayı (saniyenin onda biri olarak), bağlantının kurulabilmesi
için geçecek maksimum zamanı gösterir. Bu zamanın aşılması halinde
sunucuyla bağlantı kesilir.

NFS Kurulumu

Yerel makinanın sunucu olabilmesi için nfsd ve mountd programlarının
çalıştırılması gerekir. Bu yazılımlar açılış esnasında aşağıda görülen
/etc/rc.d/rc.inet2 dosyasından başlatılırlar. telnetd, fingerd ve
benzeri süreçlerin aksine bu iki program inetd tarafından yönetilmezler.
Dikkat etmeniz gereken bir durum da nfsd ve mountd programlarının
rpc.portmap programından sonra çalıştırılması gerektiğidir :


if [ -x /usr/sbin/rpc.mountd ]; then # (rpc.mountd programi var ve
calistirilabilir mi ?) /usr/sbin/rpc.mountd; echo -n " mountd" fiif [ -x
/usr/sbin/rpc.nfsd ]; then # (rpc.nfsd programi var ve calistirilabilir
mi ?) /usr/sbin/rpc.nfsd; echo -n " nfsd"fi

Sunucunun hangi dizinlerini, hangi istemci(ler) tarafından
paylaşılabileceği /etc/exports dosyasında belirtilir. Örnek bir exports
dosyasının görünümü aşağıdaki gibidir :





/home davul.cclub.metu.edu.tr, ordek.cclub.metu.edu.tr/usr/ftp
(ro)/cdrom *.edu.tr

Her satır, yerel makinadaki dizin ismi ile başlar, bu dizini mount
etmeye izin verilen bilgisayar isimleri ile devam eder. Makina
isimlerinde ? veya * joker karakterleri kullanılabilir. Dosyanın üçüncü
satırı, sonu .edu.tr ile biten tüm makinaların /cdrom dizinine
ulaşabileceğini belirtir.

Aynı dizini paylaşacak birden fazla makina adı, aralarında virül konarak
yazılabilir. Parantez içinde yeralan ro kelimesi, dizinlerin salt
okunur mount edilmesi gerektiğini belirtir.

Daha geniş bilgi için mount programının man dosyasına göz atmanızı
tavsiye ederim.

8.7 Uzaktan Bağlantı Kurulması

İnternet üzerinde kesinlikle yanlız olmadığınıza göre, kimi durumlarda
kendi Linux'unuz dışındaki sistemlere girmek isteyeceksiniz. Bunun için
uyarlanmış çeşitli komutlar mevcuttur. Bu komutlar sadece bağlanmak için
değil, iki makina arasında birtakım dosya transferi gerçekleştirmek
için de kullanılabilir.

Linux (ve UNIX) için ağ uygulamalarında kullanılmak üzere geliştirilen
temel olarak iki sistem vardır. Bunlardan UUCP (Unix to Unix CoPy),
genel olarak iki makina arasında bir kere bağlantı kurup veriyi iletir
ve bağlantıyı kapatır. Eski bir protokol olan UUCP, genellikle modemler
arası veri iletişiminde işe yarar.

TCP/IP ise daha önce de belirtildiği gibi yerel ağ veya İnternet
üzerinde rahatlıkla kullanılabilen bir protokoldür. TCP / IP 'nin
uzaktan bağlantı komutları "r" harfi ile başlar. Örneğin rlogin (remote
login) bir sistemden diğerine telnet bağlantısı yaparken rcp (remote
copy) ise bir makinadan diğerine dosya kopyalar. Bu ve buna benzer
uzaktan bağlantı komutları iyi bilmeniz size çalışmalarınız sırasında
zaman kazandıracaktır.

"r" komutlarını kullanabilmeniz için kesinlikle TCP/IP protokolünü
tanıyan bir ağ (PPP, Ethernet, SLIP gibi) üzerinde olmalısınız.

rlogin : Geçerli bir hesabınızın olduğu makinaya girmenizi sağlar.
telnet komutuyla benzerlik gösterir. Ayrıldıkları nokta, karşıdaki
sisteme girerken gerekli konfigürasyonlar yapılırsa şifre sormamasıdır.
Bu kısma ileride değineceğim.

Aşağıdaki komut ile ordek isimli makinaya giriş yapılıyor.


$ rlogin ordek

Eğer yukarıdaki gibi yazarsanız, ordek makinasına ait IP numarası veya
bu adresin tam isminin, örneğin ordek.cclub.metu.edu.tr/etc/hosts
dosyasında yeraldığına emin olmanız gerekir. Karşı makinada bağlanılacak
kullanıcı ismi de komut satırından belirlenebilir.


cclub:~$ rlogin ordek -l httpdPassword: Last login: Fri Feb 21 22:02:46
from cclub.metu.edu.trLinux 2.0.27.ordek:~$

Yukarıda yaptığımız, cclub makinasından ordek isimli makinadaki httpd
kullanıcısına bağlanmak oldu. Üzerinde Linux çalışan ordek makinası
doğal olarak bana bu kullanıcıya ait şifreyi sordu. ordek makinasında
yeralan bir dosya üzerinde değişiklik yaparak istersem şifre sorulmadan
anında girilmesini sağlayabilirim. Bunu .rhosts (remote hosts) dosyası
sağlar.

.rhosts dosyasında makinaya bağlanabilecek olan kullanıcılar ve bunların
hangi makinalardan bağlanacaklarını gösteren bir liste vardır. Biraz
karışık mı oldu ? Şu örneği inceleyelim :


ordek:~$ uname -aLinux ordek 2.0.27 #1 Sun Jan 19 13:06:08 EET 1997
i486ordek:~$ whoamihttpdordek:~$ cat ~/.rhostscclub.metu.edu.tr gorkem

Yukarıda ördek makinası üzerindeki httpd kullanıcısının çalışma
dizininde bulunan .rhosts dosyasında iki sütun yeralıyor. İlki,
güvenilen makinanın ismi (cclub.metu.edu.tr), ikincisi de bu makina
üzerindeki güvenilen kullanıcı (gorkem). .rhosts dosyası şifrenizi
başkalarına vermeden istediğiniz makinadaki bir kullanıcının hesabınızı
kullanmasını sağlar. Kısaca bir satırda herhangi bir kullanıcının makina
ismi ve hesap ismi bu dosyada varsa, sisteme giriş izni verilir.

Bu aşamadan sonra cclub.metu.edu.tr adresindeki gorkem kullanıcısı şifre
girmeden ordek.cclub.metu.edu.tr adresindeki httpd kullanıcısı olarak
çalışmak isterse yapması gereken :


cclub:~$ whoamigorkemcclub:~$ rlogin ordek.cclub.metu.edu.tr -l
httpdLast login: Sun Feb 23 1104 from cclub.metu.edu.trLinux
2.0.27.ordek:~$

Artık ordek makinası üzerindeyiz. Şifre girmeden bir makinadan diğerine
atlamış olduk. .rhosts dosyasında eğer makina ismi yerine "+" işareti
kullanılırsa her makinanın veya kullanıcı ismi yerine "+" işareti
kullanılırsa her kullanıcının giriş izni olduğu anlaşılır. Makina
isimleri yerine IP adreslerini de kullanabilirsiniz. Birkaç örnek :


144.122.71.55 + # (144.122.71.55 makinasi uzerindeki tum kullanicilara
giris izni ver)+ murat # Butun makinalar uzerindeki murat
kullanicilarina giris izni ver. # (Cok buyuk bir guvenlik acigi)

rsh : Bazı durumlarda çalıştığınız makinada dışındaki bir sistemde bir
veya birkaç kısa komut çalıştırmak isteyebilirsiniz. Örneğin karşı
sistemde kimler, hangi işleri yapıyor veya çalışma dizininde yeralan
dosyaları görmek gibi. Bütün bunlar telnet veya rlogin programına gerek
duymadan rsh (remote shell) ile yapılabilir. Tek şart, üzerinde komut
işletilecek makinadaki .rhosts dosyasında gerekli makina ve kullanıcı
ismi girişi olmasıdır.

Diyelim ki davul.cclub.metu.edu.tr makinası üzerindeki /home/gorkem
dizininde yeralan tüm dizin ve dosyaları görmek için :


$ rsh davul.cclub.metu.edu.tr ls -al /home/gorkem

komutunu girmelisiniz. rsh komutundan sonra uzaktaki sistemin ismi,
ardından da çalıştırılacak olan komut gelmelidir. Diğer bir örnek



$ rsh davul.cclub.metu.edu.tr cat README | lpr

karşı sisteme giriş yapmadan README dosyasını yazıcıdan çıkmasını
sağlayacaktır.

8.8 Linux'ta Örnek Ağ Uygulamaları

Aşağıda, Linux ile gerçekleştirilebilecek birkaç örnek ağ uygulamaları
yeralmaktadır. Her konu ile ilgili ayrıntılı bilgileri HOWTO
dosyalarından öğrenebilirsiniz.

IP Accounting

IP accounting özelliği, çekirdeğin ağ üzerindeki trafiğin analizini
yapmasını sağlar. Toplanan veriler, makinanın açıldığı andan itibaren
kart üzerinden geçen paket ve toplam bayt sayısıdır. Bir konfigürasyon
dosyası yardımıyla bu bilgiler belirli sınıflara ayrılabilir. Çekirdeğin
derlenmesi aşamasında IP accounting seçeneği kullanılmalıdır.





* Networking options...IP: accounting (CONFIG_IP_ACCT) [N/y/?] y

Çekirdeğin derlenmesinden ve makinanın yeni çekirdekle açılmasından
sonra, ipfwadm komutu ile IP accounting işlemlerine başlanabilir.
ipfwadm paketi standart Slackware dağıtımı ile beraber gelmektedir.

IP Aliasing

Tek ağ arabirimi (örneğin ethernet veya seri bağlantı) kartı için birden
fazla IP numarası gereken durumlarda IP Aliasing kullanılır. Genellikle
İnternet Servis Sağlayıcıları, müşterilerinin ftp ve www sunucularını
tek makina üzerinde toplamak için bu yola başvururlar. Bu sayede bir
makinaya atanmış birden fazla www adresi ve herbirinin ayrı html
dosyaları farklı makinalardaymış gibi kullanılabilir.

Bu özellikten yararlanabilmek için çekirdekte IP Aliasing desteği
vermelisiniz.



** Networking options...Network aliasing (CONFIG_NET_ALIAS) [N/y/?]
y...IP: aliasing support (CONFIG_IP_ALIAS) [N/y/m/?] y

Her sanal ağ adresi için bir arabirim (interface) tanımlamalısınız. Bu
sayede aynı bilgisayarda 255 adede kadar sanal makinaya izin
verilebilir. Her sanal arabirim, bağlı bulunduğu gerçek arabirim
üzerinden işgörür.

Örnek olarak, elimizde kullanabileceğimiz ikinci adres (örnek olarak
100.100.100.101) ve tek ethernet kartı bulunsun. İnternet üzerindeki
diğer makinaların, bu iki adrese ulaşabilmeleri için şu satırlar yeterli
olacaktır :


# ifconfig eth0:0 100.100.100.101 netmask 255.255.255.0 up# route add
-net 100.100.100.0 netmask 255.255.255.0 eth0:0

Sanal bir arabirimi kaldırmak için ise, ismin sonuna '-' karakteri
getirmek yeterli olur.


# ifconfig eth0:0- 0

IP Masquerading

IP Masquerading, bir ağın arkasındaki birden fazla makinanın bir Linux
üzerinden dışarıya bağlanmasıdır. Tüm makinalar dışarıdan aynı IP adresi
gibi görünürler.

Örnek olarak İnternet'e bağlandınız. İnternet Servis Sağlayıcınız size
sadece bir IP numarası verdi ve odanızda İnternet'e bağlanmayı bekleyen
birden fazla bilgisayar var. Servis Sağlayıcıya her makina için para
ödeyip bir hesap ismi almaktansa odadaki tüm makinalar bir Linux ve
telefon bağlantısı yardımıyla İnternet'e erişebilirler.

IP Masquerading kullanabilmek için çekirdekte bu desteğin verilmesi
gerekiyor. Bunun için IP Forwarding, IP Firewalling ve IP Masquerading
seçeneklerini açık tutmalısınız.

IP Masquerading için gerekli yazılımlar Slackware dağıtımı ile birlikte
gelmektedir.

SAMBA (NetBEUI ve NetBios desteği)

SMB, Windows 3.11, NT ve 95 tarafından kullanılan ve disk ve yazıcı
paylaşımına olanak veren bir protokoldür. Linux, Samba desteği ile bu
işletim sistemleri veya kendi üzerinde bulunan disk ve yazıcıların tüm
makinalar tarafından paylaşılmasını sağlar.

Samba ile 4 işlem gerçekleştirilebilir : Windows makinalarının Linux
diskini paylaşmaları, Linux makinalarının Windows sistemi diskini
paylaşmaları, Windows makinalarının Linux yazıcısını paylaşmaları ve
Linux makinalarının Windows yazıcısını paylaşmaları.

Yine bu özelliği kullanabilmek için çekirdekte Samba desteği vermeniz
gerekecektir.


SMB filesystem support (to mount WfW shares etc..) (CONFIG_SMB_FS)
[Y/m/n/?]

smbfs, SMB protokolünü tanıyan dosya sistemine verilen isimdir. smbfs
servisi verebilmek için smbfs.tgz paketini indirip derlemelisiniz.

smbfs.tgz paketini ftp.metu.edu.tr adresinden bulabilirsiniz.

Novell Desteği

NCP (NetWare Core Protocol), IPX üzerinde yeralan ve Novell NetWare
istemcilerinin sunucularla konuşmasını sağlayan protokole verilen
isimdir. Bu seçenek ile, NetWare dosya sunucularına diğer Unix
makinalardaki gibi bağlanmak olasıdır.

NetWare dosya sistemlerine erişebilmek için özel bir mount programı
(ncpmount/ncpumount) kullanmanız gerekecektir. Bu ve diğer programlar,
ncpfs paketinin içinde vardır. Bunun için çekirdekte


The IPX protocol (CONFIG_IPX) [Y/m/n/?]

ve


NCP filesystem support (to mount NetWare volumes) (CONFIG_NCP_FS)
[Y/m/n/?]

desteğini vermelisiniz.

lwared ve mars_nwe paketleri, Linux İşletim Sistemi'ne Novell sunucu
olma özelliği verir.

Apple desteği

Aynı ağ üzerinde yeralan Apple Macintosh makinaları ile aynı disk ve
yazıcıların paylaşımını sağlayan pakete netatalk ismi verilir. Bu
desteği kullanabilmek için çekirdeğin derlenmesi sırasında


IP: multicasting (CONFIG_IP_MULTICAST) [Y/n/?]...The IPX protocol
(CONFIG_IPX) [Y/m/n/?]...Appletalk DDP (CONFIG_ATALK) [Y/m/n/?]

parametrelerine evet cevabı vermelisiniz. Appletalk için daha fazla
bilgiye ve disk ile yazıcı paylaşımı yapan pakete
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için
TIKLAYIN...
]
adresinden
erişebilirsiniz.

8.9 NIS

NIS Network Information Service kelimelerinin baş harflerinden
oluşmaktadır. Amacı bir ağ üzerindeki bütün makinalara, bütün ağ
tarafından bilinmek kaydıyla bilgi akışı sağlamaktır. NIS tarafından
dağıtılacak bilgiler, hesap isimleri, şifreler, kullanıcı dizinleri ve
grup bilgileri olabilir.

NIS yardımıyla, örneğin size ait şifre NIS veri tabanında kayıtlı ise,
ağ üzerinde NIS istemci programlarını çalıştıran bütün makinalara
girebilirsiniz.

NIS'in biraz daha gelişmiş bir sürümü olan NIS+ , verileri korumak
amacıyla şifreleme yöntemi kullanır. Bu avantajına rağmen NIS+ 'ın
kurulumu ve kullanımı daha zordur.

NIS'in Çalışma Prensipleri

Bir ağ üzerinde en az bir makina NIS sunucusu olmak zorundadır. İster
herbiri farklı NIS ``domain'' lerine hizmet eden çoklu NIS sunucularına
sahip olabilirsiniz, ya da beraber çalışan NIS sunucularınız olur. Bu
durumda sunuculardan biri ana NIS sunucusu, diğerleri ise ikincil
(slave) NIS sunucusu olabilirler.

İkincil sunucular sadece NIS veritabanının kopyalarına sahiptirler ve bu
kopyaları ana NIS sunucusunda bulunan veri tabanlarında değişiklik
yapıldığı zaman ana sunucudan alırlar. Ağ üzerinde bulunan makina
sayısına ve ağ güvenliğine bağlı olarak bir veya daha fazla ikincil
sunucu kurulabilir. Bir NIS sunucusu kapandığında veya çok yavaş cevap
verdiğinde, diğer NIS istemcileri çalışan veya daha hızlı bir sunucu
bulmaya çalışacaktır.

NIS veritabanları DBM adı verilen yapıdadır ve bu yapı ASCII
veritabanlarından çıkarılır. Ana NIS sunucusu hem ASCII veritabanlarını
hemde DBM veritabanlarını içermelidir. NIS sunucusu, ASCII yapıdaki
/etc/passwd gibi veri tabanlarını DBM veri tabanına çevirerek /var/yp
dizini altında tutar.

İkincil sunucular NIS haritalarında oluşacak değişikliklerden yppush
programı aracılığıyla haberdar edilecek ve veritabanlarını senkronize
etmek için otomatik olarak gereken değişiklikleri alacaklardır. NIS
istemcilerinin bunu yapmasına gerek yoktur çünkü sunucudaki DBM
veritabanlarında bulunan bilgileri okumak için devamlı olarak NIS
sunucusu ile bağlantı kurmaktadır. İkincil sunuculara gayet büyük ağlar
üzerinde ihtiyaç duyulur.

NIS İstemcisi

NIS'i kurmak için herşeyden önce /usr/sbin/rpc.portmap programını
çalıştırmanız gerekir. Bazı Linux dağıtımları (örneğin Slackware) bu
daemon'u çalıştırmak için gereken kodu /etc/rc.d/rc.inet2 dosyasında
barındırırlar.

RPC portmapper (man 8 portmap) programı bir sunucu olup RPC program
numaralarını TCP/IP (veya UDP/IP) protokol port numaralarına çevirir.
RPC portmapper o makina üzerinde RPC çağrılarını (NIS istemci
yazılımının yaptığı iş) RPC sunucularına (NIS sunucuları gibi)
yapılabilmesi için çalışıyor olmalıdır. Bir RPC sunucusu başladığı
zaman, portmap'a hangi port numarasını dinlediğini ve hangi RPC program
numaralarına hizmet edeceğini bildirir. Bir istemci verilen bir program
numarasına RPC çağrısı yapmak istediği zaman, ilk önce sunucu makina
üzerindeki portmap ile bağlantı kurarak RPC paketlerinin nereye
gönderileceğini belirler.

Normal olarak, bazı RPC sunucuları inetd(Cool tarafından başlatılır, bu
yüzden portmap, inetd'den önce çalıştırılmalıdır.

NIS kurmadan önce, yukarıda da belirtildiği gibi iki durumu
değerlendirmek zorundasınız. Ya sizin makinanız halihazırdaki NIS
sunucularının bulunduğu bir ağın parçası olacaktır, ya da henüz ağınızda
herhangi bir NIS sunucusu yoktur.

Birinci durumda, sadece istemci programlara (ypbind, ypwhich, ypcat,
yppoll, ypmatch) ihtiyacınız vardır. En önemli program ypbind'dır. Bu
programı her zaman çalıştırıyor olmalısınız. ypbind çalışır çalışmaz,
makinanız bir NIS istemcisi durumuna gelir.

İkinci durumda, eğer NIS sunucularınız yoksa, bir de NIS sunucu
programına (ypserv) ihtiyacınız vardır.

NIS İstemcisi Kurulması

Slackware dağıtımıyla gelen NIS yazılımını daha önce kurmamışsanız,
sisteminize yükleyin. NIS istemcisi için ypbind dışındaki
çalıştırılabilir dosyalar (ypwhich, yppoll, ypmatch) bütün kullanıcılar
tarafından erişilebilir bir dizinde bulunmalıdır. Öncelikle yapılması
gereken ypbind'ı test etmektir. Bunun için,


Domain adınızı belirlediğinizden emin olun. Bunun için,

/bin/domainname-yp nis.domain/bin/domainname-yp > /etc/defaultdomain
komutunu girin. İkinci satırda, sistemde daha sonra kullanılmak üzere
/etc/defaultdomain dosyasına domain adı yazılır. Yukarıdaki komutta
nis.domain herhangi bir kelime olabilir.
Eğer çalışmıyorsa /usr/sbin/rpc.portmap programını çalıştırın.
/usr/sbin/ypbind programını çalıştırın.
rpcinfo -p localhost komutunu kullanarak ypbind programının
portmapper'da servislerini kayıt ettirdiğini kontrol edin. rpcinfo şöyle
bir çıktı üretmelidir:

program vers proto port100000 2 tcp 111 portmapper100000 2 udp 111
portmapper100007 2 udp 637 ypbind100007 2 tcp 639 ypbind300019 1 udp 660
Ayrıca rpcinfo -u localhost ypbind komutunu da çalıştırabilirsiniz. Bu
komut ise şöyle bir çıktı verir:

program 100007 version 2 ready and waiting
En son olarak, makina isim taramaları (host lookup) için /etc/host.conf
dosyasında lookup sırasına nis bilgisini ekleyin. Bu dosyada yeralan
order satırını istediğiniz gibi düzenleyebilirsiniz. Daha fazla bilgi
için resolv(Cool man sayfasına bakın.

$ cat /etc/host.conforder nis, bind, hostsmulti on

Bu noktadan sonra ypcat, vb gibi NIS istemci programları kullanılabilir.
Örneğin, ypcat passwd komutu bütün NIS şifre veritabanını gösterir.

Şimdi sistemde bulunan /etc/rc.d/rc.inet2 dosyasını ypbind programının
sistem açılırken çalışması ve sisteminizin bir NIS istemcisi olarak
görev yapması için değiştirmek gerekir. Ayrıca, /etc/rc.d/rc.inet2
dosyasını açın ve ypbind'ı çalıştıran ve domain adını belirleyen
satırların başındaki # işaretini kaldırın.


# domainnameif [ -r /etc/defaultdomain ] ; thendomainname-yp `cat
/etc/defaultdomain`fi# Start the ypbind daemonif [ -f ${NET}/ypbind -a
-d /var/yp ]; then echo -n " ypbind" ${NET}/ypbindfi

NIS'i çalıştırmak için /etc/passwd ve /etc/group dosyalarının sonuna
``+:*:0:0:::'' satırını ekleyin. ypbind'ı öldürüp yeniden çalıştırın.

NIS Sunucusu Kurulması

NIS aracılığı ile kullanıma açık olacak dosyalardan ihtiyacınız
olanların belirlenmesi gerekir. /var/yp/Makefile/ dosyasında gerekli
ekleme/çıkartmaları yapın.

NIS veri tabanını aşağıdaki satırı yazarak oluşturun:


$ cd /var/yp; make

Bu programın çalıştırılmasından sonra /var/yp dizini altında NIS domain
adıyla bir dizin yaratılır ve tüm veri tabanları burada tutulur.
portmapper programının (rpc.portmap) çalıştığından emin olduktan sonra
ypserv sunucusunu çalıştırın. rpcinfo komutu ile ypserv'in çalışmasını
kontrol edin.


$ rpcinfo -u localhost ypservprogram 100004 version 2 ready and waiting

Artık sunucu çalışmaktadır.

yppasswdd Programı

NIS şifre veritabanının güvenilir olması için ``yppasswd daemon''
gereklidir. Kullanıcılar yppasswd komutu yardımıyla sunucu üzerindeki
şifrelerini değiştirebilirler. yppasswd daemon (kısaca yppasswdd) bu
değişikliklerin doğru bir şekilde yapılmasını ve bu şifre değiştirme
sürecini kontrol eden sunucudur.

NIS'in Kontrol Edilmesi

NIS, birkaç basit komut ile kontrol edilebilir.


$ ypwhich

ypwhich NIS sunucusunun hangi makina olduğunu söyleyecektir. Bu komut
ise


$ ypmatch userid passwd

(userid herhangi bir kullanıcının login adı olmak kaydıyla) size bu
kullanıcının NIS şifre dosyasındaki bilgilerini verir. ypwhich ve
ypmatch programları NIS dağıtımı içinde gelirler.

Bir NIS sunucusu kapandığı ve tekrar başladığı zaman ypbind aşağıdaki
gibi bir mesaj ile başlayabilir:


yp_match: clnt_call:RPC: Unable to receive; errno = Connection refused

ve NIS veritabanında kayıtlı olanlar sisteme giremezler. root olarak
sisteme girmeyi deneyin ve başarılı olursanız ypbind işlemini öldürüp
yeniden başlatın.
Back to top Go down
Sponsored content




Linux Hakkında Herşey _
PostSubject: Re: Linux Hakkında Herşey   Linux Hakkında Herşey Empty

Back to top Go down
 

Linux Hakkında Herşey

View previous topic View next topic Back to top 
Page 1 of 1

Permissions in this forum:You cannot reply to topics in this forum
Forum Oku ll Lider Olmaya Değil , Önder Olmaya Geldik ! - vBulletin :: ılıı.lı.ıllı Bilgisayar ve Teknoloji ılıı.lı.ıllı :: İşletim Sistemleri :: Linux-