「modprobe打撃」と「modprobeループ」を持続させる方法は?

「modprobe打撃」と「modprobeループ」を持続させる方法は?

以前は問題ではありませんでしたが、今は問題になりました。重要なことを変更していないので、アップデートで問題が発生したようです。

VeraCryptを実行すると、ループデバイスを設定できないと文句を言い、実行しても機能しないことを示唆していmodprobe fuseます。しかし、走るmodprobe fuse そして modprobe loop次回再起動するまで修正してください。

このモジュールは起動時に自動的にロードされてはいけませんか?なぜできないの?どうやって作りますか?

答え1

fuse必要に応じて自動的にロードすることもloopできます。

検索マークgrsecurityカーネルがこれを妨げる可能性があります。。したがって、このアイデアがどれほど良いかについては、いくつかの意見の違いがあります。 :-) しかし、ほとんどのディストリビューションでこれを使うと思います。

自動読み込みに一時的なエラーが発生しても、起動時にfuse読み込みはloopまだ問題ありません。自動ロードメカニズムと競合しません。誰が呼び出しても、すべてのモジュールオプションはの行にoptions基づいて設定する必要があります。/etc/modprobe.d/modprobe

loopたとえば、次の点を確認してください。

echo 'loop' | sudo tee -a /etc/modules-load.d/modules.conf

自動ローディングはどのように機能しますか?まず、/dev/fuseモジュールがロードされているかどうかにかかわらず、起動時にユーザースペースが静的に作成されます。現在のシステムのメカニズムは少しバロックです/lib/systemd/system/kmod-static-nodes.service。したがって、開こうとするデバイスノードがあります。これにより、カーネル呼び出しが最初にモジュールをロードします。

私のシステムでは、適切なカーネルモジュールのロードをトリガできるようにデバイスノードのリストが静的に生成されます。

$ cat /run/tmpfiles.d/kmod.conf
c! /dev/fuse 0600 - - - 10:229
c! /dev/btrfs-control 0600 - - - 10:234
c! /dev/loop-control 0600 - - - 10:237
d /dev/net 0755 - - -
c! /dev/net/tun 0600 - - - 10:200
c! /dev/ppp 0600 - - - 108:0
c! /dev/uinput 0600 - - - 10:223
c! /dev/uhid 0600 - - - 10:239
d /dev/vfio 0755 - - -
c! /dev/vfio/vfio 0600 - - - 10:196
c! /dev/vhci 0600 - - - 10:137
c! /dev/vhost-net 0600 - - - 10:238
c! /dev/vhost-vsock 0600 - - - 10:241
d /dev/snd 0755 - - -
c! /dev/snd/timer 0600 - - - 116:33
d /dev/snd 0755 - - -
c! /dev/snd/seq 0600 - - - 116:1
c! /dev/cuse 0600 - - - 10:203

(このd行はディレクトリです)。

答え2

systemdスクリプトを使用して起動時にコマンドを実行できます。コンテンツを含むファイルの作成

modprobe fuse
modprobe loop

~/Documents/modprobe_startup.shまたは保存したい場所)。実行可能にすることを忘れないでください

chmod +x ~/Documents/modprobe_startup.sh

/lib/systemd/system/modprobe_startup.service次に、次の内容で簡単なシステムサービスファイルを作成します。

[Unit]
Description=runs ~/Documents/modprobe_startup.sh

[Service]
Type=simple
ExecStart=/bin/bash /home/USERNAME/Documents/modprobe_startup.sh

[Install]
WantedBy=multi-user.target

USERNAMEをシステムのユーザー名に変更することを忘れないでください。

今インストールするには、

sudo cp /lib/systemd/system/modprobe_startup.service /etc/systemd/system/modprobe_startup.service
sudo chmod 644 /etc/systemd/system/modprobe_startup.service
systemctl enable modprobe_startup.service

そして再起動してください。

関連情報