Modprobe - εντολή Linux - εντολή Unix

ΟΝΟΜΑ

modprobe - υψηλού επιπέδου χειρισμός φορτιζόμενων ενοτήτων

ΣΥΝΟΨΗ

modprobe [-adnqv] [-Cconf] μονάδα [σύμβολο = τιμή ...]
modprobe [-adnqv] [-Cconf] [-t τύπου ] μοτίβο
modprobe -l [ -conf ] [-t τύπου ] μοτίβο
modprobe -c [ -conf ]
modprobe -r [-dnv] [-conf] [ενότητα ...]
modprobe -Vh

ΕΠΙΛΟΓΕΣ

, --όλα

Τοποθετήστε όλες τις μονάδες αντιστοίχισης αντί να σταματήσετε μετά την πρώτη επιτυχή φόρτωση.

-c , --showconfig

Εμφάνιση της τρέχουσας διαμόρφωσης.

-C , --configconig

Χρησιμοποιήστε το αρχείο config αντί για (το προαιρετικό) /etc/modules.conf για να καθορίσετε τη διαμόρφωση. Η μεταβλητή περιβάλλοντος MODULECONF μπορεί επίσης να χρησιμοποιηθεί για την επιλογή (και αντικατάσταση) ενός διαφορετικού αρχείου ρυθμίσεων από το προεπιλεγμένο αρχείο /etc/modules.conf (ή /etc/conf.modules (deprecated)).

Όταν η μεταβλητή περιβάλλοντος UNAME_MACHINE έχει οριστεί, το modutils θα χρησιμοποιήσει την τιμή του αντί του πεδίου του μηχανήματος από το σύμβολο uname (). Αυτό είναι κυρίως χρήσιμο όταν καταρτίζετε μονάδες 64 bit σε χώρο χρήστη 32 bit ή το αντίστροφο, ορίζετε UNAME_MACHINE στον τύπο των ενοτήτων. Η τρέχουσα modutils δεν υποστηρίζει τον πλήρη τρόπο cross-build για τις ενότητες, αλλά περιορίζεται στην επιλογή ανάμεσα σε εκδόσεις 32 και 64 bit της αρχιτεκτονικής υποδοχής.

-d , --debug

Εμφάνιση πληροφοριών σχετικά με την εσωτερική αναπαράσταση της στοίβας των ενοτήτων.

-h , --help

Εμφανίστε μια σύνοψη των επιλογών και αμέσως βγείτε.

-k , --autoclean

Ρυθμίστε 'autoclean' στις φορτωμένες μονάδες. Χρησιμοποιείται από τον πυρήνα όταν καλεί modprobe για να ικανοποιήσει ένα χαρακτηριστικό που λείπει (παρέχεται ως ενότητα). Η επιλογή -q υποδηλώνεται από το -k . Αυτές οι επιλογές θα αποσταλούν αυτόματα σε insmod .

-l , --λειτουργία

Λίστα μονάδων αντιστοίχισης.

, - δείχνει

Μην εκτελέσετε την ενέργεια, απλά δείξτε τι θα γίνει.

-q , - καθαρή

Μη διαμαρτύρονται για την αποτυχία να εγκαταστήσετε μια ενότητα. Συνεχίστε κανονικά, αλλά σιωπηλά, με άλλες δυνατότητες για δοκιμή modprobe. Αυτή η επιλογή θα σταλεί αυτόματα σε insmod .

-r , - απομακρύνετε

Καταργήστε την ενότητα (stacks) ή κάντε autoclean, ανάλογα με το αν υπάρχουν ενότητες που αναφέρονται στη γραμμή εντολών.

-s , --syslog

Αναφορά μέσω του syslog αντί του stderr. Αυτές οι επιλογές θα αποσταλούν αυτόματα σε insmod .

-t τύπος μονάδας . - Τύποςυπολογιστήτουτύπου

Εξετάστε μόνο τις ενότητες αυτού του τύπου. Το modprobe θα εξετάσει μόνο τις ενότητες των οποίων η διαδρομή του καταλόγου περιλαμβάνει ακριβώς το " / moduletype / ". moduletype μπορεί να περιλαμβάνει περισσότερα από ένα όνομα καταλόγου, π.χ. " -t drivers / net " θα απαριθμούσε τις ενότητες σε xxx / drivers / net / και τους υποκαταλόγους του.

-v , --verbose

Εκτυπώστε όλες τις εντολές καθώς εκτελούνται.

-V, --version

Εμφάνιση της έκδοσης του modprobe .

Σημείωση:

Τα ονόματα των δομοστοιχείων δεν πρέπει να περιέχουν διαδρομές (όχι '/'), ούτε περιέχουν το τελευταίο '.o'. Για παράδειγμα, η ολίσθηση είναι ένα έγκυρο όνομα μονάδας για modprobe , /lib/modules/2.2.19/net/slip και slip.o δεν είναι έγκυρα. Αυτό ισχύει για τη γραμμή εντολών και για τις καταχωρήσεις στο config.

ΠΕΡΙΓΡΑΦΗ

Τα βοηθητικά προγράμματα modprobe και depmod προορίζονται να καταστήσουν έναν αρθρωτό πυρήνα Linux πιο εύχρηστο για όλους τους χρήστες, τους διαχειριστές και τους διαχειριστές διανομής.

Το Modprobe χρησιμοποιεί ένα αρχείο εξάρτησης όπως " makefile ", το οποίο δημιουργήθηκε από depmod , για να φορτώσει αυτόματα τις σχετικές λειτουργικές μονάδες από το σύνολο των μονάδων που είναι διαθέσιμα σε προκαθορισμένες δένδρα καταλόγων.

Το Modprobe χρησιμοποιείται για τη φόρτωση μιας μόνο μονάδας, μιας στοίβας εξαρτημένων μονάδων ή όλων των ενοτήτων που έχουν επισημανθεί με μια συγκεκριμένη ετικέτα.

Το Modprobe θα φορτώσει αυτόματα όλες τις βασικές λειτουργικές μονάδες που απαιτούνται σε μια στοίβα των λειτουργικών μονάδων, όπως περιγράφεται από το αρχείο εξαρτήσεων module.dep . Εάν η φόρτωση μιας από αυτές τις μονάδες αποτύχει, ολόκληρη η τρέχουσα στοίβα μονάδων που έχουν φορτωθεί στην τρέχουσα συνεδρία θα εκφορτωθεί αυτόματα.

Το Modprobe έχει δύο τρόπους φόρτωσης μονάδων. Ένας τρόπος (η λειτουργία ανίχνευσης) θα προσπαθήσει να φορτώσει μια ενότητα από μια λίστα (που ορίζεται από το σχέδιο ). Το Modprobe σταματά να φορτώνει μόλις ολοκληρωθεί η φόρτωση μιας μονάδας. Αυτό θα μπορούσε να χρησιμοποιηθεί για την αυτόματη διαγραφή ενός οδηγού Ethernet από μια λίστα.
Ο άλλος τρόπος modprobe μπορεί να χρησιμοποιηθεί είναι να φορτώσει όλες τις μονάδες από μια λίστα. Δείτε τα ΠΑΡΑΔΕΙΓΜΑΤΑ , παρακάτω.

Με την επιλογή -r , το modprobe θα ξεφορτώσει αυτόματα μια στοίβα μονάδων, παρόμοια με τον τρόπο που κάνει το " rmmod -r ". Σημειώστε ότι χρησιμοποιώντας μόνο το " modprobe -r " θα καθαρίσετε τις αχρησιμοποίητες αυτόματες μονάδες και επίσης θα εκτελέσετε τις εντολές προ- και μετά την αφαίρεση στο αρχείο διαμόρφωσης /etc/modules.conf .

Ο συνδυασμός των επιλογών -l και -t περιλαμβάνει όλες τις διαθέσιμες μονάδες ενός συγκεκριμένου τύπου.

Η επιλογή -c θα εκτυπώσει τη διαμόρφωση που χρησιμοποιείται αυτήν τη στιγμή (προεπιλεγμένο αρχείο ρυθμίσεων).

ΔΙΑΜΟΡΦΩΣΗ

Η συμπεριφορά του modprobe (και depmod ) μπορεί να τροποποιηθεί από το (προαιρετικό) αρχείο διαμόρφωσης /etc/modules.conf .
Για λεπτομερέστερη περιγραφή του περιεχομένου αυτού του αρχείου, καθώς και για την προεπιλεγμένη διαμόρφωση που χρησιμοποιείται από τα depmod και modprobe , ανατρέξτε στην ενότητα modules.conf (5).

Σημειώστε ότι οι εντολές πριν και μετά την αφαίρεση δεν θα εκτελεστούν αν μια μονάδα είναι "autocleaned" από το kerneld! Αναζητήστε την επερχόμενη υποστήριξη για μόνιμη αποθήκευση μονάδων αντί.
Εάν θέλετε να χρησιμοποιήσετε τις λειτουργίες πριν και μετά την εγκατάσταση, θα πρέπει να απενεργοποιήσετε το autoclean για το kerneld και να τοποθετήσετε κάτι σαν την ακόλουθη γραμμή στο crontab (αυτό χρησιμοποιείται και στα συστήματα kmod) για να κάνετε autoclean κάθε 2 λεπτά :

* / 2 * * * * δοκιμή -f / proc / modules && / sbin / modprobe -r

ΣΤΡΑΤΗΓΙΚΗ

Η ιδέα είναι ότι το modprobe θα κοιτάξει πρώτα στον κατάλογο που περιέχει τις μονάδες που έχουν συνταχθεί για την τρέχουσα έκδοση του πυρήνα. Εάν η ενότητα δεν βρίσκεται εκεί, το modprobe θα κοιτάξει στον κατάλογο που είναι κοινός στην έκδοση του πυρήνα (π.χ. 2.0, 2.2). Αν η ενότητα εξακολουθεί να βρίσκεται, η modprobe θα αναζητήσει στον κατάλογο που περιέχει τις ενότητες για μια προεπιλεγμένη έκδοση και ούτω καθεξής.

Όταν εγκαθιστάτε ένα νέο linux, οι ενότητες πρέπει να μετακινηθούν σε έναν κατάλογο που σχετίζεται με την έκδοση (και έκδοση) του πυρήνα που εγκαθιστάτε. Στη συνέχεια, θα πρέπει να κάνετε ένα σύμβολο σύνδεσης από αυτόν τον κατάλογο στον κατάλογο "προεπιλογή".

Κάθε φορά που θα συντάξετε έναν νέο πυρήνα, η εντολή " make modules_install " θα δημιουργήσει έναν νέο κατάλογο, αλλά δεν θα αλλάξει τον σύνδεσμο "προεπιλογή".

Όταν αποκτάτε μια ενότητα που δεν σχετίζεται με τη διανομή του πυρήνα, πρέπει να την τοποθετήσετε σε έναν από τους ανεξάρτητους από την έκδοση καταλόγους κάτω από το / lib / modules .

Αυτή είναι η προεπιλεγμένη στρατηγική, η οποία μπορεί να αντικατασταθεί στο /etc/modules.conf .

ΠΑΡΑΔΕΙΓΜΑΤΑ

modprobe -t net

Φορτώστε μία από τις μονάδες που είναι αποθηκευμένες στον κατάλογο με την ετικέτα "net". Κάθε δομοστοιχείο δοκιμάζεται μέχρι να πετύχει κάποιος.

modprobe -a-t εκκίνηση

Όλες οι μονάδες που είναι αποθηκευμένες σε καταλόγους με ετικέτα "boot" θα φορτωθούν.

modprobe slip

Αυτό θα προσπαθήσει να φορτώσει το module slhc.o αν δεν είχε προηγουμένως φορτωθεί, αφού η μονάδα ολίσθησης χρειάζεται τη λειτουργικότητα της μονάδας slhc. Αυτή η εξάρτηση θα περιγραφεί στο αρχείο modules.dep που δημιουργήθηκε αυτόματα από το depmod .

modprobe-r ολίσθηση

Αυτό θα ξεφορτώσει τη μονάδα ολίσθησης. Επίσης, θα εκφορτώνει αυτόματα τη μονάδα slhc, εκτός και αν χρησιμοποιείται από κάποια άλλη λειτουργική μονάδα (π.χ. ppp).

ΔΕΙΤΕ ΕΠΙΣΗΣ

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

ΛΕΙΤΟΥΡΓΙΑ ΑΣΦΑΛΕΙΑΣ

Αν το πραγματικό uid δεν είναι ίσο με το πραγματικό uid τότε modprobe αντιμετωπίζει την είσοδό του με εξαιρετική υποψία. Η τελευταία παράμετρος αντιμετωπίζεται πάντοτε ως όνομα μονάδας, ακόμα και αν ξεκινά με '-'. Μπορεί να υπάρχει μόνο ένα όνομα μονάδας και οι επιλογές της φόρμας "variable = value" απαγορεύονται. Το όνομα της μονάδας αντιμετωπίζεται πάντα ως συμβολοσειρά, δεν εκτελείται επέκταση meta σε ασφαλή λειτουργία. Ωστόσο, η επέκταση meta εξακολουθεί να εφαρμόζεται στα δεδομένα που διαβάζονται από το αρχείο ρυθμίσεων.

Το euid μπορεί να μην είναι ίσο με το uid όταν το modprobe χρησιμοποιείται από τον πυρήνα, αυτό ισχύει για τους πυρήνες> = 2.4.0-test11. Σε έναν ιδανικό κόσμο, το modprobe θα μπορούσε να εμπιστευτεί τον πυρήνα να μεταβιβάσει έγκυρες παραμέτρους μόνο στη modprobe. Ωστόσο, τουλάχιστον μία τοπική εκμετάλλευση ρίζας έχει προκύψει επειδή ο κώδικας πυρήνα υψηλού επιπέδου πέρασε μη επαληθευμένες παραμέτρους κατευθείαν από το χρήστη στο modprobe. Επομένως, το modprobe δεν εμπιστεύεται πλέον την είσοδο του πυρήνα.

Το modprobe θέτει αυτόματα ασφαλή λειτουργία όταν το περιβάλλον αποτελείται μόνο από αυτές τις συμβολοσειρές

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

Αυτό εντοπίζει την εκτέλεση modprobe από τον πυρήνα στους πυρήνες 2.2 αν και 2.4.0-test11, ακόμα και αν uid == euid, κάτι που κάνει στους παλαιότερους πυρήνες.

ΣΥΝΔΕΣΗ ΕΝΔΕΙΞΕΩΝ

Εάν ο κατάλογος / var / log / ksymoops υπάρχει και το modprobe εκτελείται με μια επιλογή που θα μπορούσε να φορτώσει ή μια διαγραφή μιας μονάδας τότε το modprobe θα καταγράψει την εντολή και την κατάσταση επιστροφής στο / var / log / ksymoops / `ημερομηνία +% Y% m% d .log` . Δεν υπάρχει διακόπτης για να απενεργοποιήσετε αυτή την αυτόματη καταγραφή, αν δεν θέλετε να εμφανιστεί, μην δημιουργείτε / var / log / ksymoops . Αν αυτός ο κατάλογος υπάρχει, θα πρέπει να ανήκει σε root και να είναι 644 ή 600 και θα πρέπει να τρέχετε το script insmod_ksymoops_clean κάθε μέρα ή έτσι.

ΑΠΑΙΤΟΥΜΕΝΕΣ ΕΞΟΠΛΙΣΜΟΣ

depmod (8), insmod (8).

Σημαντικό: Χρησιμοποιήστε την εντολή man ( % man ) για να δείτε πώς χρησιμοποιείται μια εντολή στον υπολογιστή σας.