Mi a különbség a "Service" és a "/etc/init.d/" között?

110

Az Ubuntu-ízekről és az Ubuntu-ízesítésről már régóta irányítok a kiszolgálótelepítésekről - a szerverek újraindításához/etc/init.d/ -hoz igazítottam. Most kapom ezt az üzenetet:

root@tatooine:~# /etc/init.d/mysql status
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql status

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the status(8) utility, e.g. status mysql
mysql start/running, process 14048

Úgy tűnik, hogy az Ubuntu legfrissebb LTS-jében született meg - miért? Milyen rossz a/etc/init.d/ és mi / van különbség aservice és a/etc/init.d/ között?

    
készlet Marco Ceppi 12.08.2010 21:12
forrás

2 válasz

97

A/etc/init.d szkriptek a dolgok régi módja. A System V szabványból származnak. Azonban ezeket a parancsfájlokat csak egy adott sorrendben szabadítják ki, így nincsenek valódi függőségek.

Ezért a upstart fejlesztése azzal a szándékkal történt, hogy a/etc/init.d szkripteket felfelé írt parancsfájlokkal helyettesítsük (/etc/init -ban).

service lehetővé teszi a zökkenőmentes átmenetet a/etc/init.d parancsfájlokról a szkriptek felgyorsítására. A jövőben, amikor egyre több szkriptet továbbítanak, a szolgáltatás még mindig működik, mert mindkét lehetőséget megtalálja.

válasz adott txwikinger 12.08.2010 21:33
forrás
26

Ellenőrizze a szolgáltatási parancs man oldalát is:man service

service szkriptet fut előre kiszámítható környezetben (a munkakönyvtár / csak 2 környezeti változó van beállítva: LANG és TERM). Ezenkívül hozzáadja a--full-restart értéket is. Összefoglalva:

  1. service scripteket futtathat a / etc / init vagy az /etc/init.d fájlból (upstart vagy System V)
  2. service szkripteket fut előre kiszámítható környezetben.

A "kiszámítható környezet" szempontja problémákat okozhat, ha a szkript valamilyen okból a környezeti változótól függ. Valószínűleg ez a módja annak, hogy megkerülj, de nem tudom, mi ez, és ez túlmutat a kérdéskörön:)

    
válasz adott Joe Marty 08.06.2011 17:52
forrás