.\" http://belgeler.org \- 2009\-10\-29T15:35:52+02:00 .TH "init" 8 "23 Ağustos 2001" "" "Linux Sistem Yöneticisinin Kılavuzu" .nh .PD 0 .SH İSİM init \- süreç kontrol başlangıcı .br telinit \- çalışma seviyesini değiştirir .SH KULLANIM .nf \fB/sbin/init \fR [ \fB\-a\fR ] [ \fB\-s\fR ] [ \fB\-b\fR ] [ \fB\-z \fR\fIxxx\fR] [ \fB0123456Ss\fR ] \fB/sbin/telinit\fR [ \fB\-t \fR\fIsaniye\fR ] [ \fB0123456sSQqabcUu\fR ] .fi .SH AÇIKLAMA \fBinit\fR, bütün süreçlerin atasıdır. \fBinit\fR\N'39'in birincil görevi \fB/etc/inittab\fR içinde saklı betikten süreçler oluşturmaktır (ayrıntılar için \fBinittab(5)\fR\N'39'a bakınız). Bu dosyada, \fBinit\fR\N'39'in çeşitli hatlar üzerinden kullanıcıların bağlanmasını sağlamak üzere \fBgetty(1)\fR süreçleri oluşturmasını sağlayan girdiler vardır. Ayrıca belirli sistemler tarafından ihtiyaç duyulan özerk süreçleri de kontrol eder. .SH ÇALIŞMA SEVİYELERİ Çalışma seviyesi, sistemde varolan süreçlerden belirtilmiş olanların çalışmasını sağlayan yazılım yapılandırmasına verilen addır. Her bir çalışma seviyesi için, \fBinit\fR tarafından başlatılan süreçler \fB/etc/inittab\fR dosyası içinde tanımlıdır. \fBinit\fR sekiz değişik çalışma seviyesinden birinde olabilir: \fB0\-6\fR, \fBS\fR veya \fBs\fR. Çalışma seviyesi \fBtelinit\fR kullanılarak yetkili bir kullanıcı tarafından, \fBinit\fR\N'39'e uygun bir sinyal gönderilerek değiştirilir. Çalışma seviyeleri \fB0\fR, \fB1\fR ve \fB6\fR ayrılmış seviyelerdir. \fB0\fR sistemi durdurmak için, \fB6\fR tekrar başlatmak için ve \fB1\fR ise tek kullanıcılı kipe döndürmek için kullanılır. \fBS\fR seviyesi doğrudan kullanıcı ile alakalı değildir, daha çok çalışma seviyesi \fB1\fR\N'39'e girerken çalıştırılan betikleri ifade eder. Bu konuda daha fazla bilgi için \fBshutdown(8)\fR ve \fBinittab(5)\fR\N'39'a bakınız. 7\-9 arası çalışma seviyeleri de geçerlidir ama bu seviyeler hakkında belgelendirme yapılmamıştır. Çünkü \N'34'geleneksel\N'34' Unix türevleri bu seviyeleri kullanmazlar. Sırf merakınız gidermek için belirteyim ki \fBS\fR ve \fBs\fR aynıdır ve aynı çalışma seviyesini belirtirler. .SH SİSTEM AÇILIŞI Çekirdek açılış töreninin son halkası olarak \fBinit\fR çalıştırıldığı zaman, içinde öntanımlı çalışma seviyesi girdisi olup olmadığını kontrol etmek için \fB/etc/inittab\fR dosyasına bakılır (bakınız \fBinittab(5)\fR). Bu öntanımlı çalışma seviyesi, sistem açılışı sonrası düşülecek çalışma seviyesini belirtir. Bu tür bir girdi yok ise veya \fB/etc/inittab\fR dosyası yok ise, konsoldan bir çalışma seviyesi girilmesi gerekir. Çalışma seviyeleri \fBS\fR veya \fBs\fR, sistemi tek kullanıcı kipe sokar ve \fB/etc/initab\fR dosyasına ihtiyaç duymazlar. Tek kullanıcılı kipte, \fB/dev/console\fR üzerinde bir root kullanıcı kabuğu açılır. Tek kullanıcılı kipine girilince, \fBinit\fR konsolun \fBioctl(2)\fR durumunu \fB/etc/ioctl.save\fR dosyasında okur. Şayet bu dosya yok ise, \fBinit\fR hattı \fB9600 baud\fR ve \fBCLOCAL\fR ile ilklendirir. \fBinit\fR tek kullanıcılı kipi terk ederken konsolun \fBioctl\fR ayarlarını bu dosyaya kaydeder. Böylece tekrar tek kullanıcılı kipe geçildiği zaman bu ayarları kullanabilir. Çok kullanıcılı kipe ilk sefer girişte, kullanıcılar bağlanmadan önce dosya sisteminin bağlanmasını sağlayabilmek için \fBboot\fR ve \fBbootwait\fR girdileri \fBinit\fR tarafından çalıştırılır. Daha sonra çalışma seviyesi ile eşleşen bütün girdiler çalıştırılır. Yeni bir süreç başlatılırken, \fBinit\fR ilk olarak /etc/initscript dosyasının var olup olmadığını kontrol eder. Şayet var ise, bu dosyada bulunan betikler süreci başlatmak için kullanılır. Bir alt süreç her sonlandığında, bunun sebebi \fBinit\fR tarafından \fB/var/run/utmp\fR ve \fB/var/log/wtmp\fR içine yazılır (bu dosyaların mevcut olup olmadığı önce kontrol edilir). .SH ÇALIŞMA SEVİYELERİNİN DEĞİŞTİRİLMESİ Belirtilen bütün süreçler çalıştırıldıktan sonra \fBinit\fR; kendi oluşturduğu bir sürecin sonlandırılmasını, bir enerji kesme sinyalinin veya \fBtelinit\fR tarafından gönderilen bir çalışma seviyesi değiştirme sinyalinin gelmesini bekler. Bu üç durumdan biri gerçekleşirse, \fB/etc/inittab\fR dosyasını tekrar kontrol eder. Bu dosyaya yeni girdiler eklenmiş olabilir. Bununla birlikte, \fBinit\fR bunlardan birinin gerçekleşmesini bekler. Durumlara anında tepki verebilmek için, \fBtelinit\fR\N'39'in \fBQ\fR veya \fBq\fR komutu ile \fBinit\fR\N'39'in \fB/etc/inittab\fR dosyasını tekrar kontrol etmesi sağlanabilir. Şayet \fBinit\fR tek kullanıcılı kipte değilse ve bir enerji kesme sinyali alırsa (SIGPWR), gidip \fB/etc/powerstatus\fR dosyasını okur. Daha sonra bu dosyanın içeriğine bağlı olarak şu komutlardan birini uygular: .br .ns .TP \fBF\fR(AIL) Enerji KGK tarafından sağlanıyordur ve bir süre sonra enerji kesilecektir. \fBpowerwait\fR ve \fBpowerfail\fR girdileri çalıştırılır. .TP \fBO\fR(K) Enerji tekrar gelmiştir. \fBpowerokwait\fR girdisi çalıştırılır. .TP \fBL\fR(OW) KGK\N'39'nın akülerindeki enerji azalmaktadır ve enerji kesilecektir. \fBPowerfailnow\fR girdisi çalıştırılır. .PP Şayet /etc/powerstatus yok ise veya \fBF\fR, \fBO\fR veya \fBL\fR harflerinden farklı bir şey ihtiva ediyorsa, \fBinit\fR, \fBF\fR harfini okuduğunu kabul eder ve ona göre davranır. \fBSIGPWR\fR ve \fB/etc/powerstatus\fR kullanımı tavsiye edilmez. \fBinit\fR ile etkileşimli kipe geçmek isteyen birisinin \fB/dev/initctl\fR\N'39'yi kullanması daha uygun olur. Bu konuda daha ayrıntılı bilgi için \fBsysvinit\fR paketinin kaynak kodundaki belgelere bakınız. Çalışma seviyesi değiştirme isteği \fBinit\fR\N'39'e iletilince; \fBinit\fR yeni seviyede tanımlanmamış olan bütün süreçlere \fBSIGTERM\fR sinyali gönderir. Daha sonra bu süreçleri sonlandırmadan önce 5 saniye bekler. 5 saniye sonra \fBSIGKILL\fR sinyali gönderir. NOT: \fBinit\fR bütün süreçlerin ve onların alt süreçlerinin aynı süreç grubu içinde kaldığını varsayar. Şayet herhangi bir süreç, süreç grubunu üyeliğini değiştirmiş ise, o süreç bu sonlandırma sinyalini almaz. Bu tür süreçlerin ayrıca sonlandırılması gerekir. .SH TELINIT \fB/sbin/telinit, /sbin/init\fR\N'39'e bir bağdır. Tek karakterlik argümanlar ve sinyalleri kabul eder. Aşağıdaki argümanlar \fBtelinit\fR\N'39'e talimat olarak verilebilir: .br .ns .TP \fB0,1,2,3,4,5\fR veya \fB6\fR \fBinit\fR\N'39'in, belirtilen çalışma seviyesine geçmesi istenir. .TP \fBa,b\fR veya \fBc\fR \fBinit\fR\N'39'in, sadece \fBa,b\fR veya \fBc\fR çalışma seviyesi için verilmiş olan \fB/etc/inittab\fR dosyası girdilerini çalıştırması istenir. .TP \fBQ\fR veya \fBq\fR \fBinit\fR\N'39'in, \fB/etc/inittab\fR dosyasını tekrar kontrol etmesi istenir. .TP \fBS\fR veya \fBs\fR \fBinit\fR\N'39'in tek kullanıcılı kipe geçmesi istenir. .TP \fBU\fR veya \fBu\fR \fBinit\fR\N'39'in, durumunu koruyarak, kendini tekrar başlatması istenir. \fB/etc/inittab\fR dosyası tekrar okunmaz. Çalışma seviyeleri \fBSs12345\fR\N'39'den birisi olmalıdır. Aksi taktirde istek sessizce yok sayılır. Herhangi bir hata dönmez. .PP Ayrıca \fBtelinit\fR, \fBinit\fR\N'39'e SIGTERM ve SIGKILL sinyalleri arasında ne kadar beklemesi gerektiğini de söyleyebilir. Öntanımlı değer 5 saniyedir fakat \fB\-t\fR seçeneği kullanılarak bu değer değiştirilebilir. \fBtelinit\fR, sadece uygun yetkiye sahip kullanıcılar tarafından kullanılabilir. \fBinit\fR çalıştırılabiliri, kendinin \fBinit\fR mi yoksa \fBtelinit\fR mi olduğunu anlamak için süreç numarasını kontrol eder, gerçek \fBinit\fR\N'39'in süreç numarası daima \fB1\fR\N'39'dir. Buradan, \fBtelinit\fR kullanmak yerine, \fBinit\fR\N'39'in kısa yol olarak kullanılabileceği de ortaya çıkar. .SH ORTAM DEĞİŞKENLERİ \fBinit\fR, çalıştırdığı alt süreçler için aşağıdaki ortam değişkenlerini ayarlar: .br .ns .TP \fBPATH\fR /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin .TP \fBINIT_VERSION\fR \fBinit\fR sürüm numarası. Bir betiğin doğrudan \fBinit\fR tarafından çalıştırıp çalıştırmadığını anlamak açısından faydalıdır. .TP \fBRUNLEVEL\fR Geçerli sistem çalışma seviyesi. .TP \fBPREVLEVEL\fR Bir önceki sistem çalışma seviyesi. Çalışma seviyesinin değiştirilmesi durumunda, öncekini tespit etme açısından faydalıdır. .TP \fBCONSOLE\fR Sistem konsolu. Gerçekte çekirdekten miras alınır. Şayet bu seçenek ayarlanmaz ise, \fBinit\fR tarafından öntanımlı olarak \fB/dev/console\fR kullanılır. .PP .SH AÇILIŞ SEÇENEKLERİ Açılış esnasında \fBinit\fR\N'39'e seçenekler girilebilir (LILO içinden). \fBinit\fR şu seçenekleri kabul eder: .br .ns .TP \fB\-s, S, single\fR Tek kullanıcı kipinde açılış. Bu kipte /etc/inittab dosyası incelenir ve açılış rc betikleri, tek kullanıcılı kip kabuğu başlatılmadan önce çalıştırılır. .TP \fB1\-5\fR Açılış sonrası girilecek çalışma seviyesini belirtir. .TP \fB\-b, emergency\fR Herhangi bir açılış betiğini çalıştırmadan doğrudan tek kullanıcılı kip kabuğuna düşer. .TP \fB\-a, auto\fR Çekirdek, kullanıcının müdahalesine gerek kalmadan öntanımlı komut satırı ile yüklenmişse, LILO önyükleyicisi komut satırına "auto" sözcüğünü ekler. Şayet bu bulunursa, \fBinit\fR AUTOBOOT ortam değişkenine "yes" değerini atar. Bunu bir güvenlik ölçüsü olarak kullanamayacağınızı unutmayın, çünkü kullanıcı komut satırını kendi de tanımlayabilir. .TP \fB\-z \fR\fIxxx\fR \fB\-z\fR\N'39'ye verilen argüman yok sayılır. Bu seçeneği komut satırını biraz daha genişletmek için kullanabilirsiniz, böylece yığıt içinde daha fazla yer kaplaması sağlanmış olur. \fBinit\fR komut satırını büyük bir ustalıkla yönetir, böylece \fBps(1)\fR geçerli çalışma seviyesini gösterebilir. .PP .SH ARAYÜZ \fBinit\fR iletiler için; /dev içindeki /dev/initctl fifosunu dinler. Arayüz tam olarak bitmemiş ve belgeleme işlemleri de bitirilmemiştir. İlgilenenler /src dizinindeki \fBinit\fR kaynak kodlarının tar arşivindeki initreq.h dosyasına bakabilirler. .SH SİNYALLER \fBinit\fR çeşitli sinyallere tepki verir: .br .ns .TP \fBSIGHUP\fR \fBinit\fR /etc/initrunlvl ve /var/log/initrunlvl dosyalarını arar. Şayet bu dosyalardan birisi var ise ve bir ASCII çalışma seviyesi içeriyorsa, \fBinit\fR bu çalışma seviyesine geçer. Bu sadece geçmişe uyum için konulmuştur. Normal durumlarda (dosyanın olmadığı durumlarda) \fBinit\fR, \fBtelinit\fR\N'39'in \fB\-q\fR seçeneği ile çalıştırıldığını kabul eder ve buna göre davranır. .TP \fBSIGUSR1\fR Bu sinyali alınca, \fBinit\fR kendi denetim fifosu olan \fB/dev/initctl\fR\N'39'u kapatır ve tekrar açar. /dev dizinin tekrar bağlandığı zamanlarda, açılış betikleri için oldukça faydalıdır. .TP \fBSIGINT\fR CTRL\-ALT\-DEL üçlemesine basıldığı durumlarda, çekirdek \fBinit\fR\N'39'e bu sinyali gönderir. O da \fBctrlaltdel\fR eylemini etkinleştirir. .TP \fBSIGWINCH\fR KeyboardSignal tuşuna basıldığı durumlarda, çekirdek \fBinit\fR\N'39'e bu sinyali gönderir. O da \fBkbrequest\fR eylemini etkinleştirir. .PP .SH UYUM \fBinit\fR, System V init ile uyumludur. /etc/init.d ve /etc/rc{çalışmaseviyesi}.d dizinleri içindeki betikler ile birlikte uyum içinde çalışır. Eğer sisteminiz geleneksel yapıya uyuyorsa, /etc/init.d içinde bu betiklerin nasıl çalıştığını açıklayan bir README dosyası bulacaksınız. .SH İLGİLİ DOSYALAR .nf /etc/inittab /etc/initscript /dev/console /etc/ioctl.save /var/run/utmp /var/log/wtmp /dev/initctl .fi .SH UYARILAR \fBinit\fR, süreçlerin ve bu süreçlerin soyundan gelen diğer süreçlerin orijinal süreç grupları içinde kaldıklarını varsayar. Şayet bir süreç, süreç grubunu değiştirirse, \fBinit\fR bu süreci öldüremez ve aynı uçbirim hattında iki süreç ile karşılaşabilirsiniz. .SH TANI KOYMA Şayet bir girdi 2 dakika içinde 10 kereden fazla çoğaltılıyorsa, \fBinit\fR, bu girdi satırında bir hata olduğunu düşünecek, sistem konsolundan bir hata iletisi verecek ve 5 dakika geçmeden veya bir sinyal almadan bu girdinin tekrar çoğalmasına izin vermeyecektir. Buradaki amaç, \fB/etc/inittab\fR içinde hatalı bir girdinin sistem kaynaklarını yok etmesini önlemektir. .SH YAZAN Miquel van Smoorenburg tarafından yazılmıştır, ilk kılavuz sayfası Michael Haardt tarafından yazılmıştır. .SH İLGİLİ BELGELER \fBbash(1)\fR, \fBgetty(1)\fR, \fBkill(1)\fR, \fBlogin(1)\fR, \fBinitscript(5)\fR, \fBinittab(5)\fR, \fButmp(5)\fR, \fBrunlevel(8)\fR, \fBshutdown(8)\fR. .SH ÇEVİREN Yalçın Kolukısa , Şubat 2004