/etc/rc.d vs /etc/init.d


15

Ubuntu'nun /etc/init.ddizini daha standart /etc/rc.d/(en azından kemer üzerinde ) olduğunu düşündüğüm dizine tam olarak (işlevsel olarak) eşit mi? Başlangıç ​​komut dosyaları için canonical'in rc.d yerine init.d kullanılmasının belirli bir nedeni var mı?


1
aslında arch linux /etc/rc.dgördüğüm tek dağıtımdır ... Ben bsd kullanılabilir şüpheli.
xenoterracide

1
freebsd içinde kullanılır
wlraider70

Yanıtlar:


16

Ubuntu /etc/init.d, Debian'a dayalı olduğu ve Debian'ın kullandığı şey olduğu için Ubuntu SysVinit komut dosyalarını depolamak için kullanır. Red Hat kullanır /etc/rc.d/init.d. Slackware'in ne kullandığını unutuyorum. Sadece standart bir konum yok.

Ubuntu sysvinit ila geçiş sürecinde olduğunu sonradan görme yapılandırma dosyalarını kullanır, /etc/init.


2
Üzgünüz, ancak /etc/init.d standarttır, SVR4 standardının bir parçası olarak Linux komut dosyalarını kopyalamaya başlar.
Zengin Homolka

Upstart'ın web sitesi Ubuntu'nun 6.10 sürümünden beri kullandığını iddia ediyor
badp

@badp: 6.10 olsa da, hala SysV tarzı init komut dosyalarını kullandı /etc/init.d. Daha /etc/init/*.confsonra başlamak için geçiş (8.04 hala tüm SysV tarzıydı, 10.04 zaten geçişliydi).
Gilles 'SO- kötü olmayı kes'

2
Ubuntu, 15.04'ten beri Upstart'dan systemd'ye geçti.
PetroCliff

7

/etc/init.d, SVR4 için eski tarihi konumdu. Redhat'ın neden /etc/rc.d/ seviyesini eklediğini unuttum. Ben rc.d üzerine şeyler izole düşünüyorum, ama sonra geriye uyumluluk için yine de bir demet semboller eklemek gerekiyordu. Yani redet içinde /etc/init.d var, sadece başka bir yerde sembolik.

Bu nedenle, standart konum /etc/init.d'dir, ancak gerçek bir dizin değil bir simge bağlantısı olabilir.

BSD'yi /etc/rc.local ile kopyalayan gerçekten eski Linux dağıtımları vardı, ancak artık bunu kimse kullanmıyor.



5

Tarihsel olarak, /etc/rc.ddizin ağacı, genellikle rcinit sistemi olarak adlandırılan 4.4 BSD sistem başlatma geleneğini izleyen bir Init sistemini belirtir . Tüm modern (Serbest / Açık / Net) BSD sistemi ve Slackware Linux bu geleneği takip eder.

/etc/init.dDizin ağacı, AT & T UNIX, SunOS sistem başlatma Solaris gelenek aşağıdaki Sistem V (SysV) init sistemini gösterir. Buna genel olarak SysV Init sistemi denir. Debian özel, bu geleneği Wheezy serisinde takip ediyor, ancak JessieD serisinde SystemD kullanmayı planlıyor. Tarihsel olarak, RedHat ve türevleri SysV Init kullanmıştır, ancak artık kullanmamaktadır.

Ayrıca, zamanla, her iki başlangıç ​​şemasının özellikleri dağıtımlar tarafından benimsenmiştir.


Ve sonra "/etc/rc.d/init.d/" ile AIX var. Biraz sütun A ve biraz sütun B
DarkHeart

0

Aslında, en azından CentOS 6.8 Santiago, /etc/init.dsadece bir softlink olduğunu /etc/rc.d.


Demek istediğim bu, haha. Yanlış yazım için üzgünüm, cevabımı şimdi düzenledim.
chromechris

İnsanlar neden açıklama yapmadan iniyor? Kasıtlı olarak alakasız olmadıkça ifade, bazı acemi okuyucu için hala değer veya anlam taşıyabilir. Ne zaman indirdiğinizi açıklayın. -1 + 1'in etkisini geri almak için +1
Asad Iqbal

0

Puppy Linux hem sahiptir /etc/rc.d ve /etc/init.d , ikisi de bir sembolik bağlantı değildir. Bir symlink nedir /etc/rc.d/init.d , bir düzeyi /etc/init.d'e bağlar (Slackware tabanlı bir köpek yavrusu arıyorum - ayrıca Ubuntu tabanlı ve diğer lezzetler de var) .) Her birinde yaklaşımlarını açıklayan bir README.txt var.


0

Tamam, /etc/init.dbir init betiğini hızlı bir şekilde dağıtabileceğiniz bir yerdir. Bu komut dosyasını etkinleştirmenin ikinci adımı, chkconfigüzerinde bir komut çalıştırmaktır . Diyelim ki koşarsanız chkconfig --add <yourscript>, /etc/init.d/<yourscript>ve arasında sembolik bağlantılar oluşturulur/etc/rc.d/rcX.d/S50<script>Örneğin. RCX.d'de X, komut dosyasının çalışma düzeyi numarasını temsil eder ve S50, komut dosyası türünü temsil eder (bu türlerden ikisi vardır, S & K, S, sisteme önyükleme yaparken komut dosyasını başlatmasını söyler ve K, sisteme S / K'den sonraki sayı, önce diğerlerinin etkin olmasına bağlı olan bazı komut dosyalarınız olması durumunda, bunların gerçekleşme sırasını temsil eder). Varsayılan olarak, komut dosyasının içinde herhangi bir çalışma düzeyi belirtilmezse veya çalışma düzeyi komutunu verirseniz, CentOS6, 2,3,4,5 çalışma düzeyleri için S50 komut dosyaları ve 0,1,6 çalışma düzeyleri için K50 komut dosyaları oluşturur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.