Lệnh modinfo trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh modinfo của Linux để khám phá và khắc phục sự cố các module kernel. Lệnh modinfo cung cấp thông tin chi tiết về các module kernel, bao gồm tên file, tác giả, mô tả, giấy phép, các phụ thuộc và các tham số có thể cấu hình. Kiến thức này có thể hữu ích khi khắc phục sự cố liên quan đến các module kernel hoặc khi cố gắng hiểu chức năng và các tùy chọn cấu hình của một module cụ thể.

Tìm hiểu về Lệnh modinfo

Trong bước này, chúng ta sẽ khám phá lệnh modinfo của Linux, lệnh này cung cấp thông tin chi tiết về các module kernel. Lệnh modinfo là một công cụ hữu ích để tìm hiểu và khắc phục sự cố các module kernel.

Đầu tiên, hãy kiểm tra phiên bản của lệnh modinfo trên hệ thống Ubuntu 22.04 của chúng ta:

modinfo --version

Ví dụ đầu ra:

modinfo version 2.6.32-504.16.2.el6

Lệnh modinfo có thể được sử dụng để hiển thị thông tin về một module kernel cụ thể. Ví dụ: để lấy thông tin về module ext4, chúng ta có thể chạy:

sudo modinfo ext4

Ví dụ đầu ra:

filename:       /lib/modules/5.15.0-1023-aws/kernel/fs/ext4/ext4.ko
author:         Remy Card, Stephen Tweedie, Andrew Morton, Jakub Jelinek, et al.
description:    Fourth Extended Filesystem
license:        GPL
alias:          fs-ext4
alias:          ext4
alias:          ext3
alias:          ext2
depends:        mbcache,jbd2
retpoline:      Y
name:           ext4
vermagic:       5.15.0-1023-aws SMP mod_unload modversions
parm:           abort:behaviour when a metadata write fails (int)
parm:           barrier:default barrier usage (int)
parm:           dioread_nolock:use delalloc with no lock (int)
parm:           max_dir_size_kb:max size of directories (unsigned long)
parm:           min_batch_time:min time between delayed allocation attempts (us) (int)
parm:           max_batch_time:max time between delayed allocation attempts (us) (int)

Đầu ra cung cấp thông tin chi tiết về module ext4, bao gồm tên file, tác giả, mô tả, giấy phép, bí danh, các phụ thuộc và các tham số khác nhau có thể được cấu hình.

Bạn có thể sử dụng lệnh modinfo để khám phá thông tin về bất kỳ module kernel nào được cài đặt trên hệ thống của bạn. Điều này có thể hữu ích khi khắc phục sự cố liên quan đến các module kernel hoặc khi cố gắng hiểu chức năng và các tùy chọn cấu hình của một module cụ thể.

Khám phá Thông tin Module Sử dụng modinfo

Trong bước này, chúng ta sẽ đi sâu hơn vào việc sử dụng lệnh modinfo để khám phá thông tin chi tiết về các module kernel.

Đầu tiên, hãy liệt kê tất cả các module kernel hiện đang được tải trên hệ thống của chúng ta:

sudo modinfo -F filename -a

Ví dụ đầu ra:

/lib/modules/5.15.0-1023-aws/kernel/drivers/acpi/acpi_power_meter.ko
/lib/modules/5.15.0-1023-aws/kernel/drivers/acpi/acpi_thermal_rel.ko
/lib/modules/5.15.0-1023-aws/kernel/drivers/acpi/battery.ko
/lib/modules/5.15.0-1023-aws/kernel/drivers/acpi/button.ko
/lib/modules/5.15.0-1023-aws/kernel/drivers/acpi/ec_sys.ko
/lib/modules/5.15.0-1023-aws/kernel/drivers/acpi/fan.ko
/lib/modules/5.15.0-1023-aws/kernel/drivers/acpi/video.ko

Tùy chọn -F filename cho modinfo biết chỉ hiển thị tên file của các module và tùy chọn -a liệt kê tất cả các module.

Bây giờ, hãy khám phá chi tiết của một module cụ thể, chẳng hạn như module ext4:

sudo modinfo ext4

Ví dụ đầu ra:

filename:       /lib/modules/5.15.0-1023-aws/kernel/fs/ext4/ext4.ko
author:         Remy Card, Stephen Tweedie, Andrew Morton, Jakub Jelinek, et al.
description:    Fourth Extended Filesystem
license:        GPL
alias:          fs-ext4
alias:          ext4
alias:          ext3
alias:          ext2
depends:        mbcache,jbd2
retpoline:      Y
name:           ext4
vermagic:       5.15.0-1023-aws SMP mod_unload modversions
parm:           abort:behaviour when a metadata write fails (int)
parm:           barrier:default barrier usage (int)
parm:           dioread_nolock:use delalloc with no lock (int)
parm:           max_dir_size_kb:max size of directories (unsigned long)
parm:           min_batch_time:min time between delayed allocation attempts (us) (int)
parm:           max_batch_time:max time between delayed allocation attempts (us) (int)

Đầu ra này cung cấp thông tin chi tiết về module ext4, bao gồm tên file, tác giả, mô tả, giấy phép, bí danh, các phụ thuộc và các tham số khác nhau có thể được cấu hình.

Bạn có thể sử dụng lệnh modinfo để khám phá thông tin về bất kỳ module kernel nào được cài đặt trên hệ thống của bạn. Điều này có thể hữu ích khi khắc phục sự cố liên quan đến các module kernel hoặc khi cố gắng hiểu chức năng và các tùy chọn cấu hình của một module cụ thể.

Khắc phục Sự cố Module với modinfo

Trong bước cuối cùng này, chúng ta sẽ học cách sử dụng lệnh modinfo để khắc phục sự cố liên quan đến các module kernel.

Hãy bắt đầu bằng cách thử tải một module không tồn tại:

sudo modprobe non_existent_module

Ví dụ đầu ra:

modprobe: FATAL: Module non_existent_module not found in directory /lib/modules/5.15.0-1023-aws

Như bạn có thể thấy, lệnh modprobe không tải được non_existent_module vì nó không tồn tại trên hệ thống.

Bây giờ, hãy thử lấy thêm thông tin về vấn đề này bằng lệnh modinfo:

sudo modinfo non_existent_module

Ví dụ đầu ra:

modinfo: ERROR: Module non_existent_module not found.

Lệnh modinfo cũng không tìm thấy bất kỳ thông tin nào về non_existent_module, xác nhận rằng module không tồn tại trên hệ thống.

Nếu bạn gặp sự cố với một module kernel cụ thể, bạn có thể sử dụng lệnh modinfo để khắc phục sự cố. Ví dụ: nếu một module không tải chính xác, bạn có thể sử dụng modinfo để kiểm tra các phụ thuộc, tham số và thông tin liên quan khác của module để xác định sự cố.

Hãy thử một ví dụ với một module thực, chẳng hạn như module ext4:

sudo modinfo ext4

Ví dụ đầu ra:

filename:       /lib/modules/5.15.0-1023-aws/kernel/fs/ext4/ext4.ko
author:         Remy Card, Stephen Tweedie, Andrew Morton, Jakub Jelinek, et al.
description:    Fourth Extended Filesystem
license:        GPL
alias:          fs-ext4
alias:          ext4
alias:          ext3
alias:          ext2
depends:        mbcache,jbd2
retpoline:      Y
name:           ext4
vermagic:       5.15.0-1023-aws SMP mod_unload modversions
parm:           abort:behaviour when a metadata write fails (int)
parm:           barrier:default barrier usage (int)
parm:           dioread_nolock:use delalloc with no lock (int)
parm:           max_dir_size_kb:max size of directories (unsigned long)
parm:           min_batch_time:min time between delayed allocation attempts (us) (int)
parm:           max_batch_time:max time between delayed allocation attempts (us) (int)

Đầu ra cung cấp thông tin chi tiết về module ext4, bao gồm các phụ thuộc, tham số và các chi tiết liên quan khác của nó. Thông tin này có thể hữu ích khi khắc phục sự cố liên quan đến module ext4 hoặc các module kernel khác trên hệ thống của bạn.

Tóm tắt

Trong lab này, chúng ta đã khám phá lệnh modinfo của Linux, lệnh này cung cấp thông tin chi tiết về các module kernel. Chúng ta đã học cách sử dụng modinfo để hiểu các đặc điểm của một module kernel cụ thể, chẳng hạn như tên file, tác giả, mô tả, giấy phép, bí danh, các phụ thuộc và các tham số có thể cấu hình khác nhau của nó. Lệnh này có thể hữu ích khi khắc phục sự cố liên quan đến các module kernel hoặc khi cố gắng hiểu chức năng và các tùy chọn cấu hình của một module cụ thể. Chúng ta cũng đã khám phá cách sử dụng modinfo để khắc phục sự cố module bằng cách xem xét thông tin mà nó cung cấp.

400+ câu lệnh phổ biến trong Linux