Systemd'in neden acil durum moduna girdiğini tam olarak belirleme


10

Debian Jessie'yi çalıştıran masaüstü bilgisayarım her önyüklemede acil durum modu kabuğuna düşmeye başladı. Ekranda journalctl -xbnedeni bulmak için ve systemctl defaultönyüklemeye devam etmek için kullanılması söyleniyor. Çalıştırdığımda systemctl default, sistem önyüklemeye devam ediyor ve sistemi kullandıktan birkaç hafta sonra görünüşe göre yanlış bir şey yok.

Baktığımızda journalctl -xb, hiçbir şey acil bir mermiye düşme sebebi olarak göze çarpmıyor. Acil durum moduna geçmeye karar vermesinin nedenini tam olarak belirlemenin kolay bir yolu var mı ? Sorunun nerede olduğunu açıkça ortaya koyacak başka bayraklar veya önyükleme seçenekleri var mı?


2
Dergide görünür olmalıdır, ancak sağladığınız sınırlı bilgi ile size yol göstermenin bir yolu yoktur. Ne journalctl -xb zaman olduđunun bir kopyasý var mý?
Julie Pelletier

3
systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1MAdli seviye ayrıntı için ayrıntılı günlük modunda önyükleme ...
jasonwryan

2
Mevcut günlükler size zaten nedenini vermelidir. Tahmin etmenin çok zor olmasının birçok nedeni var.
Giacomo Catenazzi

1
Aynı sorun Ubuntu 16.04 örneğinde de var. Son 20 yıldır birçok Linux sistemini kuruyor, kullanıyor, onarıyor. Ekranda özel bir şey yok ve bu sefer günlüklerde hiçbir şey göze çarpmıyor. Ekran, Ctrl-D'nin önyüklemeye devam edeceğini söylüyor, ancak bu sadece bir dakika sonra aynı isteme geri gidiyor. İpucu yok. Sinir bozucu, değil mi?
Stéphane Gourichon

Hata ayıklama sistemindeki "Önyükleme Sorunlarını Tanılama" bölümündeki tüm adımları denediniz mi?
Siosm

Yanıtlar:


6

Arıza , ünitenin açıklaması yanında [ FAIL ]konsolda (yerine [ OK ]) kırmızı göstermelidir. Genellikle ilk hatalar en önemlisidir. Son birkaç ekran çıktısını yukarı kaydırmak ve görüntülemek için konsoldaki shift + pageup tuşlarını kullanın. Çok fazla çıktı varsa bu çalışmayabilir.

Bu [ OK ], normalde mesaj görmeseniz bile çalışır , örneğin quietDebian tarafından kullanılan çekirdek komut satırından dolayı . İlk hatada, systemd ayrıntılı moda geçer.

Aksi takdirde kullanabilirsiniz systemctl. Herhangi bir seçenek olmadan, arızalar kırmızı renkle vurgulanmış bilinen birimlerin büyük bir listesini gösterir. Yalnızca başarısız olanları göstermek için systemctl --state=failedveya tuşlarını kullanın systemctl --failed.


Birim dosyaları arasında arama yaparsanız, önyüklemenin geri düşmesinin çok az yolu vardır emergency.target. Genellikle .mountyerel bir dosya sistemi için bir birim başarısız olduğunda başarısızlığa neden local-fs.targetolur. Veya initramf'leriniz root dosya sistemini bağlayamazsa, initramf'leriniz systemd kullanıyorsa.

local-fs.targetvardır OnFailure=emergency.target. Ayrıca, yerel dosya sistemleri için birimler local-fs.target Gereken listesine otomatik olarak eklendiğinden başarısız olur DefaultDependencies=no.

$ systemctl show --property Requires local-fs.target
Requires=-.mount home.mount boot.mount boot-efi.mount

2

Arada bir "bakım modu" istemine rastlarım ve hatalar için dergide ilerlemem gerekiyor. Journalctl çağrı cihazı olarak daha az kullandığından, aramanıza daha az kısayol uygulayabilmeniz gerekir.

Genellikle, arama işlevine (/) güvenirim ve "hata", "uyarı" veya "başarısız" ile eşdeğer bir şey ararım. Ve büyük / küçük harf duyarsız aramayı zorladığınızdan emin olun.

Bu yüzden tuş vuruşlarım şöyle görünecekti:

-i (case insensitive)
g (move to start)
/error
nnnn (skip through results)
g (move to start)
/fail
nnnn (skip through results)
g (move to start)
/warn
nnnn (skip through results)

Teknik olarak kesin sorun için kapsamlı veya kesin bir arama değil, ancak bu şekilde bir önyükleme sorununu hiç kaçırmadım.

Aşağıdaki ilgili daha az klavye kısayolları:

http://www.thegeekstuff.com/2010/02/unix-less-command-10-tips-for-effective-navigation/


Ayrıca hızlı bir şekilde sayfa atlamanın ve kırmızı mesajları (LOG_ERR ve üstü) aramanın mümkün olması gerektiğine inanıyorum. systemdbir hizmet birimini başlatma veya daha da önemlisi bir dosya sistemi bağlama hatası için kırmızı iletileri günlüğe kaydeder.
sourcejedi
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.