LINUX
Linux'a Giriş
1. Giris
Linux, ucuz kisisel bilgisayarlar için yazilan, Unix'in serbestçe dagitilabilen bir
gerçeklestirimidir (386 larda gelistirilmistir
ve simdi 486, 586, Pentium, Sun Sparc ve DEC Alpha donanimini da desteklemektedir). X
Windows, Emacs, TCP/IP ag olusturumu (SLIP
dahil) ve birçok uygulamayi desteklemektedir.
2. Baslamadan Önce
Linux'u kurmadan önce, makinenizin Linux için yeterli olup olmadigini bilmeniz ve uygun
bir Linux seçmeniz gereklidir.
3. Donanim gereksinimleri
Intel sürümleri için, suna benzer bir donanim yapilanisi gereklidir:Herhangi bir ISA,
EISA, VESA yerel yol ya da PCI 80386, 80486, Pentium ya da P-6 sistem yeterlidir.386SX'ten
P-6'ya kadar herhangi bir mikroislemci yeterlidir. Matematik yardimci islemcisine
gereksiniminiz yok, ama bulunmasi iyidir.En az 4 megabayt ana bellege ihtiyaciniz var.
Teknik olarak Linux, 2 megabayt ana bellek ile de çalisir, fakat çogu yazilim ve
kurulumlar 4 megabayt ana bellek gerektirmektedir. Ne kadar çok hafiza olursa o kadar
rahat olursunuz. X-Windows kullanmayi düsünüyorsaniz 8 ya da 16 megabayt hafiza tavsiye
edilir.
Sabit diskinizde Linux için ayrilmis bir
yere ihtiyaciniz olacak.Ayrilan yerin büyüklügü ne kadar yazilim yükleyeceginize
bagli. Çogu
kurulumlarda 40 ile 80 megabayt arasi yere ihtiyaç duyulur. Bu; yazilim için,aL Ver
alani (sanal RAM) için ve kullanicilara gerekli alani
kapsar.10 megabayt ya da daha az bir alan ayirarak Linux çalistirmaniz olasi oldugu gibi,
500 megabayt ya da daha fazla alan da ayirabilirsiniz. Bu alan ne kadar yazilim
yükleyeceginize ve ne kadar alana ihtiyaciniz olduguna bagli olarak degisir.
4.KuruLum (genel)
Rawrite komutunu kullanarak boot
disketleri olusturabilirsiniz.Yani bi $ekilde boot disketi olusturduktan sonra boLumleme
yani harddiskde linux ve dos icin olan alanlari duzenleme isi gelir.Ornek:
ilk olarak "p" komutu ile su
anki paylastirma tablosunu görüntüleriz.
Gördügünüz gibi /dev/hda1 (/dev/hda 'daki ilk bellek bölümü) 61693
blokluk bir DOS bellek bölümüdür.
Command (m for help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32M
Command (m for help):
Daha sonra yeni bir bellek bölümü yaratmak için "n" komutunu
kullaniriz. Linux kök bellek bölümü 80 megabayt olacak.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Burada bize sorulan genisletilmis mi yoksa ana bellek bölümü mü
yaratmak istedigimizdir. Birçok durumda, sürücü basina dört bellek
bölümünden fazlasini istemiyorsaniz ana bellek bölümlerini
kullanirsiniz. Daha fazla bilgi için daha önceki "Tekrar paylastirma"
bölümüne bakin.
Partition number (1-4): 2
First cylinder (204-683): 204
Last cylinder or +size or +sizeM or +sizeK (204-683): +80M
ilk silindir, son bellek bölümünün biraktigi yerden sonraki silindir
olmalidir. Buradaki durumda /dev/hda1 203. silindirde bitti ve yeni
bir bellek bölümünü 204. silindirden baslayarak yaratacagiz.
Gördügünüz gibi "+80M" gibi bir gösterim kullanirsak, bu 80
megabaytlik bir alani belirtir. Buna benzer olarak "+80K" da 80
kilobaytlik bir bellek bölümünü ve de "+80" de 80 baytlik bir bellek
bölümünü gosterir
Warning: Linux cannot currently use 33090 sectors of this partition
Bu uyari mesajini görürseniz, dikkate almaniz gerekmez. Bu, Linux
dosya sistemlerinin sadece 64 megabayt olabildigi zamandan kalma bir
mesajdir. Yeni dosya sistemi çesitleri ile böyle bir durum söz konusu
degildir... bellek bölümleri simdi 4 terabayt'a kadar olabilir.
Daha sonra /dev/hda3 adindaki 10 megabaytlik getir-götür bellek
bölümünü yaratiyoruz.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (474-683): 474
Last cylinder or +size or +sizeM or +sizeK (474-683): +10M
Tekrar paylastirma tablosunun içerigini gösteriyoruz. Buradaki
bilgileri, özellikle de her bellek bölümünün blok olarak boyutunu
bir kenara yaziniz. Bu bilgilere daha sonra ihtiyaciniz olacak.
Command (m for help): p
Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders
Units = cylinders of 608 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 * 1 1 203 61693 6 DOS 16-bit >=32M
/dev/hda2 204 204 473 82080 83 Linux native
/dev/hda3 474 474 507 10336 83 Linux native
Linux getir-götür bellek bölümünün (burada /dev/hda3) "Linux native"
(Linux yerel) tipinde olduguna dikkat edin. Getir-götür bellek
bölümünün tipini kurma programinin dogru algilamasi için "Linux swap"
(Linux getir-götür) olarak degistirmemiz gerekmektedir. Bunu yapmak
için fdisk'in "t" komutunu kullaniyoruz.
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 82
Eger tip kodlarinin bir listesini görmek için "L" komutunu kullanirsaniz,
82'nin Linux getir-götür bellek bölümüne ait oldugunu göreceksiniz.
Fdisk'ten çikmak ve de paylastirma tablosundaki degisiklikleri korumak için
"w" komutunu kullaniniz. Fdisk'ten degisiklikleri korumadan
çikmak için "q" komutunu kullaniniz.Fdisk'ten çiktiktan sonra, makinenizi
yeniden baslatmaniz ve degisikliklerin etkili olup, olmadigini kontrol etmeniz
istenebilir.Genelde fdisk kullandiktan sonra sistemi yeniden baslatmaya gerek yoktur.
Fdisk ve cfdisk'in modern sürümleri, sistemi yaniden baslatmaya gerek duymadan bellek
bölümlerini güncelleyebilirler.
Temel Komutlar
A.1-) Dosyalarin listesini
nasil elde edebilirim ?
- ls komutu ile.
- ls (secenekler) (dosya veya dizin...)
- Secenekler:
- -C : Goruntu cok kolonlu ve dosya isimleri
azalan sirada olacaktir.
- -F : Dosya isimleri sonunda * dizin
isimleri sonunda / isaretleri goruntulenerek birbirinden ayirt edilmelerini saglar.
- -R : Belirlenen bir dizin icindeki dosylar
yanisira varsa tum alt dizinler icerikleriyle birlikte listeler.
- -a : . ile baslayan dosyalar dahil dizinin
tum icerigini listeler.
- -c: Dosyalari siralamak veya bastirmak
amaciyla i-dugumlerinin en son duzletme tarihlerini kullanir.
- -l : Dosyalar hakkinda daha ayrintili bilgi
verir.
- -g : Eger ayrintili liste aliniyorsa yani
tum bilgiler listelenecek ise ve bu listede doyanin sahibinin grup adiyla birlikte yer
almasi isteniyorsa bu secenek kullanilir.
- -i : Her dosyayi idugumleri ile birlikte
goruntuler.
- -m : Dosya isismleri virgullerle
birbirinden ayrilarak listelenir.
- -n : Ayrintili listede yer alan ID
numaralarini listeler.
- -o : Ayrintili listeye grup adlarinin dahil
edilmesini saglar.
- -p : Dizinlerin / isaretiyle simgelenmesini
saglar.
- -q : Dosya isimleri icinde ? gibi grafik
olmayan karakterler varsa bunla rin listelenmesine yardimci olurlar.
- -r : Siralamayi ters yonden yapar.
- -s : Blok cinsinden dosyalarin boyutunu
verir.
- -t : Dosyalarin degisime ugrama zamanlarina
gore siralanmasini saglar.
- -u : Dosyalara en son erisim zamanlarina
gore siralanmasini saglar.
- Ornek :
- ls -l kursun*
- --w-rw--w- 1 e065247 B386 603 Oct 24 22:14
kursun.tar.gz
- --w-rw--w- 1 e065247 B386 607 Oct 24 22:23
kursun.html
A.2-) Bir dosyayi baska bir
yere yada isme nasil kopyalayabilirim ?
- cp komutu ile .
- Kullanimi :
- cp -[secenek] dosya baskabir_dosya_ismi
- Ornek :
- cp kursun.html s.html // kursun.html'i
s.html'e kopyalar.
- cp s.html ~/tmp // s.html'i HOME
dizinimdeki /tmp dizininin altina kopyalar
- cp -r ~/tmp ~/dump // HOME dizindeki tmp
dizinini dump dizininin altina kopyalar.
A.3-) Nasil dizin
olusturabilirim, ve silebilirim ?
- mkdir dizin_ismi // dizin olusturur
- rmdir dizin_ismi // ici bos olan bir dizini
siler.
A.4-) Dosyalari yada
dizinleri baska biryere nasil tasiyabilirim ?
mv komutu ile dosyalari baska bir dizine,
hatta dizinleri baska dizinlere tasiyabilirsiniz. Bu islemin sonunda orjinal dizini'in
icindeki dosyalarin isimlerinde bir degisiklik olmaz. Mv komutu DOS'taki rename ve move
komutuna benzer, ancak onlardan cok daha beceriklidir.
- Kullanimi :
- mv dosya1 dosya2
A.5-) Dosyalari nasil
silebilirim ?
Unix'te dosyalari silmek icin rm komutu
kullanilir. Aslinda rm'nin yaptigi sey dosyanin sahip oldugu linklerden birini
cikarmaktir. Eger dosyanin sadece bir link'i varsa sonucta dosya silinir.
DIKKAT : Unix'te DOS'takine benzer bir
UNDELETE komutu yoktur (mimarilerinin farkli olmasindan dolayi) bu sebeple dosyalarinizi
silerken cok dikkatli olmaniz gerekir. Eger bir dosya'yi yanlislikla silerseniz, system
sorumlunuza basvurun, belki backup'lardan dosyanizi geri getirebilir.
- Kullanimi :
- rm -[secenekler] Dosya_ismi Dosya_ismi ...
- Secenekler :
- -e : Dosyanin silinmesinden sonra ekrana
bilgi verir.
- -f : Sormadan write-protected dosyali
siler.
- -i : Dosyayi silmeden once bunun
dogrulugunu sorar.
- -r : Recursive olarak alt dizinleri siler.
- -R : -r ile aynidir.
- Ornek :
- rm kursun* // bulundugumuz dizindeki kursun
ile baslayan tum dosyalari siler
- rm -rf tmp // tmp dizinini ve alt
dizinlerini uyarmadan siler.
A.6-) Systemdeki islemler
hakkinda nasil bilgi alabilirim ?
- ps komutu ile.
- Kullanim :
- ps (secenekler)
- Secenekler:
- -e : Tum islemlerle ilgili bilgilerin
goruntulenmesini saglar.
- -d : Grup liderleri haric tum islemler
hakkinda bilgi verir.
- -a : Grup liderleri ve terminallerle
iliskisi olanlar disinda kalan tum islemler hakkinda bilgi verir.
- -f : Tam listenin uretilmesine olanak
tanir.
- -l : Ayrintili listeyi goruntuler.
- -c dosya : /dev/swap in bulundugu yerde
swapdev dosyasini kullanir.
- -t liste : Liste icinde yer verilen
terminallerden yurutulen islemler hakkinda ozel bilgi saglar.
- -p liste : Listede ID numaralari tanimlanan
islemlere iliskin ozel bilgileri goruntuler.
- -u liste : Belirlenen kullanicilarla
iliskili islemlere ait ozet bilgi.
- -g liste : Grup liderlerinin iliskili
oldugu islemler hakkinda o bilgi.
- x : Sahip oldugunuz tum islemleri lsiteler
.
- Ornek :
- /home/e065247/m>ps x
PID TTY STAT TIME COMMAND
81024 pts/7 R 0:00 ps x
113626 - S 0:00 xterm
117927 pts/7 S 0:00 -csh
125165 pts/5 S 0:05 telnet rorqual
129499 pts/12 S 0:00 -csh
132296 pts/5 S 0:00 -usr/local/bin/tcsh
167106 - S 0:06 aixterm
198577 - S 0:00 sh /usr/bin/X11/startx -t -wait
231908 pts/12 S 0:00 telnet rorqual
236990 - S 0:00 mwm
244646 - S 0:00 xterm
- Sahip oldugum bir islemi nasil kesebilirim
?
- kill (-sinyal) PID
PID numaralari ps komutu ile gorunur.Bir
cok sinyal tanimlanabilir. Bunlardan -9 islemi oldurur.
A.7-) Yerini bilmedigim bir
dosyayi nasil bulurum ?
- Find programi ile bulabilirsiniz.
- Kullanimi :
- find yol tanimi secenekler
- Secenekler:
- -name isim : aranilacak dosyanin ismi.
- -perm izin : Izinleri oktal olarak
belirlenmis dosyalarin aranilmasi.
- -links n : linke sahip dosyalar.
- -user kullanici : Belirli bir kullaniciya
ait dosyalarin aranmasi.
- -group isim : Belirli bir gruba dahil
dosyalarin aranmasi.
- -atime n : n gun icinde erisilen dosyalar.
- -mtime n : n gun icinde islem goren
dosyalar.
- -ctime n : n gun icinde degistirilen
dosyalar.
- -print : bulunan dosyalarin ekranda
goruntulenmesini saglar.
- Ornek :
Bulundugum dizinden itibaren tum
alt-dizinlerdeki "kursun" ile baslayan dosyalari bulmak icin;
- find . -name "kursun*" -print
- ./faq/kursun.tar.gz
- ./faq/kursun.html
- ./kursun
- ./kursun/kursun
- ./kursun/kursun.c
Not1 : Burada arayacagim dosyada wildcard
kullandigim icin " " isaretini kullandim. Eger dosyanin tam ismini biliyorsaniz
buna gerek yoktur.
Not2 : Eger bir aramayi root'tan ( / )
baslatirsaniz cok buyuk olasilikla bazi dosyalari okumaya izininiz olmadigi icin size bunu
belirten bir uyari mesaji verilecektir, ve bu mesajlar arasinda aradiginiz sey ekrana
yazilsa bile bunu gozden kacirabilirsiniz. Bu sebeple ciktiyi bir dosyaya yoneltip, daha
sonra o dosyayi okumanizda fayda vardir.
- Ornek :
- find / -name gzip -print > gzip
A.8-) Sifremi nasil
degistirebilirim ?
Kullanicinin sifrelerini degistirmek icin
passwd programi kullanilir. Bazi systemlerde yppasswd olarakta gecebilir. Bu komut'u
yazdiktan sonra sizden ilk olarak eski sifreniz ardindan yeni sifreniz sorulacaktir. Daha
sonra tekrar yeni sifreniz kontrol amaci ile sorulur. Eger bir hata yapmadiysaniz sifreniz
degistirilir.
- Iyi sifreler nasil olmalidir ?
Icinde noktalama isareti,rakam,bosluk ve
hatta kontrol karakterleri bulunduran sifreler secin. Icinde bunlardan bir tane bile olsa
boyle bir sifrenin bulunma olasiligi son derece dusuktur. Eger bu karakterlerin sayisini
arttirirsaniz bulunma olasiligi kat kat duser.
- Kotu sifrelere birkac ornek :
- murat
- balci
- Mbalci
- Ankara
- Hello
- .....
- Iyi sifrelere birkac ornek :
- .bir/iki
- [mb&elf]
- vs..vs..
Tabii guzel sifre secereken bunlarin
kolaylikla unutulmayacak seyler olmamasinada dikkat etmeniz gerekir ! . Ayrica
sifrelerinizi ASLA biryere yazmayin !.
A.9-) Bir dosyanin izinlerini
nasil degistirebilirim ?
- chmod izin modu dosya:Bir dosyaya verilen
izinlerin degistirilmesi.
- ls -l [dosya] yazdiginizda en solda gorulen
bilgiler, o dosyanin izinlerini gosterir.
- Ornek :
- ls -l kursun*
- --w-rw-r-- 1 e065247 B386 603 Oct 24 22:14
kursun.tar.gz
Goruldugu gibi en soldaki kisim 10 tane
alandan olusmaktadir. Bunlarinin ilk'i dosyanin niteligini ( dizin yada dosya ) sonraki
9'u da o dosyanin izinlerini gosterir.
Eger en soldaki alan "d" ile
baslarsa bu onun bir dizin oldugunu, "-" ile baslarsa normal bir dosya oldugunu
gosterir ( buarada unix'te her dizin ozel bir dosyadir ! )
Bu ilk karakterden sonra gelen 9 karakter
de kendi aralarinda 3 gruba bolunur.
- Ilk 3 Alan : Kullanici izinlerini
- Sonraki 3 Alan : Grup ile ilgili izinleri
- En Sagdaki 3 Alan : Diger kullanicilarla
ilgili izinleri gosterir.
- Herbir bolumde 3'e bolunur :
- r : Read ( okuma ) hakki;
- w : Write ( yazma ) hakki;
- x : Execute ( calistirma ) hakki.
- Ornek :
- -rw-r--r-- 1 e065247 B386 533 Oct 24 21:35
sen_aglama.html
gibi bir dosya bu dosyanin herkes
tarafindan okunabilir oldugunu, ama sadece o dosyanin sahibi tarafindan yazilabilir
oldugunu gosterir.
- chmod programinda kullanilan izin modlari
iki turlu belirtilebilir :
- 1- Numerik olarak :
- r'nin degeri : 4
- w'nin degeri : 2
- x'in degeri : 1 dir.
- Ornekler :
ORANTILI IZIN KODLARI
- ------------------------------------------------
- Orantili kod - Izin durumu -
- ------------------------------------------------
- 0400 - Dosya sahibi icin okuma -
- 0200 - Dosya sahibi icin yazma -
- 0100 - Dosya sahibi icin calistirma -
- 0040 - Gruptakiler icin okuma -
- 0020 - Gruptakiler icin yazma -
- 0010 - Gruptakiler icin calistirma -
- 0004 - Digerleri icin okuma -
- 0002 - Digerleri icin yazma -
- 0001 - Digerleri icin calistirma -
- ------------------------------------------------
- ls -l
- --w-rw--w- 1 e065247 B386 603 Oct 24 22:14
kursun.tar.gz
- --w-rw--w- 1 e065247 B386 607 Oct 24 22:23
kursun.html
- chmod 0220 kursun* // Kullaniciya ve grub'a
yazma hakki verelim
- ls -l
- --w--w---- 1 e065247 B386 603 Oct 24 22:14
kursun.tar.gz
- --w--w---- 1 e065247 B386 607 Oct 24 22:23
kursun.html
- 2- Karakter olarak :
- u : Dosyanin sahibi.
- g : Grup
- o : Digerleri
- a : Herkes
- + : Izin vermek
- - : Izinleri kaldirmak.
- = : Belirli bir izin atamak uzere.
- chmod go+r kursun* // Ek olarak gruba'a ve
digerlerine okuma hakki verelim
- ls -l
- --w-rw-r-- 1 e065247 B386 603 Oct 24 22:14
kursun.tar.gz
- --w-rw-r-- 1 e065247 B386 607 Oct 24 22:23
kursun.html
A.10-) Sahip oldugum
dosyalarin nekadar yer kapladigini nasil ogrenebilirim ?
- Baslica 2 yolu vardir;
1- du komutu. du komutu bunundugunuz
dizinden itibaren tum alt dizinleri tarayarak block cinsinden nekadar yer kapladigini
gosterir.Block size'lari genelde 512 byte'tir bu sebeple cikan sayiyi iki'ye bolerek o
dizinin nekadar yer kapladigini gorebilirsiniz. En asagidada toplam miktar belirtilir.
- Ornek :
- /home/e065247/m>du
- 72 ./.m
- 8 ./m
- 8 ./ch
- 496 ./temp
- 632 .
2- quota komutu. quota komutu toplam
olarak nekadar yer kapladiginizi ve sizin nekadar yazma hakkinizin oldugunu gosterir. Ayni
zamanda eger gecici disk sinirinizi astiysaniz, kalan gun miktari vs. gibi bilgileride
gosterir.
- Ornek :
- /home/e065247/m>quota
- Disk quotas for user e065247 (uid 517):
- Filesystem blocks quota limit grace files
quota limit grace
- /home211 2748 3000 5000 302 1000 1500
A.11-) Kimlerin calistigini
nasil ogrenebilirim ?
- w [secenekler]
w komutu sistemin yuku, ve calisanlarin
faaliyetleri konusunda bazi bilgiler verir. Komutu calistirdiktan sonra cikan bilgilerden
ilki, sistem hakkindadir : sistem saati, o anda kac kisinin acik oldugu, ve sistemin yuku
gibi.. Sistem yuku genelde 0 ile 40 arasinda degisen bir deger ile gosterilir. Eger
sistemin yuku 0-5 arasinda ise fazla yuklu olmadigini soyleyebiliriz o anda sistemin.
Ancak bazi cok kullanicili yada agir islerin yapildigi makinlerde bu sayi 5 ten cok cok
fazla olabilir.
Bu ilk satirin ardindan gelen satirlarda
siralar halinde kullanicilarla ilgili bilgiler bununur. Soldan saga dogru ;
- Ilk alan : Kullanici'nin userid si.
- 2. alan : Baglandigi tty'si.
- 3. alan : Nezaman login oldugu.
- 4. alan : Enson komutu calistrmasindan
sonra gecen zaman. (idle time)
- 5. alan : Makinenin acilmasindan beri
yapilan process'lerin getirdigi toplam yuk.
- 6. alan : Yapilan en son isin verdigi yuk.
- 7. alan : Yaptigi is !
- Ornek :
- /home/e065247/m>w e065247
- 01:09AM up 10 hrs, 40 users, load average:
2.44, 5.04, 5.33
- User tty login@ idle JCPU PCPU what
- e065247 pts/5 11:50PM 1 5 5 telnet
- e065247 pts/7 11:56PM 0 1 0 w
- e065247 pts/12 11:50PM 0 0 0 telnet
A.12-) Dosyalarin
ciktilarini Printer'den nasil alabilirim ?
- lp (secenekler) dosyalar
- Burda dosya hemen yazdirilmayarak spool a
atilacaktir.
- Secenekler:
- -c : Lp komutu kullanildiginda yazdirilacak
dosyanin bir kopyasinin olusturulmasi isteniyorsa -c secenegi kullanilir.bu secenek
kullanilmadiginda kopyalama islemi yerine link islemi gerceklestirilir.
- -dyazici : Yazma isleminin yapilacagi
yazicinin veya yazicilar sinifinin belirlenmesi amaciyla bu secenek tercih edilir.
- -m : Dosyalarin yazicidan bastirilmasi
ardindan measj gonderilmesine olanak saglar.
- -nsayi : Yazdirilacak dosyanin kopya
sayisini saprtamak uzere bu secenekten yararlanilir.kullanilmassa 1 oldugu varsayilir.
- -s : lp den "request id is.."gibi
mesajlarin atilmasini saglar.
- -tbaslik : Yazicidan alinan cikisa bir
basligin yazdirilmasi isteniyorsa bu secenek kullanilir.
- Yaziciya yolladigim dosyanin durumunu nasil
ogrenebilirim ?
- lpstat (secenekler)
- Secenekler:
- -a(liste) : Listede belirtilen yazicilara
gonderilen istekler hakkinda bilgi verir.
- -c(liste) : Yazici siniflari ve onlarin
uyelerini goruntuler.
- -d :sistemin kabul ettigi yaziciyi
goruntuler.
- -o(liste) : Yazdirilmak uzere gonderilen
dokumleri goruntuler.Liste yazici isimlerini siniflari ve istekleri kapsar.
- -r : Lp istek tablosunun durumunu
goruntuler.
- -s : Sistemin kabul ettigi yazicinin ismi
ver herbir yazicinin sahip oldugu ozel dosya isimlerini goruntuler.
- -t : Tum durum raporunu goruntuler.
- -u(liste): Liste icinde belirtilen
kullanicilara iliskin durum raporunu goruntuler.
- Yaziciya yolladigim bir dosyayi henuz
basilmadi ise iptal edebilirmiyim ?
- Evet.
- cancel (liste numarasi) (yazicilar)
A.13-) Nasil Alias
tanimlayabilirim ?
- Alias tanimlamalari kullandiginiz shell
programina gore degisir.
- C tabanli shell'lerde ( csh , tcsh ) bu is
oldukca kolaydir ;
- Kullanimi : alias kisaltma 'komut dizisi'
- Ornek : alias dir 'ls -lFa | more'
- bundan sonra her dir yazdiginizda ls -lFa |
more komut dizisi isleyecektir.
Sh tabanli shellerde ( sh, ksh vs.) :
- Kullanimi : alias kisaltma="komut
dizisi"
- Ornek : alias dir="ls -lFa |more"
A.14-) Bir dosyanin icini
gormek icin hangi programlari kullanabilirim ?
- cat [dosya_ismi]
[dosya_ismi] ...
Bir dosyanin icine bakmaya yarar. Dosyanin
icerigi hicbir sekilde durmadan ekrandan akip gecer. Boylari kucuk olan dosyalara bakmak
icin kullanilabilir, ancak buyuk dosyalara bakmak icin ugun degildir. Ancak baska amaclar
icin kullanilabilir ornegin :
- cat file1 >> file2
komutu file1 dosyasinin icerigini file2
dosyasinin arkasina kopyalar. Bu islem sonunda file1'in iceriginde bir degisiklik olmaz.
- pg secenekler (dosya..)
- Secenekler:
- -numara: Her defasinda goruntulenecek
satirlarin sayisini gosterir.
- -p dizgi: Normal olarak sayfanin en alt
satirinda (:)isareti olasarak kullanicinin return a basmasi beklenir.
- -c:Her bir sayfa goruntulenmeden once ekran
temizlenir ve imlece baslangic konumuna doner.
- -e: Her dosyanin sonunda kullanicinin
return a basmasi gerekmez.
- -n: Normal olarak komutlar yeni satir
karakteri ile son bulur.Otomatik olarak komut sonunun belirlenmesine olanak saglar.
- -s: msg lerin goruntulenmesini saglar.
- +satir no: Belirli bir satirdan itibaren
dosya goruntulenmek isteniyorsa dogrudan satir numarasi yazmak sureti ile bu saglanir.
- +/kalip/: Belirlenen kalibi iceren ilk
satiri bulmak amaciyla bu tur bir tanim yapilabilir.
- more [dosya_ismi]
[dosya_ismi] ...
Bir dosyanin icerigini ekranda gormek icin
kullanilir, ancak cat'ta oldugu gibi dosya'nin icerigi ekrandan kayip gecmez. Her sayfanin
sonunda ekrannin sol alt kosesinde --More--(x%) seklinde bir yazi belirir. Buradaki x'
dosyanin yuzde kacinin goruldugunu gosterir. Bu dosyanin buyuklugu hakkinda size bilgi
verebilir. --More--(x%) yazisini gordukten sonra asagidaki tus'lari kullanabilirsiniz.
- SPC : Arka sayfaya gecilmesini saglar.
- K : K'herhangi bir tam sayidir. Bu sayi
kadar ileriye gidilmesini saglar
- Kb : K sayisi kadar geri donulmesini
saglar.
- Ks : K sayisi kadar ileri gidilir, ancak
aradaki satirlar goruntulenmez.
- = : Bulundugunuz satir numarasi verilir.
- / : Dosyada arama yapmak icin kullanilir.
- v : vi editorunu cagirir.
- q : programdan cikar.
- less [secenekler]
[dosya] [dosya] ....
More ve vi programlarinin bir karisimidir
denilebilir. Ileri oldugu gibi geriye dogruda kolaylikla islem yapilabilmesini saglar.
- H, h : Komutlarin kisabir ozetini gosterir.
- SPC,^V,f,^F : Arka sayfaya gecer.
- Kz : K sayisi kadar ileri gider.
- RETURN,e,j : Bir satir ileri gider.
- d,^D : Yarim sayfa ileri gider.
- b,^B : Bir sayfa geriye gider.
- y,k : Bir satir geriye gider.
- u,^U : Yarim sayfa geriye gider.
- r,^R,^L : Ekrani temizler.
- q : Programdan cikar.
- Rg : R'inci satira gider (default degeri 1
dir )
- Rp,R% : Dosyanin yuzde R'ina gider.
- ! : Shell acmanizi saglar (exit geri
doner).
- / : Arama yapmanizi saglar.
- most [dosya]
More ve less'in karisimidir denebilir.
Ikisininde farkli ozelliklerini almistir. Eger systeminizde varsa bunu kullanmanizi
tavsiye ederim. 'h' ile kullanilan tuslar hakkinda bir bilgi alabilirsiniz.
Internet Bağlantısı
Linuxta modemi tanitmak icin yapmaniz
gereken seyler asama asama
sunlardir:
1. Oncelikle modeminizin hangi aygit dosyasina ve irq ya sahip oldugunu
bulmaniz gerekir. Bunun icin bir program hazirlanmasi dusunulmektedir ama
su an icin elle yapmalisiniz. Modemin bagli bulundugu aygiti bulmak icin
dip programini kullanabilirsiniz.
dip -t yaziniz;
DIP: Dialup IP Protocol Driver version 3.3.7o-uri (8 Feb 96)
Written by Fred N. van Kempen, MicroWalt Corporation.
DIP> port cua4
DIP: tty_open: cannot get current state!
ornekte goruldugu gibi dip -t komutunu girdiginizde DIP> seklinde bir komut girisi
goreceksiniz. Burada modem inizin bagli olabilecegi 4 aygit
olabilir. Eger mouse unuz DOS taki COM1 de ise olasilik 3'e duser, bunun anlami modemin
cua0 aygitinda olmadigidir, geriye sadece cua1 (COM2), cua2(COM2) ve cua3 (COM4) aygitlari
kalir. Bu uc olasiligi port komutunu kullanarak deneyebilirsiniz. Eger dip programi
yukarida gorulen hatayi vermeyip DIP> ciktisini verirse dogru portu buldunuz demektir.
Ornek:
DIP> port cua2
DIP>
Simdi sira irq'yu bulmaya geldi. Normalde irq 3 veya irq 4 olmalidir,fakat bazi durumlarda
modeminizin irq su degismis olabilir. Bunu anlamak
icin cat /proc/interrupts komutunu verin.
cat /proc/interrupts
0: 439984 timer
1: 28367 keyboard
2: 0 cascade
11: 61497 + serial
4: 7214 + serial
7: 1 sound blaster
9: 0 mpu401
13: 1 math error
14: 63955 + ide0
15: 4 + ide1
Bu ciktida serial yazan iki satir goreceksiniz, birisi mousea ait digeri modeme aittir.
Burada mousea ait olan irq 4 olmalidir. Digeri ise
modemdir. Bu sayi modeme iliskin irq degerini verir. Eger bu sayi 3 ise hic bir islem
yapmaniza gerek yoktur, eger farkli bir degerse su komutu
vermelisiniz.* Modem aygitinizin cua3 ve irq degerinin 11 oldugunu varsayarsak,
setserial /dev/cua3 irq 11
bu islemden sonra modem e ait irq ayarlanmis olur. Bu komutun etkisi sadece o oturuma
iliskindir, yani her boot isleminde komutun etkisi
yokolur o yuzden eger bu komutu vermeniz gerekliyse /etc/rc.d/rc.local
dosyasi
icersine ekleyin.
2. Ayarlarin Dogru Olup Olmadiginin Sinanmasi
Ayarlarinizi yaptiktan sonra dip programi ile modemin dogru calisip calismadigini
sinayabilirsiniz. Bunun nasil yapildigini anlatmadan once
dip programini biraz taniyalim. Dip programinda iki kip vardir; birinci kip normal kiptir,
ikincisi ise TERM kipidir. TERM kipinde girilen her komut modem tarafindan HAYES komut
setinde bir komut olarak algilanir. TERM moduna gecmek icin term komutunu vermeniz
yeterlidir, TERM modundan cikmak icinse ^] yani (CTRL+] tus kombinasyonu) gerekir.
dip -t
DIP: Dialup IP Protocol Driver version 3.3.7o-uri (8 Feb 96)
Written by Fred N. van Kempen, MicroWalt Corporation.
DIP> port cua4
DIP> TERM
[ Entering TERMINAL mode. Use CTRL-] to get back ]
atz
OK
yukarida ornekte goruldugu gibi, term moduna gecildiginde atz komutunu verin (HAYES komut
setinde modemi resetleyen komut), eger komutu yazarken yazdiginizi goruyorsaniz ve OK
ciktisini aliyorsaniz ayarlariniz saglamdir, eger degilse maalesef ayarlarinizi yanlis
yapmissiniz demekir,1. bolumu bir daha okuyun.
3. DIP Ile PPP Baglanti
Bu kisimda dip in script ozelligine girmeden , en eski yontem ile PPP baglantisinin nasil
alindigi anlatilacaktir.
Ilk once assagidaki ciktiyi inceleyin,
# dip -t
DIP: Dialup IP Protocol Driver version 3.3.7o-uri (8 Feb 96)
Written by Fred N. van Kempen, MicroWalt Corporation.
DIP> port cua1
DIP> get $local 0.0.0.0
DIP> get $remote 0.0.0.0
DIP> get $mru 542
DIP> get $mtu 542
DIP> speed 57600
DIP> term
[ Entering TERMINAL mode. Use CTRL-] to get back ]
ath0
OK
atdt0822xxxxxxx
CONNECT 57600
Username : xxxxx
Password : xxxxx
Async interface address is unnumbered (Ethernet0)
Your IP address is xxx.xxx.xxx.xxx MTU is 542 bytes
Header compression will match your system.
[ Back to LOCAL mode. ]
DIP> mode PPP
#
Simdi bu ciktiyi inceleyelim,Oncelikle dip -t yazarak dip programini calistirdik daha
sonra az once anlatildigi gibi port komutu ile modemin bagli oldugu aygiti tanimladik.get
komutu bir parametrenin degerini vermek icin kullanilir, burada local ve remote
parametreleri sira ile bizim modemimizin bagli oldugu aygitin IP sini ve modemimizin bagli
oldugu karsi modemin aygitinin IP sini gosterir.Bunlara 0.0.0.0 degerinin verilmesi, bu IP
leri programin otomatik almasi gerektigi anlamina gelir, yani bu IP ler program tarafindan
otomatik olarak ayarlanacaktir. mru ve mtu parametreleri ise modemin gonderecegi ve
cekecegi enbuyuk paket buyuklugunu gosterir bu parametrenin optimum degeri
542 dir, ama bu parametreleri vermeniz zorunlu degildir, speed komutu aygitinizin
(dolayisi ile modeminizin) maximum transfer hizini belirler,
eger belirtmezseniz 38400 degerini alir, eger modeminiz v42bis ozelligine sahipse ve
sIkIstIrma yapabiliyorsa bu hizi daha yuksek
tutabilirsiniz, daha sonra term komutu ile TERM moduna geciyoruz ve HAYES komut setini
kullanarak numaramizi ceviriyoruz, ath0 komutu modemi ilk kullanim icin hazirlar ve atdt
komutu ise belirtilen telefon numarasini cevirir, numarayi cevirdikten sonra CONNECT
seklinde bir mesaj alacaksiniz ve komut girdisi goreceksiniz, burasi ISP nize bagli olarak
degisir, burada kullanici kodu ve sifrenizi girdikten sonra ISP nizden gelen
Async interface address is unnumbered (Ethernet0)
Your IP address is xxx.xxx.xxx.xxx MTU is 542 bytes
Header compression will match your system.
ciktisini gormelisiniz, bu cikti baglantinin gerceklestigi anlamina gelir,bu asamada ctrl
] komutunu vererek TERM modundan cikin ve mode PPP komutunu verin, tekrar kabuk ortamina
duseceksiniz. Artik internete baglisiniz.
Kernel Derleme
Sisteme root olarak giris yapin ve /usr/src
dizinine geçin. Linux'un kurulmasi asamasinda çekirdekleri de kurmus iseniz bu dizinde
'linux' isminde ve eski çekirdegin kaynak kodlarini kapsayan bir alt dizin göreceksiniz.
Genellikle her kullanicinin yaptigi, bu dizinin ismini o an çalisan çekirdegin
sürümüne göre degistirmektir. Çekirdek sürümünü bulmak için ise uname -r
komutunu kullanabilirsiniz.
$ uname -r
2.0.30
Bu komuttan çekirdegin 2.0.30 sürümü
oldugunu anlayabiliriz.
Çekirdek kodunu içeren paketi açmadan
önce /usr/src dizinine kopyalayin, ve açmadan önce bu dizinde 'linux'
isimli bir dizinin olmadigina emin olun. simdi /usr/src içinde iken
sikistirilmis çekirdek kodunu 'tar' komutu yardimiyla açin.
# tar -zxf linux-x.y.z.tar.gz
Komutun isletimi bitince 'linux' dizini
olusur. ilk defa derleme islemi yapacaksaniz asagidaki komutlari sirasiyla yazin.
# 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 yazin. Bu komut, bir konfigürasyon dosyasi yaratmak
amaciyla sorular sorar.
Karsiniza çikan sorulara 'y' (evet) veya
'n' (hayir) ile cevap vermeniz gerekir. Bazi aygit sürücülerde 'm' seçenegi de
olabilir. Bunun anlami, sistem o programi modül olarak derleyecek ve çekirdege dahil
etmeyecek demektir. Kullanici derleme asamasindan sonra istedigi zaman bu modülü
çekirdege dahil edebilir, isini bitirdikten sonra da çikarabilir.
2.0.x ve daha yukari sürümlerde '?'
tusuna basmakla daha ayrintili bilgi alabilirsiniz. Asagida bazi konfigürasyon
parametreleri verilmistir.
- Matematik islemci emülasyonu (Kernel math
emulation)
- Kullandiginiz makinanin islemcisi yardimci
matematik islemcisine sahip degilse (486SX, 386SX veya daha düsük makinalar) bu
seçenege evet cevabini vermelisiniz.
- Normal (MFM/RLL) disk ve IDE disk/cdrom
destegi (Normal disk and IDE disk/cdrom support)
- Hemen herkesin kullandigi PC sabit
disklerinin standart olmasi sebebiyle bu seçenege 'y' cevabi verilebilir. Daha ileride
SCSI sabit disk ve cdrom destegi de sorulacaktir. Ardindan gelecek olan 'old disks-only'
ve 'new IDE' sürücülerinden birini seçerken, aralarindaki farkin ilkinde tek arabirim
üzerinden iki adet diski desteklemesi, digerinde ise ikinci arabirim ile birlikte
IDE/ATAPI cdrom'lari desteklemesidir.
- Ag destegi (Networking support)
- Makinaniz herhangi bir ag üzerinde ise
(internet gibi), veya internet'e baglanmak için SLIP, PPP gibi programlari kullanmak
istiyorsaniz bu bölüme 'y' cevabi vermelisiniz. Fakat, ag üzerinde olmasaniz bile her
geçen gün yeni yeni uygulama programlarinin ve paketlerin ag destegine ihtiyaci oldugunu
düsünürsek (X Window gibi) bu bölüme 'y' cevabi vermeniz sart görünüyor.
- En fazla 16Mb hafiza (Limit memory to low
16Mb)
- Bazi hatali 386 DMA denetleyicileri
hafizanin 16Mb'tan yüksek bölümlerine ulasamazlar. Çok nadir görülen bu durum
makinanizda varsa bu seçenegi 'y' ile geçin.
- System V IPC (System V IPC):
- IPC (Interprocess Communication) destegi
verir. Bazi Perl programlari ve oyunlar (DOOM gibi) bu seçenek olmadan çalisamazlar. Bu
durumda ne yaptiginizi iyi bilmiyorsaniz bu seçenege 'y' -evet- cevabi verin.
- islemci tipi (386, 486, Pentium, PPro):
- Burada, çekirdeginizi hangi tür makina
için derliyorsaniz, o makinanin tipini giriniz.
- SCSI destegi (SCSI Support):
- SCSI aygitlariniz var ise bu seçenek için
'evet' deyin. Daha sonra da karsiniza gelecek SCSI aygitlar arasindan size uygun olanlari
alin.
- Ag karti destegi (Network Device Support):
- Aga baglanmak için bir kart
kullanacaksaniz veya SLIP, PPP baglantilari, ya da paralel port üzerinden yapacaginiz her
türlü islemler için bu seçenegi isaretleyin. Ardindan ekrana gelen kart tiplerinden
uygun olanlarini seçin.
- Dosya sistemleri (Filesystems):
- Burada, asagidaki dosya sistemlerinden
kullanmak istediklerinizi seçebilirsiniz.
- minix: Yeni dagitimlar , artik tarih olmaya
baslayan bu dosya sistemini desteklememekte. Bazi kurtarma disketleri yaratmak için daha
yaygin, fakat daha az kararli olan ext2 dosya sistemine tercih edilirler.
- Extended file system (ext): Bu da artik
kullanimi olmayan bir dosya sistemi. Destegini ekleyip eklememek size kalmis.
- Second extended file system (ext2):
Linux'un kullandigi en önemli dosya sistemi. Alinmasi sart.
- xiafs: Artik kullanilmiyor.
- msdos: Sabit diskinizde DOS bölümü
varsa, ya da DOS disketi kullanmak istiyorsaniz, alin.
- umsdos: MS-DOS dosya sistemine bazi
yenilikler (uzun dosya isimleri gibi) getirilerek olusturulan bir teknoloji. MS-DOS
destegi almadiysaniz buna da gerek yok.
- proc: Bu aslinda gerçek bir dosya sistemi
degil, çekirdek görüntüsüdür. `y' cevabini vermezseniz ileride basiniz çok agrir.
- NFS: Linux makinaniz bir ag üzerinde
kurulu iken ag üzerindeki diger makinalarin dosya sistemlerini kullanabilmenizi saglar.
- ISO9660: CD-ROM sürücünüzü Linux
altinda kullanabilmek için 'y' cevabi verin.
- OS/2 HPFS: OS/2 dosya sistemlerini
okuyabilmek için 'y' cevabi verin.
- System V: Bir UN*X sürümü olan System V
makinalarinin dosya sistemleri üzerinde çalisabilmeyi saglar.
- Karakter aygitlar (Character devices):
- Bu bölümde yazici, fare ve bazi teyp
yedekleme sürücüleri gibi karakter aygitlari (iletisimini karakter karakter saglayan
aygitlar) için sürücüleri ekleyebilirsiniz.
- Ses karti (Sound Card Support):
- Linux'un ses kapasitesini
"duyabilmek" için bu destegi ekleyin.
- Çekirdek islemleri (Kernel Hacking):
- Çekirdekten dogan hatalarin bulunmasini
kolaylastiran bu seçenek, programcilara yönelik.
Tüm bu islemlerin ardindan make
config komutunun görevi bitmis olur.
Temizlik
Fazla dosyalari temizlemek, gerekli olan
dosyalarin da yerinde olup olmadigini kontrol etmek için , sirasiyla
# make dep
# make clean
yazin. Ardindan tüm nesne dosyalari ve
eski sürümden arta kalan dosyalar silinecektir. Bu adimi es geçmemelisiniz.
Temizlik isleminden sonra,
# make zImage , veya
# make zdisk
yazin. Eger bir kisisel bilgisayarda
çalisiyorsaniz, ilk seçenekte çekirdek derlenip /usr/src/linux/arch/i386/boot
dizini altina zImage adiyla yerlestirilecektir. Buraya yerlestirilmeden önce
yerden kazanmak için çekirdek sikistirilir. Diger durumda ise yeni çekirdek sabit disk
yerine A: disket sürücüsüne yazilir. Disket üzerine yazmanin bir
avantaji, kararli olmayan ve sistemi açmayan çekirdek ile karsilasilmasi halinde,
sistemi sabit disk üzerindeki eski çekirdekten açabilme imkani birakmasidir.
Çekirdegin Kurulmasi
LILO, bilgisayarin açilisi aninda
çekirdek ile ilgili düzenlemeleri okur, buna göre hangi çekirdekten açmasi
gerektigini anlar. Konfigürasyon dosyasi biraz karmasik olmasina ragmen kullanim
asamasinda büyük yararlar saglar. /etc/lilo.conf dosyasinin içinde gerekli
olan kurulum bilgileri vardir. Bu dosyanin bir bölüm asagida görülüyor.
image = /vmlinuz
label = linux
root = /dev/hda1
other = /dev/hda1
label = dos
table = /dev/hda
image = ibaresi kurulu olan
çekirdege isaret eder. Çogu kullanici bu kisma vmlinuz yazar. label =
bölümünde hangi isletim sistemi veya çekirdek sürümünun açilista kullanilacagi
yazilir. Hemen altindaki root bölümünde ise label = kisminda
seçilen isletim sisteminin hiyerarsik sirada en üst dizin yapisi yazilir. Eski
çekirdegin bir yedegini alin ve yeni derlediginiz çekirdegi image =
satirinda belirtilen yere kopyalayin.
# cp zImage /vmlinuz
simdi LILO programini çalistirin. Komut
satirinda lilo yazmak yeterlidir. `*' karakteri, çalistirilacak ilk
çekirdegi veya sistemi gösterir.
# lilo
Added linux *
Added dos
Yeni bir çekirdegi derledikten sonra LILO
üzerinden ekleme yapmak ve açilis aninda kullanmak için /etc/lilo.conf
dosyasindaki
image = /vmlinuz
label = Linux
root = /dev/hda1
satirlarinin kopyasini çikarin, image
, label ve root yerine sirasiyla yeni derlenen çekirdegin sabit
disk üzerindeki yerini, ismini ve Linux isletim sisteminizin kök dizinini yazin. Bunlara
ek olarak, açilis aninda bekleme saglamak ve seçim yapabilmek için konfigürasyon
dosyasinin basina delay = xxx ekleyebilirsiniz. xxx sayisi, gecikme zamani
saniyenin onda biri olarak verilir. Bu sayede açilis aninda , örnegin shift tusuna
basilarak istenen çekirdegin ismi (label = satirinda yazilan isim) seçilir
ve çalistirilir.
!Bu kadar haddi kolay gelsin! |