dmesg
command adalah salah satu alat pemecahan masalah yang mudah dilupakan yang harus tetap berada di puncak gudang sysadmin Anda. Ini berisi begitu banyak informasi tentang sistem Anda sehingga dmesg
harus menjadi tempat pertama yang Anda lihat ketika terjadi kesalahan. Keluaran dari dmesg
panjang, seperti yang dapat Anda lihat sendiri jika Anda mengetiknya di command prompt karena melaporkan informasi dari semua aspek sistem Anda saat tidak ada pesan kesalahan—selain yang mungkin muncul saat boot.
Secara formal, dmesg
mencetak atau mengontrol buffer ring kernel. Tindakan default adalah menampilkan semua pesan dari buffer ini.
Untuk referensi dan perbandingan di masa mendatang, waktu terbaik untuk melihat dmesg
hanya setelah boot. Saya biasanya mengirim dmesg
informasi ke file teks menggunakan perintah seperti berikut:
$ dmesg > dmesg.`date +%m.%d.%Y`.txt
Perintah ini membuat file teks bernama dmesg.12.11.2019.txt
. Antara tanggal pembuatan file dan boot berikutnya, Anda dapat memeriksa pesan baru yang dihasilkan oleh kernel.
Pesan pasca-boot yang mungkin muncul mencakup error sistem, error perangkat, dan informasi tentang perangkat USB apa pun yang mungkin dicolokkan oleh seseorang. Misalnya, dmesg
berikut informasi muncul setelah memasukkan drive USB:
[ 9189.631808] usb 1-1: new full-speed USB device number 2 using ohci-pci
[ 9189.909896] ohci-pci 0000:00:06.0: frame counter not updating; disabled
[ 9189.909958] ohci-pci 0000:00:06.0: HC died; cleaning up
[ 9194.910072] usb usb1-port1: attempt power cycle
Untuk melihat daftar lengkap pesan terkait USB, keluarkan dmesg
perintah dan grep untuk usb
:
$ dmesg |grep -i usb
[ 0.052580] ACPI: bus type USB registered
[ 0.052594] usbcore: registered new interface driver usbfs
[ 0.052598] usbcore: registered new interface driver hub
[ 0.052605] usbcore: registered new device driver usb
[ 0.414901] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.414907] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.415398] ohci-pci 0000:00:06.0: new USB bus registered, assigned bus number 1
[ 0.468262] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.18
[ 0.468264] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.468266] usb usb1: Product: OHCI PCI host controller
[ 0.468268] usb usb1: Manufacturer: Linux 4.18.0-80.el8.x86_64 ohci_hcd
[ 0.468269] usb usb1: SerialNumber: 0000:00:06.0
[ 0.468454] hub 1-0:1.0: USB hub found
[ 0.468842] uhci_hcd: USB Universal Host Controller Interface driver
[ 0.468885] usbcore: registered new interface driver usbserial_generic
[ 0.468889] usbserial: USB Serial support registered for generic
[ 0.470765] usbcore: registered new interface driver usbhid
[ 0.470765] usbhid: USB HID core driver
[ 9189.631808] usb 1-1: new full-speed USB device number 2 using ohci-pci
[ 9194.910072] usb usb1-port1: attempt power cycle
Seperti yang Anda lihat, saya menggunakan grep
perintah dengan -i
opsi sehingga mengabaikan huruf besar-kecil dan saya akan melihat semua yang terkait dengan perangkat USB terlepas dari itu (Usb
, usb
, atau USB
). Praktik ini baik untuk subsistem atau filter apa pun yang ingin Anda gunakan. Selalu abaikan kasus filter Anda.
Misalnya, untuk melihat semua disk (perangkat blok) yang terpasang ke sistem Anda, gunakan perintah berikut:
$ dmesg |grep -i sd
[ 0.000000] Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-80.el8.x86_64 root=UUID=f695f641-e489-4674-afd8-8f354533811d ro crashkernel=auto rhgb quiet
[ 0.000000] ACPI: RSDP 0x00000000000E0000 000024 (v02 VBOX )
[ 0.000000] ACPI: XSDT 0x000000003FFF0030 00003C (v01 VBOX VBOXXSDT 00000001 ASL 00000061)
[ 0.000000] ACPI: DSDT 0x000000003FFF0470 0022EA (v02 VBOX VBOXBIOS 00000002 INTL 20100528)
[ 0.000000] ACPI: SSDT 0x000000003FFF02A0 0001CC (v01 VBOX VBOXCPUT 00000002 INTL 20100528)
[ 0.000000] Kernel command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-80.el8.x86_64 root=UUID=f695f641-e489-4674-afd8-8f354533811d ro crashkernel=auto rhgb quiet
[ 1.545750] sd 2:0:0:0: [sda] 33554432 512-byte logical blocks: (17.2 GB/16.0 GiB)
[ 1.545756] sd 2:0:0:0: [sda] Write Protect is off
[ 1.545757] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.545764] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.546960] sda: sda1 sda2
[ 1.547316] sd 2:0:0:0: [sda] Attached SCSI disk
[ 1.975545] XFS (sda2): Mounting V5 Filesystem
[ 2.092251] XFS (sda2): Starting recovery (logdev: internal)
[ 2.137813] XFS (sda2): Ending recovery (logdev: internal)
[ 3.993219] sd 2:0:0:0: Attached scsi generic sg1 type 0
[ 5.909006] XFS (sda1): Mounting V5 Filesystem
[ 5.959833] XFS (sda1): Starting recovery (logdev: internal)
[ 5.962287] XFS (sda1): Ending recovery (logdev: internal)
Hasil menunjukkan lebih dari sekedar daftar perangkat blok, sehingga Anda dapat menyaring lebih lanjut hasil Anda dengan menentukan sistem file, XFS dalam hal ini:
$ dmesg |grep -i xfs
[ 1.965741] SGI XFS with ACLs, security attributes, no debug enabled
[ 1.975545] XFS (sda2): Mounting V5 Filesystem
[ 2.092251] XFS (sda2): Starting recovery (logdev: internal)
[ 2.137813] XFS (sda2): Ending recovery (logdev: internal)
[ 5.909006] XFS (sda1): Mounting V5 Filesystem
[ 5.959833] XFS (sda1): Starting recovery (logdev: internal)
[ 5.962287] XFS (sda1): Ending recovery (logdev: internal)
Penggunaan -i
opsi di sini berlebihan tetapi saya selalu memasukkannya untuk berjaga-jaga jika ada hasil yang tidak akan saya lihat sebaliknya. Saya menggunakan tombol panah atas untuk memutar ulang perintah terakhir saya (fitur Bash yang paling bagus) dan hanya mundur dari hal terakhir yang saya cari dan menggantinya dengan kata kunci baru saya, jadi setelah saya memasukkan perintah, saya tidak perlu repot dengan apa pun kecuali apa yang saya cari. Tidak ada bahaya yang dilakukan dengan cara apa pun.
Jika Anda ingin melihat apakah sistem jarak jauh Anda dilengkapi dengan drive CD/DVD, coba perintah ini:
$ dmesg |grep -i cd
[ 0.000000] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[ 0.414901] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.414907] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.468262] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.18
[ 0.468268] usb usb1: Manufacturer: Linux 4.18.0-80.el8.x86_64 ohci_hcd
[ 0.468842] uhci_hcd: USB Universal Host Controller Interface driver
[ 1.328589] ata2.00: ATAPI: VBOX CD-ROM, 1.0, max UDMA/133
[ 1.329773] scsi 1:0:0:0: CD-ROM VBOX CD-ROM 1.0 PQ: 0 ANSI: 5
[ 1.577662] cdrom: Uniform CD-ROM driver Revision: 3.20
[ 1.578616] sr 1:0:0:0: Attached scsi CD-ROM sr0
Empat baris terakhir menampilkan informasi tentang pengandar CD-ROM. Meskipun drive CD-ROM bersifat virtual pada sistem ini, jika perangkat keras pelengkap mesin virtual menyertakannya, drive tersebut dapat memuat file image ISO seolah-olah itu adalah image yang dapat di-boot pada media fisik.
dmesg
perintah tidak besar dan mencolok. Ini tidak melakukan banyak hal atau memiliki daftar opsi yang panjang. Sebaliknya, itu elegan dalam kesederhanaannya dan sepraktis pelindung saku Anda. Alih-alih sebagai renungan, Anda harus membiasakan menjalankan dmesg
secara teratur pada sistem Anda. Dan, ketika terjadi kesalahan, jalankan lagi untuk mengetahui apa yang diketahui kernel tentang masalahnya. Anda dapat menyelamatkan diri dari kesedihan dan beberapa langkah pemecahan masalah. Anda juga mungkin terlihat seperti pahlawan bagi rekan kerja dan manajemen Anda karena menemukan masalah dengan begitu cepat. Ingat, waktu adalah uang dan Anda mencoba menghematnya dan hari.
Ingin mencoba Red Hat Enterprise Linux? Unduh sekarang secara gratis.