VPN istemcisini başlatmak bir neden değil, uygun bir zaman damgasıdır ve bu ayrım sonrasında ne olacağını belirler. Çekirdek Oops o anın yakınında meydana geldiğinde seçim, kullanılabilir bir hata raporu toplamak ile aynı çökmeyi bir üretim makinesinde beş kez daha tetiklemek arasındadır. Yeniden başlatmadan önce dört şeyi saklayın: tam çekirdek derlemesini, ilk hata izini, taint durumunu ve aynı dakikada değişen diğer her şeyin kısa bir açıklamasını. Gerisi yorumdur ve yorum, kanıtlar güvenli bir yerde olana kadar bekleyebilir.

Son satırı değil, ilk hatayı yakalayın

Günlükteki ilk Oops önemli olandır, çünkü sonraki her hata artık sağlıklı olmayan bir çekirdeğin yan hasarı olabilir. Başlığı çağrı iziyle birlikte kopyalayın, çünkü başlık hataya neden olan talimatı ve kod yolunu tanımlayan yazmaç durumunu taşır. Son satırdan başlayan bir rapor, bir hafta sonra okuyacak biri için çok az değer taşır.

Makine zaten yeniden başlatıldıysa, önceki açılışın çekirdek tamponu, o sırada kalıcı depolama etkinse çoğu zaman günlükte hâlâ durur. İş yükünü yeniden oluşturmak yerine onu kaydedilmiş dosyadan okuyun, çünkü ikinci bir yeniden üretim ihtiyacınız olanı üzerine yazabilir. Makine yeniden başlatmalar arasında günlük tutamıyorsa, seri konsol veya netconsole hatanın görünür olmasının tek yoludur.

Herhangi bir simgeyi okumadan önce derlemeyi sabitleyin

İşlev adları ve ofsetler yalnızca onları üreten ikili dosyaya göre anlam taşır, bu yüzden çekirdek sürüm dizesini ve dağıtımın derleme tanımlayıcısını birlikte not edin. Başka bir derlemeden gelen simge dosyası tam bir güvenle yanlış satırı gösterir; bu, hiç simge olmamasından daha kötüdür. Yalnızca upstream numarasını değil, çekirdek paketinin sürümünü saklayın, çünkü dağıtımlar çok fazla geri taşıma yapar.

Ağaç dışı modüller kayıtta kendi satırını hak eder, çünkü taint edilmiş bir çekirdek bakımcının ne sonuç çıkarabileceğini sınırlar. taint değerini modül listesinden tahmin etmek yerine okuyun.

Sıfırdan farklı bir taint suçlama değildir ve raporu değersiz kılmaz. Okuyucuya hatanın olduğu anda hangi bileşenlerin yüklü olduğunu söyler ve bazı bayraklar bir raporun yargıyla değil politikayla daha düşük önceliğe alınmasına yol açar. Değeri, modül adlarını ve aynı donanım ile iş yükünün onlar olmadan hiç çekirdek çalıştırıp çalıştırmadığını not edin. Tam da bu son karşılaştırma yeni bir gerilemeyi uzun süredir var olan bir hatadan ayırır.

Tetikleyiciyi kusurdan ayırın

Tüneli başlatmak genellikle zaten var olan bir yolu kullanır: bir ağ sürücüsü, bir kuyruk disiplini, bir offload özelliği veya bir güç durumu. Tetikleyici hatanın ne zaman ortaya çıktığını açıklar, hangi kodun yanlış olduğunu değil, ve tetikleyiciyi neden olarak ele almak hiçbir şeyi düzeltmeyen bir dizi yapılandırma değişikliğine yol açar.

Çalışan önceki bir imaj kanıttır, ispat değil. Karşılaştırırken her açılışta bir bileşeni değiştirin ve sonuçları makineden sonra da kalan bir yerde saklayın.

Bakımcının gerçekte neyi kullanabileceğini denetleyin

Göndermeden önce raporu bir yabancının okuyacağı gibi okuyun. Yapılandırma, tam sıra ve derleme kimliği varsa ve kimlik bilgileri kaldırılmışsa rapor kullanılabilir. Bir yığın izinin ekran görüntüsüyse aynı bilgileri isteyen bir yanıtla geri döner. Çekirdek hata avı kılavuzu yararlı bir izin ve eşleşen simgelerin nasıl göründüğünü açıklar.

uname -r
cat /proc/sys/kernel/tainted
journalctl -k -b -1 --no-pager | sed -n '/BUG:/,/Call Trace/p'
dmesg -T | grep -A 40 'RIP:'

Yukarıdaki her komut yalnızca durumu okur ve makine hâlâ yanıt verebiliyorsa ilk ikisi bir sonraki yeniden başlatmadan önce çalıştırılmalıdır. Günlüğün kalıcı olmadığı yerde yalnızca o ikisi bir daha asla çalışacaktır.

Anahtarları, parolaları ve ilgisiz trafiği kaldırın, ancak izi okumak için birinin ihtiyaç duyduğu işlev adlarını ve ofsetleri koruyun. Materyali dağıtıma veya çekirdeğe uygulanan bildirim yolundan gönderin, ana bilgisayar adı eklenmiş herkese açık bir yapıştırmayla değil. Sonra daha fazla çökme toplamak yerine bir soru bekleyin, çünkü eşleşen bir derlemeye karşı yerelleştirilmiş bir hata raporu ilerleten tek sonuçtur. Hiçbir şey dönmezse, yedek seçenek yedek donanımda kontrollü bir yeniden üretimdir, asla başkalarının bağlı olduğu makinede değil.

İlgili makaleler