sysctl - sysctl
| Yazılmış | C |
|---|---|
| İşletim sistemi | Unix benzeri (BSD) |
| Tip | Sistem yapılandırması |
sysctl , sürüm numarası, maksimum sınırlar ve güvenlik ayarları gibi sistem çekirdeğinin özelliklerini okuyan ve değiştiren bazı Unix benzeri işletim sistemlerinin bir yazılım yardımcı programıdır . Hem derlenmiş programlar için bir sistem çağrısı hem de etkileşimli kullanım ve komut dosyası için bir yönetici komutu olarak mevcuttur. Linux ayrıca sysctl'yi sanal bir dosya sistemi olarak sunar .
BSD
BSD'de, bu parametreler genellikle bir yönetim bilgi tabanındaki (MIB) paylaşılan bir bellek bölümünün boyutu, işletim sisteminin bir NFS istemcisi olarak kullanacağı iş parçacığı sayısı veya maksimum işlem sayısı gibi ayarlanabilir sınırları tanımlayan nesnelerdir. sistem üzerinde; veya IP iletme, süper kullanıcı üzerindeki güvenlik kısıtlamaları ("güvenli düzey") veya hata ayıklama çıktısı gibi davranışları tanımlayın, etkinleştirin veya devre dışı bırakın.
Gelen OpenBSD ve DragonFly BSD , sysctl da için taşıma katmanı olarak kullanılır hw.sensors çerçevesinin donanım izleme oysa NetBSD kullanan ioctl onun için sistem çağrıyı SysMon envsys muadili. Sysctl ve ioctl Hem ikisi sistem çağrıları için ekstra işlevsellik eklemek için kullanılabilir çekirdeğin bir başka eklemeden sistem çağrısı ; örneğin, 2004'te OpenBSD 3.6 ile, tcpdrop yardımcı programı tanıtıldığında, temel sistem çağrısı olarak sysctl kullanıldı. Gelen FreeBSD , bir sensör çerçeve, bireysel sıcaklık her ne kadar diğer sensörler de yaygın yoluyla sysctl ağaç üzerinden ihraç edilmektedir Newbus , örneğin, hem olduğu aibs(4)FreeBSD dahil olmak üzere tüm 4 BSD sistemlerinde kullanılabilir sürücüsü.
BSD'de, genellikle programlar tarafından kullanılmak üzere bir sistem çağrısı veya sistem çağrısı sarmalayıcısı, ayrıca bir yönetim programı ve bir yapılandırma dosyası (sistem önyüklendiğinde ayarlanabilir parametreleri ayarlamak için ) sağlanır.
Bu özellik ilk olarak 4.4BSD'de ortaya çıktı . Sabit kodlanmış sabitlere göre, parametrelerde yapılan değişikliklerin çekirdeği yeniden derlemeden dinamik olarak yapılabilmesi avantajına sahiptir .
Çekirdek değişkenler kendilerini sysctl yoluyla modifiye edilebilir ancak Tarihsel olarak, oluşan elemanları MIB sysctl ağacının derleme zamanında kodlanmış edildi ve 2019 itibariyle, bu gibi bazı istisnalar dışında OpenBSD'de vaka (hala çoğunlukla var hw.sensors yönetir, ve kendi dinamik alt ağacını sağlar). FreeBSD, 1995'ten beri dinamik sysctl ağacı yönetimi için "sysctl dahili büyüsüne" sahiptir; NetBSD, Aralık 2003'ten bu yana dinamik bir sistem ağacının kendi uygulamasına sahiptir.
Linux
Linux, sysctl arayüz mekanizması, aynı zamanda bir parçası olarak dışa procfs altında / proc / sys dizini ile (karıştırılmamalıdır / sys dizini ). Bu fark, bir sanal dosya sisteminde bir dosyanın açılmasını , içeriğini okumasını, ayrıştırmasını ve dosyayı kapatmasını gerektiren bazı parametrelerin değerinin kontrol edilmesi anlamına gelir . Sysctl sistem çağrısı Linux üzerinde halen mevcut, ancak kullanımdan kaldırıldı ve bir yok sarıcı işlevi içinde glibc'nin ; çekirdeği CONFIG_SYSCTL_SYSCALL olmadan yapılandıran birçok dağıtım nedeniyle genellikle kullanılamaz; bu yüzden kullanılması tavsiye edilmez.
Örnekler
IP iletme etkinleştirildiğinde, işletim sistemi çekirdeği bir yönlendirici görevi görür . In FreeBSD , NetBSD , OpenBSD , FreeBSD BSD ve Darwin / Mac OS X , parametre net.inet.ip.forwarding ayarlanabilir 1 Bu davranışı etkinleştirmek için. Linux'ta parametreye net.ipv4.ip_forward adı verilir .
Çoğu sistemde, sysctl -w parametre =1 komutu belirli bir davranışı etkinleştirir. Bu, bir sonraki yeniden başlatmaya kadar devam edecektir. Davranışın sistem önyüklendiğinde etkinleştirilmesi gerekiyorsa, =1 satır parametresi /etc/sysctl.conf dosyasına eklenebilir/yeniden yazılabilir . Ayrıca, sistem önyüklendikten sonra bazı sysctl değişkenleri değiştirilemez. Bu değişkenlerin (değişkene, BSD'nin sürümüne ve tadına bağlı olarak) ya derleme zamanında çekirdekte statik olarak ayarlanması ya da /boot/loader.conf içinde ayarlanması gerekir .
Ayrıca bakınız
Referanslar
Dış bağlantılar
- OpenBSD'de sysctl(2)
- sysctl(3) FreeBSD, NetBSD, DragonFly BSD'de
- NetBSD'de sysctl(7)
- *BSD'de sysctl(8)
- sysctl(9) FreeBSD, DragonFly ve NetBSD'de
- – Linux Programcı Kılavuzu – Yönetim ve Ayrıcalıklı Komutlar
- – Linux Programcı Kılavuzu – Sistem Çağrıları
- sysctl-explorer.net – Linux'un sysctl referans belgelerine erişimi kolaylaştıran bir girişim