Ang Finit 4.0 initialization system anaa

Human sa mga tulo ka tuig nga kalamboan, ang pagpagawas sa initialization system nga Finit 4.0 (Fast init) gimantala, naugmad isip usa ka yanong alternatibo sa SysV init ug systemd. Ang proyekto gibase sa mga kalamboan nga gihimo pinaagi sa reverse engineering ang fastinit initialization system nga gigamit sa Linux firmware sa EeePC netbooks ug ilado tungod sa paspas kaayo nga proseso sa boot niini. Ang sistema nag-una nga gitumong sa pag-boot sa mga compact ug embedded system, apan mahimo usab nga gamiton alang sa naandan nga desktop ug server environment. Ang mga sample nga script sa pagpatuman giandam na para sa Void Linux, Alpine Linux ug Debian GNU/Linux. Ang code sa proyekto gisulat sa C ug giapod-apod ubos sa lisensya sa MIT.

Gisuportahan sa Finit ang mga runlevel sa SysV init nga istilo, pagmonitor sa kahimsog sa mga proseso sa background (awtomatikong i-restart ang serbisyo kung adunay kapakyasan), pagpatuman sa usa ka higayon nga mga handler, paglansad sa mga serbisyo nga nag-isip sa mga dependency ug arbitraryong mga kondisyon, paglakip sa mga dugang nga handler nga modagan sa wala pa o pagkahuman. pagpatuman sa serbisyo. Sama pananglit, mahimo nimong i-configure ang usa ka serbisyo nga magsugod lamang pagkahuman magamit ang pag-access sa network o pagkahuman nagsugod ang ubang serbisyo, sama sa syslogd. Ang Cgroups v2 gigamit sa pagtakda og mga pagdili.

Aron mapalapad ang pag-andar ug ipahiangay sa imong mga panginahanglanon, mahimo’g magamit ang mga plugin, diin gihatag ang usa ka sistema sa mga kaw-it nga nagtugot kanimo sa pag-attach sa usa ka handler sa lainlaing mga yugto sa pagkarga ug pagpatuman sa mga serbisyo, ingon man usab paghatag pagbugkos sa mga panghitabo sa gawas. Pananglitan, ang mga plugins giandam aron suportahan ang D-Bus, ALSA, netlink, resolvconf, init nga pag-plug sa mga himan, pagsusi sa pagkaanaa ug pagkarga sa mga kernel modules, pagproseso sa mga file sa PID ug pag-set up sa palibot alang sa X server.

Ang paggamit sa standard nga mga script alang sa paglunsad sa mga serbisyo nga gihimo para sa SysV init gisuportahan (/etc/rc.d ug /etc/init.d wala gigamit, apan ang suporta alang sa /etc/inittab mahimong ipatuman pinaagi sa plugin), ingon man usab rc.local scripts, mga file nga adunay environment ug network settings variables /etc/network/interfaces, sama sa Debian ug BusyBox. Ang mga setting mahimong mahubit sa usa ka configuration file /etc/finit.conf, o iapod-apod sa daghang mga file sa /etc/finit.d directory.

Ang pagdumala gihimo pinaagi sa standard initctl ug run-parts nga mga himan, nga nagtugot kanimo sa pagpaaktibo ug pag-deactivate sa mga serbisyo nga may kalabutan sa mga lebel sa pagdagan, ingon man usab sa pinili nga paglansad sa pipila ka mga serbisyo. Ang Finit naglakip usab sa usa ka built-in nga pagpatuman sa getty (terminal ug user login management), usa ka watchdog alang sa health monitoring, ug usa ka crash recovery mode nga adunay built-in nga sulogin para sa pagpadagan sa usa ka hilit nga command shell.

Ang Finit 4.0 initialization system anaa

Lakip sa mga pagbag-o nga gidugang sa pagpagawas sa Finit 4.0 (bersyon 3.2 gilaktawan tungod sa mga pagbag-o nga nakaguba sa pagpahiangay):

  • Ang separado nga reboot utility gipulihan sa simbolikong sumpay sa initctl, susama sa paghunong, pagsira, pagpawong ug pagsuspenso sa mga gamit.
  • Ang timailhan sa pag-uswag sa mga operasyon gipatuman.
  • Ang operasyon sa "inictl cond set|clear COND" nga mga sugo giusab aron sa pagbugkos sa mga aksyon ngadto sa lain-laing mga panghitabo. Ang syntax nga gigamit sa pag-ila sa mga serbisyo mao ang imbis nga magbugkos sa mga agianan .
  • Ang built-in nga pagpatuman sa inetd server gikuha na, diin ang xinetd mahimong ma-install kung gikinahanglan.
  • Gidugang nga suporta alang sa cgroups v2 alang sa pagpadagan sa mga serbisyo sa lain nga mga cgroup.
  • Gidugang ang crash recovery mode nga adunay kaugalingon nga suslogin.
  • Gidugang nga suporta alang sa pagsugod / paghunong sa mga script gikan sa SysV init.
  • Gidugang pre: script ug post: script handler nga nagtugot kanimo sa pagtino sa imong mga aksyon nga gihimo sa wala pa o kanus-a magsugod ang serbisyo.
  • Gidugang nga suporta alang sa env: file nga adunay mga variable sa palibot.
  • Gidugang ang abilidad sa pagsubay sa arbitraryong mga file sa PID.
  • Gidugang ang abilidad sa paglansad sa mga buluhaton ug serbisyo gamit ang mga paryente nga agianan.
  • Gidugang ang "-b" nga kapilian sa initctl aron mahimo ang mga aksyon sa non-interactive mode (batch mode).
  • Ang built-in nga watchdog gipulihan sa usa ka bulag nga bersyon sa watchdogd.
  • Gidugang ang usa ka plugin aron awtomatiko nga makarga ang mga module sa kernel alang sa mga aparato nga konektado sa panahon sa operasyon.
  • Gidugang nga plugin aron pagdumala /etc/modules-load.d/.
  • Gidugang nga suporta alang sa awtomatikong pag-restart sa mga serbisyo pagkahuman sa pagbag-o sa mga setting, nga gitugotan ka nga buhaton nga wala’y manual nga pagpatuman sa "initctl reload" nga mando. Gi-disable pinaagi sa default ug nanginahanglan pagtukod pag-usab gamit ang "./configure --enable-auto-reload".
  • Gidugang ang abilidad sa pag-log sa mga operasyon nga makaapekto sa seguridad, sama sa pagbag-o sa runlevel, pagsugod ug paghunong sa mga serbisyo, ug mga kapakyasan sa serbisyo.
  • Gipauswag nga suporta alang sa /etc/network/interfaces.

    Source: opennet.ru

Idugang sa usa ka comment