Ismerje meg a Linuxot: Az /etc/init.d könyvtár
- Kategória: Linux
Ha Linuxot használ, akkor valószínűleg hallottál erről init.d Könyvtár. De pontosan mit csinál ez a könyvtár? Végül egy dolgot csinál, de egy dolgot csinál az egész rendszer számára, tehát init.d nagyon fontos. A init.d A könyvtár számos start / stop szkriptet tartalmaz a rendszer különféle szolgáltatásaihoz. Mindent acpid nak nek x11-common a könyvtárból vezérelhető. Természetesen nem egészen olyan egyszerű.
Ha megnézed a /stb könyvtárban megtalálja az űrlapon lévő könyvtárakat rc # .D (Ahol # egy szám egy adott inicializációs szintet tükröz - 0-tól 6-ig). Ezen könyvtárak mindegyikében található számos más szkript, amely a folyamatokat vezérli. Ezek a szkriptek vagy 'K' vagy 'S' betűkkel kezdődnek. Az összes „K” szkript az „S” szkriptek előtt fut. És attól függően, hogy a szkriptek hol helyezkednek el, meghatározzák, mikor kezdenek a szkriptek. A könyvtárak között a rendszerszolgáltatások úgy működnek, mint egy jól olajozott gép. De vannak olyan idők, amikor tiszta módon, a kill vagy a killall parancsok használata nélkül el kell indítania vagy le kell állítania a folyamatot. Itt van a /etc/init.d/ a könyvtár hasznos.
Most, ha olyan disztribúciót használ, mint a Fedora, előfordulhat, hogy a könyvtár itt található /etc/rc.d/init.d . Helyétől függetlenül ugyanazt a célt szolgálja.
A benne található szkriptek bármelyikének ellenőrzése érdekében init.d manuálisan root (vagy sudo) hozzáféréssel kell rendelkeznie. Minden szkriptet parancsként futtatunk, és a parancs felépítése a következőképpen néz ki:
/etc/init.d/command OPTION
Ahol parancs a tényleges futtatás és parancs VÁLASZTÁSI LEHETŐSÉG a következők egyike lehet:
- Rajt
- álljon meg
- reload
- újrakezd
- force-reload
Leggyakrabban az egyiket fogja használni start, stop, vagy újrakezd. Tehát ha meg akarja állítani a hálózatot, akkor kiadhatja a következő parancsot:
/etc/init.d/networking stop
Vagy ha módosít egy hálózatot, és újra kell indítania, akkor ezt a következő paranccsal teheti meg:
/etc/init.d/networking újraindítás
Ebben a könyvtárban a leggyakoribb init szkriptek vannak:
- hálózatba
- samba
- apache2
- ftpd
- sshd
- galambdúc
- mysql
Természetesen előfordulhat, hogy a könyvtárban gyakrabban használt szkriptek vannak - ez attól függ, hogy mit telepítettél. A fenti lista egy Ubuntu Server 8.10 telepítéséből származik, így a szokásos asztali telepítéshez kevesebb hálózati típusú szkript lenne.
De mi van az /etc/rc.local-val?
Van egy harmadik lehetőség, amelyet szoktam használni. Ez a lehetőség a /etc/rc.local forgatókönyv. Ez a fájl az összes többi init szintű szkript futtatása után fut, tehát biztonságos különféle parancsok megadása, amelyeket indításkor ki kellett adnia. Sokszor a szkriptbe illesztési utasításokat teszek például az nfs-re. Ez szintén jó hely a „hibaelhárítási” parancsfájlok beillesztésére. Például, amikor volt egy gépem, amely valamilyen okból úgy tűnt, hogy a samba nem akarja elindulni. Még utólagos ellenőrzés is, hogy megbizonyosodjon arról, hogy a Samba démon beállítva-e az indításkor történő inicializáláshoz. Tehát ahelyett, hogy az összes időmet ezzel előzőleg eltöltöttem volna, egyszerűen feltettem a sort:
/etc/init.d/samba start
ban,-ben /etc/rc.local forgatókönyv és Samba olyan varázslatosan működött. Végül visszajövök, és gondot okozhatnék a kérdésről.
Végső gondolatok
A Linux rugalmas. A Linux annyira rugalmas, hogy szinte elkerülhetetlenül számos módon megoldható egyetlen probléma. A rendszerszolgáltatás indítása az egyik ilyen probléma. A /etc/init.d/ rendszer (valamint a /etc/rc.local ) biztos lehet benne, hogy a szolgáltatás elindul.