init 6 ile aynı yeniden başlatılıyor mu?

19

Yeniden başlatma, ubuntu için init 6 ile aynı mıdır?

Amazon EC2'de Ubuntu 12.04 çalıştırıyorum. Kutuya ssh'ed runlevel yazabilirim ve şunu elde ederim:

N 2

% co_de dosyasına bakıyorum% şunu görüyorum:

  

--force ile çağrıldığında veya 0 veya 6 çalışma seviyesinde olduğunda, bu araç sistemin yeniden başlatılmasını (2) çağırır ve sistemi doğrudan yeniden başlatır. Aksi halde bu, kapatma (8) aracını uygun argümanlarla çağırır.

man reboot okuduğumu görürsem:

  

kapatma, sistemin güvenli bir şekilde indirilmesini sağlar. Sisteme giriş yapan tüm kullanıcılara sistemin düştüğü bildirilir ve TIME'nin son beş dakikasında yeni girişler engellenir.

man shutdown 8 ile reboot arasındaki fark hakkında temel bilgilerim:

  • Diğer dağıtımlarda ve belki de daha eski dağıtımlarda init 6 diskleri çıkarır ve temel olarak herhangi bir kapatma komut dosyasını çalıştırmadan güç anahtarına basarlar
  • reboot , tüm komut dosyalarını init 6 cinsinden çalıştırarak sistemin çalışma düzeyini azaltır.
  • Ubuntu'nun daha yeni sürümlerinde /etc/init/rc.* veya reboot olmadan --force komutu, temelde -f ile aynı şeyi yapacak olan kapatma komutunu çalıştırır.
  • Daha güvenli olduğu ve daha iyi çapraz dağıtıcı çalışacağı için init 6 yerine init 6 kullanma alışkanlığı kazanması daha iyi olabilir, ancak reboot varsayılan davranışı hataları denemek ve önlemek için değiştirildi. Birisi kullanırsa dataloss.

Bu doğru mu? Değilse, neyi özlüyorum?

    
sordu cwd 13.08.2012 22:59

1 cevap

20

Aşağıdakiler hariç init 6 yerine reboot kullanmak için gerçekten hiçbir neden yoktur:

  • Bazı nedenle, reboot yürütülebilir, veya eksiksiniz.
  • Kasten, kullanıcıları sistemin düştüğünü bildirmekten kaçınmaya çalışıyorsunuz.

reboot ( reboot --force komutunu çalıştırmadığınız sürece) aslında kapatmanın "daha yumuşak" yoludur.

düşünün:

  

init 6 , sistemin çalışma düzeyini düşürdüğü için /etc/init/rc.* dizinindeki tüm kapatma komut dosyalarını çalıştıracaktır

Ancak, reboot komutu ; / em> --force bayrağı, sistemi doğrudan yeniden başlatır ( reboot aracılığıyla) sistem çağrısı ) bu iki durumdan biri uygulandığında:

  • Sistem, runlevel 0'da (tek kullanıcı modu), yani çalışma seviyesinde herhangi bir düşüş yoktur. yapabilir , bu nedenle hiçbir kapatma komut dosyası otomatik olarak çalıştırılmaz.
  • Sistem, çalışma düzeyinde 6'dır. Sistemi, çalışma düzeyinde 6 koymak için init 6 ne yapar. Yine, init 6 'yi çalıştıran hiçbir şeyin reboot komutunu çalıştıranın yapamayacağı bir şey yoktur' Yap.

Aksi takdirde, sudo reboot , sudo shutdown -r now değerine eşittir. Bu sudo init 6 'nin yaptığı tüm güzel şeyleri yapar, ayrıca:

  • , kullanıcıların sisteme bağlı olduğunu bildirir.
  • yeni girişleri engeller (yine de yine de başarılı olmazlardı).
  • , sudo init 6 adresinden daha sezgisel ve kendini belgeleyen bir yöntemdir.

Yalnızca giriş yaptığınız bir sistemdeyseniz ve yalnızca yerel girişler kullanıyorsanız, yeniden başlatmak için init 6 kullanımıyla ilgili bir sorun olmaz. Yeniden başlatmayı tercih ederseniz tüm yollarla devam edin - bunu yaparak hiçbir şeye zarar vermeyeceksiniz. Ancak, bu şekilde yapılmasının nesnel olarak tercih edilmediği bir şey de yoktur.

init 'nin kendi dokümantasyonu, sistemin kapatılmasının veya yeniden başlatılmasının normal yolu olmadığını söylüyor. init kullanıcısı tarafından çalıştırıldığında bunu göz önünde bulundurun (% co_de'yi çalıştırdığınızda olduğu gibi) ), aslında sudo init 6 çalışır (bkz. telinit ). man init aslında çalışma seviyelerini değiştirir. Ve telinit bize şunu söyler:

  

Normalde, durdurmak için kapatma (8) aracını kullanırsınız. reboot   sistemi veya tek kullanıcı moduna getirin.

    
verilen cevap Eliah Kagan 13.08.2012 23:20

Etiketlerdeki diğer soruları oku