Ubuntu Türkiye

Yazılım => Programlama => Genel => Konuyu başlatan: kurch - 09 Haziran 2008 - 00:02:54

Başlık: Shell nedir?
Gönderen: kurch - 09 Haziran 2008 - 00:02:54
Arkadaşlar shell nedir ve yardımcı kaynaklar gösterirseniz sevinirim
Başlık: Ynt: shell nedir?
Gönderen: munirekinci - 09 Haziran 2008 - 00:05:57
Şurası faydalı olur; http://www.ubuntu-tr.net/index.php?topic=369.0
Şu resimde mantığını anlamanız açısından faydalı olabilir;
[IMG]http://img146.imageshack.us/img146/4088/linuxsistemqy8ej2.th.gif[/img] (http://img146.imageshack.us/my.php?image=linuxsistemqy8ej2.gif)
Başlık: Ynt: shell nedir?
Gönderen: heartsmagic - 09 Haziran 2008 - 00:06:09
Kabaca: İşletim sistemiyle (bu Linux'ta kernel örneğin) kullanıcı arasında iletişimi sağlayan ara birim.
Farklı türleri vardır. En bilineni ve yaygını bizim de şu an kullandığımız bash'tir.

Kaynak olarak nasıl bir şey arıyorsun?
Başlık: Ynt: Shell nedir?
Gönderen: kurch - 09 Haziran 2008 - 00:09:13
aslında sormak istediğim bu bir program mı örneğin java gibi mi java gibiyse jbuilder gibi bir programı var mı?
Başlık: Ynt: Shell nedir?
Gönderen: Ulath - 09 Haziran 2008 - 00:11:46
shell süper dir ya :D
Başlık: Ynt: Shell nedir?
Gönderen: heartsmagic - 09 Haziran 2008 - 00:14:27
Program değil, anlattığım üzere bir ara birim. - Biliyorum aslında bir program :) -
Ancak senin düşündüğün tarzda değil. Şöyle söyleyelim, DOS gibi :) (Biliyorum iğrenç oldu ve yine biliyorum DOS bir işletim sistemiydi, anlaman için örnek veriyorum)

Bir derleyiciye falan ihtiyacın yoktur. Shell türleri verdiğin komutları anlar ve buna uygun cevaplar üretirler. İstersen bash betikleri yazıp, yürütebilirsin.

http://www.google.com/linux altında "bash programlama" diye aratırsan birçok sonuca ulaşırsın. Ayrıca http://www.belgeler.org adresinde de bir anlatım mevcut.
Başlık: Ynt: Shell nedir?
Gönderen: potasyumsiyanur - 09 Haziran 2008 - 01:46:50
http://www.linuxsozluk.com/ a göre shell

*linux'un ms-dos'u desek yerinde olur.
(#88) foxhound|04/06/2008 18:41 |
*kerneli çevreleyen kabuk. kayısıyı işletim sistemine benzetirsek; çekirdek kernel, çekirdek kabuğu shell, yenilen kısım da programlar vs.dir
(#91) mawhamana|04/06/2008 19:32 |
*türkçe anlamı kabuk olup, benzin istasyonu marka ile uzaktan yakından hiçbir alakası ilişkisi yoktur.

bu arada sitede tanıtım yapılmamış olabilir. http://www.linuxsozluk.com/ bence linuxu tanıtacak keyifli bilgilerle dolu
Başlık: Ynt: Shell nedir?
Gönderen: kurch - 09 Haziran 2008 - 22:02:08
peki linuxun msdosunu yani shellini nasıl calistiracam?
Başlık: Ynt: Shell nedir?
Gönderen: munirekinci - 09 Haziran 2008 - 22:04:38
Aslında soru yanlış ama, demek istediğini anlıyorum;

Applications > Accessories > Terminal
Uygulamalar > Donatılar > Terminal (Uçbirim)
Başlık: Ynt: Shell nedir?
Gönderen: kurch - 17 Haziran 2008 - 13:38:28
kernelin hangi sürümünü kullandığımı hangi komutla öğrenebilirim?
Başlık: Ynt: Shell nedir?
Gönderen: heartsmagic - 17 Haziran 2008 - 14:08:25
uname -r

Lütfen biraz vakit ayırıp http://www.belgeler.org 'a göz at. Biraz vaktini ayırırsan inan basamakları beşer onar çıkmaya başlarsın. Yoksa böyle olursa, biz elinden tutmadan bir basamak bile çıkamazsın.
Başlık: Ynt: Shell nedir?
Gönderen: kurch - 17 Haziran 2008 - 14:14:19
haklısınız
Başlık: Ynt: shell nedir?
Gönderen: MURATSPLAT - 17 Haziran 2008 - 14:54:53
Alıntı yapılan: munirekinci - 09 Haziran 2008 - 00:05:57
Şurası faydalı olur; http://www.ubuntu-tr.net/index.php?topic=369.0
Şu resimde mantığını anlamanız açısından faydalı olabilir;
[IMG]http://img146.imageshack.us/img146/4088/linuxsistemqy8ej2.th.gif[/img] (http://img146.imageshack.us/my.php?image=linuxsistemqy8ej2.gif)

Az önce bu resme baktımda,  shell çekirdekle servisler arasında olmak zorunda. Sistem değişkenleri shell bir bütün. Xorg altında ne işi var  :)
Başlık: Ynt: Shell nedir?
Gönderen: kurch - 17 Haziran 2008 - 15:49:33
kerneli upgrade etme konusunda yardımcı olursanız sevinirim
Başlık: Ynt: Shell nedir?
Gönderen: heartsmagic - 17 Haziran 2008 - 16:23:20
Farklı bir başlığın konusu bu. Lütfen doğru yerlerde belirt problemini. Ayrıca kernel kendisi yükselir zaten senin bir şey yapmana gerek yok.

Lütfen kernel konusunu burada devam ettirmeyelim.
Başlık: Ynt: shell nedir?
Gönderen: munirekinci - 17 Haziran 2008 - 17:47:22
Alıntı yapılan: MURATSPLAT - 17 Haziran 2008 - 14:54:53
Alıntı yapılan: munirekinci - 09 Haziran 2008 - 00:05:57
Şurası faydalı olur; http://www.ubuntu-tr.net/index.php?topic=369.0
Şu resimde mantığını anlamanız açısından faydalı olabilir;
[IMG]http://img146.imageshack.us/img146/4088/linuxsistemqy8ej2.th.gif[/img] (http://img146.imageshack.us/my.php?image=linuxsistemqy8ej2.gif)

Az önce bu resme baktımda,  shell çekirdekle servisler arasında olmak zorunda. Sistem değişkenleri shell bir bütün. Xorg altında ne işi var  :)


Kabuk X'in altında değil X kabuğun altında.
Grafiğe doğru bakarsan görürsün!
Başlık: Ynt: Shell nedir?
Gönderen: MURATSPLAT - 18 Haziran 2008 - 19:10:30
  Ben grafiğe baktım.  Bu grafikta shell ile servisler  bağımsız  görünüyor. Halbu ki bu böyle değildir.
Servisler shell üzerinde çalışır. Benim söylemek istediğim buydu..
   
Başlık: Ynt: Shell nedir?
Gönderen: matafleur - 19 Haziran 2008 - 12:37:18
Alıntı yapılan: MURATSPLAT - 18 Haziran 2008 - 19:10:30
  Ben grafiğe baktım.  Bu grafikta shell ile servisler  bağımsız  görünüyor. Halbu ki bu böyle değildir.
Servisler shell üzerinde çalışır. Benim söylemek istediğim buydu..
   


mmmh emin değilim ama tam olarak doğru değil aslında.Servisler init üzerinde çalışır bildiğim kadarıyla.Orphaned processlerdir.Eğer init i parent olarak düşünmezsen.Ve shell de bildiğim kadarıyla init üzerinde çalışıyor.


Uzun lafın kısası parentları aynı kardeş processlerdir bunlar  (:

Hatalı olabilrim.Net bilgisi olan varsa düzeltirse sevinirim.
Başlık: Ynt: Shell nedir?
Gönderen: heartsmagic - 19 Haziran 2008 - 13:18:37
Benim de bildiğim servislerin kabuğa göbeklerinin bağlı olmadığı ve init seviyesinde çalıştıkları. Detayları anlatacak derecede bilgiye sahip olan varsa seve seve dinleriz :)
Başlık: Ynt: Shell nedir?
Gönderen: MURATSPLAT - 30 Haziran 2008 - 10:44:22
Slackware de hemen hemen çoğu sistem betiğine bakmıştım. Hepsi shell değişkenlerini kullanıyor. çekirdek açıldıktan sonra shell ortaya çıkıyor. shell olmasa çekirdek modulleri nasıl yüklenecek. Ve ağ  udev aklımıza gelen herşey...
Başlık: Ynt: Shell nedir?
Gönderen: heartsmagic - 30 Haziran 2008 - 13:48:37
init seviyesinde çalışan servislerin kabukla pek alakası olmasa gerek. Örneğin udev? Hangi aşamada kabuğa ihtiyaç duyuyor ki? Ayrıca modüllerin yüklenmesi de sanırım kabuğa bağlı değildir. Aslında bu konuda çok ehil değilim sadece fikir yürütmeye çalışıyorum.
Başlık: Ynt: Shell nedir?
Gönderen: DeFacto - 30 Haziran 2008 - 16:10:17
init değerlerini değiştirdiğimizde X'in başlangıcını da etkiliyor ve konsola düşüyorsak, shell aracı olmuyor mu X ile kernel arasında ? Kabukta verdiğimiz bir startx ile kernel ile X arasındaki ilgiyi kurmuyor mu ? Bunlar düz mantık sonucu üretilmiş fikirlerdir :) Kaale alınmamasını tavsiye eder fakat bu kararsızlığımın da aydınlatılmasını reca ederim :)
Başlık: Ynt: Shell nedir?
Gönderen: izzetguntalaz - 30 Haziran 2008 - 16:16:24
Alıntı yapılan: DeSPeRaDo - 30 Haziran 2008 - 16:10:17
init değerlerini değiştirdiğimizde X'in başlangıcını da etkiliyor ve konsola düşüyorsak, shell aracı olmuyor mu X ile kernel arasında ? Kabukta verdiğimiz bir startx ile kernel ile X arasındaki ilgiyi kurmuyor mu ? Bunlar düz mantık sonucu üretilmiş fikirlerdir :) Kaale alınmamasını tavsiye eder fakat bu kararsızlığımın da aydınlatılmasını reca ederim :)

Farklı bir ifade şekli olmuş. :)
Cevabını ben de merak ettim.
Başlık: Ynt: Shell nedir?
Gönderen: heartsmagic - 30 Haziran 2008 - 17:00:25
init değerleri değişince sistem başlangıç seviyesi değişiyor doğru, hatta konsola düşüyor bu da doğru da bu illa servislerin kabuğa ihtiyaç duyduğu anlamına gelir mi acaba? Kabuksuz servisler çalışır mı yani :)
Başlık: Ynt: Shell nedir?
Gönderen: erginemr - 30 Haziran 2008 - 17:31:32
Alıntı yapılan: DeSPeRaDo - 30 Haziran 2008 - 16:10:17
init değerlerini değiştirdiğimizde X'in başlangıcını da etkiliyor ve konsola düşüyorsak, shell aracı olmuyor mu X ile kernel arasında ? Kabukta verdiğimiz bir startx ile kernel ile X arasındaki ilgiyi kurmuyor mu ? Bunlar düz mantık sonucu üretilmiş fikirlerdir :) Kaale alınmamasını tavsiye eder fakat bu kararsızlığımın da aydınlatılmasını reca ederim :)

Efendim, şimdi şöyle izah edeyim: X karşıdan geliyor, shell ise sol şeritten seyrederken, aniden karşısına çıkan startx'i ezmemek için sola kırınca init bariyerlerine çarparak X ile birbirine giriyor. Son anda shell arkadan dolanıp X'i kündeye getiriyor ve puanı alıyor. Bunu gören kernel da "hani bana, hani bana" diyor. ;)

Şaka bir yana, olayı kendince özetleyen aşağıdaki yazının sahibine göre:
http://www.physics.nmt.edu/~rsonnenf/research/LinuxCourse/bigpicture.rs

Linux sistem açılış sırası şu şekilde gerçekleşiyor:

1. Sisteme elektrik geliyor ve BIOS yazılımı donanımları başlatıyor.

2. BIOS, kontrolü boot sektörde yüklü olan GRUB/LILO yazılımına bırakıyor. GRUB, ilgili sabit disk bölümünden kendine verilen ayar dosyasındaki yönergeleri izleyerek Linux çekirdeğini ve initrd (init ram diskini) başlatıyor.

3. Kernel kullanıcı seviyesindeki ilk ve temel işlem olan "init"i başlatıyor. Bundan sonra, ilgili dosyalardan (eskiden ve hala bazı sistemlerde /etc/inittab, şimdiyse /etc/init.d/*) hangi kullanıcı seviyesinde (tek ya da çok kullanıcılı, metin ya da grafik ekran) başlayacağına karar vererek, ilgili seviyedeki betikleri çalıştırıyor. Tabii ki bu betikleri çalıştırmak için de shell'e (kabuğa) ihtiyacı var.

4. Bu aşamadan sonra kullanıcı login ekranı geliyor ve ilgili kabuk (bash, zsh, vb.) setinin komutları kullanıcının emrine sunuluyor.

Şahsen bu resme baktığımda, ben init ile shell arasında bir ayrım gözetmiyorum. init bütün proseslerin babası ama kendisi de shell (kabuk) komutlarını kullanıyor. Ayrıyeten, kullanıcıların kullanımına, aynı nesne-tabanlı programlarda sınıfların bir kopyası, görüntüsü nasıl oluşturuluyorsa, shell'in bir görüntüsünü (instance) sunuyor.

Proses hiyerarşinini göz önüne seren güzel bir konsol komutu var: pstree. Gnome yüklüyken, ayrıca 2 sanal terminalden giriş (login) yaptıktan sonra bu komutu verdiğim zaman, proses ağaç şeması şu şekilde oluşuyor:


init-+-NetworkManager---{NetworkManager}
     |-NetworkManagerD
     |-acpid
     |-atd
     |-avahi-daemon---avahi-daemon
     |-bonobo-activati---{bonobo-activati}
     |-console-kit-dae---61*[{console-kit-dae}]
     |-cron
     |-cupsd
     |-2*[dbus-daemon]
     |-dd
     |-dhcdbd---dhclient
     |-gconfd-2
     |-gdm---gdm-+-Xorg
     |           `-x-session-manag-+-at-spi-registry
     |                             |-gnome-panel
     |                             |-gnome-settings--+-pulseaudio-+-gconf-helper
     |                             |                 |            `-2*[{pulseaudio}]
     |                             |                 `-{gnome-settings-}
     |                             |-metacity
     |                             |-nautilus
     |                             |-seahorse-agent
     |                             |-ssh-agent
     |                             `-{x-session-manag}
     |-4*[getty]
     |-gnome-keyring-d
     |-gnome-power-man
     |-gnome-screensav
     |-gnome-terminal-+-bash---pstree
     |                |-bash
     |                |-gnome-pty-helpe
     |                `-{gnome-terminal}
     |-gnome-volume-ma
     |-gvfs-fuse-daemo---3*[{gvfs-fuse-daemo}]
     |-gvfsd
     |-gvfsd-burn
     |-gvfsd-trash
     |-hald---hald-runner-+-hald-addon-acpi
     |                    |-hald-addon-inpu
     |                    `-2*[hald-addon-stor]
     |-hcid---2*[bluetoothd-serv]
     |-klogd
     |-2*[login---bash]
     |-mixer_applet2---{mixer_applet2}
     |-syslogd
     |-system-tools-ba
     |-trashapplet---{trashapplet}
     |-udevd
     `-vboxadd-timesyn
Başlık: Ynt: Shell nedir?
Gönderen: heartsmagic - 30 Haziran 2008 - 22:01:53
Hmm, şimdi "betik" kelimesini bir daha görünce hafif hafif şimşekler çakmaya başladı kafamda. Eğer ortada betik varsa bunu çalıştıracak bir kabuğun da olması lazım. Hal böyle olunca hem @erginemr'ın güzel açıklamaları hem de @MURATSPLAT'ın söyledikleri doğru olmuş oluyor. Fakat başlıkta ortalarda konuşulan şeyi düşününce de init ile kabuk yan yana çalışıyor izlenimi görülmekte. Hele ki ilk çalıştırılan işlemin init olduğu düşünülürse.
Başlık: Ynt: Shell nedir?
Gönderen: DeFacto - 01 Temmuz 2008 - 14:40:40
@erginemr'e güzel paylaşımı için teşekkür ediyorum. Bu paylaşımla kafamdaki bazı soru işaretlerine anlam verebilmeniz ile birlikte farklı soru işaretleri uyandırabildiğiniz için sizi ayrıca tebrik ediyorum :) Aslında yeni soru işaretlerinin uyanması, bu konuya ilginin, şefkatin :) ve merakın arttığını gösterir. Konuyu uzatmak istiyorum, yönetici arkadaşlar artık taşırlar mı silerler mi bilemem ama :) Şaka bir yana bu sorularım 2 tane-ciktir.

1)Bash ve zsh kabuk setlerinin komutları farklı mıdır ? Bir de şu yanlış komut yazdığımızdaki en bashtaki :) bash yazısının yazmasının sebebi default olarak başlatılan bash midir ? Ve bu zsh ile bash aynı sistemde bulunabilir mi ?

2)Bu pstree komutu çıktısındaki başlatılan modülleri değiştirebilir miyiz ? Yani kısacası sistemi kurcalayıp bozmak istiyorum, bu sebeple Linux bu pstree çıktısı modülleri başlatma seçeneklerini değiştirme imkanı sunuyor mu bana :)
Başlık: Ynt: Shell nedir?
Gönderen: ufuk_k - 01 Temmuz 2008 - 14:50:45
Farklı kabuklar arasında geçiş yapılabilir.
Sistemde başlayan süreçlerin hangi kullanıcı kipinde, ne zaman çalışacağını değiştirmek için:
sysv-rc-conf
Başlık: Ynt: Shell nedir?
Gönderen: DeFacto - 01 Temmuz 2008 - 14:53:05
İlgin için sağ ol. Linux aleminde ufak da olsa bir şey daha kattınız kafama :)
Başlık: Ynt: Shell nedir?
Gönderen: heartsmagic - 01 Temmuz 2008 - 14:54:39
pstree'ye de müdahale olmaz zira programların kendi çalışma mekanizmasıdır o.
Başlık: Ynt: Shell nedir?
Gönderen: erginemr - 01 Temmuz 2008 - 15:24:41
Sağ ol DeSPeRaDo,

İkinci sorunuzu heartsmagic & ufuk_k güzelce yanıtlamış.

Kabuk ile ilgili ilk sorunuza gelince:
http://www.enderunix.org/docs/linuxileprogramlama.html
adresinden bir alıntı yaparsak:
Alıntı YapShell(Bash,sh, zsh,) Programming- Kabuk Programlama

Linux altında hızlı ve pratik programlama yapmanın en kısa yolu shell(kabuk) programlamadır diyebiliriz. İşletim sisteminin doğal komutlarını çalıştırma ve ek herhangi bir yorumlayıcı istememesi shell script(betik) dilini diğerlerinden ayıran en önemli faktördür. Yazdığınız bir kodu tüm Linux/UNIX sistemlerde değişiklik yapmadan  kullanabilirsiniz.  Linux altında shell(kabuk) programlama birçok farklı shell  ile yapılabilir.

Linux ve UNIX sistemlerde yaygın kullanılan bazı kabuk(shell)lar;
sh (Shell , Bourne Shell): Ilk UNIX kabuğudur ve çoğu UNIX dağıtımı ile birlikte öntanımlı kabuk olarak dağıtılır.
ksh (Korn Shell): sh uyumlu, birçok ek programlama özelliği  de içeren bir kabuk.
bash(Bourne Again Shell): Kullanım kolaylığı bakımından en çok rağbet gören bash,  sh ve ksh uyumluluğunu korurken, özellikle etkileşimli kullanıma yönelik (komut tamamlama, gibi) birçok yenilik de içerir.
csh (C shell): Berkeley Üniversitesi'nde geliştirilen csh'in C diline benzer bir programlama yapısı vardır. Özellikle programcılar tarafından tercih edilir.
tcsh: csh'ın biraz geliştirilmiş hali diyebiliriz.

Standart bir kullanıcı için BASH yeterli ancak aralarında en yeteneklisinin zsh olduğunu duymuştum:
http://en.wikipedia.org/wiki/Zsh

Ubuntu'da diğer (temelde aynı ancak betik programlamada farklı komutlara sahip) kabuk setlerini varsayılan olarak yüklememişler ancak merak ederseniz Synaptic'ten yükleyip deneyebilirsiniz. Tek yapmanız gereken terminalde kabuğun ismini yazıp (örn. zsh) Enter'a basmak. Çıkmak için "exit" ya da "Ctrl+D".

Kullanıcıların sisteme giriş yaptığında kullanacakları kabuk türü, /etc/passwd dosyasındaki temel kulanıcı bilgileri içinde saklanıyor. Örneğin sizin için varsayılan kabuk:
cat /etc/passwd | grep $USER
komutunun çıktısının son satırından da görebileceğiniz gibi "/bin/bash" olacaktır.

BASH betik dilini öğrenmeyi düşünürseniz, hızlı bir temel kurs için:
http://www.arachnoid.com/linux/shell_programming.html
Başlık: Ynt: Shell nedir?
Gönderen: DeFacto - 02 Temmuz 2008 - 14:47:49
Shell konusu üzerinde verdiğiniz bilgilerden dolayı teşekkür ederim. Bu mesajınızın shell ile ilgili öğrenilmesi gereken önbilgi olarak burada kalacak olması, bir çok shell meraklısı arkadaşımızın işine yarayacaktır eminim.
Başlık: Ynt: Shell nedir?
Gönderen: MURATSPLAT - 07 Temmuz 2008 - 11:21:11
Alıntı yapılan: heartsmagic - 30 Haziran 2008 - 22:01:53
Hmm, şimdi "betik" kelimesini bir daha görünce hafif hafif şimşekler çakmaya başladı kafamda. Eğer ortada betik varsa bunu çalıştıracak bir kabuğun da olması lazım. Hal böyle olunca hem @erginemr'ın güzel açıklamaları hem de @MURATSPLAT'ın söyledikleri doğru olmuş oluyor. Fakat başlıkta ortalarda konuşulan şeyi düşününce de init ile kabuk yan yana çalışıyor izlenimi görülmekte. Hele ki ilk çalıştırılan işlemin init olduğu düşünülürse.

  Demek  hiç bir zaman kesin konuşmamak lazım  ;D

 
Başlık: Ynt: Shell nedir?
Gönderen: heartsmagic - 07 Temmuz 2008 - 13:54:51
Elbette böyle. Hayat kesin bir kavram olsaydı çok da çekilmezdi sanırım :)
Başlık: Ynt: Shell nedir?
Gönderen: DeFacto - 07 Temmuz 2008 - 15:38:47
Şimdi Script = Betik mi ? Yani sistem açılışlarında ve yönetiminde bu betikler rol alıyorsa, (winzort gibi kapalı bir sistem dışında) bu betikleri işleyecek seviyeye gelmek demek de bir dağıtımı kendimize göre özelleştirebiliyor olmamız demek mi ? Bir de sanırım bu Hardy'nin kaynak kodları da verilmişti değil mi ?
Başlık: Ynt: Shell nedir?
Gönderen: ufuk_k - 07 Temmuz 2008 - 15:48:04
Yok bu sefer Hardy'nin kaynak kodları verilmedi :D
Sistem betikleriyle kaynak kodların pek ilgisi yok. Sistem betikleriyle her zaman oynanabilir, linux bu tip ayarlara özellikle izin veren bir sistem.
Başlık: Ynt: Shell nedir?
Gönderen: hasanyılmaz - 07 Temmuz 2008 - 16:27:28
Aşağıdaki linkte de faydalı bilgiler var;

http://linuxcommand.org/learning_the_shell.php
Başlık: Ynt: Shell nedir?
Gönderen: ufuk_k - 08 Temmuz 2008 - 08:10:27
Alıntı yapılan: DeSPeRaDo - 07 Temmuz 2008 - 15:38:47
Şimdi Script = Betik mi ? Yani sistem açılışlarında ve yönetiminde bu betikler rol alıyorsa, (winzort gibi kapalı bir sistem dışında) bu betikleri işleyecek seviyeye gelmek demek de bir dağıtımı kendimize göre özelleştirebiliyor olmamız demek mi ? Bir de sanırım bu Hardy'nin kaynak kodları da verilmişti değil mi ?

Başlangıç betikleri hikayesine gireceksek, buradan devam edelim:
http://www.ubuntu-tr.net/index.php?topic=2315.0
Başlık: Ynt: Shell nedir?
Gönderen: onuragtas - 01 Eylül 2009 - 01:27:02
Alıntı yapılan: erginemr - 30 Haziran 2008 - 17:31:32
Alıntı yapılan: DeSPeRaDo - 30 Haziran 2008 - 16:10:17
init değerlerini değiştirdiğimizde X'in başlangıcını da etkiliyor ve konsola düşüyorsak, shell aracı olmuyor mu X ile kernel arasında ? Kabukta verdiğimiz bir startx ile kernel ile X arasındaki ilgiyi kurmuyor mu ? Bunlar düz mantık sonucu üretilmiş fikirlerdir :) Kaale alınmamasını tavsiye eder fakat bu kararsızlığımın da aydınlatılmasını reca ederim :)

Efendim, şimdi şöyle izah edeyim: X karşıdan geliyor, shell ise sol şeritten seyrederken, aniden karşısına çıkan startx'i ezmemek için sola kırınca init bariyerlerine çarparak X ile birbirine giriyor. Son anda shell arkadan dolanıp X'i kündeye getiriyor ve puanı alıyor. Bunu gören kernel da "hani bana, hani bana" diyor. ;)

Şaka bir yana, olayı kendince özetleyen aşağıdaki yazının sahibine göre:
http://www.physics.nmt.edu/~rsonnenf/research/LinuxCourse/bigpicture.rs

Linux sistem açılış sırası şu şekilde gerçekleşiyor:

1. Sisteme elektrik geliyor ve BIOS yazılımı donanımları başlatıyor.

2. BIOS, kontrolü boot sektörde yüklü olan GRUB/LILO yazılımına bırakıyor. GRUB, ilgili sabit disk bölümünden kendine verilen ayar dosyasındaki yönergeleri izleyerek Linux çekirdeğini ve initrd (init ram diskini) başlatıyor.

3. Kernel kullanıcı seviyesindeki ilk ve temel işlem olan "init"i başlatıyor. Bundan sonra, ilgili dosyalardan (eskiden ve hala bazı sistemlerde /etc/inittab, şimdiyse /etc/init.d/*) hangi kullanıcı seviyesinde (tek ya da çok kullanıcılı, metin ya da grafik ekran) başlayacağına karar vererek, ilgili seviyedeki betikleri çalıştırıyor. Tabii ki bu betikleri çalıştırmak için de shell'e (kabuğa) ihtiyacı var.

4. Bu aşamadan sonra kullanıcı login ekranı geliyor ve ilgili kabuk (bash, zsh, vb.) setinin komutları kullanıcının emrine sunuluyor.

Şahsen bu resme baktığımda, ben init ile shell arasında bir ayrım gözetmiyorum. init bütün proseslerin babası ama kendisi de shell (kabuk) komutlarını kullanıyor. Ayrıyeten, kullanıcıların kullanımına, aynı nesne-tabanlı programlarda sınıfların bir kopyası, görüntüsü nasıl oluşturuluyorsa, shell'in bir görüntüsünü (instance) sunuyor.

Proses hiyerarşinini göz önüne seren güzel bir konsol komutu var: pstree. Gnome yüklüyken, ayrıca 2 sanal terminalden giriş (login) yaptıktan sonra bu komutu verdiğim zaman, proses ağaç şeması şu şekilde oluşuyor:


init-+-NetworkManager---{NetworkManager}
     |-NetworkManagerD
     |-acpid
     |-atd
     |-avahi-daemon---avahi-daemon
     |-bonobo-activati---{bonobo-activati}
     |-console-kit-dae---61*[{console-kit-dae}]
     |-cron
     |-cupsd
     |-2*[dbus-daemon]
     |-dd
     |-dhcdbd---dhclient
     |-gconfd-2
     |-gdm---gdm-+-Xorg
     |           `-x-session-manag-+-at-spi-registry
     |                             |-gnome-panel
     |                             |-gnome-settings--+-pulseaudio-+-gconf-helper
     |                             |                 |            `-2*[{pulseaudio}]
     |                             |                 `-{gnome-settings-}
     |                             |-metacity
     |                             |-nautilus
     |                             |-seahorse-agent
     |                             |-ssh-agent
     |                             `-{x-session-manag}
     |-4*[getty]
     |-gnome-keyring-d
     |-gnome-power-man
     |-gnome-screensav
     |-gnome-terminal-+-bash---pstree
     |                |-bash
     |                |-gnome-pty-helpe
     |                `-{gnome-terminal}
     |-gnome-volume-ma
     |-gvfs-fuse-daemo---3*[{gvfs-fuse-daemo}]
     |-gvfsd
     |-gvfsd-burn
     |-gvfsd-trash
     |-hald---hald-runner-+-hald-addon-acpi
     |                    |-hald-addon-inpu
     |                    `-2*[hald-addon-stor]
     |-hcid---2*[bluetoothd-serv]
     |-klogd
     |-2*[login---bash]
     |-mixer_applet2---{mixer_applet2}
     |-syslogd
     |-system-tools-ba
     |-trashapplet---{trashapplet}
     |-udevd
     `-vboxadd-timesyn


ordaki seahorse-agent nedir ? isminden tehlikeli bişi olduğu aklıma geliyor. ama siz daha iyi bilirsiniz o nedir ?
Başlık: Ynt: Shell nedir?
Gönderen: erginemr - 01 Eylül 2009 - 04:48:45
man seahorse-agent
yazdığım zaman aşağıdaki açıklamayı alıyorum:
Alıntı YapNAME
      seahorse-agent - seahorse pass phrase caching agent

SYNOPSIS
      seahorse-agent [ OPTION... ]

DESCRIPTION
      Seahorse is a GNOME application for managing encryption keys.

      This  is  the agent program for seahorse which keeps a temporary secure
      storage of your pass phrases. It also  works  with  the  SSH  agent  to
      prompt you for SSH passphrases.
...

Buna göre Seahorse, Gnome program şifrelerini saklayan ve yöneten bir anahtarlık hizmetiymiş.

Anahtarlık hizmet programına Uygulamalar > Donatılar altından erişebiliyorsunuz.
Başlık: Ynt: Shell nedir?
Gönderen: ironic - 01 Eylül 2009 - 05:44:07
Zamanında sistem izleyicisinde dikkatimi çekmişti. İçerdiği "agent" sözcüğünden dolayı telaşa kapılıp; araştırınca da derin bir oh ..! çektiğim bileşen.  :)
Başlık: Ynt: Shell nedir?
Gönderen: onuragtas - 01 Eylül 2009 - 09:48:52
Alıntı yapılan: erginemr - 01 Eylül 2009 - 04:48:45
man seahorse-agent
yazdığım zaman aşağıdaki açıklamayı alıyorum:
Alıntı YapNAME
      seahorse-agent - seahorse pass phrase caching agent

SYNOPSIS
      seahorse-agent [ OPTION... ]

DESCRIPTION
      Seahorse is a GNOME application for managing encryption keys.

      This  is  the agent program for seahorse which keeps a temporary secure
      storage of your pass phrases. It also  works  with  the  SSH  agent  to
      prompt you for SSH passphrases.
...

Buna göre Seahorse, Gnome program şifrelerini saklayan ve yöneten bir anahtarlık hizmetiymiş.

Anahtarlık hizmet programına Uygulamalar > Donatılar altından erişebiliyorsunuz.

çok teşekkürler artık hiç bi kuşku yok :D