Shell script per amministrazione startup sistema

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
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.
Rispondi
Avatar utente
Maurizio69
Linux 0.x
Linux 0.x
Messaggi: 4
Iscritto il: ven 13 ago 2010, 23:04
Nome Cognome: Maurizio Paglia
Slackware: 13.1
Kernel: 2.6.33
Desktop: KDE4
Località: Reggio Emilia
Contatta:

Shell script per amministrazione startup sistema

Messaggio da Maurizio69 »

Ciao a tutti,
sono tornato a Slackware dopo diversi anni di Ubuntu ed ho rispolverato uno script che avevo realizzato per facilitare la gestione degli script di avvio del sistema.
Compito principale dello script è quello di organizzare il file rc.local come segue:
1. Creazione di una directory /etc/rc.d/local che conterrà UNO script per OGNI operazione da fare
2. Sostituzione del file /etc/rc.d/rc.local con un file apposito che contiene una semplice istruzione FOR che si occupa di lanciare gli eseguibili trovati in /etc/rc.d/local
In questo modo la gestione e l'organizzazione dei files di avvio personalizzati è parecchio semplificata.
Ultimamente ho aggiunto anche la possibilità di imputare l'eseguibilità degli script generici (quelli che si trovano in /etc/rc.d).

Mi piacerebbe migliorare ulteriormente questa cosa con altre diverse funzioni ma - prima di dedicare ore di lavoro a questo progetto - vorrei chiedere anche il vostro parere. Come? Se qualcuno volesse scaricare lo script per provarlo e valutarlo mi farebbe una grossa cortesia.
Ricordo che lo script si trova ancora in fase di test sebbene io abbia già fatto parecchie prove e non ho mai avuto problemi.
Se vi va di provarlo potete scaricarlo dal mio sito a questo indirizzo http://www.mauriziopaglia.it/owl/browse ... &fileid=10 cliccando su (Anonymous Access) sulla maschera di autenticazione.

Vi ringrazio anticipatamente! :D

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Shell script per amministrazione startup sistema

Messaggio da Mario Vanoni »

Maurizio69 ha scritto:sono tornato a Slackware dopo diversi anni di Ubuntu ed ho rispolverato uno script che avevo realizzato per facilitare la gestione degli script di avvio del sistema.
Compito principale dello script è quello di organizzare il file rc.local come segue:
1. Creazione di una directory /etc/rc.d/local che conterrà UNO script per OGNI operazione da fare
2. Sostituzione del file /etc/rc.d/rc.local con un file apposito che contiene una semplice istruzione FOR che si occupa di lanciare gli eseguibili trovati in /etc/rc.d/local
In questo modo la gestione e l'organizzazione dei files di avvio personalizzati è parecchio semplificata.
Ultimamente ho aggiunto anche la possibilità di imputare l'eseguibilità degli script generici (quelli che si trovano in /etc/rc.d).
Incuriosito, l'ho scaricato.

- per utenti Slackware 12.2 non decomprimibile
- avendo xz, con le opzioni -df risulta un *.tar
- tar *.tar e` una catastrofe, ti fa` cinque dirs ... (*)
> un programma decente crea una dir mrcl-versione e li scarica li`!

(*) ovviamente da vecchia volpe, mkdir mrcl e cp il *.tar li`.

Con find -type f -exec less {} \;
ho sfogliato i vari files, ben scritti, complimenti,
ma troppo bash'ish, non necessariamente portabili.
Ricorda che sotto Linux si usa ash/bash/chs/ksh ed altri minori.

Unica domanda che mi rimane,
perche' non mettere tutto in rc.local soltanto?
Dove rimane la semplificazione con tante/i dirs/files?

metrofox
Linux 3.x
Linux 3.x
Messaggi: 760
Iscritto il: gio 7 ago 2008, 12:29
Slackware: slackware64-current
Kernel: 3.4.4-ck3
Desktop: FluxBox-1.3.1
Distribuzione: FreeBSD-8.1(amd64)
Località: London

Re: Shell script per amministrazione startup sistema

Messaggio da metrofox »

È vero, ne sono rimasto anche io incuriosito, l'ho scaricato ed ho comunque visto che il è scritto abbastanza bene, però io, come Mario, mi chiedo perché non mettere tutto in un rc.local che è creato appositamente per questi scopi e perché smistare il tutto.

Avatar utente
Maurizio69
Linux 0.x
Linux 0.x
Messaggi: 4
Iscritto il: ven 13 ago 2010, 23:04
Nome Cognome: Maurizio Paglia
Slackware: 13.1
Kernel: 2.6.33
Desktop: KDE4
Località: Reggio Emilia
Contatta:

Re: Shell script per amministrazione startup sistema

Messaggio da Maurizio69 »

Ciao,
non credevo di ricevere due risposte in così poco tempo.
Quando iniziai a realizzare lo script avevo un rc.local zeppo di istruzioni e - allora - pensai che forse la cosa potesse essere semplificata sostituendo ad un unico file una serie di file (ognuno deputato ad una sola operazione).
Per abilitare o disabilitare una funzione occorre solo mettere/togliere il flag di eseguibile ad uno script anzichè trovare le righe giuste e commentarle/decommentarle.
Inoltre - essendo gli script richiamati da un ciclo FOR - sarebbe sufficienti chiamarli con un prefisso numerico (ad es. 00rc.hdparm, 01rc.setleds, ecc) per poter modificare in modo facile e veloce l'ordine di esecuzione. Questa cosa è una caratteristica che avrei voluto inserire nello script appena possibile.

Ringrazio entrambi per aver detto che il codice è ben scritto: non avendo alcuna base tecnica (sono totalmente autodidatta) la cosa mi ha fatto molto piacere.
Gran parte di ciò che ho imparato lo devo proprio a Slackware (gli anni passati su Ubuntu mi hanno ricordato un po' troppo il pigro 'punta e clicca' che avevo abbandonato nel lontano 1998...).

Grazie nuovamente per le risposte.
Se qualcun'altro ha diversi suggerimenti... sono tutti ben accetti.

Saluti a tutti e happy Slack!
Maurizio

Avatar utente
Maurizio69
Linux 0.x
Linux 0.x
Messaggi: 4
Iscritto il: ven 13 ago 2010, 23:04
Nome Cognome: Maurizio Paglia
Slackware: 13.1
Kernel: 2.6.33
Desktop: KDE4
Località: Reggio Emilia
Contatta:

Re: Shell script per amministrazione startup sistema

Messaggio da Maurizio69 »

Incuriosito, l'ho scaricato.

- per utenti Slackware 12.2 non decomprimibile
- avendo xz, con le opzioni -df risulta un *.tar
- tar *.tar e` una catastrofe, ti fa` cinque dirs ... (*)
> un programma decente crea una dir mrcl-versione e li scarica li`!

(*) ovviamente da vecchia volpe, mkdir mrcl e cp il *.tar li`.
Ciao Mario,
ieri sera, nella fretta, non ho prestato la giusta attenzione a questa cosa.
Io ho creato il pacchetto con 'makepkg': credevo fosse sufficiente.
E' pertanto meglio creare un pacchetto .tgz?
O - forse - per fare l'elegante dovrei rilasciarne DUE (uno .tgz e l'altro .txz)? :)

Grazie di nuovo.
Maurizio

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Shell script per amministrazione startup sistema

Messaggio da Mario Vanoni »

Maurizio69 ha scritto: E' pertanto meglio creare un pacchetto .tgz?
O - forse - per fare l'elegante dovrei rilasciarne DUE (uno .tgz e l'altro .txz)? :)
Se vuoi interessare utenti <=12.2 ed anche >13.0, .tgz _E_ .txz,
io rimango fermo al 12.2 per ora:
- finche' non esce il 13.2 o magari il 13.3
- o non sono costretto a cambiare una delle tre macchina, ma se il 12.2 va` ???
Avendo 3 macchine stabilissime con 12.2 e kernel 2.6.35.2, perche' rischiare?

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Shell script per amministrazione startup sistema

Messaggio da Mario Vanoni »

Maurizio69 ha scritto: Per abilitare o disabilitare una funzione occorre solo mettere/togliere il flag di eseguibile ad uno script anzichè trovare le righe giuste e commentarle/decommentarle.
Curiosita`/domanda: quante cose fai partire al boot con rc.local?

Sulle mie tre macchine i file rc.local sono identici, commentando righe inutili.

Tutte le cose non necessarie al boot le delego a crontab(1),
ogni minuto (statistiche), ogni 10 minuti certe cose,
ad ore definite altre, ecc. ecc.

Anche /usr/sbin/ntpd -g -q lo ho tolto da rc.local,
ragione: se il server era lento, rallentava il boot.
Messo in crontab(1) ogni 10 minuti, non e` il secondo dopo il boot che importa.

Dal punto di vista utilita`:
- vecchio sysadm dal 1985, piu` veloce con vi(1) su rc.local, [de]commentare una voce
- per gente venuta da M$, forse piu` comprensibile togliere il flag con uno schermo dialog(1)
Gusti diversi ...

Avatar utente
Maurizio69
Linux 0.x
Linux 0.x
Messaggi: 4
Iscritto il: ven 13 ago 2010, 23:04
Nome Cognome: Maurizio Paglia
Slackware: 13.1
Kernel: 2.6.33
Desktop: KDE4
Località: Reggio Emilia
Contatta:

Re: Shell script per amministrazione startup sistema

Messaggio da Maurizio69 »

Grazie ancora!
In effetti io avvio solo un paio di servizi da rc.local (modificato alla miamaniera) e nulla più...
Condivido però pienamente con la tua conclusione ovvero lo script può comunque interessare chi si avvicina a Slackware da sistemi 'punta e clicca'.
Proseguirò in ogni caso con lo sviluppo (anche solo per puro esercizio).

Maurizio

metrofox
Linux 3.x
Linux 3.x
Messaggi: 760
Iscritto il: gio 7 ago 2008, 12:29
Slackware: slackware64-current
Kernel: 3.4.4-ck3
Desktop: FluxBox-1.3.1
Distribuzione: FreeBSD-8.1(amd64)
Località: London

Re: Shell script per amministrazione startup sistema

Messaggio da metrofox »

Proseguirò in ogni caso con lo sviluppo (anche solo per puro esercizio).
In quel caso è utilissimo... ;)

Rispondi