Lander Napisano Listopad 17, 2009 Zgłoszenie Share Napisano Listopad 17, 2009 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 More sharing options...
@WalDo Napisano Listopad 17, 2009 Zgłoszenie Share Napisano Listopad 17, 2009 Czy mpcs-i386-pc-linux to program czy skrypt? Sprawdź file /mpcs/mpcs-i386-pc-linux Opóźnienie uruchomienia "sleep 10; /mpcs/mpcs-i386-pc-linux" Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Lander Napisano Listopad 17, 2009 Autor Zgłoszenie Share Napisano Listopad 17, 2009 [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 More sharing options...
borzole Napisano Listopad 17, 2009 Zgłoszenie Share Napisano Listopad 17, 2009 może przekieruj wyjście do pliku log i zobaczysz co się dzieje, czyli wpis w rc.local ma być taki: /mpcs/mpcs-i386-pc-linux > /var/co_z_moim_mpcs.log 2>&1 w kwestii ./ to kropka oznacza bieżący katalog, podając ścieżkę absolutną zrobiłeś dobrze. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
PstryPtak Napisano Listopad 21, 2009 Zgłoszenie Share Napisano Listopad 21, 2009 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 More sharing options...
borzole Napisano Listopad 21, 2009 Zgłoszenie Share Napisano Listopad 21, 2009 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 More sharing options...
Lander Napisano Listopad 22, 2009 Autor Zgłoszenie Share Napisano Listopad 22, 2009 Tak to o to chodziło:))) Koledzy @borzole, @WalDo - pięknie wam dziękuję za pomoc:) Polecenie $PATH szybko mi uzmysłowiło gdzie umieścić program. Rzeczywiście, ten problem pokazał jak duże braki mam w rozumieniu składni i poleceń Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Lander Napisano Listopad 23, 2009 Autor Zgłoszenie Share Napisano Listopad 23, 2009 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 More sharing options...
exbros Napisano Listopad 23, 2009 Zgłoszenie Share Napisano Listopad 23, 2009 W rc.local nie wywoluj samego programu, tylko maly skrypt ktory w kroku 1 zmieni biezacy katalog na ten ktorego potrzebujesz i w 2 wywola program ... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Lander Napisano Listopad 23, 2009 Autor Zgłoszenie Share Napisano Listopad 23, 2009 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 More sharing options...
exbros Napisano Listopad 27, 2009 Zgłoszenie Share Napisano Listopad 27, 2009 Pare dni mnie tu nie bylo... i widze, ze nikt sie nie zlitowal Maly skrypt to na przyklad takie cos: #!/bin/sh cd /mpcs ./mpcs-i386-pc-linux & ... zapisz pod jakakolwiek nazwa, nadaj atrybut wykonywalnosci i wywolaj z rc.local Powodzenia Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
callou Napisano Październik 21, 2010 Zgłoszenie Share Napisano Październik 21, 2010 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 More sharing options...
@WalDo Napisano Październik 21, 2010 Zgłoszenie Share Napisano Październik 21, 2010 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 More sharing options...
Rekomendowane odpowiedzi
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ę