Antworten:
/procist ein virtuelles Dateisystem. Sie müssen ein Kernelmodul schreiben, das die entsprechenden Strukturen darin erstellt.
Die Antwort von Ignacio Vazquez-Abrams ist richtig : Dateien unter /procund /syswerden vom Kernel bereitgestellt. Wenn Sie dort eine Datei hinzufügen möchten, schreiben Sie ein Kernelmodul. Eine leicht veraltete Darstellung der /procProgrammierschnittstelle finden Sie in Linux Device Drivers 3rd ed. CH. 4 .
Technisch ist es möglich, durch Rahmen zu springen, um eine Datei in /proc/sys/crypto(oder wirklich irgendwo anders) erscheinen zu lassen. Erstellen Sie einen Bind-Mount von /proc/sys/cryptozu einem Staging-Verzeichnis und machen Sie einen Union-Mount des Staging-Verzeichnisses und eines Overlay-Verzeichnisses zurück zu /proc/sys/crypto. Hier ist ein Beispiel mit unionfs-fuse .
# 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
Hinweis: Ich lehne jede Verantwortung für System- oder Hirnschäden ab, die durch das Experimentieren mit diesem Material verursacht werden. Die obigen Befehle sind absolut sicher, aber das Durcheinander mit anderen Bereichen von /sysund /prockann seltsames Verhalten verursachen.
/proc/handelt es sich um ein virtuelles Dateisystem./proc/sys/cryptosollte magisch erscheinen, sobald der Kernel einen Treiber lädt, der ihn verwendet. Ich vermute, dass Ihnen tatsächlich etwas anderes fehlt. Können Sie näher erläutern, was Sie tun, um diese Datei zu erstellen?