Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Symlinki do rc.d
http://forum.freesco.pl/viewtopic.php?f=24&t=12504
Strona 1 z 1

Autor:  dawidmo [ niedziela, 21 maja 2006, 17:12 ]
Tytuł:  Symlinki do rc.d

Taka mała propozycja, zrobienia w powiedzmy katalogu /usr/sbin symlinków o nazwie rcNAZWA do /etc/rd.c/NAZWA.
Spowoduje to że daemony będzie można uruchamiać, restartować, stopować np:
: [/] [] ()
rcsamba restart

zamiast
: [/] [] ()
/etc/rc.d/samba restart

Ułatwia to też wyświelanie zainstalowanych daemonów, bo wystarczy w konsoli wpisać "rc" i dać dwa razy po TAB-ie

Autor:  tasiorek [ niedziela, 21 maja 2006, 17:22 ]
Tytuł:  Re: Symlinki do rc.d

dawidmo pisze:
Ułatwia to też wyświelanie zainstalowanych daemonów, bo wystarczy w konsoli wpisać "rc" i dać dwa razy po TAB-ie

A teraz wystarczy wpisac ls /etc/rc.d/
Ogolnie skrypty startowe sa w innym katalogu i wedlug mnie tak powinno zostac, bez zadnych dowiazan. Nie zmeczysz sie wpisujac /etc/rc.d/, z reszta jak czesto restartujesz rozne uslugi?

Autor:  dawidmo [ niedziela, 21 maja 2006, 17:28 ]
Tytuł: 

Oczywiście że się nie zmęczę :wink: nie czesto restaruje usługi, jednak u siebie tak zrobiłem, poprostu napisałem, może ktoś bedzię chciał wypróbować.
(Pomijam oczywiście symlinki do rc.0, rc.M, itd - bo to całkiem inny temat)

++
http://miniwebportal.one.pl/news.php?detail=n1101607489.news

Na stronie Maćka, też jest coć podobnego, jednak tam trzeba znać nazwę :)

Autor:  Mis' [ niedziela, 21 maja 2006, 17:40 ]
Tytuł: 

generalnie nienajlepszy pomysł. scripty rc.xxx to scripty startowe systemu. Pozostałe w /etc/rc.d to scripty startowe usług. A rc wyraźnie odróżnia jedno od drugiego.

Autor:  dawidmo [ niedziela, 21 maja 2006, 17:43 ]
Tytuł: 

Wiem że po to jest to rc.XXX aby to odrónić skrypty startowe od zwykłych usług, zaproponowałem tylko taką nazwę rcNAZWA w katalogu /usr/sbin, oczywiście pomijąjąc rc.0, rc.M, rc.S, itd.
takie rozwiązanie jest min w SuSE.

Autor:  viater [ niedziela, 21 maja 2006, 19:59 ]
Tytuł: 

A ja sobie zrobiłem w /usr/sbin trzy skrypciki:
start
stop
restart

Np. :
: [/] [] ()
#!/bin/bash
#/usr/sbin/start

if [ -f /etc/rc.d/$1 ]; then
    /etc/rc.d/$1 start
else
    echo "Nie ma takiego demona w /etc/rc.d !"
fi

- i z dowolnej lokalizacji piszę sobie na przykład:
: [/] [] ()
restart dhcpd

Autor:  Mis' [ niedziela, 21 maja 2006, 20:35 ]
Tytuł: 

viater pisze:
A ja sobie zrobiłem w /usr/sbin trzy skrypciki:
start
stop
restart

Np. :
: [/] [] ()
#!/bin/bash
#/usr/sbin/start

if [ -f /etc/rc.d/$1 ]; then
    /etc/rc.d/$1 start
else
    echo "Nie ma takiego demona w /etc/rc.d !"
fi

- i z dowolnej lokalizacji piszę sobie na przykład:
: [/] [] ()
restart dhcpd


: [/] [] ()
#!/bin/sh
#/usr/sbin/start

case $0 in
start)
/etc/rc.d/$1 start
;;
stop)
/etc/rc.d/$1 stop
;;
restart)
/etc/rc.d/$1 restart
;;
esac



potem tylko

ln -s start stop
ln -s start restart

i mamy wszystko w jednym pliku. Ważne tylko żeby się nazwy start, stop, restart w zasięgu zmiennej $PATH nie pokryły z czymś.
ale czy to wygodne? to osobista sprawa...

Autor:  Maciek [ niedziela, 21 maja 2006, 21:12 ]
Tytuł: 

Sprawdziłeś? Bo to robi nic.

Autor:  viater [ niedziela, 21 maja 2006, 21:46 ]
Tytuł: 

Mis' pisze:
[...ciach..]
ale czy to wygodne? to osobista sprawa...

Dla mnie bardzo wygodne, ale zgadzam się, że wszystko zależy od osobistych upodobań.
Maciek pisze:
Sprawdziłeś? Bo to robi nic.

Nie jestem pewny, czy to pytanie do mnie (raczej chyba do Mis'ia) - u mnie (w postaci według mojego przykładu) robi to co trzeba 8)

Autor:  Maciek [ niedziela, 21 maja 2006, 22:23 ]
Tytuł: 

Pod Mis'ia postem więc do niego. Twój skrypt działa, a jego propozycja robi dokładnie nic.

Autor:  Mis' [ niedziela, 21 maja 2006, 22:29 ]
Tytuł: 

Maciek pisze:
Sprawdziłeś? Bo to robi nic.


o ile mnie pytasz to nie sprawdzałem. Teraz sprawdziłem. Poniżej poprawka:

: [/] [] ()
#!/bin/sh

prog=`basename $0`

case $prog in


dalej bez zmian. Sorry za zamieszanie.

EDIT: żeby nie wprowadzać nowego programu mozna także zrobić tak:

: [/] [] ()
#!/bin/sh

case $0 in
/usr/sbin/start)
/etc/rc.d/$1 start
;;
/usr/sbin/stop)
/etc/rc.d/$1 stop
;;
/usr/sbin/restart)
/etc/rc.d/$1 restart
;;
esac


There are so many ways to skin a cat...

Autor:  dawidmo [ poniedziałek, 22 maja 2006, 07:05 ]
Tytuł: 

W powyższych przykładach używany jest skrypt, w moim przypadku symlinki:
: [/] [] ()
/usr/sbin/rcsamba -> /etc/rc.d/samba
/usr/sbin/rcsshd -> /etc/rc.d/sshd
...


i z dowolnej lokalizacji np:
: [/] [] ()
rcsamba start|stop|restart


Oczywiście po wpisaniu "rc" i podwójnym naciśnieciu TAB-a, wyświetlają mi sie sie wszystkie usługi (jeśli te symlinki do tych usług instnieją, ale do tego mam skrypt, który jak coś nowego zainstaluje, odpalam i on je już aktualizuje)

Autor:  TheL [ poniedziałek, 22 maja 2006, 12:30 ]
Tytuł: 

daj ten skrypt robiacy symlinki :D

Autor:  dawidmo [ poniedziałek, 22 maja 2006, 14:30 ]
Tytuł: 

TheL pisze:
daj ten skrypt robiacy symlinki :D


Wersja Alfa, nie usuwa starych symlinków, nie bylo czasu na głupoty

: [/] [] ()
#!/bin/sh

if [ `id -u` != 0 ]; then
 echo "Musisz byś root-em"
 exit 0
fi

X=`ls /etc/rc.d/ | grep -v 'rc.'`
rcp="/etc/rc.d/"

for daemons in $X; do

 if [ -x $rcp$daemons -a ! -d $rcp$daemons ]; then
    echo "Tworze rc$daemons"
    ln -s $rcp$daemons /usr/sbin/rc$daemons
 fi

done


Zasada działania:
Skrypt listuje zawartość /etc/rc.d/ i wybiera tylko te pliki które
1. Nie nazywają się rc.XXXXX
2. pliki muszą posiadać chmod-a wykonywalności, bo /etc/rc.d/function to nie daemon, i nie jest brazy pod uwagę

Autor:  TheL [ środa, 24 maja 2006, 09:10 ]
Tytuł: 

no dobra a jak to bedzie jesli bedziemy chcieli sprawdzic czy symlinki sa aktualne ?

Autor:  dawidmo [ środa, 24 maja 2006, 11:13 ]
Tytuł: 

Ja to robie w ten sposób, że usuwam wszystkie symlinki, i uruchamiam skrypt.

Dla bezpieczeństwa można dodać, żeby usuwał tylko pliki (w /usr/sbin)
zaczynające się od "rc", i będące linkami symbolicznymi.

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/