Bedava Ödev İndir > Akademik-Üniversite Kaynaklar > Bilgisayar Kaynaklar > UNİX SİSTEM YÖNETİMİ

Reklamlar

Sayfa: 1
  Yazdır  
Gönderen Konu: UNİX SİSTEM YÖNETİMİ  (Okunma Sayısı 101 defa)
Mayıs 14, 2008, 11:32:07 ÖÖ
Abruzzi
Çalışkan öğrenci
****

Rep +6/-0
Mesaj Sayısı: 1031



Üyelik Bilgileri
« : Mayıs 14, 2008, 11:32:07 ÖÖ »


         

 

ISLETIM SISTEMININ YUKLENMESI, MULTIUSER ORTAMIN BASLATILMASI:
1. Sistem power on yap[ldiginda sistem diskinin 0. Blogundaki boot
   program[ okunur. Bu program "bootstrap loader" olarak bilinir.
   (Diskin 0. Blogu ozel bir yerdir. Bu bloga isletim sistemi
   komutlar[ ile ulas[lamaz.)

2. Bu program daha sonra disk uzerindeki boot program[n[ bellege
   yukler. Ve boot program[ cal[smaya baslar.

3. Boot program[ "UNIX kernel" [ bellege yukler. Boylece Process
   Id'si (=PID) 0 olan process,yani UNIX kernel cal[smaya baslar.

4. Kernel daha sonra PID=1 olan "init" process'ini yarat[r. Bundan
   sonraki islemlerin tumunu init process'i gerceklestirir.

5. Init process'i herbit terminal say[s[ kadar "getty" processlerini
   yarat[r. Bu process'in cal[smas[yla birlikte terminallere "login"
   mesaj[ gelir. (Process yaratma islemi "fork system call" [ [ ile
   gerceklestirilir.)

6. Ekranlara gelen "login" mesaj[n[n karsisina gecerli bir kullanici
   ismi yaz[ld[g[nda getty process'i "exec system call" [ ile "login"
   program[na donusur. ("exec system call" ile yeni bir process yara-
   tilmaz.)
 
7. Login program[ kullan[c[ ismini al[r ve gerekli kontrollar[ yap-
   t[ktan sonra yine exec system call'[ ile "shell"i execute eder.
   Boylece ekranlara "shell prompt"u gelir.

NOT: CTRL-D ile logout olundugunda, getty process'i sonlanmis olur.
     Bu durumda "father process" olan init process'i ayn[ terminal     
     icin yeni bir getty process'i yarat[r.

 

 
     

         ...........
         :  BOOT   :
         :.........:
             :
             :
         ....V......                    /etc/inittab
         :PID=0    :                 ..................
         :   UNIX  :                 : Initialization :
         :.........:                .:     Table      :
             :                   .   :................:
             :                .
       ......V........      .           /etc/rc
       :PID=1        :   .           .................
       :             :.              :    Shell      :
.......:    INIT     :...............:   Script      :
:      :.............:               :...............:
:         .      .
:        .        .
:       .          .                   /etc/gettydefs
:  .........   .........             .................
:  :       :   :       :             :  Terminal     :
:  : GETTY :   : GETTY :.............:  Settings     :
:  :.......:   :.......:             :...............:
:      :           :
:      :           :
:      :           :                    /etc/passwd
:  ....V....       V                 .................
:  :       :                         :   Password    :
:  : LOGIN :.........................:     File      :
:  :.......:                         :...............:
:      :
:      :                               /etc/profile
:      :                             .................
:  ....V....                         :     Shell     :
:  :       :.........................:     Script    :
:  : SHELL :.   .                    :...............:
:  :.......:         .                $HOME/.profile
:      :                   .         .................
:      :                       .     :     Shell     :
:      :                           . :     Script    :
:......:                             :...............:


 

                         


SHUTDOWN ISLEMI :
-----------------

Shutdown program[ sistemi kapatmak icin kullan[l[r.Program sistem
konsolundan "root" kullan[c[s[ olarak baslat[l[r. Islemi baslatmadan
once "/"directory'de olunup olunmadigi kontrol edilmelidir.

Shutdown islemi asag[daki uc komuttan birisi verilerek baslat[l[r :

       1.  shutdown     ==> Interactive (soru cevap biciminde)
                            olarak shutdown islemini gerceklesti-
                            rilir.Komut verildikten 60 saniye ic-
                            inde kullan[c[lar[n logout olmalar[
                            gerekir.

       2.  shutdown -gN ==> Burada N, 0 ile 9 aras[nda bir say[
                            olmal[d[r."-g"opsiyonu ile,N'in
                            10 kat[ kadar bir sure icinde (saniye)
                            olarak) shutdown isleminin baslat[la-   
                            cag[ belirtilir.Bu da bir onceki is-
                            lem gibi interactive olarak gercekles-
                            tirilir.

       3.  shutdown -y  ==> Bu komut kullan[larak yap[lan islem
                            interactive degildir. Ayr[ca kullan[-
                            c[lara hicbir uyar[ mesaj[ gonderilmez.

Shutdown islemi baslad[g[nda tum terminallere asag[daki uyar[lar
gelir:

Broadcast Message from root (console) Date ...
PLEASE LOGIN OFF NOW { { {
All processes will be killed in ... seconds

Bu durumda terminallerde cal[sanlar[n CTRL-D tusunu kullanarak log
off olmalar[ gerekir.

 
 



Sistem konsoluna ise asag[daki mesajlar gelir :

SHUTDOWN PROGRAM
(gunun tarihi)
Broadcast Message from root (console) Date ...
SYSTEM BEING BROUGHT DOWN NOW { { {
Busy out (push down) the appropriate
phone lines for this system.





Eger islem interactive ise asag[daki sorular sorulur :

- Do you want to continue ? (y or n) :

  Isleme devam etmek isteniyorsa "y" ; istenmiyorsa "n" girilir.

- Do you want to go in SINGLE USER mode ? (y or n) :
 
  Eger single user mode'da calisilmak isteniyorsa ekrana asag[daki
  mesajlar ve shell prompt'u gelir :

All currently running processes will be killed
Wait for 'INIT : SINGLE USER MODE' before halting

Single user mode'da calisma sona erince sistemi kapatmak icin
asag[daki uc komut s[ras[yla verilir.

sync (RETURN)
sync (RETURN)
sync (RETURN)


 




Eger islem interactive degilse ya da single user mode'a gecilmemis
ise asag[daki mesajlar ile sistemin kapanmas[ islemi surdurulur :

INIT : New run level : 0
System services are now being stopped.
All currently running processes will now be killed.
System is down.

Bu mesajlardan sonra sistemin "DC ON" lambas[ soner, yaln[zca
"AC PRESENT" lambas[ yan[k kal[r. Bu durumda art[k sistem arkadan
power off yap[labilir.








   


INIT PROCESS :
--------------

Init process'in as[l gorevi, sistem diskindeki /etc/inittab file
'[ndaki tan[mlar[ kullanarak ilgili process'leri yaratmakt[r.

Init process'i cesitli run-level'larda (isleyis duzeyi) calisabilir.
(0-6,s,S,q,Q gibi)

Init, kernel taraf[ndan baslat[ld[g[nda ilk olarak /etc/inittab
file'[na bakar.Eger bu file yok ise, default olarak "S" ya da "s"
mode'da (SINGLE USER mode) calisir. Eger file var ise. bu durumda
file'da "initdefault" tan[m[n[ arar. Eger bu tan[m yok ise bu
durumda sistem konsolundan run-level degerinin girilmesini bekler.
Eger "s" girilirse, bu durumda SINGLE USER mode'de cal[s[r ve /etc/
inittab ile iliskisi kalmaz. Eger initdefault tan[m[ var ise, o zaman
buradaki run-level degerini al[r ve bu level'da cal[smaya baslar.
Daha sonra ise, ilgili run-level'da calismas[ gereken diger process'
leri de baslat[r.

\rnegin, /etc/inittab 'de asagidaki tan[mlar var ise;
         is:2:initdefault
         .
         .
         co:1234:respawn:/etc/getty console console ....1
         01:2:respawn:/etc/getty tty01 9600         ....2
         02:2:respawn:/etc/getty tty02 9600         ....3
         .
         .
Bu durumda run-level 2'dir. Ve 1,2,3 'uncu sat[rlar isleme al[n[r.
Yani getty process'i console, tty02 ;de cal[st[r[l[r.(Multiuserenv.)

Herbir getty process'i init taraf[ndan yarat[l[r (child process).
Getty process'leri yarat[ld[ktan sonra init beklemeye baslar (wait
state). Eger getty process'lerinden bnirisinin sonlad[g[na iliskin
bir sinyal al[rsa, bu durumda /etc/utmp ve /etc/wtmp file'lar[n[
gunler (Bu file'larda yarat[lan process'lere iliskin bilgiler vard[r).

   







Getty process'lerinden birisinin sonlanmas[, asag[daki islemlerden
herhangi birisinin gerceklesmesi demektir :

         - powerfail sinyali
         - init'e, init taraf[ndan run-level'[ degistiren bir sin-
           yalin gelmesi

Bu durumda init process'i /etc/inittab file'[n[ yeniden gozden geci-
rir (Init file'[n[n tekrar gozden gecirilmesi islemi "init q" kom-
utu verilerek de yap[labilir.)  :

         - Eger powerfail sinyali (SIGPWR) alm[s ise, bu durumda
           /etc/inittab file'[nda yaln[zca powerfail ile ilgili sa-
           t[rlar isleme sokulur.

         - Eger run-level 'i degistiren bir sinyal alm[s ise
           bu durumda yeni run-level 'da tan[ms[z tum process'lere
           once uyar[ sinyali (SIGTERM);  daha sonra ise kill sinyali
           (SIGKILL) gonderir. Boylece processler sonland[r[lm[s olur.
           Daha sonra ise yeni run-level 'da tan[ml[ olan processler
           cal[st[r[l[r.
   



 

/etc/inittab file'inin yapisi:
------------------------------
/etc/inittab file'inin herbir satiri asagidaki bicimdedir:

id:rstate:action:process

Satirlar new-line karekteri ile sonlandirilir.Eger new-line karak-
terinden once  "bacslash"karakteri yazilirsa, bu bir sonraki sa-
tira devam edecegini bildirir.

id      : 1 vaeya 2 karakter uzunlukta olabilir. Ilgili tanimi belir-
          ler.

rstate  : Tanimlanan process'in hangi run-level'lar icin gecerli ol-
          dugunu belirler. (ornegin run-level "1" ise, rstate kisminda
          "1" yazan processler calistirilir.)
          Rstate   0-6 arasinda bir tamsayi olabilir. Bu sayilarin
          kombinasyolarida gecerlidir.
          Rstate  a,b,c gibi degerlerde olabilir. Bunlar gercek
          run-level degerleri degildir. Yanlizca ozel olarak calis-
          dirilamazlar.Bu tur process'lerin sonlandirilabilmeleri
          icin init'in SINGLE USER mode'a girmesi gerekir.
          Eger rsteta belirtilmemis ise, bu durumda process 0-6 ara-
          sindaki herhangibir run level'da calisabilir.


action  : Bu bilgi alani, init'e ilgili process'in nasil calistiri-
          lacagina iliskin bilgi verir. Asagidaki degerlerden herhan-
          gibirisi olabilir :

                  - respawn   : Eger ilgili process calisir durumda
                                degise process'i baslatir ve kendisi
                                /etc/inittab'i taramaya devam eder.
                                Eger ilgili process calisir durumda 
                                ise /etc/inittab'i tarama isini sur-   
                                durur.
                 -wait        : Process'i baslatir ve bitene kadar
                                bekler.



 




              - once        : Process'i baslatir ve bitmesini bek-
                               lemez. Process yalnizca bir kez bas-
                               latilir. Bitince tekrarbaslatilmaz.
              - boot         : Init process'inin bellege boot edil-
                               mesi sirasinda baslatilir. Bitmesi   
                               beklenmez. Bittiginde yeniden basla-
                               tilmaz.
              - bootwait     : Init process'inin bellege boot edilme-
                               si sirasinda baslatilir. Bitmesi bek-
                               lenir. Bittiginde yeniden baslatilmaz.
              - powerfail    : Init'e powerfail sinyali (SIGPWR)
                               geldiginde baslatilir ve bitmesi     
                               beklenir.
              - off          : Ilgili process eger calisir durumda
                               ise once uyari sinyali (SIGTERM) gon-
                               derilir. Ve 20 sn. bekledikten sonra
                               kill sinyali (SIGKILL) gonderilir. il-
                               gili process calisir durumda degilse
                               bu process tanimi goz onune alinmaz. 
              - ondemand     : Fonksiyon olarak respawn'in aynisidir.
                               Yanlizca run-level'lardan ayirmak icin
                               rstate alanina a,b,c, gibi degerler
                               yazilir.
              - initdefault  : Init'in hangi run-level ile calisaca 
                               gi borada tanimli  olan rstate'de be-
                               lirlenir. Eger rstate 'de herhangibir-
                               sey belirtilmemisse o zaman sistem
                               konsolundan init'in hangi run-level'da
                               calisacagi sorulur.
              - sysinit      : Bu alan yalnizca init'in kullanicagi
                               konsolun initialize islemini yapar.
                                (run-level'in sorulacagi konsol)

     process : Gecerli bir shell komutu olmalidir. Burada yazili
               olan komut; fork system call'i ile yaratilan
               shell'e bildirilir ve basina "exec"konarak  asagi-
               daki bicimde calistirilir:
                       sh-c 'exec komut'
               (-c ; komutun string'den okunacagini belirtir.)




 















 Asagida ornek bir  /etc/inittab file'i gorulmektedir :






 
is:2:initdefault:
bl::bootwait:/etc/bcheckrc </dev/console >/dev/console 2&1 &bootlog
bc::bootwait:/etc/brc 1>/dev/console 2>&1 `bootrun command
sl::wait :(rm -f /dev/syscon;ln /dev/systty /dev/syscon;) 1>/dev/console
2>&1
rc::wait:/etc/rc 1>/dev/console 2>&1 `run com
pf::powerfail:/etc/powerfail -t3 1>/dev/console 2>&1
sy:a:once:/etc/shutdown -g1 -y 1>/dev/console 2>&1 `stand-by routine
c1:0:wait:/etc/shutsys 0 1> /dev/console 2>&1
of:0:wait:/etc/off
co:1234:respawn:/etc/getty console console
01:2:respawn:/etc/getty tty01 9600
02:2:respawn:/etc/getty tty02 9600
03:2:respawn:/etc/getty tty03 9600
04:2:respawn:/etc/getty tty04 9600
05:2:respawn:/etc/getty tty05 9600
06:2:respawn:/etc/getty tty06 9600
p7:2:off:/etc/stl tty07 tty seriale
10:2:off:/etc/getty tty10 9600
11:2:off:/etc/getty tty11 9600
12:2:off:/etc/getty tty12 9600
13:2:off:/etc/getty tty13 9600
14:2:off:/etc/getty tty14 9600
15:2:off:/etc/getty tty15 9600
 





 

GETTY PROCESS:
--------------

Bu process /etc/inittab, /etc/gettydefs, /etc/ttytype gibi file'lar-
dan aldigi bilgilere gore terminallere login promptunu getirir.

ornek olarak asagidaki /etc/inittab file'ini alalim:


           is:2:initdefault
           .
           .
           .
           co:1234:respawn:/etc/getty console console
           01:2:respawn:/etc/getty    tty01   9600
           02:2:respawn:/etc/getty    tty02   9600
           .
           .

Burada co,01,02 ile belirtilmis satirlarda getty process'i baslatilir.
Process'in hangi hatlarda (line) calisacagi console, tty01, tty02 ile
belirtilmistir. Bunlardan herbirisi /dev altinda bir device'a karsi ge-
lir (special devices). Yine ayni satirdaki console, 9600 tanimlari ise
/etc/gettydefs file'inda bir label'a karsi gelir. Getty process'i bu
label'lardaki tanimlari kullanir. /etc/gettydefs file'inda hattin ile-
tisim hizi, login mesajinin ne olacagi, terminal ozellikleri belirti-
lir.
 

Asagida ornek bir /etc/gettydefs tanimi verilmistir:



console# B9600 HUPCL PARENB CS7 OPOST ONLCR # B9600 IXON ICRNL ISTRIP
IGNPAR BRKINT OPOST ONLCR PARENB CS7 CREAD ISIG ICANON ECHOK ECHO TAB3
#Console login: #console

1200# B1200 HUPCL PARENB CS7 # B1200 IXON ICRNL ISTRIP IGNPAR BRKINT
OPOST ONLCR PARENB CS7 CREAD ISIG ICANON ECHOK ECHO TAB3 #login: #1200


300# B300 HUPCL PARENB CS7 # B300 IXON ICRNL ISTRIP IGNPAR BRKINT
OPOST ONLCR PARENB CS7 CREAD ISIG ICANON ECHOK ECHO TAB3 #login: #300


9600# B9600 HUPCL PARENB CS7 # B9600 IXON ICRNL ISTRIP IGNPAR BRKINT
OPOST ONLCR PARENB CS7 CREAD ISIG ICANON ECHOK ECHO TAB3 #login: #9600


2400# B2400 HUPCL PARENB CS7 # B2400 IXON ICRNL ISTRIP IGNPAR BRKINT
OPOST ONLCR PARENB CS7 CREAD ISIG ICANON ECHOK ECHO TAB3 #login: #2400


4800# B4800 HUPCL PARENB CS7 # B4800 IXON ICRNL ISTRIP IGNPAR BRKINT
OPOST ONLCR PARENB CS7 CREAD ISIG ICANON ECHOK ECHO TAB3 #login: #4800


19200# B19200 HUPCL PARENB CS7 # B19200 IXON ICRNL ISTRIP IGNPAR BRKINT
OPOST ONLCR PARENB CS7 CREAD ISIG ICANON ECHOK ECHO TAB3 #login: #19200


38400# B38400 HUPCL PARENB CS7 # B38400 IXON ICRNL ISTRIP IGNPAR BRKINT
OPOST ONLCR PARENB CS7 CREAD ISIG ICANON ECHOK ECHO TAB3 #login: #38400

c8-9600# B9600 HUPCL CS8 # B9600 IXON ICRNL ISTRIP IGNPAR BRKINT OPOST
ONLCR CS8 CREAD ISIG ICANON ECHOK ECHO TAB3 # login: #c8-9600
 

Yukaridaki herbir tanim, bos bir satirla birbirinden ayrilmistir. Ta-
nimlar asagidaki kaliba uygun bicimde hazirlanir:

      label initial-flags login-prompt next-label
label         :Buraya yazilan label, /etc/inittab file'inda getty
               process'i icin tanimlanmis olan bir degerdir. Cunki,
               getty process'i, /etc/gettydefs'deki hangi tanimi kul-
               lanarak terminali set edecegini buradan anlar. Genel-
               likle kullanilan deger hattin iletisim hizidir (Baud
               rate).

initial-flags :Eger terminal tipi getty komutunda verilmemisse, bu du-
               rumda buradaki degerler ile terminal set edilir. Bu de-
               gerler login islemine kadar gecerlidir.

final-flags   :Login basladigi anda kullanilan degerlerdir.

login-prompt  :Terminallere gelen login satirini belirtir.

next-label    :Terminalden "break" karakteri gelirse, bir sonraki ta-
               nimin ne olacagini belirtir. Next-label'da yazili olan
               deger, /etc/gettydefs icinde aranir ve buradaki tanim   
               lar uygulanir.
 
Getty programi, hatlarda hangi tip terminallerin bulundugunu         
/etc/ttytype adli file'a bakarak anlar. Asagida /etc/ttytype file'ina
ornek bir liste verilmistir:




               console|hw72
               tty01|hw72
               tty02|hw72
               tty03|hw72
               tty04|hw72
               tty05|hw72
               tty06|hw72
               tty07|hw72

Bu ornekte " " isaretinin sol tarafindakiler terminal hattini; sol ta-
rafindakiler ise terminal tiplerini gosterir. Sag tarafdaki terminal
tiplerinin tanimlari /etc/terminfo'da verilir.
 

LOGIN PROGRAMI :
----------------

Getty process'i calistiktan sonra terminallere "login" prompt'u gelir.
Bu durumda gecerli bir kullanici ismi yazildiginda, getty login pro-
cess'ini exec system call ile calistirir. Boylece login, getty pro-   
cess'inin yerine gecmis olur.

Login process'i calismaya basladiktan sonra ilk olarak /etc/passwd
file'ina bakar. Bu file, kullanici tanimlarinin oldugu yerdir.

/etc/passwd file yapisi asagidaki bicimdedir:
-----------
           name:password:uid:gid:comment:homedir:shell

Alanlar birbirlerinden ":" ile ayrilirlar. Herbir alanin anlami asagi-
daki gibidir:

name     :Kullanici adinin verildigi yer. Uzunlugu en fazla 8 karak- 
          terdir.

password :Kullanici sifre alani. Bu kisimdaki karakterler de sifrelen-
          mis bicimde saklandigi icin hicbir kullanici tarafindan go-
          rulemez.

uid      :Kullanici numarasi. Her kullanici sisitemi tek bir numara
          ile bilinir. Bu numaraya, "User ID" denir. Birden fazla kisi
          ayni ID numarasini alamaz. Uzunlugu 2 karekterdir.

gid      :Kullanicinin ait oldugu grubun numarasidir. Bu numaraya "Gr-
          oup" denir. Her kullanici sistemde en az bir grubun elemani   
          dir.

comment  :Aciklama kismidir.

homedir  :Kullanicinin sisteme login oldugunda calisacagi direcory'nin
          absolute pathname'midir.

 





shell    :Kullanici sisteme login oldugunda calisacak olan shell prog 
          raminin adidir. Eger bu alana herhangi bir bilgi yazilmassa
          default olarak "sh" (Bourne Shell) programi calisir.


Yukarida sozu edilen "gid", /etc directory'si altindaki "group" isimli
file icinde tanimli olmalidir.



/etc/group file'inin yapisi asagidaki bicimdedir:
----------

      group-name:password:gid:users

Alanlar birbirlerinden ":" karakteri ile ayrilirlar. Herbir alanin a- 
ciklamasi asagida verilmistir:

group-name : Gruba verilen isimdir.

passwd     : Grubun sifresidir. (Kullanilmaz.)

gid        : Grubu tek olarak belirleyen numaradir.

users      : Gruba dahil olan kullanicilarin isimleridir. Herbir kul-
             lanici ismi birbirinden "," karakteri ile ayrilirlar.


 
A}a`[da bir /etc/passwd file |rnegi verilmi}tir :




root:7XkEJeV6eCkr.:0:3:0000-Admin(0000):/:
rootcsh::0:0::/:/bin/csh
daemon::1:12:0000-Admin(0000):/:
bin::2:2:0000-Admin(0000):/bin:
sys::3:3:0000-Admin(0000):usr/src:
adm::4:4:0000-Admin)0000):/usr/adm:
uucp::5:1:0000-uucp(0000):/usr/lib/uucp:
nuucp::6:1:0000-uucp(0000):/usr/spool/uucppublic:/usr/lib/uucp/uucico
sync::20:1:0000-Admin(0000):/:/bin/sync
rje::68:8:0000-rje(0000):/usr/rje:
shqer::69:8:0000-rje(0000):/usr/rje:
lp::71:2:0000-lp(0000):/usr/spool/lp:
lorenzo::7:37::/usr/lorenzo:/bin/csh
ayla::12:37:altun:/usr/ayla:/bin/csh
bulent::9:37:dinar:/usr/bulent:/bin/csh
osman::10:37:yalcinkaya:/usr/osman:/bin/csh


 






A}a`[da bir /etc/group file |rne`i verilmi}tir :




              root::0:root
              other::1:
              bin::2:root,bin,daemon
              sys::3:root,bin.sys,adm
              adm::4:root,adm,daemon
              mail::6:root
              rje::8:rje,shqer
              daemon::12:root,daemon
              easyusr::37:





 



                        SISTEMDE MESAJ ILETIMI
                        ----------------------


/etc/motd :
-----------

Bu file kullanilarak, kullanicilara login olduklarinda gorebilecekleri
mesajlar iletilebilir. Gonderilmek istenen mesaj /etc/motd file'ina
girilir. Kullanicilar login olduklarinda bu file'in icerigi otomatik
olarak ekranlarina gelir.



/usr/news/filename:
-------------------

/usr/news directorysi altindaki herhangibir file'a bazi mesajlar yazi- 
labilir. Bu mesajlari kullanicilar "news" komutunu kullanarak gorebi- 
lirler. "news" komutu birkez kullanildiktan sonra home directory'de
"news time" isimli bir file yaratilir. Bu file okunan mesajin tarihi
ve saati ile iliskilidir. Eger en son verilen "news" komutundan sonra
/usr/news directory'si altinda yeni bir mesaj file'i yaratilmamissa
bundan sonra verilen "news" komutu (seceneksiz olarak kullanildiginda)
ile daha once goruntulenmis olan mesajlar goruntulenemez.

 

news :
------


Bu komut ile /usr/news directory'si alt[ndaki mesajlar[ g|rmek m~m-
k~nd~r.Komutun genel yaz[l[}[ a}a`[daki bi_imdedir :

       news (-a) (-n) (-s) (mesaj)

Komutun se_enekleri :

        -a   : /etc/news alt[ndaki t~m mesajlar[ tarih ve saat kont-
               rolu yapmadan g|r~nt~lenir.

        -n   : Yeni mesajlar[n yaln[zca isimlerini listeler.

         
        -s   : Yeni mesajlar[n say[s[n[ g|r~nt~ler.





wall :
------

Bu komut ile sistemde _al[}makta olan kullan[c[lara mesaj g|nderilir.
Komut sadece root kullan[c[s[ taraf[ndan verilebilir.



Mesaj g|ndermek ;

        $ wall <CR>
        $ Sistem 5 dakika sonra kapat[lacakt[r. <CR>
        $ L~tfen sistemden _[k[n[z... <CR>
        $ <CTRL-D>



 






write :
-------
Bu komut ile kullan[c[ ad[na ve/veya terminale mesaj g|nderilir.

Genel yaz[l[}[ a}a`[daki bi_imdedir :
       
        write kullan[c[-ad[ terminal ad[


E`er bir kullan[c[ birden fazla terminalde login olmu} ise, o zaman
terminal-ad[ da kullan[larak istenen terminal belirtilir.Kullan[l[}[     
wall komutu gibidir.


|rnek;


        $ write user1 /dev/tty03 <CR>
        $ Mesaj[n 1.sat[r[ <CR>
        $ Mesaj[n 2.sat[r[ <CR>
        $ <CTRL-D>



E`er kullan[c[

        $ mesg n

komutu ile kendisine mesaj gelmemesini sa`lam[} ise, o zaman write
komutu o terminale mesaj g|nderemez.

Tekrar mesaj gelmesini sa`lamak i_in

        $ mesg y

komutu verilir.





 



         KULLANICILARIN TANIMLANMASI ve ILGILI KOMUTLAR
         ----------------------------------------------

id        (identification) :
----------------------------
Bu komut ile o anda cal[smakta oldu`umuz kullan[c[ ve grup ile ilgili
bilgi al[n[r.

|rnek ;

        $ id <CR>
        uid=10(ayse)  gid=50(bordro)

Bu |rnekte kullan[c[n[n "ay}e" ve ait oldu`u grubun "bordro" oldu`u
g|r~lmektedir. 10 say[s[, "ayse" kullan[c[s[n[n Id'sini; 50 say[s[
ise Group Id'sini g|stermektedir.

chown    (change owner) :
-------------------------
Bu komut herhangibir file ya da directory'nin sahibini (owner) de`is-
tirmek i_in kullan[l[r.Komutu kullanabilmek i_in ya root kullan[c[s[
olmak, ya da de`i}tirilmek istenen file ya da directory'nin sahibi
olmak gereklidir.

Genel yaz[l[}[ :

        chown uid file/directory ...

bi_imindedir.




 




|rnek ;

         $ chown 35 file1
                         (file1 isimli file'in sahibi User Id = 35
 olan kullan[c[ olur.

         $ chown user1 directory1

                         (directory1 isimli directory'nin sahibi
                          user1 isimli kullan[c[ olur.)
chgrp   (change group) :
------------------------

Bu komut herhangi bir file ya da directory'nin grubunu (group) de-
`i}tirmek i_in kullan[l[r.Komutu kullanabilmek i_in ya root kulla-     
n[c[s[ olmak, ya da de`i}tirilmek istenen file ya da directory'nin
sahibi olmak gereklidir.

Genel yaz[l[}[ :

        chown gid file/directory ...

bi_imindedir.

|rnek ;

      $ chgrp 35 file1
                     (file1 isimli file Grou[ Id = 35 no'lu gruba ait
                     olur.)

      $ chown group1 directory1
                     (directory1 isimli directory group1 isimli gruba
                     ait olur.)

 

su  (switch user) :
-------------------

Bu komut ile o anda calismakta olan kullanici icin yeni bir shell pro-
cess'i yaratilir ve sistem artik o kullaniciyi yeni isim ile tanir. Bu
komut ile yeni kullanicinin tum yetkilerine sahip olunur.

Boylece sistemden logout olmadan baska bir kullanici olarak sistemde
calismaya devam edilebilir.

CTRL-D tusu kullanilarak yeni yaratilan shell sonlandirilip "su" komu-
tunun verilmesinden onceki kullaniciya donulebilir.

Genel yazilisi:

              su [-] [user  [arg...]]

Burada "user" degistirilmek istenen kullanicinin adidir. Eger yazilmaz-
sa "root" kullanicisina gecilmek istendigi anlasilir. Bu komut veril-
dikten sonra eger yeni kullanicinin sifresi varsa "passwd" sorusu soru-
lur.

Eger "-" ile kullanilirsa yeni kullanici sistemde login olmus gibi is-
lem gorur. Eger "-" ile kullanilmazsa yalnizca kullanicinin adinda yeni
bir process yaratilir. (ornegin working directory degismez.)
Ayn[ zamanda bu komut ile ba}ka bir kullan[c[ym[} gibi komut cal[}t[r-
mak da m~mk~nd~r. O zaman "arg" k[sm[na

                -c "command args"


yaz[l[r.|rne`in

                su - ay}e -c "cp file1 file2"

komutu ile "cp" komutu ayse kulan[c[s[ olarak _al[}t[r[lm[} olur.

 







|rnek ;
         $ id <CR>               (O andaki kullan[c[ soruldu`unda)
         uid=10(ay}e)  gid=50(bordro)

         $ id <CR>               (Yeniden kullan[c[ soruldu`unda)
         uid=11(mehmet) gid=55(bordro)

|rnekte g|r~ld~g~ gibi art[k sistem, kullan[c[y[ "mehmet" olarak 
g|rmektedir.Bu |rnekte "-" se_imi kullan[lmad[`[ i_in working di-
rectory de`i}memi}tir.



newgrp     (new group) :
------------------------

Bu komut ile kullan[c[ o anda _al[}makta oldu`u grubu de`i}tirebilir.
De`i}tirebilmek istenen grubun /etc/group file'[nda o kullan[c[ i_in
tan[ml[ olmas[ gerekir.

Genel yaz[l[}[ :

        newgrp (-),(group)

bi_imindedir.

Burada "group" yeni grubun ad[d[r.

|zel olarak; e`er "-" ile kullan[l[rsa, kullan[c[ normal login oldu
`undaki _al[}ma ortam[na geri d|ner.


 






|rnek ;
 
/etc/group file'[nda a}a`[daki sat[rlar tan[ml[ olsun :

        .
        .
        stok::55:ay}e,mehmet
        bordro::60:
        .
        .

ay}e kullan[c[s[n[n /etc/passwd file'[nda tan[ml[ oldu`u sat[r ise
a}a`[daki bi_imdedir :



       .
       .
       ay}e::15:60:** kullan[c[ **:/usr/ay}e:/bin/sh
       .
       .

ay}e kullan[c[s[ sisteme login oldu`unda "id" komutunu verirse,
       
       uid=15(ay}e) gid=60(bordro)

oldu`unu g|r~r.Eger

      $ newgrp stok

komutu verilirse kullan[c[n[n yeni grubu stok olur.Bu "id" komutu
tekrar verilip g|r~lebilir :

     uid=15(ay}e) gid=55(stok)




 




pwck   (passwd check) :
-----------------------

Bu komut ile /etc/passwd file'[ndaki tanimlarin do`ruluk kontrolu
yap[l[r.Komutu "root" kullan[c[s[ a}a`[daki bi_imde kullan[l[r :

       $ pwck <CR>

E`er komut bir kullan[c[ taraf[ndan _al[}t[r[lmak isteniyorsa,
     
      $ /etc/pwck <CR>

}eklinde verilir.

grpck   (group check) :
-----------------------

Bu komut ile /etc/group file'[ndaki tan[mlar[n do`ruluk kontrolu
yap[l[r.Komutu "root" kullan[c[s[ a}a`[daki bi_imde kullan[l[r :

     $ grpck <CR>

E`er komut bir kullan[c[ taraf[ndan _al[}t[r[lmak isteniyorsa,
     
     $ /etc/grpck <CR>

}eklinde verilir.




 




passwd    (password) :
----------------------

Bu komut ile kullan[c[lara password verilir ya da daha |nceki pass-
word de`i}tirilir."Root" kullan[c[s[ bir kullan[c[ya password vermek
i_in bu komutu kullanabilir ve kullan[c[n[n (e`er eski passwor'~n~
biliyorsa) password'~n~ de`i}tirebilir.Fakat di`er kullan[c[lar yal-
n[zca kendi password'lerini de`i}tirebilirler, ba}kalar[n[nki de`i}-
tiremezler.

Genel yaz[l[}[ :

        passwd (user-name)

}eklindedir.

|rnek;

       $ passwd ay}e <CR>

Bu komut ile "ay}e" isimli kullan[c[ya password verilmek istendi`i, ya
da password'~n~n de`i}tirilmek istendi`i belirtilmi}tir.

E`er user-name kullan[lmazsa, "root" kullan[c[s[n[n password'~n~n de-
`i}tirilmek istendi`i anla}[l[r.

Komut, kar}[l[kl[ soru-cevap bi_iminde _al[}[l[r.

 







                   YENI BIR KULLANICI TANIMLAMAK :
                   -------------------------------

- Sisteme ya "root" kullan[c[s[ olarak login olunur; ya da "su" ko-
  mutu "root" kullan[c[s[na ge_ilir.

- Yeni kullan[c[ ile ilgili sat[r /etc/passwd file'ina yaz[l[r.

- /etc/group file'[nda gerekiyorsa ilgili de`i}iklikler yap[l[r.

- Yeni kullan[c[n[n home directory'si yarat[l[r.

- Yeni kullan[c[n[n home directory'si i_in "chown" ve "chgrp" komut
  lar[ kullan[larak directory'nin sahibi yeni kullan[c[; grubu ise
  yeni kullan[c[n[n grubu yap[l[r.

- Gerekiyorsa kullan[c[n[n home directory'sinde .profile (/bin/sh   
  kullan[l[yor ise) ya da .login (bin/csh kullan[l[yor ise) file'la-
  r[ yarat[l[p kullan[c[n[n _al[}ma ortam[na ili}kin baz[ bilgiler
  tan[mlanabilir.


 






                    STANDART SHELL DEGISKENLERI
                    ---------------------------
                     (STANDARD SHELL VARIABLES)
                     --------------------------


Shell'de kullan[lan baz[ standart de`i}kenler vard[r.Bunlar a}a`[da
a_[klanm[}t[r :

     HOME     : Home directory'nin pathname'ini i_erir.

                |rnek :      $ echo $HOME
                             /usr/ay}e

     LOGNAME  : Kullan[c[ ismini i_erir.

                |rnek :      $ echo $LOGNAME
                             ay}e

     MAIL    : Kullan[c[ya gelen mail'lerin sakland[`[ directory'nin
               pathname'ini i_erir.

               |rnek :       $ echo $MAIL
                             /usr/mail/ay}e

    PATH    : Shell'in verilen komutlar[ _al[}t[rabilmek i_in s[ra- 
              s[yla bakaca`[ directory'lerin pathname'lerini i_erir.

               |rnek :       $ echo $PATH
                             /bin:/usr/bin:/usr/lbin

    SHELL   : Kullan[c[n[n kullanmakta oldu`u shell'in hangisi oldu-
              guna ili}kin bilgiyi i_erir.

              |rnek :        $ echo $SHELL
                             /bin/shell







 

   TERM     : Cal[}[lmakta olan terminalin ad[n[ i_erir.

              |rnek :          $ echo $TERM
                               hw72

   TERMINFO : Terminalinizin |zelliklerinin tan[mland[`[ file'in
              pathname'ini i_erir.

              |rnek :          $ echo $TERMINFO
                               /usr/lib/terminfo

   IFS     : (InterField Separators) Kelimeleri birbirinden ay[ran
             karekterlerin neler oldu`una ili}kin bilgiyi i_erir.Bun-
             lara "white space" karakterleri denir.
             Bunlar "space", "tab" ve "newline" karekterleridir.

   PS1     : (Prompt String 1) Shell'in prompt'unun ne oldu`unu belir-
             tir."sh" i_in $, csh i_in % dir.

             |rnek :          $ echo $PS1
                              $

  PS2     : (Prompt String 2) Shell'in kinci prompt'unun ne oldu`unu be-
            lirtirler.Bu prompt bir komutun ayn[ sat[ra s[gmamas[ halin-
            de g|r~l~r.

            |rnek :          $ echo $PS2
                             >


 






Shell'de kullan[lan de`i}kenler iki t~rl~d~r.Bunlar :

        . local (yerel)

        . environment (_evre)

de`i}kenleridir.

"set" ve "env" komutlar[ bu de`i}kenlerle ili}kili olarak kullan[l[r.
Local de`i}kenler yaln[zca tan[mland[klar[ shell i_inde ge_erlili`i
ni korur.Environment de`i}kenler ise t~m program ve subshell'lerde
ge_erlidir.


set :
-----

Set komutu arg~mans[z olarak kullan[ld[`[nda local de`i}kenlerin de- 
`erlerini ekrana listeler.


|rnek ;

         $ set <CR>
     
         HOME=/usr/ay}e
         IFS=

         LOGNAME=ay}e
         MAIL=/usr/mail/ay}e
         MAILCHECK=600
         PATH=:bin:/usr/bin:/usr/lbin:
         PS1=$
         PS2=>
         SHELL=bin/sh
         TERM=hw72
         TERMINFO=/usr/lib/terminfo






 


env :
-----

Bu komut ile environment de`i}kenlerin de`erlerinin neler oldu`u ekra-
na listelenir.

|rnek ;

       $ env <CR>

       HOME=usr/ay}e
       LOGNAME=ay}e
       MAIL=/usr/mail/ay}e
       PATH=:/bin:/usr/bin:/usr/lbin
       SHELL=/bin/sh
       TERM=hw72
       TERMINFO=/usr/lib/terminfo






 



export :
--------

Bu komut ile local olan bir de`i}ken export edilerek environment de-
`i}ken olarak kullan[l[r.

|rnek ;
         $ variable=de`er       (variable isimli local de`i}kene "de-
                                 ger" atand[.)
         $ echo $varible        (varible isimli de`i}kenin de`eri ek-
                                 rana geldi.)

         $ set                  (local de`i}kenler listelendi)
         .
         .
         variable=deger

         $ env                  (env.de`i}kenler listelendi.Burada va-
         .                       riable isimli de`i}kenin olmad[`[n[
         .                       g|zleyiniz.)
         .
         $ export variable      (variable isimli de`i}ken export edile-
                                 rek env. de`i}kenler listesine al[nd[.

         $ env                  (Yeniden env. de`i}kenler listelenirse
         .                       veriable isimli de`i}kenin burada yer
         .                       ald[`[ g|zlenebilir.)
         variable=de`er


NOT: Bir shell kullan[c[s[ i_in bu de`i}kenler default olarak /etc/
     profile isimli file kullan[larak set edilir.
     





 



                    SHELL'DE KOMUTLARIN I]LETILMESI
                    ------------------------------
                      (COMMANDS EXECUTED IN SHEL)
                      ---------------------------

Shell'in bir komutu isletmesi islemi once "fork system call" (yeni bir
shell yaratmak,child process), daha sonra ise "exec system call"
(yeni yaratilan shell'in exec komutu ile isletilmesi istenen komutu
calistirmasi) ile mumkun olur.

Fakat bazi komutlar vardir ki, bu tur komutlar icin shell yeni bir
shell process'i yaratmaz. Komut shell tarafindan system call'i ile
dogrudan isletilir.

Ornek olarak; "cd" komutu, eger yeni bir shell process'i yaratilarak
child process'de isletilseydi working directory'nin degismesi parent
process'i hic etkilemeyecekti. Yani, yalnizca child process'in
working directory'si degisecekti. Halbuki burada degismesi gereken
directory parent process'in working directory'sidir. Bu yuzden bu tur
komutlar dogrudan dogruya system call'u ile isletilir. Baska ornekler
vermek gerekirse; newgrp,shell degiskenlerine deger atamak, v.b.

Simdi asagidaki iki komut arasindaki farka bakiniz :

        $ cd /etc ; grep ayse passwd    ==> Bu ornekte komut bitti-
                                            ginde working directory
                                            /etc'dir.

        $ (cd /etc ; grep ayse passwd)  ==> Bu ornekte komutlarin
                                            parantezler icine yazil-
                                            masi sonucunda ilgili ko-
                                            mutlarin isletilmesi icin
                                            yeni bir shell process'i
                                            yaratilir ve komut bu
                                            shell tarafindan isleti-
                                            lir. Komut bittiginde
                                            parent process'in working
                                            directory'si degismemis
                                            olur.

 










Ayni mantik shell programlarinin (shell script) isletilmesi icin de
gecerlidir. Bilindigi gibi bir shell programini isletmek icin

        $ sh shell-program-adi

ya da

        $ shell-program-adi
denir.

Buradaki islemin gerceklesmesi icin yeni bir shell process'i yarati-
lir ve programi bu process isletir.Eger isletilmesi istenen shell
programinin icinde yukaridaki ornekte oldugu gibi "cd" turunde komut-
lar varsa, shell programinin isletilme mantigi dogrultusunda bu tur
komutlar parent process'i etkilemez.

Eger aksinin olmasi istenirse, yani shell programinin icindeki komut-
larin parent process'i etkilemesi istenirse, bu durumda ayni islemin
fork system call'u olmadan, yani yeni bir shell process'i yaratilma-
dan gerceklestirilmesi gereklidir.

Bu islem Bourne Shell'de (sh)

        $ . shell-program-adi

yazilarak; C Shell'de (csh) ise

        $ source shell-program-adi

yazilarak gerceklestirilir.



 

Ornek;

Home directory'deki ".profile" isimli file'in icinde prompt'u degis-
tiren.

        PS1="hazir"
        export PS1

satirlari olsun. Eger

        $ .profile

komutu verilirse, yeni bir shell process'i yaratilir ve bu shell'deki
prompt degistirilir. Yani komut bittiginde parent process'in prompt'u
degismez. Eger prompt'un kalici olarak degismesi istenirse

        $ . .profile

komutu verilmelidir.



 



 

                    FILE SISTEMININ YAPISI
                    ----------------------

Unix isletim sisteminde, disk uzerinde kurulmus olan yapiya file
sistemi denir. Bir disk uzerinde birden fazla file sistemi olusturu-
labilir. Herbir file sistemi, fiziksel olarak diskin formatlanmasi
sirasinda disk uzerinde olusturulan bir bolume (=partition, slice)
karsi gelir.

file sisteminde herbir blok 1024 Byte'dir. Yapisi asagidaki sekilde-
dir :





                           <----I-LIST-----> <---FREE-LIST-------->     
1024B  : 1024B    :64B     :      :  :      :        :  :
-------:----------:-:------:------:--:------:--------:--:--------
:      :          : :      :      :  :      :        :  :
: FREE :SUPERBLOCK: :      :      :..:      :        :..:
:      :          :::      :      :  :      :        :  :
-------:----------:::------:------:--:------:--------:--:---------
   0   :    1     ::   2   :  3   :  :      :        :  :
                   :
                   V
                I-NODE   






 

Boot block:
----------

Diskin 0. blogu boot blog olarak adlandirilir. Burada "bootstrap"
programi bulunur.


superblock :
------------

File sistemin 1. blogu superblock olarak adlandirilir. Superblogun
/u
Logged

OgrenciForum.Org
Sponsor Bağlantı

SON SAVAŞ (ONLİNE STRATEJİ OYUNU)
HEMEN ÜYE OL. ORDUNU KUR SAVAŞMAYA BAŞLA.
İYİ DERECELER ELDE EDENE BÜYÜK ÖDÜLLER VERİLECEK.

Logged
Sayfa: 1
  Yazdır  
 
Gitmek istediğiniz yer:  

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC | Sitemap
Rengli Theme By Burak & Forum - Tagged
iyinet webmaster forumu 2008 seo yarışması - evden eve nakliye - evden eve taşıma - Sesli Chat - jinekolog
izlesene - ForumTahtasi.com - Karadeniz Video - Forumlar - Blouse - Sohbet - ingilizce eğitim seti - ÖDEV - Ayyıldız - AVOYUN - Dönem ödevi - ödev - e-okul - evden eve nakliyat - msn nickleri - Ödev Sitesi
MySQL ile Güçlendirildi PHP ile Güçlendirildi XHTML 1.0 Geçerli! CSS Geçerli!
Arşiv (Basit Görünüm)
Bu Sayfa 0.273 Saniyede 18 Sorgu ile Oluşturuldu