CentOS 6.2を実行しており、内部的に「crypto」というサブディレクトリを作成する必要があります/proc/sys
。内部的には「1」という値を含むファイルを/proc/sys/crypto
作成する必要があります。test
答え1
Ignacio Vazquez Abramsの答えが正しいです。/proc
: および以下のファイルは/sys
カーネルから提供されます。そこにファイルを追加するには、カーネルモジュールを作成してください。/proc
次のサイトで少し古いプログラミングインターフェイスのデモを見つけることができます。Linuxデバイスドライバ3番目のバージョン。チャンネル4。
技術的には、ファイルが表示されるように/proc/sys/crypto
(または実際には別の場所に)複数の手順を実行することが可能です。何かを作るバインドマウントから/proc/sys/crypto
ステージングディレクトリに移動して共同設置準備ディレクトリと上書きディレクトリは次のとおり/proc/sys/crypto
です。UnionFS ヒューズ。
# mkdir /tmp/original /tmp/overlay
# mount --bind /proc/sys/crypto /tmp/original
# unionfs-fuse -o nonempty /tmp/overlay=RW:/tmp/original=RO /proc/sys/crypto
# echo hello >/proc/sys/crypto/test
# cat /proc/sys/crypto/test
hello
# umount /proc/sys/crypto
# umount /proc/sys/crypto
# cat /tmp/overlay/test
hello
注:私はこの操作によって引き起こされるシステムや脳の損傷について責任を負いません。上記のコマンドは完全に安全ですが、他の領域を操作すると奇妙な動作が発生する可能性/sys
があります。/proc
答え2
/proc
仮想ファイルシステムです。適切な構造を作成するには、カーネルモジュールを作成する必要があります。
答え3
おそらくあなたはこれをしたくないでしょう。しかし、もしそうするなら必要/ procにディレクトリを作成するには、これがカーネルモジュールに必要なすべてです。
#include <linux/module.h>
#include <linux/proc_fs.h>
static int procfoo_init(void) {
proc_mkdir("foo", NULL);
return 0;
}
module_init(procfoo_init);
/ procにマウントポイントがある場合は、ここに通常のfsパスをバインドし、ユーザースペースディレクトリで必要な操作を実行できます。
mount --bind /var/lib/foo /proc/foo
この問題はカーネルをアップグレードすることで解決され、操作にはほとんど必要ありませんが、検索エンジンに表示されるため問題になります。