Menjelang akhir "urutan startup" 1 , saya melihat serangkaian pesan diagnostik gondrong terbang dengan sangat cepat, tepat sebelum saya melihat prompt login 2 .
AFAICT, sebagian besar, jika tidak semua, dari garis-garis yang membentuk output yang berumur pendek ini dimulai dengan salah satu dari string yang ditunjukkan di bawah ini
[ OK ]
[FAILED]
... di mana OK
hijau, dan FAILED
merah 3 .
Pesan-pesan ini terlalu singkat untuk saya baca.
Pertanyaanku adalah:
Apakah ada cara untuk membuat pesan-pesan ini lebih mudah dibaca?
Kemungkinan solusi yang muncul termasuk (dalam urutan pilihan):
- teeing (atau hanya mengarahkan) pesan-pesan tersebut kata demi kata 4 ke beberapa file log persisten;
- mengaktifkan mekanisme tipe paging (
Press any key to continue...
); - menyisipkan jeda (dengan panjang yang dapat dikonfigurasi) setelah pesan-pesan itu dicetak;
- mengaktifkan beberapa tombol (atau kombinasi tombol) untuk menghentikan sementara output ke layar 5 .
EDIT: berdasarkan komentar yang saya dapatkan sejauh ini, saya harus menyimpulkan bahwa kata kata demi kata di (1) di atas tidak dipahami, atau tidak dianggap serius, meskipun saya telah menekankan sebanyak yang saya bisa. Saya akan membuatnya flash jika saya bisa ...
EDIT2: saran yang saya berikan dalam komentar tampaknya menjanjikan bagi saya, tapi saya belum bisa membuatnya bekerja. Inilah yang saya lakukan:
Pertama, saya menambahkan yang berikut di akhir /etc/rsyslog.conf
:
# Save boot messages also to boot.log
local7.* /var/log/boot.log
... dan reboot. Saya melihat pesan diagnostik biasa lewat, tetapi tidak ada /var/log/boot.log
file yang dibuat.
Kemudian, dalam acara (memang tidak mungkin) yang /var/log/boot.log
harus ada sebelum rsyslog
dapat menulis ke sana, saya mengeksekusi (sebagai root):
touch /var/log/boot.log
chgrp adm /var/log/boot.log
chmod 640 /var/log/boot.log
... di mana perintah chgrp
dan chmod
dimaksudkan untuk membuat kepemilikan dan izin /var/log/boot.log
cocok dengan semua file log lainnya di bawah /var/log
. Lalu saya reboot, melihat pesan, dll. File /var/log/boot.log
tetap kosong setelah reboot ini.
(Saya mendapat hasil yang sama ketika saya mengubah izin /var/log/boot.log
untuk 666
.)
Saya sudah grep
meng-output journalctl --boot
dan file-file di bawah /var/log
untuk apa pun yang saya bisa pikirkan yang mungkin menunjuk ke sesuatu yang serba salah dengan saya rsyslog
, tetapi tidak menemukan apa pun. (Saya sama sekali tidak terbiasa dengan rsyslog
, jadi saya yakin pencarian saya cukup tidak kompeten.)
Jelas bahwa apa yang telah saya lakukan sejauh ini tidak cukup untuk mengaktifkan pencatatan yang diinginkan. Saya sekarang mencari apa pun yang saya lewatkan. Saya belum dapat menemukan banyak dokumentasi yang relevan. Sebagai contoh, tidak ada rsyslog.conf(5)
atau rsyslogd(8)
berkenan untuk menjelaskan apa local7
itu ( rsyslog.conf(5)
setidaknya cukup ramah untuk menyebutkannya sekali, tanpa memberikan informasi lebih lanjut).
EDIT3
Informasi distro:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.3 (jessie)
Release: 8.3
Codename: jessie
$ uname -a
Linux myhost 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux
EDIT4
Informasi tambahan yang berpotensi relevan:
$ cat /lib/systemd/system/rsyslog.service
[Unit]
Description=System Logging Service
Requires=syslog.socket
Documentation=man:rsyslogd(8)
Documentation=http://www.rsyslog.com/doc/
[Service]
Type=notify
ExecStart=/usr/sbin/rsyslogd -n
StandardOutput=null
Restart=on-failure
[Install]
WantedBy=multi-user.target
Alias=syslog.service
$ cat /proc/$(pgrep rsyslogd)/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 128529 128529 processes
Max open files 1024 4096 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 128529 128529 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
$ sudo ls /proc/$(pgrep rsyslogd)/fd | wc -l
10
1 Yaitu apa yang terjadi ketika saya (kembali) mem-boot mesin saya.
2 FWIW, multi-user.target
adalah standar saya.
3 Teks yang tersisa semuanya berwarna putih di atas latar belakang hitam. Ini berlaku untuk prompt masuk berikutnya.
4 Saya menemukan solusi yang sama sekali tidak dapat diterima yang tidak membuat saya melihat teks yang tepat dari pesan-pesan ini seperti yang muncul selama urutan startup. Karena, selalu, saya tidak akrab dengan apa pun dari pesan diagnostik yang dirujuk, tidak mungkin bagi saya untuk mengenali semua cara di mana informasi yang mendasarinya disampaikan oleh pesan asli dapat diparafrasekan, tersebar di beberapa pesan lainnya , dimasukkan dalam pesan lain, dll. (Hanya dengan mencari secara online untuk kata - kata yang tepat dari pesan aslinya, saya memiliki harapan untuk menemukan solusi untuk masalah tersebut.) Semua yang saya coba sejauh ini, termasuk journalctl -b
dan dmesg
telah gagal memberi saya pesan asli kata demi kata. Sebagai contoh, ketika saya menjalankan startup saya hanya bisa melihat satu warna merah FAILED
, tetapi journalctl --boot | grep FAILED | wc -l
kembali 0
, dan journalctl --boot | grep -i FAILED | wc -l
kembali 1086
. Tak satu pun dari ini yang saya cari.
5 Dalam sistem saya, saya akan memiliki kurang dari satu detik untuk menekan tombol atau kombinasi tombol tersebut, dan tidak ada peringatan tentang kapan interval singkat ini dimulai. Kecuali jika seseorang dapat mengkonfigurasi durasi interval di mana penekanan tombol seperti itu harus terjadi, solusi berbasis penekanan tombol apa pun terlalu tidak praktis untuk menjadi apa pun selain manuver pilihan terakhir. Juga, FWIW, saya memang mencoba menekan salah satu atau tombol ketika pesan melintas, tetapi tidak ada bedanya.Scroll
LockPause/
Break
/var/log/boot.log
systemd
, dan saya akan bergabung dengan barisan mereka sendiri ... Saya telah mengedit fn 4 saya untuk menjelaskan (bahkan lebih) mengapa journalctl --boot | grep -i fail
, misalnya, bukan apa Saya mencari.
journal
adalah kehadiran [OK]
/ [FAILED]
. Pesan-pesannya identik. Meskipun demikian, cara yang tepat untuk mendiagnosis / memecahkan masalah unit gagal adalah systemctl
, hanya agar Anda tahu. Saya tidak tahu apakah Anda dapat menjeda proses booting melalui pintasan keyboard (kata mereka CTRL + S / CTRL + Q harus bekerja tetapi tidak, setidaknya tidak pada i915 / KMS). Namun, Anda bisa Nonaktifkan menghapus pesan - pesan boot dan gulir ke pesan-pesan itu di TTY1 dengan Shift + PgUp / Down.
journalctl -b
(sebagai root) memberi Anda persis seperti itu, yaitu melihat teks yang tepat dari pesan-pesan ini ketika muncul selama urutan startup ?