Sysctl - Sysctl

sysctl
YozilganC
Operatsion tizimUnixga o'xshash (BSD)
TuriTizim konfiguratsiyasi

sysctl ba'zilarining dasturiy ta'minoti Unixga o'xshash tizimning atributlarini o'qiydigan va o'zgartiradigan operatsion tizimlar yadro uning versiyasi, maksimal chegaralari va xavfsizlik sozlamalari kabi.[1] U ikkalasi ham mavjud tizim qo'ng'irog'i kompilyatsiya qilingan dasturlar uchun va interaktiv foydalanish va skriptlar uchun ma'mur buyrug'i. Linux sysctl-ni qo'shimcha ravishda a sifatida ochib beradi virtual fayl tizimi.

BSD

BSD-da ushbu parametrlar odatda a-dagi ob'ektlardir boshqaruv axborot bazasi (MIB) umumiy xotira segmentining hajmi, operatsion tizim foydalanadigan qatorlarning soni kabi sozlanishi chegaralarni tavsiflaydi. NFS mijoz yoki tizimdagi maksimal jarayonlar soni; kabi xatti-harakatlarni tavsiflash, yoqish yoki o'chirish IP ekspeditorlik, xavfsizlik cheklovlari superuser ("safelevel") yoki disk raskadrovka natijasi.[1]

Yilda OpenBSD va DragonFly BSD, uchun transport qatlami sifatida sysctl ham ishlatiladi hs.sensorlar uchun ramka apparat nazorati,[2] Holbuki NetBSD dan foydalanadi ioctl uning uchun tizim chaqiruvi sysmon envsys hamkasb. Ikkala sysctl va ioctl ikkitadir tizim qo'ng'iroqlari qo'shimcha funktsiyalarni qo'shish uchun ishlatilishi mumkin yadro boshqasini qo'shmasdan tizim qo'ng'irog'i;[3] Masalan, 2004 yilda OpenBSD 3.6 bilan, qachonki tcpdrop yordam dasturi joriy etildi, tizim chaqiruvi sifatida sysctl ishlatilgan.[3][4] Yilda FreeBSD, datchiklar doirasi bo'lmasa ham, individual harorat va boshqa sensorlar hanuzgacha sysctl daraxti orqali eksport qilinadi. Newbus masalan, bilan bo'lgani kabi aibs (4) barcha 4 BSD tizimlarida, shu jumladan FreeBSD-da mavjud bo'lgan drayver.[5][6][7]

BSD-da, a tizim qo'ng'irog'i yoki tizim qo'ng'iroqlari to'plami odatda dasturlarda, shuningdek ma'muriy dasturda va konfiguratsiya faylida foydalanish uchun taqdim etiladi (tizim sozlanishi parametrlarni o'rnatish uchun etik ).

Bu xususiyat birinchi bo'lib paydo bo'ldi 4.4BSD. Parametrlarni o'zgartirmasdan dinamik ravishda amalga oshiriladigan qattiq kodlangan doimiylardan ustunligi bor qayta kompilyatsiya qilish yadro.

Tarixiy jihatdan, yadro o'zgaruvchilarining o'zi sysctl orqali o'zgartirilishi mumkin bo'lsa-da, elementlari MIB sysctl daraxtining kompilyatsiya vaqtida qattiq kodlanganligi va 2019 yilga kelib, asosan OpenBSD-da (ba'zi istisnolardan tashqari) hs.sensorlar, o'z dinamik subtree-ni boshqaradigan va ta'minlaydigan). FreeBSD 1995 yildan beri sysctl daraxtini dinamik boshqarish uchun "sysctl ichki sehr" ga ega; NetBSD 2003 yil dekabridan beri dinamik sysctl daraxtini amalga oshirdi.[5][6]

Linux

Linuxda sysctl interfeysi mexanizmi ham eksport qilinadi procfs ostida / proc / sys katalog (bilan aralashmaslik kerak The / sys katalog ). Ushbu farq ba'zi parametrlarning qiymatini tekshirishni anglatadi, unda a da fayl ochilishi kerak virtual fayl tizimi, tarkibini o'qish, ularni tahlil qilish va faylni yopish. Sysctl tizim chaqiruvi Linuxda mavjud, ammo u eskirgan va yo'q o'rash funktsiyasi yilda glibc; CONFIG_SYSCTL_SYSCALL holda yadroni konfiguratsiya qilgan ko'plab tarqatishlar tufayli odatda u mavjud emas; shuning uchun uni ishlatish tavsiya etilmaydi.[8]

Misollar

IP-yo'naltirish yoqilganda, operatsion tizim yadrosi a vazifasini bajaradi yo'riqnoma. Yilda FreeBSD, NetBSD, OpenBSD, DragonFly BSD va Darvin /Mac OS X, parametr net.inet.ip. yo'naltirish ga o'rnatilishi mumkin 1 ushbu xatti-harakatni yoqish uchun. Linuxda parametr chaqiriladi net.ipv4.ip_forward.

Ko'pgina tizimlarda buyruq sysctl -w parametr=1 ma'lum bir xatti-harakatni ta'minlaydi. Bu keyingi qayta boshlashgacha davom etadi. Agar tizim ishga tushganda, xatti-harakatni yoqish kerak bo'lsa, chiziq parametr=1 faylga qo'shilishi / qayta yozilishi mumkin /etc/sysctl.conf. Bundan tashqari, tizim ishga tushirilgandan so'ng, ba'zi sysctl o'zgaruvchilarini o'zgartirish mumkin emas. Ushbu o'zgaruvchilar (o'zgaruvchiga, BSD versiyasiga va ta'miga qarab) kompilyatsiya vaqtida yadroda statik ravishda o'rnatilishi yoki o'rnatilgan bo'lishi kerak /boot/loader.conf.

Shuningdek qarang

Adabiyotlar

  1. ^ a b "sysctl (7) - tizim ma'lumotlarining o'zgaruvchilari". BSD o'zaro faoliyat ma'lumotnomasi. NetBSD. Xulosa.
  2. ^ Konstantin A. Murenin (2007-04-17). Mikroprotsessor tizimining apparat monitorlari bilan umumiy interfeys. 2007 yil 15-17 aprel kunlari IEEE Tarmoq, sezgirlik va boshqarish bo'yicha xalqaro konferentsiya materiallari. London, Buyuk Britaniya: IEEE. 901-906 betlar. doi:10.1109 / ICNSC.2007.372901. ISBN  978-1-4244-1076-7. IEEE ICNSC 2007, 901—906 betlar.
  3. ^ a b Federiko Byankuzzi (2004-10-28). "OpenBSD 3.6 Live". ONLAMP. O'Reilly Media. Arxivlandi asl nusxasi 2004-10-29 kunlari. Olingan 2019-03-20.
  4. ^ Markus Fridl (2004). "tcpdrop.c". BSD o'zaro faoliyat ma'lumotnomasi. OpenBSD. Xulosa.
  5. ^ a b Konstantin A. Murenin; Rauf Butaba (2009-03-17). "8.3. FreeBSD CVS datchiklari doirasi". OpenBSD apparat sensori doirasi (PDF). AsiaBSDCon 2009 materiallari, 2009 yil 12–15 mart. Tokio Fan universiteti, Tokio, Yaponiya (nashr etilgan 2009-03-14). Arxivlandi (PDF) asl nusxasidan 2009-02-21. Olingan 2019-03-04.
  6. ^ a b Konstantin A. Murenin (2010-05-21). "8.3. FreeBSD CVS datchiklari doirasi". OpenBSD apparat sensorlari - Atrof muhitni nazorat qilish va muxlislarni boshqarish (MM matematikasi tezis). Vaterloo universiteti: UWSpace. hdl:10012/5234. Hujjat identifikatori: ab71498b6b1a60 ff817 b29d56997a418.
  7. ^ "aibs (4) - ASUSTeK AI Booster ACPI ATK0110 kuchlanish, harorat va fan sensori". BSD o'zaro faoliyat ma'lumotnomasi. FreeBSD. 2010. Xulosa.
  8. ^ "sysctl (2): tizim parametrlarini o'qish / yozish". man7.org. 2017-09-15. Olingan 2018-01-04.

Tashqi havolalar