เป็นไปได้ไหมที่จะสร้างไดเรกทอรีและไฟล์ภายใน / proc / sys?


10

ผมใช้ CentOS 6.2 และฉันต้องสร้างไดเรกทอรีย่อยชื่อ "ลับ" /proc/sysภายใน ข้างใน/proc/sys/cryptoฉันต้องสร้างชื่อไฟล์testที่มีค่า "1"


ตามอีกสองคำตอบ/proc/เป็นระบบไฟล์เสมือน /proc/sys/cryptoควรปรากฏขึ้นอย่างน่าอัศจรรย์ในทันทีที่เคอร์เนลโหลดไดรเวอร์ที่ใช้งาน ฉันสงสัยว่าจริง ๆ แล้วคุณขาดอะไรอย่างอื่น - คุณสามารถอธิบายเพิ่มเติมเกี่ยวกับสิ่งที่คุณทำที่บอกให้คุณสร้างไฟล์นั้นได้หรือไม่?
Shadur

คำตอบ:


7

/procเป็นระบบไฟล์เสมือน คุณจะต้องเขียนโมดูลเคอร์เนลที่สร้างโครงสร้างที่เหมาะสมภายใน


คุณสามารถให้รายละเอียดเพิ่มเติมกับฉันได้หรือไม่ฉันไม่ใช่คน linux ที่คุณได้รับการแก้ปัญหาทีละขั้นตอน? ฉันพนันได้ไหมว่ามันแค่ติดไดเรกทอรีอื่นแล้ว?

2
IBM Developerworks ยังมีบทช่วยสอนเกี่ยวกับวิธีการทำเช่นนี้: ibm.com/developerworks/linux/library/l-proc/index.html ฉันรู้ว่าสิ่งนี้ใช้ได้ผลครั้งหนึ่งไม่สามารถเรียกคืนได้ว่าเป็น 2.4 หรือ 2.6 เคอร์เนล ...
Bruce Ediger

7

คำตอบของ Ignacio Vazquez-Abrams นั้นถูกต้อง : ไฟล์ที่อยู่ภายใต้/procและ/sysจัดหาโดยเคอร์เนล หากคุณต้องการเพิ่มไฟล์ที่นั่นเขียนโมดูลเคอร์เนล คุณสามารถค้นหาการนำเสนอ/procอินเทอร์เฟซการเขียนโปรแกรมได้เล็กน้อยในLinux Device Drivers 3rd ed CH 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อาจทำให้เกิดพฤติกรรมแปลก ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.