GNU/Linux >> Belajar Linux >  >> Cent OS

Memahami Sistem File sysfs (/ sys) di Linux

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


Cent OS
  1. Memahami Sistem File /proc

  2. Memahami File /etc/inittab di Linux

  3. Memahami file /etc/rsyslog.conf untuk mengkonfigurasi System Logging

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Memahami Script rc di Linux

  3. Linux:Tempat meletakkan file swap

  1. Memahami file /etc/xinetd.conf di Linux

  2. Memahami direktori /etc/xinetd.d di Linux

  3. Memahami direktori /etc/skel di Linux