Ang pag-mask sa isang serbisyo ng systemd ay nangangahulugan na ang serbisyo ay hindi pinagana at hindi maaaring paganahin, kahit na sa pamamagitan ng system o sa manu-manong utos. Ang masking ay isang mas malakas na paraan ng hindi pagpapagana.
Sa gabay na ito, ituturo ko sa iyo kung paano i-mask ang isang serbisyo sa Linux gamit ang systemctl, at kung paano ito i-unmask. Bukod dito, sasaklawin ko ang mga pangunahing pagkakaiba sa pagitan ng isang naka-mask na serbisyo at isang may kapansanan na serbisyo.
Babala: Sa Linux, ang mga serbisyo ay magkakaugnay. Dahil ang pag-mask sa serbisyo ay hindi pinagana ito at ipinagbabawal ang anumang pag-activate, samakatuwid ay gamitin ito nang maingat.
Bago magpatuloy, unawain muna natin ang mekanismo sa likod ng serbisyong nakamaskara.
Ano ang Masked Service
Ang naka-mask na serbisyo ay isang permanenteng hindi pinaganang serbisyo na pumipigil dito na ma-enable ng system o system administrator. Karaniwang ginagamit ng mga tagapangasiwa ng system ang maskara opsyon na i-deactivate ang hindi gumagana o magkasalungat na serbisyo. Gayunpaman, inirerekomendang gamitin ang opsyong ito nang may pag-iingat, dahil ang pag-mask sa isang mahalagang serbisyo ng system ay maaaring magdulot ng mga hadlang sa pag-boot ng system.
Paano Ilista ang Mga Serbisyong Naka-mask
Upang ilista ang mga naka-mask na serbisyo sa Linux, gamitin ang listahan-mga yunit opsyon na may nabanggit na estadong nakamaskara.
systemctl list-units --estado = nakamaskara
Paano Mag-mask ng Serbisyo
Ang systemctl command ay maaaring gamitin upang i-mask ang anumang serbisyo gamit ang maskara opsyon. Ang pangkalahatang syntax ng command ay binanggit sa ibaba.
sudo systemctl mask [ Pangalan ng Serbisyo ]Ang pagpipiliang mask sa itaas na syntax ay mahalagang gumagawa ng simbolikong link sa serbisyo sa /etc/systemd/system .
Ang isa o higit pang mga serbisyo ay maaari ding banggitin, na pinaghihiwalay ng isang espasyo.
I-mask natin ang serbisyo ng SSH gamit ang syntax sa itaas.
sudo systemctl mask ssh.service
Upang suriin ang katayuan ng isang naka-mask na serbisyo, gamitin ang –estado= opsyon na may systemctl list-units .
Kung tatangkain mong simulan ang serbisyo, makakatanggap ka ng output na nagsasabing nakamaskara ang unit.
Tandaan: Hindi mo mai-mask ang isang serbisyong ginawa sa /etc/systemd/system direktoryo. Dahil ang mga serbisyo sa direktoryo na ito ay mahalaga para sa mga pagpapatakbo ng system, ang pag-mask sa mga ito ay maaaring makapinsala sa normal na paggana ng system. Gayunpaman, ang hindi pagpapagana sa mga serbisyong ito ay katumbas ng pagtatakip sa kanila.
Paano Magtatakpan ng Pansamantalang Serbisyo
Ang isang serbisyo ay maaaring itago hanggang sa susunod na boot sa pamamagitan ng paggamit ng -runtime opsyon.
sudo systemctl mask [ Pangalan ng Serbisyo ] --runtime
Lumilikha ito ng simbolikong link ng serbisyo sa /run/systemd/system direktoryo. Kung ang simbolikong link ng serbisyo ay naroroon na sa direktoryo, ang serbisyo ay idinisenyo upang pansamantalang i-mask.
Paano I-unmask ang isang Serbisyo
Gamitin ang systemctl command kasama ang alisan ng maskara opsyon upang alisin ang mga paghihigpit sa maskara. Hindi tatanggapin ng utos na ito ang landas ng serbisyo, samakatuwid, ang mga pangalan ng serbisyo lamang ang kinakailangang banggitin.
sudo systemctl unmask [ Pangalan ng Serbisyo ]Maaaring kailanganin mong i-reboot ang system pagkatapos i-unmask ang serbisyo.
Pagkakaiba sa pagitan ng Masked Service at Disabled Service
Ang isang hindi pinaganang serbisyo ay maaaring paganahin at simulan ng system at sa mga manu-manong utos. Gayunpaman, ang naka-mask na serbisyo ay hindi maaaring paganahin, alinman sa pamamagitan ng system o sa pamamagitan ng manu-manong pakikipag-ugnayan.
Kapag ang isang serbisyo ay ginawang hindi pinagana, isang simbolikong link na ginawa sa /etc/systemd/system ang direktoryo ay tinanggal, at ang serbisyo ay hindi na-activate sa boot. Ngunit maaari itong i-activate ng mga umaasa na serbisyo.
Sa kabilang banda, ang naka-maskarang serbisyo ay naka-link sa /dev/null na ginagawa itong permanenteng hindi magagamit.
Tandaan na ang /dev ang direktoryo ay naglalaman ng mga file ng mga block device. Ang /dev/null ay isang virtual na aparato na nag-aalis ng anumang nakasulat dito. Ito ay karaniwang ginagamit upang itapon ang output mula sa stdout at stderr.
Konklusyon
Kung gusto mong gawing permanenteng hindi pinagana ang anumang serbisyo, pagkatapos ay gamitin ang systemctl mask command. Ang isang naka-mask na serbisyo ay hindi maaaring paganahin kahit ng system. Sa gabay na ito, tinakpan ko kung paano i-mask ang isang serbisyo nang permanente, at pansamantala. Bukod dito, binanggit din namin ang isang paraan upang i-unmask ang isang serbisyo at ang mga pangunahing pagkakaiba sa pagitan ng isang naka-mask at naka-disable na serbisyo.