GNU/Linux >> Linux の 問題 >  >> Debian

Ubuntu /DebianLinuxでモジュールをブラックリストに登録する方法

Linuxシステムの起動時に、一部のカーネルモジュールのロードを無効にする必要がある場合があります。このガイドでは、Ubuntuおよびその他のDebianベースのディストリビューションで、依存関係を含むモジュールをブラックリストに登録するためのいくつかの異なる方法について説明します。これにより、起動時にモジュールをロードできなくなります。

このチュートリアルでは、次のことを学びます。

  • Ubuntu/DebianベースのLinuxディストリビューションでカーネルモジュールをブラックリストに登録する方法

UbuntuLinuxでカーネルモジュールをブラックリストに登録する

ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
システム Debianベースのディストリビューション
ソフトウェア N / A
その他 rootまたはsudoを介したLinuxシステムへの特権アクセス コマンド。
コンベンション –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

ロードからのブラックリストモジュール

以下の手順に従って、カーネルモジュールがシステムにロードされないようにブラックリストに登録する方法を確認してください。

  1. Linuxシステムによって現在ロードされているすべてのモジュールを一覧表示することから始めましょう:
    $ lsmod
    ....
    ehci_hcd               40249  0 
    usbcore               128741  4 ehci_hcd,ohci_hcd,usbhid
    usb_common             12354  1 usbcore
    e1000                  86156  0 
    libata                140630  4 libahci,ahci,ata_piix,ata_generic
    ....
    

    lsmod コマンドは、現在ロードされているすべてのカーネルモジュールを一覧表示します。上記のlsmod 出力が短縮されました。

  2. usbcoreをブラックリストに登録するとしましょう モジュール。モジュールをアンロードまたはブラックリストに登録する前に、他のモジュールがそれに依存していることを確認しておくとよいでしょう。
    $ modinfo -F depends usbcore
    usb-common
    
  3. 上記の出力から、usb-common モジュールはusbcoreに依存します 。依存関係のないモジュールをブラックリストに登録するには、/etc/modprobe.d/blacklist.confを作成します。 (まだ存在しない場合)ファイルを作成し、それに次の行を追加します:
    blacklist usbcore
    
  4. 完了したら、initramfsを更新し、システムを再起動します。
    # update-initramfs -u
    # reboot
    

再起動後、lsmodを使用します モジュールが現在ロードされているかどうかを確認します。上記の例のように、他のモジュールがブラックリストに登録しようとしているモジュールに依存している場合は、すべての依存モジュールをブラックリストに登録する必要があります。そうしないと、ブラックリストに登録した最初のモジュールがロードされます。幸い、依存関係を含むすべてのモジュールをブラックリストに登録するトリックがあります。

何らかの理由でモジュールとそのすべての依存関係をブラックリストに登録できない場合は、モジュールの読み込みに失敗し、すべての依存モジュールが読み込まれないようにします。次の行を/etc/modprobe.d/blacklist.confに追加します usbcoreを完全にブラックリストに登録するには 依存するすべてのモジュールを含む:

install usbcore /bin/true

次に、initramfsを更新して再起動します:

# update-initramfs -u

完全を期すために、ブラックリストに登録されたモジュールごとに個別のモジュール構成ファイルを作成することをお勧めします。たとえば、モジュールe1000をブラックリストに登録する場合 、次に別の/etc/modprobe.d/e1000.confを作成します ファイル。

まとめ

このガイドでは、Ubuntuおよびその他のDebianベースのLinuxシステムでカーネルモジュールをブラックリストに登録する方法を説明しました。これは、起動時にモジュールが一時的または永続的にロードされないようにする必要がある場合に役立ちます。モジュールをもう一度ロードできるようにする必要がある場合は、ファイルを削除することで変更を簡単に元に戻すことができます。これらの手順により、モジュールが自動的にロードされるのを防ぎながら、モジュールをシステムに残すことができます。


Debian
  1. DebianLinuxにElasticsearchをインストールする方法

  2. DebianLinuxにVirtualBoxをインストールする方法

  3. Ubuntu 18.04、Debian 9、LinuxMint19にPipをインストールする方法

  1. DebianLinuxでホスト名を変更する方法

  2. LogstashをDebianLinuxにインストールする方法

  3. DebianLinuxにSlackをインストールする方法

  1. Debian9Linuxでホスト名を変更する方法

  2. DebianLinux9にVirtualBoxをインストールする方法

  3. Debian10LinuxにGoをインストールする方法