Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 11617|Atbildi: 0

[Linux] Izprotiet direktoriju /etc/init.d un /etc/rc.local skriptus Linux sistēmās

[Kopēt saiti]
Publicēts 13.11.2017 11:53:19 | | |
Šī raksta angļu valodas versija ir no: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/

1. Par /etc/init.d
     Ja kādreiz esat izmantojis Linux sistēmu, tad esat dzirdējis par direktoriju init.d. Kam tieši ir šis katalogs? Dienas beigās tas dara tikai vienu lietu, bet tā nav triviāla lieta, tas tiek darīts visai sistēmai, tāpēc tas ir ļoti svarīgi. Direktorijā init.d ir daudz sākuma un apturēšanas skriptu dažādiem sistēmas pakalpojumiem. Tas kontrolē visu, sākot no acpid līdz x11-common. Protams, init.d ir tālu no tik vienkārša. (Tulkotāja piezīme: ACPID ir jauns enerģijas pārvaldības standarts Linux operētājsistēmām; X11 sauc arī par X Window sistēmu, X Window sistēma (X11 vai X) ir logu sistēma ar bitkartes displeju. Tas ir standarta rīku komplekts un protokols grafisko lietotāja interfeisu veidošanai Unix un Unix līdzīgās operētājsistēmās, kā arī OpenVMS, un to var izmantot gandrīz visām mūsdienu operētājsistēmām).
    Aplūkojot direktoriju /etc, jūs atradīsiet daudzus direktorijus, kas pastāv rc#.d formā (kur # apzīmē noteiktu inicializācijas līmeni, diapazons ir 0~6). Šajos direktorijos ir daudz skriptu, kas kontrolē procesu. Šie skripti sākas ar "K" vai "S". Skripti, kas sākas ar K, tiek izpildīti pirms skriptiem, kas sākas ar S. Kur šie skripti tiek novietoti, noteiks, kad tie sāks darboties. Starp šiem direktorijiem sistēmas pakalpojumi darbojas kopā kā veselīga mašīna. Tomēr dažreiz vēlaties sākt vai nogalināt procesu tīri, neizmantojot komandas kill vai killall. Šeit noder /etc/init.d!
    Ja izmantojat Fedora sistēmu, varat atrast šo direktoriju: /etc/rc.d/init.d. Patiesībā tas dara to pašu, neatkarīgi no tā, kur jūs ievietojat init.d.
     Lai varētu izmantot skriptus direktorijā init.d, jums ir nepieciešamas root vai sudo privilēģijas. Katrs skripts tiks palaists kā komanda, kas ir strukturēta aptuveni šādi:
     /etc/init.d/command opcija
     comand ir faktiskā komanda, kas darbojas, un opcijas var būt šādas:
Sākt
apstājieties
Pārlādēt
Restartēt
Spēka pārlādēšana
       Vairumā gadījumu izmantosiet sākuma, apturēšanas, restartēšanas opcijas. Piemēram, ja vēlaties izslēgt tīklu, varat izmantot šādu komandu:
     
         /etc/init.d/networking stop
        Vēl viens piemērs ir tīkla iestatījumu maiņa un tīkla restartēšana. Varat izmantot šādas komandas:
        /etc/init.d/networking restart
        Visbiežāk izmantotie inicializācijas skripti direktorijā init.d ir:
      
tīklošana
samba
Apache2
ftpd
sshd
Dovecot
mysql
         Protams, jums var būt citi biežāk izmantoti skripti atkarībā no tā, kādu Linux operētājsistēmu esat instalējis.
2. Par /etc/rc.local
      rc.local ir arī skripts, ko es daudz izmantoju. Skripts tiek izpildīts pēc sistēmas inicializācijas līmeņa skripta palaišanas, tāpēc ir droši pievienot skriptu, kuru vēlaties izpildīt pēc sistēmas palaišanas. Izplatīts gadījums ir tāds, ka tam var pievienot NFS montāžas / montāžas skriptu. Varat arī pievienot dažas skripta komandas atkļūdošanai. Piemēram, esmu saskāries ar šo situāciju, kad samba pakalpojums vienmēr nedarbojas pareizi, un pārbaude rāda, ka samba bija jāsāk un jāizpilda sistēmas startēšanas laikā, tas ir, samba dēmona konfigurācija nodrošina, ka šī funkcija ir jāveic pareizi. Šajā gadījumā es parasti neuztraucos pavadīt daudz laika, meklējot, kāpēc, man vienkārši jāpievieno šī rinda /etc/rc.local skriptam:
          /etc/init.d/samba sākums
     Tādā veidā tika veiksmīgi atrisināta SAMBA pakalpojuma izņēmuma problēma.

3. Kopsavilkums
         Linux ir elastīgs. Pateicoties tās elastībai, mēs vienmēr varam atrast daudz dažādu veidu, kā atrisināt vienu un to pašu problēmu. Labs piemērs ir sistēmas pakalpojuma palaišanas piemērs. Izmantojot skriptu direktorijā /etc/init.d, apvienojumā ar jaudīgu rīku /etc/rc.local, varat būt pārliecināti, ka jūsu pakalpojums darbosies nevainojami.




Iepriekšējo:Asp.Net Parādās EF6.0 nav atrasts ar fiksētu nosaukumu "System.Data.SqlClient"...
Nākamo:MySQL konfigurācijas fails my.cnf ir detalizēti izskaidrots
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com