/proc dosya sistemine erişim

cat ve echo kullanarak

/proc dosya sistemine erişmenin en kolay yolu cat ve echo kullanmaktır, bunun için bazı gereklilikler vardır:

  • /proc dosya sistemi çekirdekte yetkilendirilmiş olmalıdır, yani aşağıdaki değer ile derlenmiş olmalıdır:

       CONFIG_PROC_FS=y

  • /proc dosya sistemi önceden bağlanmış olmalıdır. Aşağıdaki gibi sınayabilirsiniz:

    # mount | grep "type proc"
    none on /proc type proc (rw)
    

  • /proc dosya sisteminde okuma ve bazen yazma haklarına (elbette root için) sahip olmalısınız

Normalde, /proc/sys/* içine yazabilirsiniz, diğer kayıtlar salt okunurdur ve sadece bilgi almak için kullanılırlar.

Bir değeri öğrenmek
Bir kaydın değeri cat kullanılarak öğrenilebilir:

# cat /proc/sys/net/ipv6/conf/all/forwarding
0

Bir değer atamak
Yeni bir değer echo kullanılarak atanabilir (eğer kayıt yazılabilir ise):

# echo "1" >/proc/sys/net/ipv6/conf/all/forwarding

sysctl kullanarak

sysctl uygulaması çekirdeğe erişmek için modern bir yöntem kullanmaktadır. /proc dosya sistemi bağlı olmasa dahi kullanılması mümkündür ama bu durumda sadece /proc/sys/* dizinine erişim mümkün olabilmektedir!

sysctl uygulaması (Red Hat Linux sistemlerinde) procps paketine dahildir.

  • sysctl arayüzü çekirdekte yetkilendirilmiş olmalıdır, yani çekirdek aşağıdaki değer ile derlenmiş olmalıdır:

       CONFIG_SYSCTL=y

Bir değeri öğrenmek
Bir kaydın değerini öğrenmek için:

# sysctl net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 0

Bir değer atamak
Bir değer atamak için (eğer kayıt yazılabilir ise):

# sysctl -w net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.forwarding = 1

Not

Değer atarken "=" den önce veya sonra boşluk kullanmayın. Bir satırda çoklu değer atanacak ise bu aşağıdaki gibi yapılmalıdır:

# sysctl -w net.ipv4.ip_local_port_range="32768 61000"
net.ipv4.ip_local_port_range = 32768 61000

Ek bilgi
Not: Bazı sysctl sürümleri "." yerine "/" göstermektedir.

Daha fazla ayrıntı için sysctl'nin kılavuz sayfasına bakabilirsiniz.

İpucu

Ayarlara hızlıca göz atmak için -a (tüm kayıtları göster) seçeneğini grep ile birlikte kullanın.

/proc dosya sisteminde bulunan değerler

/proc dosya sisteminde farklı biçimlere rastlanabilir:

  • MANTIKSAL: basitçe "0" (yanlış) ya da "1" (doğru)
  • TAMSAYI: bir tamsayı değeri
  • Çoklu değerler içeren daha karmaşık satırlar: bazen bir başlık satırı da görüntülenir, eğer bu açıklama satırı yoksa çekirdeğin kaynak koduna bakarak her değerin anlamını öğrenebilirsiniz...