Modprobe - Lệnh Linux - Lệnh Unix

TÊN

modprobe - xử lý cấp cao các mô-đun có thể tải

TÓM TẮC

modprobe [-adnqv] [-C config ] mô-đun [biểu tượng = giá trị ...]
modprobe [-adnqv] [-C config ] [-t type ] mẫu
modprobe -l [-C config ] [-t type ] mẫu
modprobe -c [-C config ]
modprobe -r [-dnv] [-C cấu hình ] [mô-đun ...]
modprobe -Vh

TÙY CHỌN

-a , --all

Tải tất cả các mô-đun phù hợp thay vì dừng sau lần tải thành công đầu tiên.

-c , --showconfig

Hiển thị cấu hình hiện được sử dụng.

Cấu hình -C , --config

Sử dụng cấu hình tập tin thay vì (tùy chọn) /etc/modules.conf để chỉ định cấu hình. Biến môi trường MODULECONF cũng có thể được sử dụng để chọn (và ghi đè) một tệp cấu hình khác từ mặc định /etc/modules.conf (hoặc /etc/conf.modules (không được chấp nhận)).

Khi biến môi trường UNAME_MACHINE được thiết lập, modutils sẽ sử dụng giá trị của nó thay vì trường máy từ uname () syscall. Điều này chủ yếu được sử dụng khi bạn đang biên dịch các mô-đun 64 bit trong không gian người dùng 32 bit hoặc ngược lại, đặt UNAME_MACHINE thành loại mô-đun. Các modut hiện tại không hỗ trợ chế độ xây dựng chéo đầy đủ cho các mô-đun, nó được giới hạn trong việc lựa chọn giữa các phiên bản 32 và 64 bit của kiến ​​trúc máy chủ.

-d , --debug

Hiển thị thông tin về biểu diễn bên trong của chồng mô-đun.

-h , --help

Hiển thị tóm tắt các tùy chọn và thoát ngay lập tức.

-k , --autoclean

Đặt 'autoclean' trên các mô-đun đã tải. Được sử dụng bởi hạt nhân khi nó gọi trên modprobe để đáp ứng một tính năng bị thiếu (được cung cấp như một mô-đun). Tùy chọn -q được hàm ý bởi -k . Các tùy chọn này sẽ tự động được gửi tới bản in.

-l , --list

Liệt kê các mô-đun phù hợp.

-n , --show

Không thực sự thực hiện hành động, chỉ hiển thị những gì sẽ được thực hiện.

-q , --quiet

Không phàn nàn về insmod không cài đặt một mô-đun. Tiếp tục như bình thường, nhưng âm thầm, với các khả năng khác cho modprobe để kiểm tra. Tùy chọn này sẽ tự động được gửi tới phần mềm không hợp lệ.

-r , --remove

Loại bỏ mô-đun (ngăn xếp) hoặc làm autoclean, tùy thuộc vào việc có bất kỳ mô-đun được đề cập trên dòng lệnh.

-s , --syslog

Báo cáo qua syslog thay vì stderr. Tùy chọn này sẽ tự động được gửi tới chế độ không hợp lệ.

-t moduletype ; --type moduletype

Chỉ xem xét các mô-đun thuộc loại này. modprobe sẽ chỉ xem xét các mô-đun có đường dẫn thư mục bao gồm chính xác " / moduletype / ". moduletype có thể bao gồm nhiều hơn một tên thư mục, ví dụ như " -t drivers / net " sẽ liệt kê các mô đun trong xxx / drivers / net / và các thư mục con của nó.

-v , --verbose

In tất cả các lệnh khi chúng được thực hiện.

-V, --version

Hiển thị phiên bản của modprobe .

Chú thích:

Tên mô-đun không được chứa đường dẫn (không có '/'), cũng như chúng không chứa dấu '.o'. Ví dụ: phiếu là tên mô-đun hợp lệ cho modprobe , /lib/modules/2.2.19/net/slip và slip.o không hợp lệ. Điều này áp dụng cho dòng lệnh và các mục trong cấu hình.

SỰ MIÊU TẢ

Các tiện ích modprobedepmod nhằm tạo ra một hạt nhân mô đun Linux dễ quản lý hơn cho tất cả người dùng, quản trị viên và người bảo trì phân phối.

Modprobe sử dụng một tệp phụ thuộc "Makefile", được tạo bởi depmod , để tự động tải các mô-đun có liên quan từ tập hợp các mô đun có sẵn trong các cây thư mục được xác định trước.

Modprobe được sử dụng để tải một mô-đun duy nhất, một chồng các mô-đun phụ thuộc, hoặc tất cả các mô-đun được đánh dấu bằng một thẻ được chỉ định.

Modprobe sẽ tự động tải tất cả các mô-đun cơ sở cần thiết trong ngăn xếp mô-đun, như được mô tả bởi tệp phụ thuộc modules.dep . Nếu tải một trong các mô-đun này không thành công, toàn bộ các mô-đun hiện tại được tải trong phiên hiện tại sẽ được tự động tải xuống.

Modprobe có hai cách tải mô-đun. Một cách (chế độ thăm dò) sẽ cố tải mô-đun ra khỏi danh sách (được xác định theo mẫu ). Modprobe dừng tải ngay sau khi một mô-đun tải thành công. Điều này có thể được sử dụng để tự động tải một trình điều khiển Ethernet ra khỏi danh sách.
Cách khác modprobe có thể được sử dụng là để tải tất cả các mô-đun từ một danh sách. Xem EXAMPLES , bên dưới.

Với tùy chọn -r , modprobe sẽ tự động dỡ bỏ một đống mô-đun, tương tự như cách " rmmod -r " thực hiện. Lưu ý rằng chỉ cần sử dụng " modprobe -r " sẽ xóa các mô-đun được nạp tự động chưa sử dụng và cũng thực hiện các lệnh trước và sau khi xóa trong tập tin cấu hình /etc/modules.conf .

Việc kết hợp các tùy chọn -l-t liệt kê tất cả các mô đun có sẵn của một kiểu nhất định.

Tùy chọn -c sẽ in cấu hình hiện được sử dụng (tệp cấu hình mặc định +).

CẤU HÌNH

Hành vi của modprobe (và depmod ) có thể được sửa đổi bởi tập tin cấu hình (tùy chọn) /etc/modules.conf .
Để biết mô tả chi tiết hơn về những gì tệp này có thể chứa, cũng như cấu hình mặc định được sử dụng bởi depmodmodprobe , hãy xem modules.conf (5).

Lưu ý rằng các lệnh trước và sau xóa sẽ không được thực thi nếu một mô đun được "autocleaned" bởi kerneld! Tìm kiếm sự hỗ trợ sắp tới để lưu trữ mô-đun liên tục thay thế.
Nếu bạn muốn sử dụng các tính năng trước và sau cài đặt, bạn sẽ phải tắt autoclean cho kerneld và thay vào đó đặt một cái gì đó giống như dòng sau trong crontab của bạn (điều này được sử dụng cho các hệ thống kmod) để làm autoclean cứ sau 2 phút :

* / 2 * * * * test -f / proc / modules && / sbin / modprobe -r

CHIẾN LƯỢC

Ý tưởng là modprobe sẽ trông đầu tiên trong thư mục chứa các mô-đun được biên dịch cho bản phát hành hiện tại của hạt nhân. Nếu module không được tìm thấy ở đó, modprobe sẽ tìm trong thư mục chung với phiên bản hạt nhân (ví dụ 2.0, 2.2). Nếu mô-đun vẫn được tìm thấy, modprobe sẽ tìm trong thư mục chứa các mô-đun cho bản phát hành mặc định, v.v.

Khi bạn cài đặt một linux mới, các mô-đun sẽ được chuyển đến một thư mục liên quan đến bản phát hành (và phiên bản) của hạt nhân bạn đang cài đặt. Sau đó, bạn nên thực hiện một liên kết tượng trưng từ thư mục này đến thư mục "mặc định".

Mỗi khi bạn biên dịch một hạt nhân mới, lệnh " make modules_install " sẽ tạo một thư mục mới, nhưng sẽ không thay đổi liên kết "mặc định".

Khi bạn nhận được một mô-đun không liên quan đến sự phân bố hạt nhân, bạn nên đặt nó vào một trong các thư mục độc lập phiên bản trong / lib / modules .

Đây là chiến lược mặc định, có thể được ghi đè trong /etc/modules.conf .

VÍ DỤ

modprobe -t net

Tải một trong các mô-đun được lưu trữ trong thư mục được gắn thẻ "net". Mỗi mô-đun được thử cho đến khi một thành công.

modprobe -a -t boot

Tất cả các mô-đun được lưu trữ trong thư mục được gắn thẻ "khởi động" sẽ được tải.

-bản modprobe

Điều này sẽ cố tải mô-đun slhc.o nếu nó chưa được tải trước đó, vì mô-đun trượt cần chức năng trong mô-đun slhc. Sự phụ thuộc này sẽ được mô tả trong tệp modules.dep được tạo tự động bởi depmod .

modprobe -r phiếu

Điều này sẽ dỡ bỏ mô-đun trượt. Nó cũng sẽ tự động dỡ bỏ mô-đun slhc, trừ khi nó cũng được sử dụng bởi một số mô-đun khác (ví dụ ppp).

XEM THÊM

depmod (8), lsmod (8), kerneld (8), ksyms (8), rmmod (8).

CHẾ ĐỘ AN TOÀN

Nếu uid hiệu quả không bằng uid thực thì modprobe sẽ xử lý đầu vào của nó với cực kỳ nghi ngờ. Tham số cuối cùng luôn được coi là tên mô-đun, ngay cả khi nó bắt đầu bằng '-'. Chỉ có thể có một tên mô-đun và các tùy chọn của biểu mẫu "variable = value" bị cấm. Tên mô-đun luôn được coi là chuỗi, không có mở rộng meta được thực hiện ở chế độ an toàn. Tuy nhiên mở rộng meta vẫn được áp dụng cho dữ liệu đọc từ tệp cấu hình.

euid có thể không bằng uid khi modprobe được gọi từ hạt nhân, điều này đúng với hạt nhân> = 2.4.0-test11. Trong một thế giới lý tưởng, modprobe có thể tin cậy hạt nhân để chỉ truyền các tham số hợp lệ tới modprobe. Tuy nhiên, ít nhất một khai thác gốc cục bộ đã xảy ra vì mã hạt nhân mức cao thông qua các tham số chưa được xác minh trực tiếp từ người dùng đến modprobe. Vì vậy, modprobe không còn tin tưởng đầu vào hạt nhân nữa.

modprobe tự động đặt chế độ an toàn khi môi trường chỉ bao gồm các chuỗi này

HOME = / TERM = linux PATH = / sbin: / usr / sbin: / bin: / usr / bin

Điều này phát hiện modprobe thực hiện từ hạt nhân trên hạt nhân 2.2 mặc dù 2.4.0-test11, ngay cả khi uid == euid, mà nó làm trên hạt nhân trước đó.

CÁC LỆNH LOGGING

Nếu thư mục / var / log / ksymoops tồn tại và modprobe được chạy với một tùy chọn có thể tải hoặc xóa một module thì modprobe sẽ ghi lại lệnh của nó và trạng thái trả về trong / var / log / ksymoops / `date +% Y% m% d .log` . Không có chuyển đổi để vô hiệu hóa đăng nhập tự động này, nếu bạn không muốn nó xảy ra, không tạo / var / log / ksymoops . Nếu thư mục đó tồn tại, nó phải được sở hữu bởi root và là chế độ 644 hoặc 600 và bạn nên chạy script insmod_ksymoops_clean mỗi ngày hoặc lâu hơn.

YÊU CẦU YÊU CẦU

depmod (8), insmod (8).

Quan trọng: Sử dụng lệnh man ( % man ) để xem cách một lệnh được sử dụng trên máy tính cụ thể của bạn.