rc.local non esegue comandi

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
gettons
Linux 1.x
Linux 1.x
Messaggi: 121
Iscritto il: ven 6 mag 2005, 0:00
Località: FIRENZE
Contatta:

rc.local non esegue comandi

Messaggio da gettons »

Ragazzi, sono alle prese con un problema non da poco.
Ciò che metto in rc.local non mi viene eseguito.Ho provato con degli echo, e con altri programmi che girano come demoni ,ma poi con un ps aux scopro che non girano.
La cosa altrettanto strana è che mi sembra che salti certi rc.* che pure sono eseguibili, come ad esempio httpd, che è esegubile ma che dopo con un ps aux non parte.
Ho fatto la prova a lanciare solo dopo essermi loggato rc.local ed in quel caso esegue i comandi che vi sono all'interno.

Qualche aiuto?


Grazie

Avatar utente
dapuzz
Linux 4.x
Linux 4.x
Messaggi: 1137
Iscritto il: mar 16 mag 2006, 11:09
Contatta:

Messaggio da dapuzz »

rc.local viene richiamato da rc.M che dovrebbe essere richiamato quando vai in multiuser (cioè runlevel 2 3 4 e 5) sempre se non hai modificato l'inittab
Controlla che ci siano le seguenti righe verso la fine di rc.M

Codice: Seleziona tutto

# Start the local setup procedure.
if [ -x /etc/rc.d/rc.local ]; then
  . /etc/rc.d/rc.local
fi
Lo stesso vale anche per lo start di httpd, viene sempre richiamato da rc.M quindi può darsi che il problema sia uno solo...
Controlla sempre con degli echo se l'rc.M arrivi fino a quel punto o interrompa l'esecuzione prima.

Ma da quando ti capita? Hai aggiornato da poco alla current? Hai controllato se in /etc/rc.d/ hai qualche file.new? Hai giocato parecchio con l'inittab o con gli script di avvio?

gettons
Linux 1.x
Linux 1.x
Messaggi: 121
Iscritto il: ven 6 mag 2005, 0:00
Località: FIRENZE
Contatta:

Messaggio da gettons »

macchè giocato, magari...
conosco slackware molto bene e ho già controllato tutto ciò che hai scritto tu, la uso per montare centralini basati su asterisk e dal punto di vista shell la conosco molto bene.
Di questa cosa me ne sono accorto da qualche tempo, con il bluetooth poichè facevo partire i server hcid e sdpd mettendoli in local e dopo aver lanciato uno startx kde mi dava un errore, cosi rieseguivo rc.local e allora caricava ciò che ci stava dentro.
E poi anche servizi che hanno un loro specifico script come mysqld e httpd non partono, non so davvero il perchè, io vado di default in runlevel 3.
Se invece questi servizi li avvio a mano allora partono...tipo appunto httpd e mysqld.


Mistero vanaglorioso.

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

mmm... lo so che hai detto che la conosci molto bene... ma non è che per caso rc.local non è eseguibile?
hai provato a lanciarlo a mano?

$> ./rc.local

M

Avatar utente
dapuzz
Linux 4.x
Linux 4.x
Messaggi: 1137
Iscritto il: mar 16 mag 2006, 11:09
Contatta:

Messaggio da dapuzz »

gettons ha scritto: E poi anche servizi che hanno un loro specifico script come mysqld e httpd non partono, non so davvero il perchè, io vado di default in runlevel 3.
Se invece questi servizi li avvio a mano allora partono...tipo appunto httpd e mysqld.
Te l'ho detto, non è che partono in automatico tutti gli rc.qualcosa eseguibili. Partono se qualcuno li richiama, e chi deve richiamarli è proprio l'rc.M quindi secondo me il problema o è in quel file o nell'inittab

gettons
Linux 1.x
Linux 1.x
Messaggi: 121
Iscritto il: ven 6 mag 2005, 0:00
Località: FIRENZE
Contatta:

Messaggio da gettons »

absinthe ha scritto:mmm... lo so che hai detto che la conosci molto bene... ma non è che per caso rc.local non è eseguibile?
hai provato a lanciarlo a mano?

$> ./rc.local

M
rc local è sesguibile tant'è che se lo eseguo dopo essermi loggato i comandi dentro li esegue...

P.s.la conosco molto bene nel senso che la uso da un anno e mezzo , nulla di piu.

gettons
Linux 1.x
Linux 1.x
Messaggi: 121
Iscritto il: ven 6 mag 2005, 0:00
Località: FIRENZE
Contatta:

Messaggio da gettons »

dapuzz ha scritto:
gettons ha scritto: E poi anche servizi che hanno un loro specifico script come mysqld e httpd non partono, non so davvero il perchè, io vado di default in runlevel 3.
Se invece questi servizi li avvio a mano allora partono...tipo appunto httpd e mysqld.
Te l'ho detto, non è che partono in automatico tutti gli rc.qualcosa eseguibili. Partono se qualcuno li richiama, e chi deve richiamarli è proprio l'rc.M quindi secondo me il problema o è in quel file o nell'inittab
questo il mio rc.M
# Tell the viewers what's going to happen.
echo "Going multiuser..."

# Screen blanks after 15 minutes idle time, and powers down in one hour
# if the kernel supports APM or ACPI power management:
/bin/setterm -blank 15 -powersave powerdown -powerdown 60

# Set the hostname.
if [ -r /etc/HOSTNAME ]; then
/bin/hostname $(cat /etc/HOSTNAME | cut -f1 -d .)
else
# fall back on this old default:
echo "darkstar.example.net" > /etc/HOSTNAME
/bin/hostname darkstar
fi

# Save the contents of 'dmesg':
/bin/dmesg -s 65536 > /var/log/dmesg

# Start the system logger.
if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then
. /etc/rc.d/rc.syslog start
fi


if [ -x /etc/rc.d/rc.pcmcia ] ; then
. /etc/rc.d/rc.pcmcia start
# The cards might need a little extra time here to initialize.
if [ -r /var/run/cardmgr.pid ]; then
sleep 5
fi
fi


if [ -x /etc/rc.d/rc.inet1 ]; then
. /etc/rc.d/rc.inet1
fi


if [ -x /etc/rc.d/rc.hotplug -a -r /proc/modules ]; then
# Don't run hotplug if 'nohotplug' was given at boot.
if ! grep nohotplug /proc/cmdline 1> /dev/null 2> /dev/null ; then
echo "Activating hardware detection: /etc/rc.d/rc.hotplug start"
. /etc/rc.d/rc.hotplug start
fi
fi

# Start networking daemons:
if [ -x /etc/rc.d/rc.inet2 ]; then
. /etc/rc.d/rc.inet2
fi

/bin/rm -f /var/lock/* /var/spool/uucp/LCK..* /tmp/.X*lock /tmp/core /core 2> /dev/null

if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then
echo "Removing your stale hunt sockets from /tmp."
/bin/rm -f /tmp/hunt*
fi


chmod 755 / 2> /dev/null
chmod 1777 /tmp /var/tmp


#if [ -x /sbin/ldconfig ]; then
# echo "Updating shared library links: /sbin/ldconfig"
# /sbin/ldconfig
#fi


if [ -x /usr/X11R6/bin/fc-cache ]; then
echo "Updating X font indexes: /usr/X11R6/bin/fc-cache"
/usr/X11R6/bin/fc-cache
fi


if [ -x /etc/rc.d/rc.dnsmasq ]; then
/etc/rc.d/rc.dnsmasq start
fi


if [ -x /etc/rc.d/rc.cups ]; then
# Start CUPS:
/etc/rc.d/rc.cups start
elif [ -x /etc/rc.d/rc.lprng ]; then
# Start LPRng (lpd):
. /etc/rc.d/rc.lprng start
fi

# Start netatalk. (a file/print server for Macs using Appletalk)
if [ -x /etc/rc.d/rc.atalk ]; then
/etc/rc.d/rc.atalk
fi

#if [ -x /usr/sbin/smartd ]; then
# /usr/sbin/smartd
#fi

#if [ -x /sbin/genpowerd ]; then
# echo "Starting genpowerd daemon..."
# /sbin/genpowerd
#fi


if [ -x /sbin/accton -a -r /var/log/pacct ]; then
/sbin/accton /var/log/pacct
chmod 640 /var/log/pacct
echo "Process accounting turned on."
fi


# If you want cron to actually log activity to /var/log/cron, then change
# -l10 to -l8 to increase the logging level.
if [ -x /usr/sbin/crond ]; then
/usr/sbin/crond -l10 >>/var/log/cron 2>&1
fi

# Start atd (manages jobs scheduled with 'at'):
if [ -x /usr/sbin/atd ]; then
/usr/sbin/atd -b 15 -l 1
fi



# Check quotas and then turn quota system on:
if grep -q quota /etc/fstab ; then
if [ -x /sbin/quotacheck ]; then
echo "Checking filesystem quotas: /sbin/quotacheck -avugm"
/sbin/quotacheck -avugm
fi
if [ -x /sbin/quotaon ]; then
echo "Activating filesystem quotas: /sbin/quotaon -avug"
/sbin/quotaon -avug
fi
fi


if [ -x /etc/rc.d/rc.saslauthd ]; then
. /etc/rc.d/rc.saslauthd start
fi

if [ -x /etc/rc.d/rc.sendmail ]; then
. /etc/rc.d/rc.sendmail start
fi

# Start APM or ACPI daemon.
# If APM is enabled in the kernel, start apmd:
if [ -e /proc/apm ]; then
if [ -x /usr/sbin/apmd ]; then
echo "Starting APM daemon: /usr/sbin/apmd"
/usr/sbin/apmd
fi
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:
. /etc/rc.d/rc.acpid start
fi

# Load ALSA (sound) defaults:
if [ -x /etc/rc.d/rc.alsa ]; then
. /etc/rc.d/rc.alsa
fi

# Load a custom screen font if the user has an rc.font script.
if [ -x /etc/rc.d/rc.font ]; then
. /etc/rc.d/rc.font
fi

# Load a custom keymap if the user has an rc.keymap script.
if [ -x /etc/rc.d/rc.keymap ]; then
. /etc/rc.d/rc.keymap
fi

# Initialize HP Officejet support:
if [ -x /etc/rc.d/rc.hpoj ]; then
. /etc/rc.d/rc.hpoj start
fi

#amuled
# Start the amuled daemon:
if [ -x /etc/rc.d/rc.amuled ]; then
. /etc/rc.d/rc.amuled start
fi


# Start the MySQL database:
if [ -x /etc/rc.d/rc.mysqld ]; then
. /etc/rc.d/rc.mysqld start
fi

# Start Apache web server:
if [ -x /etc/rc.d/rc.httpd ]; then
. /etc/rc.d/rc.httpd start
fi

# Start Samba (a file/print server for Win95/NT machines).
# Samba can be started in /etc/inetd.conf instead.
if [ -x /etc/rc.d/rc.samba ]; then
. /etc/rc.d/rc.samba start
fi

# Start the GPM mouse server:
if [ -x /etc/rc.d/rc.gpm ]; then
. /etc/rc.d/rc.gpm start
fi

# If there are SystemV init scripts for this runlevel, run them.
if [ -x /etc/rc.d/rc.sysvinit ]; then
. /etc/rc.d/rc.sysvinit
fi

#addns update
if [ -x /etc/rc.d/rc.addns ]; then
/usr/bin/addns.pl
fi


#nagios
# Start the nagios daemon:
#if [ -x /etc/rc.d/rc.nagios ]; then
# . /etc/rc.d/rc.nagios start
#fi

# Start the local setup procedure.
if [ -x /etc/rc.d/rc.local ]; then
. /etc/rc.d/rc.local
fi

# All done.
come vedi ho aggiunto rc.amuled che parte senza problemi all'avvio.
Altri come httpd e mysqld non partono, e il fatto è che non si vede neanche in output la loro partenza...
tipo
httpd start
o
mysqld stat

In pratica all'avvio mi parton solamente ..
alsa crond keymap e i fonts..

questo ls -l di /etc/rc.d/*
drwxr-xr-x 2 root root 48 2006-05-14 00:35 init.d
lrwxrwxrwx 1 root root 4 2006-05-10 23:00 rc.0 -> rc.6
-rwxr-xr-x 1 root root 893 2003-01-29 23:43 rc.4
-rwxr-xr-x 1 root root 5764 2006-07-26 23:09 rc.6
-rwxr-xr-x 1 root root 1989 2004-06-21 16:04 rc.K
-rwxr-xr-x 1 root root 8437 2006-07-26 23:47 rc.M
-rwxr-xr-x 1 root root 10996 2005-08-04 21:29 rc.S
-rwxr-xr-x 1 root root 466 2004-11-05 10:20 rc.acpid
-rwxr-xr-x 1 root root 26215 2006-07-26 16:31 rc.addns
-rwxr-xr-x 1 root root 1650 2005-07-22 20:41 rc.alsa
-rwxr-xr-x 1 root root 729 2006-06-22 02:20 rc.amuled
-rw-r--r-- 1 root root 1032 2003-02-02 05:47 rc.atalk
-rw-r--r-- 1 root root 1031 2003-09-21 21:07 rc.bind
-rwxr-xr-x 1 root root 3942 2005-01-05 04:13 rc.cups
-rwxr-xr-x 1 root root 558 2004-08-22 18:33 rc.ddclient
-rw-r--r-- 1 root root 512 2005-09-13 06:13 rc.dnsmasq
-rwxr-xr-x 1 root root 119 2004-05-30 06:19 rc.font.new
-rwxr-xr-x 1 root root 1148 2006-05-10 23:12 rc.gpm
-rwxr-xr-x 1 root root 1529 2005-09-04 19:57 rc.hotplug
-rwxr-xr-x 1 gettons users 3693 2006-02-14 10:28 rc.hplip
-rwxr-xr-x 1 root root 401 2003-03-05 23:28 rc.httpd
-rwxr-xr-x 1 root root 8270 2005-09-07 22:44 rc.inet1
-rw-r--r-- 1 root root 3600 2006-05-22 20:26 rc.inet1.conf
-rwxr-xr-x 1 root root 5267 2005-07-24 23:01 rc.inet2
-rw-r--r-- 1 root root 497 2003-09-12 05:27 rc.inetd
-rw-r--r-- 1 root root 1924 2003-09-14 01:10 rc.ip_forward
-rwxr-xr-x 1 root root 140 2006-05-10 23:09 rc.keymap
-rwxr-xr-x 1 root root 931 2006-07-28 23:25 rc.local
-rwxr-xr-x 1 root root 1677 2005-09-21 02:27 rc.messagebus
lrwxrwxrwx 1 root root 17 2006-05-10 21:16 rc.modules -> rc.modules-2.6.13
-rwxr-xr-x 1 root root 25814 2005-09-04 07:14 rc.modules-2.6.13
-rwxr-xr-x 1 root root 25400 2005-06-06 05:41 rc.modules.bak
-rwxr-xr-x 1 root root 2314 2006-07-26 23:29 rc.mysqld
-rw-r--r-- 1 root root 5034 2006-05-14 04:08 rc.nagios
-rw-r--r-- 1 root root 2389 2004-06-06 23:52 rc.nfsd
-rw-r--r-- 1 root root 4790 2004-10-28 07:30 rc.pcmcia
-rw-r--r-- 1 root root 905 2003-09-14 01:38 rc.portmap
-rw-r--r-- 1 root root 791 2005-09-03 23:06 rc.samba
-rw-r--r-- 1 root root 1169 2005-07-25 02:11 rc.saslauthd
-rw-r--r-- 1 root root 687 2002-06-04 23:09 rc.sendmail
-rw-r--r-- 1 root root 2895 2005-09-13 06:40 rc.serial
-rwxr-xr-x 1 root root 1222 2005-09-01 16:46 rc.sshd
-rwxr-xr-x 1 root root 860 2004-05-03 00:07 rc.syslog
-rw-r--r-- 1 root root 1740 1999-09-11 22:48 rc.sysvinit
-rw-r--r-- 1 root root 1396 2005-07-30 20:14 rc.udev
-rw-r--r-- 1 root root 32142 2006-05-20 02:05 rc.vmware
-rw-r--r-- 1 root root 32142 2006-05-20 02:06 rc.vmware-stop
-rw-r--r-- 1 root root 8293 2005-07-25 09:19 rc.wireless
-rw------- 1 root root 7320 2005-07-25 09:19 rc.wireless.conf
-rw-r--r-- 1 root root 2323 2005-08-01 01:56 rc.yp

Ho tagliato i commenti dell rc.M per farla piu corta...

Al limite vi faccio entrare anche in ssh se può servire , di reinstallare proprio non mi va, anche perchè ormai ho tutto personalizzato .... :cry:

Avatar utente
-Shark-
Linux 2.x
Linux 2.x
Messaggi: 238
Iscritto il: ven 24 giu 2005, 0:00
Località: Grumento Nova (Pz)
Contatta:

Messaggio da -Shark- »

Hai gli script per httpd, mysql e local (quelli incriminati) esattamente sotto quello di rc.amuled.
Non è che c'è qualcosa in quello script che ti scombina rc.M?

gettons
Linux 1.x
Linux 1.x
Messaggi: 121
Iscritto il: ven 6 mag 2005, 0:00
Località: FIRENZE
Contatta:

Messaggio da gettons »

ci stavo penando anche io, l ho spostato alla fine.
Ora vanno sui httpd che mysqld e quindi anche local.

Un grazie mille !!!!! :D :D :D :D :D :D :D

Avatar utente
dapuzz
Linux 4.x
Linux 4.x
Messaggi: 1137
Iscritto il: mar 16 mag 2006, 11:09
Contatta:

Messaggio da dapuzz »

-_- ''
Felice che tu abbia risolto :D

Avatar utente
chroot
Linux 1.x
Linux 1.x
Messaggi: 168
Iscritto il: mer 19 lug 2006, 19:07
Località: /usr/ports/distfiles

Messaggio da chroot »

Ieri ho dovuto rifare il sistema nuovo su un altro hd,adesso anche io ho lo stesso problema, rc.local non esegue i comandi,eppure rc.M e rc.local li ho resi eseguibili.. Non so che pensare,adesso ad ogni avvio mi tocca caricare a mano il modulo per la scgeda di rete e per la connessione ..Uff ..

Qualche idea?

Avatar utente
chroot
Linux 1.x
Linux 1.x
Messaggi: 168
Iscritto il: mer 19 lug 2006, 19:07
Località: /usr/ports/distfiles

Messaggio da chroot »

inoltre mi sono accorto che in rc.local si sono aggiunte da sole ste righe

if [ -x /etc/rc.d/rc.messagebus ]; then
if [ -w /var/run/dbus/dbus.pid ]; then
rm /var/run/dbus/dbus.pid
fi
sh /etc/rc.d/rc.messagebus start
fi

if [ -x /etc/rc.d/rc.hald ]; then
sh /etc/rc.d/rc.hald start
fi

if [ -x /etc/rc.d/rc.howl ]; then
sh /etc/rc.d/rc.howl start
fi

inoltre rc.M era vuoto,quindi ho messo quello di gettons modificandolo un pochino per la mia macchina,non so se ho sbagliato. Help me!

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

sta roba che ti si è riaggiunta in rc.local non è che deriva dall'installazione di gnome?
se ti saltano gli rc.*
puoi ripristinarli dando :

#upgradepkg --reinstall sysvinit-<versione>-i486-<build>.tgz (per la 10.2 sysvinit-2.84-i486-56.tgz)

ti ritroverai un sacco di files chiamati rc.M.new etc... elimina quelli c he non ti servono e rinamina quelli con cui devi sostituire i flies danneggiati.

altra soluzione è quella di esplodere il pacchetto di cui sopra in una dir con il comando

#tar xzvf sysvinit-<versione>-i486-<build>.tgz

e spstituire i file danneggiati.

M

Avatar utente
chroot
Linux 1.x
Linux 1.x
Messaggi: 168
Iscritto il: mer 19 lug 2006, 19:07
Località: /usr/ports/distfiles

Messaggio da chroot »

absinthe ha scritto:sta roba che ti si è riaggiunta in rc.local non è che deriva dall'installazione di gnome?
se ti saltano gli rc.*
puoi ripristinarli dando :

#upgradepkg --reinstall sysvinit-<versione>-i486-<build>.tgz (per la 10.2 sysvinit-2.84-i486-56.tgz)

ti ritroverai un sacco di files chiamati rc.M.new etc... elimina quelli c he non ti servono e rinamina quelli con cui devi sostituire i flies danneggiati.

altra soluzione è quella di esplodere il pacchetto di cui sopra in una dir con il comando

#tar xzvf sysvinit-<versione>-i486-<build>.tgz

e spstituire i file danneggiati.

M
Piu' o meno sto capendo qualcosa,si ho installato gware,ma gia' da prima non mi caricava i comandi di rc.local

se do

# upgradepkg --reinstall sysvinit-2.84-i486-56.tgz

Mi dice

Error: incoming package ./sysvinit-2.84-i486-56.tgz not found.

Se invece do

tar xzvf ./sysvinit-2.84-i486-56.tgz

Mi dice

tar: ./sysvinit-2.84-i486-56.tgz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors

Dove sbaglio ? Il sistema e caricato a current,forse e quello il problema ?

Avatar utente
dapuzz
Linux 4.x
Linux 4.x
Messaggi: 1137
Iscritto il: mar 16 mag 2006, 11:09
Contatta:

Messaggio da dapuzz »

in entrambi i casi ti avvisa che non c'è nessun file nella directory corrente che si chiami sysvinit-2.84-i486-56.tgz :D
In generale non fare il copia incolla di quello che ti dicono di fare, ma capiscine più o meno il senso :)

Rispondi