Skrypty startowe mldonkey

Łukasz Maśko ed at yen.ipipan.waw.pl
Tue Dec 8 21:07:23 CET 2015


Dnia wtorek, 8 grudnia 2015 18:04:53 Tomasz Pala pisze:
> On Tue, Dec 08, 2015 at 10:58:37 +0100, Łukasz Maśko wrote:
> > Na skutek ewolucji skryptów rc-scripts (najwyraźniej) przestał mi
> > startować
> > poprawnie mldonkey. W tej chwili w jego skrypcie startowym jest takie coś:
> > 
> > daemon --fork --user $USER "cd ~$USER && exec $MLDONKEY_PATH >
> > ${LOG:-/dev/null} 2>&1"
> daemon wymaga pełnej ścieżki. Masz ścieżkę do cd?

Inaczej jak przez ~$USER to nie ma. Nie mam pomysłu jak inaczej to wyciągnąć. 
Ale to mało ważne, bo w sumie można to na sztywno wpisać.

[...]
> > ale to dalej jest źle:
> > $ sudo service mldonkey start
> > Uruchamianie usługi mldonkey..................................... [ 
> > ZAJĘTY
> > ]/etc/rc.d/init.d/mldonkey: cd: /~mldonkey: No such file or directory
> > 
> >                                                                   [
> >                                                                   PROBLEM
> >                                                                   Y ]
> > 
> > setsid: nie udało się uruchomić exec: Nie ma takiego pliku ani katalogu
> 
> Bo tak samo jak cd, również exec jest konstrukcją shella. Aby jej użyć
> musisz
> 
> sh -c exec

To nie zadziała jak należy w tym przypadku.

> > Czy macie jakieś propozycje, jak poprawić ten skrypt? Bo z tego co widzę,
> > to sporo (co do zasad) się zmieniło w samych rc-scripts ostatnio.
> 
> Nie tyle pewnie zmieniło, co zostały załatane dziury, którymi
> uruchamiano takie usługi. Jak można demonizować polecenie wbudowane
> shella? Nie można i słusznie, że teraz nie działa. Ale czy rozsądne jest
> wołanie dodatkowego shella, to też wątpię. Oczywiście dodawanie & na
> końcu daemona to też pomyłka - zobacz, co już robi opcja --fork:
> 
>                         prog="/usr/bin/setsid sh -c \""
>                         end='&'
> 
> Zresztą pooglądaj sobie /etc/rc.d/init.d/functions (ja to mam z baaardzo
> starej wersji, w lutym 7 lat stuknie), może ktoś faktycznie zepsuł.

W porównaniu do 7 lat temu to się trochę zmieniło.

> Niech żyje SysV! :)

Może i niech żyje... Ale jak przeskoczyć takie coś: jak podczas sprawdzania 
dysku fsck się wywróci (bo nie może go naprawić automatycznie), to przy 
SysVInit boot po prostu idzie dalej. Jeśli to nie jest dysk systemowy tylko 
np. (jak w moim przypadku) /home/users, to mogę się spokojnie na roota 
zalogować i naprawić ręcznie. A na systemd skrypt wtedy wchodzi w pętlę 
nieskończonego i bezowocnego sprawdzania tego dysku w kółko (kończy się 
błędem, jest ponawiane, itd.). I trzeba system w singlu odpalać, żeby partycję 
naprawić, bo inaczej nie daję rady... No, chyba, że miałem takiego pecha, a to 
zachowanie normalne nie jest. Ale żeby tak się zawsze mi zdarzało?
-- 
Łukasz Maśko                                                            _o)
Lukasz.Masko(at)ipipan.waw.pl                                           /\\
Registered Linux User #61028                                           _\_V
Ubuntu: staroafrykańskie słowo oznaczające "Nie umiem zainstalować Debiana"



More information about the pld-devel-pl mailing list