Nowy CentOS 6 jest wyposażony w Upstart, zastępujący init. Próbuję przekonwertować plik / etc / inittab do nowego formatu upstart. Ten konkretny serwer ma tylko około 15 wpisów inittab, jednak inne serwery mają> 30. Chcemy głównie części odrodzenia inittab i upstart. Jednak czytałem całą dokumentację wstępną, którą mogłem znaleźć (która jest prawie WSZYSTKO oparta na Ubuntu i najwyraźniej na starszej wersji aktualizacji wstępnej) i nigdzie się nie dostałem. Mogę utworzyć plik konfiguracyjny (nazwijmy go /etc/init/test.conf). Plik zawiera to (uwaga, zanonimizowane)
start on runlevel [345]
stop on starting shutdown
respawn
#Comment about what it does
exec su -c "/usr/bin/ssh -2CNL 11111:127.0.0.1:11111 10.10.1.1" username
Jeśli wystawię initctl reload-configuration
pracę, praca zostanie rozpoznana. Mogę go uruchomić, dzwoniąc, initctl start test
a praca się rozpocznie.
Nie będzie to jednak działać przy ponownym uruchomieniu komputera, tylko ręcznie. Próbowałem zmodyfikować polecenie start do następującego, ale bez powodzenia
start on started
start on (local-filesystems and net-device-up IFACE!=lo)
start on net-device-up IFACE=eth0
i kilkanaście innych sposobów, w jakie mogłem zobaczyć wspomniane w różnych przykładach. wydaje się, że żaden nie uruchamia skryptu. (test.conf, podobnie jak wszystkie inne pliki w tym folderze, są własnością root i 644)
Czy brakuje mi czegoś rażąco oczywistego?
Przepraszam za nekropostę, ale udało mi się rozwiązać ten problem, używając następujących elementów:
„zatrzymany” nie jest literówką - wydaje się, że rc zatrzymuje się po wejściu na poziom uruchamiania.
źródło
Tak zrobiłem (CentOS 6, Upstart 0.6.5), aby debugować problemy z odradzaniem. Zrób to w innym terminalu
źródło