Skocz do zawartości

Autostart Programu W Fedora 11


Lander

Rekomendowane odpowiedzi

Witam

 

Uzywam Fedora 11 jako serwer plików, kontroler RAID (mirror) 2TB, router (neostrada) i serwer kart (C+ i Polsat) w sieci domowej TV.

Do obsługi serwera kart używam dwóch programów: NewCS i MPCS

Z autostartem pierwszego (NewCS)nie mam problemów, ale drugi nigdy nie startuje mi sam. Muszę go uruchamiać ręcznie.

Mam taki wpis w rc.local:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/usr/local/bin/newcs.i686.pcsc
/mpcs/mpcs-i386-pc-linux

Mimo ostatniej linii MPCS nie uruchamia się. Ale jeżeli jako root w konsoli wydam polecenie:

[root@Fedora ~]# cd /mpcs

a potem:

[root@Fedora mpcs]# ./mpcs-i386-pc-linux

to program startuje bez problemu. Jak w takim razie ma wyglądać linia w rc.local dla tego programu?

 

I jeszcze jedno. Czy można tak skonfigurować autostart MPCS, aby uruchamiał się z 10 sekundowym opóźnieniem?

 

Będę wdzięczny za pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

[root@Fedora ~]# file /mpcs/mpcs-i386-pc-linux
/mpcs/mpcs-i386-pc-linux: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, stripped

 

We właściwościach pliku mam napisane, że jest to plik wykonywalny.

 

Dla pewności otworzyłem go HexEdytorem i wygląda jak skompilowany plik a nie skrypt.

 

Zwróć uwagę na to: gdy uruchamiam go ręcznie to na początku składni mam wstawione " ./ "

 

Może to to chodzi? Tylko jak to wpisać w linii rc.local ?

Odnośnik do komentarza
Udostępnij na innych stronach

Przepraszam że tak późno odpowiadam ale mam urwanie głowy w pracy. Teraz mam czas usiąść i poklikać.

 

No więc: @borzole, plik który się wygenerował jest pusty (zawartość 0 bajtów), w edytorze: pusty.

 

A teraz kilka ciekawych faktów na temat tego znaku na początku składni:

 

Jeżeli zrobię tak:

[root@Fedora ~]# cd /mpcs

a potem:

[root@Fedora mpcs]# mpcs-i386-pc-linux

to mam to:

[root@Fedora mpcs]# mpcs-i386-pc-linux
- bash: mpcs-i386-pc-linux: nie znaleziono polecenia

 

Jeżeli natomiast zrobię tak:

[root@Fedora ~]# cd /mpcs

a potem:

[root@Fedora mpcs]# ./mpcs-i386-pc-linux

to program się odpali i działa.

 

Czy nie można w rc.local jakoś uwzględnić tej działającej składni, ze znakami ./ na początku?

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

ehh, gupi ja

obstawiam, że w rc.local złą ścieżkę podałeś.

 

pisząc

[root@Fedora ~]# cd /mpcs

znajdujesz się przecież wyraźnie w katalogu domowym użytkownika root

 

polecenie pwd pokaże Ci gdzie dokładnie jesteś, ale już teraz widzę, że w rc.local powinien być wpis

 

/root/mpcs/mpcs-i386-pc-linux

 

Co do uruchamiania programu to jeśli wpiszesz samą nazwę programu wówczas system szuka go w dostępnych ścieżkach. Jakie to są ścieżki dowiesz się wpisując w konsoli

$PATH

przy czym $ jest częścią polecenia :)

Jeśli wpiszesz

./program

to szuka go bieżącym katalogu, a jeśli wpiszesz dwie kropki

../program

to szuka w katalogu nadrzędnym (wychodzi o jeden poziom do góry). To są te same kropki, które widać na samej górze po wydaniu np. polecenia

ls -l

albo w programie mc itp. Prościej już chyba nie umiem wytłumaczyć.

 

Naprawdę polecam przestudiować podstawy poleceń, bo bez tego ani rusz. Na początek lokalna wiki:

http://wiki.fedora.pl/wiki/Podstawy_Linuksa

Odnośnik do komentarza
Udostępnij na innych stronach

Za wcześnie się ucieszyłem...

 

Program MPCS przeniosłem do katalogu do którego mam ścieżkę systemową: /usr/local/bin

Sprawdziłem to poprzez:

[root@Fedora ~]# $PATH
-bash: /usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin: Nie ma takiego pliku ani katalogu

 

Niestety nadal nie mogę go uruchomić. MPCS ma pliki konfiguracyjne (między innymi mpcs.conf) w tym samym katalogu w którym się sam znajduje.

Tym razem program próbuje startować (postęp:)) ale nie ma dostępu do swojego pliku konfiguracyjnego:

[root@Fedora ~]# mpcs-i386-pc-linux
Cannot open config file './mpcs.conf' (errno=2)

I taki sam komunikat w logu, gdy program startuje z rc.local

 

Ale jak ręcznie przejdę do katalogu:

[root@Fedora ~]# cd /usr/local/bin

i potem uruchomię program:

[root@Fedora bin]# mpcs-i386-pc-linux

to nie ma problemu. Program bez problemu startuje.

 

Dlaczego tak jest?

Odnośnik do komentarza
Udostępnij na innych stronach

Czy ten mały skrypt to wpis w rc.local i miałby wyglądać tak?:

cd /usr/local/bin
sleep 10; mpcs-i386-pc-linux

 

i czy to normalne że program normalnie się odpala jak jestem w jego katalogu, a jak odpalam go poza jego katalogiem to nie znajduje pliku .conf?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 10 months later...

FC13, a wiec mam podobny problem i mam tak

to jest plik /etc/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
sh /etc/do_backup.sh

 

gdzie wnetrze pliku /etc/do_backup.sh jest nastepujace:

#!/bin/sh
cd /MAGAZYN/scripts_backup
./backup.pl&

do tego plik /etc/do_backup.sh oraz backup.pl maja prawa do wykonywania i wlascicielem jest zwykly uzytkownik i NIC sie nie dzieje, tzn. plik sie nie wykonuje...

Odnośnik do komentarza
Udostępnij na innych stronach

do tego plik /etc/do_backup.sh oraz backup.pl maja prawa do wykonywania i wlascicielem jest zwykly uzytkownik i NIC sie nie dzieje, tzn. plik sie nie wykonuje...
Pokaz jeszcze co masz w tym skrypcie perlowym i tak dla calkowitej pewnosci
ls -l /MAGAZYN/scripts_backup/backup.pl

W opcji "-l" to jest male "L" a nie jedynka.

 

I jeszcze jedno. Wpisz samo /etc/do_backup.sh bez tego "sh " na poczatku linii albo podaj pelna sciezke /bin/sh. Ale jesli plik ma prawa wykonywania to "sh" przed skryptem jest zbedne.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...