Selain /proc, kernel juga mengekspor informasi ke sistem file virtual lain yang disebut sysfs. sysfs digunakan oleh program seperti udev untuk mengakses informasi perangkat dan driver perangkat. Pembuatan sysfs membantu membersihkan sistem file proc karena banyak informasi perangkat keras telah dipindahkan dari proc ke sysfs.
Sistem file sysfs dipasang di /sys. Direktori tingkat atas ditampilkan. Berikut adalah deskripsi singkat dari beberapa direktori tersebut:
/sys/block
Direktori ini berisi entri untuk setiap perangkat blok dalam sistem. Tautan simbolis menunjuk ke perangkat fisik yang dipetakan perangkat di pohon perangkat fisik. Misalnya, atribut untuk sda disk berada di direktori berikut:
# ls -l /sys/block/sda/ total 0 -r--r--r-- 1 root root 4096 Mar 24 13:03 alignment_offset lrwxrwxrwx 1 root root 0 Mar 24 13:04 bdi -> ../../../../../../../../virtual/bdi/8:0 -r--r--r-- 1 root root 4096 Mar 24 13:03 capability -r--r--r-- 1 root root 4096 Mar 24 13:03 dev lrwxrwxrwx 1 root root 0 Mar 24 13:04 device -> ../../../0:0:0:0 -r--r--r-- 1 root root 4096 Mar 24 13:03 discard_alignment -r--r--r-- 1 root root 4096 Mar 24 13:03 events -r--r--r-- 1 root root 4096 Mar 24 13:03 events_async -rw-r--r-- 1 root root 4096 Mar 24 13:03 events_poll_msecs -r--r--r-- 1 root root 4096 Mar 24 13:03 ext_range drwxr-xr-x 2 root root 0 Mar 24 13:04 holders -r--r--r-- 1 root root 4096 Mar 24 13:03 inflight drwxr-xr-x 2 root root 0 Mar 24 13:04 integrity drwxr-xr-x 2 root root 0 Mar 24 13:04 power drwxr-xr-x 3 root root 0 Mar 24 13:04 queue -r--r--r-- 1 root root 4096 Mar 24 13:03 range -r--r--r-- 1 root root 4096 Mar 24 13:03 removable -r--r--r-- 1 root root 4096 Mar 24 13:03 ro -r--r--r-- 1 root root 4096 Mar 24 13:03 size drwxr-xr-x 2 root root 0 Mar 24 13:04 slaves -r--r--r-- 1 root root 4096 Mar 24 13:03 stat lrwxrwxrwx 1 root root 0 Mar 24 13:04 subsystem -> ../../../../../../../../../class/block -rw-r--r-- 1 root root 4096 Mar 24 13:03 uevent
/sys/bus
Direktori ini berisi subdirektori untuk setiap jenis bus fisik yang didukung di kernel. Setiap jenis bus memiliki dua subdirektori:perangkat dan pengemudi . Direktori perangkat mencantumkan perangkat yang ditemukan pada jenis bus tersebut. Direktori driver berisi direktori untuk setiap driver perangkat yang terdaftar dengan jenis bus. Parameter driver dapat dilihat dan dimanipulasi. Misalnya, untuk membuat daftar driver untuk perangkat virtual, masukkan:
# ls -lR /sys/bus/xen/drivers /sys/bus/xen/drivers: total 0 drwxr-xr-x. 2 root root 0 Mar 24 13:37 vbd drwxr-xr-x. 2 root root 0 Mar 24 13:37 vif /sys/bus/xen/drivers/vbd: total 0 --w-------. 1 root root 4096 Mar 24 13:40 bind lrwxrwxrwx. 1 root root 0 Mar 24 13:40 module -> ../../../../module/xen_blkfront --w-------. 1 root root 4096 Mar 24 13:37 uevent --w-------. 1 root root 4096 Mar 24 13:40 unbind lrwxrwxrwx. 1 root root 0 Mar 24 13:40 vbd-51792 -> ../../../../devices/vbd-51792 lrwxrwxrwx. 1 root root 0 Mar 24 13:40 vbd-768 -> ../../../../devices/vbd-768 /sys/bus/xen/drivers/vif: total 0 --w-------. 1 root root 4096 Mar 24 13:40 bind lrwxrwxrwx. 1 root root 0 Mar 24 13:40 module -> ../../../../module/xen_netfront --w-------. 1 root root 4096 Mar 24 13:37 uevent --w-------. 1 root root 4096 Mar 24 13:40 unbind lrwxrwxrwx. 1 root root 0 Mar 24 13:40 vif-0 -> ../../../../devices/vif-0
/sys/kelas
Direktori ini berisi setiap kelas perangkat yang terdaftar dengan kernel. Kelas perangkat menggambarkan tipe fungsional perangkat. Contohnya termasuk perangkat input, perangkat jaringan, dan perangkat blok.
/sys/devices
Direktori ini berisi hierarki perangkat global dari semua perangkat di sistem. Direktori ini juga berisi direktori platform dan direktori sistem. Direktori platform berisi perangkat periferal khusus untuk platform tertentu seperti pengontrol perangkat. Direktori sistem berisi perangkat non-periferal seperti CPU dan APIC.
/sys/firmware
Direktori ini berisi subdirektori dengan objek dan atribut firmware.
/sys/modul
Direktori ini berisi subdirektori untuk setiap modul yang dimuat ke dalam kernel, misalnya:
# ls /sys/module/xen* /sys/module/xen_blkfront: coresize drivers holders initsize initstate notes parameters refcnt rhelversion sections srcversion taint uevent /sys/module/xen_netfront: coresize drivers holders initsize initstate notes parameters refcnt rhelversion sections srcversion taint uevent
/sys/power
Status daya sistem dapat dikontrol dari direktori ini. Atribut disk mengontrol metode yang digunakan sistem untuk menangguhkan ke disk. Atribut state memungkinkan suatu proses untuk memasuki status daya rendah.
Utilitas sysctl
Utilitas sysctl juga dapat digunakan untuk melihat atau mengubah nilai ke file yang dapat ditulis di direktori /proc/sys. Untuk melihat pengaturan kernel saat ini, masukkan:
# sysctl -a abi.vsyscall32 = 1 crypto.fips_enabled = 0 debug.exception-trace = 1 ...
Ini adalah informasi yang sama yang terlihat jika setiap file dilihat satu per satu, misalnya:
# cat /proc/sys/abi/vsyscall32 1
Perintah echo dapat digunakan untuk menetapkan nilai ke file yang dapat ditulis di /proc/sys:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Perintah sysctl yang setara mengikuti, menampilkan hasil perubahan segera:
# sysctl -w net.ipv4.ip_forward=1 net.ipv4.ip_forward = 1
Perubahan yang dibuat dengan menggunakan echo dan sysctl hilang saat sistem di-boot ulang. Untuk mempertahankan setelan kustom, tambahkan setelan tersebut ke /etc/sysctl.conf mengajukan. Nilai yang ditambahkan ke file ini berlaku setiap kali sistem melakukan booting.
Memahami Sistem File /proc