Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Aggiornare sistema tramite script
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
rakim
Apprentice
Apprentice


Joined: 08 Mar 2005
Posts: 231

PostPosted: Thu Apr 07, 2005 12:14 am    Post subject: Aggiornare sistema tramite script Reply with quote

Prendendo le informazioni sparse nel forum ho fatto un piccolo script per l'aggiornamento del sistema.
Vorrei sapere se i comandi sono corretti e, se sì, spero che questo piccolo script possa servire ad automatizzare, seppur minimamente, l'aggiornamento:
Code:
#!/bin/bash
echo 'emerge-webrsync'
emerge-webrsync

echo 'emerge -uDpv'
emerge -uDpv world

echo 'control+d to abort command emerge -uDv world'
for time_slip in 1 2 3 4 5
do     
        echo $time_slip 
        sleep 1
done

echo 'emerge -uDv world'
emerge -uDv world

echo 'emerge -v depclean'
emerge -v depclean

echo 'revdep-rebuild -pv'
revdep-rebuild -pv

echo 'control+d to abort command revdep-rebuild -v'
for time_slip in 1 2 3 4 5
do
        echo $time_slip 
        sleep 1
done

echo 'revdep-rebuild -v'
revdep-rebuild -v

echo 'dispatch-conf'
dispatch-conf


Last edited by rakim on Thu Apr 07, 2005 5:01 pm; edited 2 times in total
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 31478
Location: here

PostPosted: Thu Apr 07, 2005 7:08 am    Post subject: Reply with quote

Io il depclean lo toglierei e' un'operazione un poco delicata
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
neryo
Veteran
Veteran


Joined: 09 Oct 2004
Posts: 1292
Location: Ferrara, Italy, Europe

PostPosted: Thu Apr 07, 2005 7:26 am    Post subject: Reply with quote

io mettere un controllo seguito da un opportuno messaggio per controllare la presenza di gentoolkit, e magari provvedendo a emergiarlo. Visto che revdep-rebuild fa parte di gentoolkit è giusto quantomeno segnalare che ha questo tipo di dipendenza... :wink:
_________________
cache: a safe place for hiding or storing things..

D-link DWL-G650 AirPlus
Apache Php Mysql
Back to top
View user's profile Send private message
Benve
l33t
l33t


Joined: 13 Mar 2003
Posts: 897
Location: Italy Romagna

PostPosted: Thu Apr 07, 2005 8:18 am    Post subject: Reply with quote

Non so cosa sia esattamente (ho letto solo il titolo) ma posto questo link che mi sembra in tema:
http://www.panhorst.com/glcu/
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Thu Apr 07, 2005 1:45 pm    Post subject: Re: Aggiornare sistema tramite script Reply with quote

io mi ero messo a fare qualcosa, ma ho giusto iniziato e poi l'ho lasciato lì a fare muffa...
ti farò sapere quando mi deciderò a finirlo
Back to top
View user's profile Send private message
rakim
Apprentice
Apprentice


Joined: 08 Mar 2005
Posts: 231

PostPosted: Thu Apr 07, 2005 5:00 pm    Post subject: Reply with quote

fedeliallalinea wrote:
Io il depclean lo toglierei e' un'operazione un poco delicata

Fatto
neryo wrote:
io mettere un controllo seguito da un opportuno messaggio per controllare la presenza di gentoolkit, e magari provvedendo a emergiarlo

Lo farò a breve!

EDIT:
Benve wrote:
Non so cosa sia esattamente (ho letto solo il titolo) ma posto questo link che mi sembra in tema:
http://www.panhorst.com/glcu/

E' interessante ma voglio qualcosa di meno funzionale =P

EDIT2:
Come bisogna fare per assegnare ad una variabile il risultato di un comando bash?
Ad esempio:
Come faccio ad assegnare a $comando
Code:
emerge -pv gentoolkit | grep gentoolkit | grep R
:?:
Back to top
View user's profile Send private message
comio
Advocate
Advocate


Joined: 03 Jul 2003
Posts: 2191
Location: Taranto

PostPosted: Thu Apr 07, 2005 8:38 pm    Post subject: Reply with quote

rakim wrote:

Come bisogna fare per assegnare ad una variabile il risultato di un comando bash?
Ad esempio:
Come faccio ad assegnare a $comando
Code:
emerge -pv gentoolkit | grep gentoolkit | grep R
:?:


così:
Code:

comando=`emerge -pv gentoolkit | grep gentoolkit | grep R`


comuqnue io starei attento a quel grep R...

ciao
_________________
RTFM!!!!

e

http://www.comio.it
:)
Back to top
View user's profile Send private message
gutter
Bodhisattva
Bodhisattva


Joined: 13 Mar 2004
Posts: 7162
Location: Aarau, Aargau, Switzerland

PostPosted: Thu Apr 07, 2005 9:07 pm    Post subject: Reply with quote

Oppure anche:

Code:
comando=$(emerge -pv gentoolkit | grep gentoolkit | grep R)

_________________
Registered as User #281564 and Machines #163761
Back to top
View user's profile Send private message
rakim
Apprentice
Apprentice


Joined: 08 Mar 2005
Posts: 231

PostPosted: Fri Apr 08, 2005 7:52 am    Post subject: Reply with quote

comio wrote:
[
comuqnue io starei attento a quel grep R...

Potrei mettere direttamente:
grep
Code:
 [ebuild   R   ]
???
Back to top
View user's profile Send private message
PboY
Apprentice
Apprentice


Joined: 02 Feb 2005
Posts: 238
Location: Italia - Monza

PostPosted: Fri Apr 08, 2005 9:29 am    Post subject: Reply with quote

if [ -e "/usr/bin/etcat" ]; then echo esiste; fi;

senza l'uso di emerge vari che rallentano :)
Back to top
View user's profile Send private message
rakim
Apprentice
Apprentice


Joined: 08 Mar 2005
Posts: 231

PostPosted: Sat Apr 09, 2005 6:54 pm    Post subject: Reply with quote

Ho "finito" il mio script:
Code:
#!/bin/bash

if [ ! -e "/usr/bin/etcat" ]; then # echo esiste; fi;

        while [[ "$scarica" != "y" && "$scarica" != "Y" && "$scarica" != "n" && "$scarica" != "N" ]]
        do
                echo 'You don`t have gentoolkit. Do you want to emerge it? (y/n)'
                read scarica
        done

        if  [ "$scarica" = "y" ] # || "$scarica" = "Y"
        then
                echo 'emerge gentoolkit'
                # emerge gentoolkit
        fi
fi
echo 'emerge-webrsync'
emerge-webrsync

echo 'emerge -uDpv'
emerge -uDpv world

echo 'control+d to abort command emerge -uDv world'
for time_slip in 5 4 3 2 1
do
        echo -n $time_slip
        echo -n ' '
        sleep 1
done
echo

echo 'emerge -uDv world'
emerge -uDv world

echo 'revdep-rebuild -pv'
revdep-rebuild -pv

echo 'control+d to abort command revdep-rebuild -v'
for time_slip in 5 4 3 2 1
do
        echo -n $time_slip 
        echo -n ' '
        sleep 1
done
echo

echo 'revdep-rebuild -v'
revdep-rebuild -v

echo 'dispatch-conf'
dispatch-conf

Vi prego, se avete qualche suggerimento, fatemi sapere!
Spero comunque che questo piccolo script possa rervire a qualcuno! :roll:

EDIT: di questo script ho anche un'altra versione che anzicchè fare il conto alla rovescia aspetta la pressione del tasto invio da parte dell'utente!
Se credete sia migliore, fatemi sapere! Mageri posto anche quella!
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Sat Apr 09, 2005 7:43 pm    Post subject: Reply with quote

anche a me piace di più la versione senza conto alla rovescia :wink:
inoltre gli farei lanciare anche un unclepine -u per vedere i pacchetti superflui :wink:
_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne
Back to top
View user's profile Send private message
rakim
Apprentice
Apprentice


Joined: 08 Mar 2005
Posts: 231

PostPosted: Sat Apr 09, 2005 8:16 pm    Post subject: Reply with quote

Cazzantonio wrote:
anche a me piace di più la versione senza conto alla rovescia :wink:

Eccola qui:
Code:

#!/bin/bash

if [ ! -e "/usr/bin/etcat" ]; then # echo esiste; fi;

        while [[ "$scarica" != "y" && "$scarica" != "Y" && "$scarica" != "n" && "$scarica" != "N" ]]
        do
                echo 'You don`t have gentoolkit. Do you want to emerge it? (y/n)'
                read scarica
        done

        if  [ "$scarica" = "y" ] # || "$scarica" = "Y"
        then
                echo 'emerge gentoolkit'
                # emerge gentoolkit
        fi
fi

echo 'emerge-webrsync'
emerge-webrsync

echo 'emerge -uDpv'
emerge -uDpv world | less

echo 'Press return to continue'
echo 'Control+d to abort command emerge -uDv world'
read

echo 'emerge -uDv world'
emerge -uDv world

echo 'revdep-rebuild -pv'
revdep-rebuild -pv | less

echo 'Press return to continue'
echo 'Control+d to abort command revdep-rebuild -v'
read

echo 'revdep-rebuild -v'
revdep-rebuild -v

echo 'dispatch-conf'
dispatch-conf

Cazzantonio wrote:
inoltre gli farei lanciare anche un unclepine -u per vedere i pacchetti superflui :wink:

L'unico problema è che unclepine non è ancora in portage (correggimi se sbaglio) e quindi potrebbe complicare un po'la vita ad un newbie (non che io non lo sia).
Penso infatti che questo piccolo script possa servire principalmente a chi è ancora alle primissime armi in modo da automatizzare l'aggiornamento.
Per quanto riguarda la differenza fra le due versioni (conteggio alla rovescia e con richiesta di invio) credo che siano entrambi utili perché,nel primo caso, se uno non può essere davanti al pc per aggiornare il sistema può ugualmente farlo perché, passati i 5 secondi, le operazioni vengono eseguite mentre nel secondo c'è bisogno che si confermi l'operazione. Io però consiglio vivamente quello con la richiesta di conferma per "obbligare" in un certo senso l'utilizzatore a stare davanti al pc durante l'aggiornamento perché bisogna SEMPRE osservare personalmente un'operazione così importante quale l'aggiornamento del sistema.
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Sat Apr 09, 2005 8:33 pm    Post subject: Reply with quote

rakim wrote:
Io però consiglio vivamente quello con la richiesta di conferma per "obbligare" in un certo senso l'utilizzatore a stare davanti al pc durante l'aggiornamento perché bisogna SEMPRE osservare personalmente un'operazione così importante quale l'aggiornamento del sistema.

io la vedo in maniera opposta... ovvero se hai la conferma con il return puoi andartene dove vuoi e quando torni davanti al pc non ti sei perso niente di prezioso e puoi continuare con l'aggiornamento.... :roll: comunque dipende dalle esigenze :)
_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne
Back to top
View user's profile Send private message
rakim
Apprentice
Apprentice


Joined: 08 Mar 2005
Posts: 231

PostPosted: Sat Apr 09, 2005 8:38 pm    Post subject: Reply with quote

Infatti, anch'io sono per il "return" e quando facevo riferimento a restare davanti al pc mi riferivo principalmente al fatto di dover sempre controllare l' emerge -pv <elemento>
Back to top
View user's profile Send private message
Danilo
l33t
l33t


Joined: 05 Feb 2004
Posts: 747
Location: Italy

PostPosted: Sat Apr 09, 2005 8:52 pm    Post subject: Reply with quote

Proprio qualche giorno fa mi sono accorto dell'opzione -w di esync
Code:

esync -w


e da allora lo uso al posto di emerge-websync.
A differenza di questi lancia l'eupdatedb (oltre a visualizzare i tutti pacchetti aggiornati).

IMHO sarebbe piu' indicato se vuoi usare l'esearch
Back to top
View user's profile Send private message
rakim
Apprentice
Apprentice


Joined: 08 Mar 2005
Posts: 231

PostPosted: Sat Apr 09, 2005 9:00 pm    Post subject: Reply with quote

Puoi darmi qualche delucidazione su esync?
Non l'ho mai utilizzato, non sapevo della sua esistenza e non so a cosa serva! :oops:
Back to top
View user's profile Send private message
gutter
Bodhisattva
Bodhisattva


Joined: 13 Mar 2004
Posts: 7162
Location: Aarau, Aargau, Switzerland

PostPosted: Sat Apr 09, 2005 9:08 pm    Post subject: Reply with quote

rakim wrote:
Puoi darmi qualche delucidazione su esync?


In pratica questo programma effettua un:

Code:
emerge sync


con la differenza che ti mostra tutti i pacchetti di portage che sono stati aggiornati rispetto al sync precedente.
_________________
Registered as User #281564 and Machines #163761
Back to top
View user's profile Send private message
Danilo
l33t
l33t


Joined: 05 Feb 2004
Posts: 747
Location: Italy

PostPosted: Sat Apr 09, 2005 10:16 pm    Post subject: Reply with quote

gutter wrote:
rakim wrote:
Puoi darmi qualche delucidazione su esync?

In pratica questo programma effettua un:
Code:
emerge sync


con la differenza che ti mostra tutti i pacchetti di portage che sono stati aggiornati rispetto al sync precedente.

Mi sembra che emerge-sync non faccia l'eupdatedb.

Comunque l'esync dopo aver aggiornato portage lancia updatedb che indicizza i pacchetti e ti permette di usare
Code:

esearch nomepacchetto
o
esearch -S nomepacchetto

che essendo indicizzato e' piu' veloce di
Code:

emerge -s nomepacchetto
o
emerge -S nomepacchetto


esync da come hoi accennato fa varie cose, quelle che si vedono (non avendo studiato il codice):
1) aggiornamento di portage (nuovi ebuild)
2) lancio eupdatedb (indicizzazione ebuilds)
3) visualizza nuovi pacchetti


Esync a differenza di emerge-websync usa il servizio rsync (e cosi' aggiorna il portage a qualche minuto fa per intenderci)
emerge-websync usa il wget di un tar (di regola risalente alla sera prima se lo lanci il mattino)

Avendo visto che tu usi emerge-websync ho pensato che avevi problemi di firewall (spesso nelle aziende si chiude la porta rsync e si lascia aperta una http su un proxy) per questo ti ho consigliato un esync -w (-w lancia appunto emerge-websync al posto di emerge sync del punto 1)

Ti ripeto se usi esearch (e non emerge -s o eix) puoi usare esync (se non la porta rsync chiusa) o esync -w (se puoi passare solo via http/ftp)
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Sat Apr 09, 2005 11:37 pm    Post subject: nuova versione... Reply with quote

io sto lavorando a qualcosa di simile. se si può interessare, possiamo fare un merge delle due versioni.

io sono partito da alcuni principi che dal mio punto di vista sono abbastanza importanti

- deve essere semplice nel concetto e nel funzionamento, e deve essere configurabile tramite un semplice file di testo, possibilmente in /etc
- vorrei che sia qualcosa di semplice, in modo che ogni utente possa personalizzarlo a suo piacimento, se necessario; per questo ho escluso il programma in C che avevo ipotizzato all'inizio a favore di uno script
- deve girare su macchine poco potenti, quindi ho scartato la possibilità di usare perl o python. bash è più che sufficiente
- se qualcosa va male lo script si deve interrompere, per cui devono essere intercettati i return code di ogni comando invocato, e in caso di fallimento deve essere segnalato il motivo
- deve fare un controllo sulla validità della configurazione e sul'integrità del world file
- non deve appoggiarsi a nessun programma, se non a quelli forniti da portage e gentoolkit. unclepine & soci potrebbero non essere installati ovunque e l'amministratore potrebbe non volerli installare
- gli aggiornamenti non devono essere effettuati automaticamente, ma si deve mandare una segnalazione all'amministratore del fatto che essi sono disponibili

@rakim: fammi sapere cosa ne pensi (comunque vale per tutti gli interessati: ogni suggerimento/commento è ben accetto)

EDIT: domenticavo due cose:
- deve essere schedulabile in cron
- l'unica cosa che deve installare e/o aggiornare automaticamente è gentoolkit
- deve appoggiarsi a glsa-check


Last edited by .:chrome:. on Sun Apr 10, 2005 8:27 am; edited 1 time in total
Back to top
View user's profile Send private message
rakim
Apprentice
Apprentice


Joined: 08 Mar 2005
Posts: 231

PostPosted: Sat Apr 09, 2005 11:47 pm    Post subject: Reply with quote

CI STOOO!
Fammi sapere come collaborare... :wink:
EDIT: Preso dall'euforia non ho scritto che concordo ad ogni tuo punto!

@Danilo: grazie della risposta: molto esauriente! Sinceramente concordo con k.gothmog sul fatto che lo script non debba avere molte dipendenze ma esearch lo utilizzerò a scopo personale perché è un programmino molto interessante!:wink: Grazie ancora!
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Sun Apr 10, 2005 8:31 am    Post subject: Reply with quote

rakim wrote:
CI STOOO!

uhm... mi fa piacere che l'idea ti sia piaciuta.
ti faccio notare che ho aggiunto un paio di punti al mio post precedente.
puoi contattarmi via IM. se vai nel mio profilo trovi il link ad un ignobile ammasso di pagine php e in una di quelle c'è anche scritto come contattarmi :)
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Sun Apr 24, 2005 4:49 pm    Post subject: abemus script Reply with quote

riesumo questo vecchio thread...
probabilmente non gliene frega niente a nessuno, ma... ABEMUS PAPAM 8O sorry, volevo dire... ABEMUS SCTIPT :lol:

alura... riassumo in sostanza quello che c'è:

prima di tutto, una funzione checkconfig verifica che siano leggibili alcuni file (make.conf e make.profile), e che esista mailx (che uso per mandare una mail all'amministratore). in caso di risposta negativa risponde picche ed esce.
poi parte l'update
prima viene fatto il sync di portage (ovviamente senza output), poi uso una versione modificata di glsa-check (alla quale ho tolto solo la parte di output in cui stampa i messagg di avviso) per avere una lista dei SA disponibili per il sistema, e se ce ne sono, viene mandata una mail all'amministratore, e vengono aggiornati automaticamente.

per quanto riguarda invece gli aggiornamenti di portage, lo script si limita a fare il sync. l'aggiornamento vero e proprio ho pensato di lasciarlo al sistemista
l'importante è che vengano soddisfatti i SA, e infatti quelli vengono aggiornati in modo tacito.

presto (entro martedì, giusto il tempo di collaudarlo un po' seriamente) pubblicherò anche il tutto. ci sono commenti?
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Sun Apr 24, 2005 5:30 pm    Post subject: Reply with quote

utile :)
magari per mail potrebbe mandare anche l'elenco di tutti gli aggiornamenti così l'amministratore sa se è il caso di aggiornare o meno.... :roll:
per l'etc-update dei paccehtti installati per via del glsa come fa? spero non faccia un aggiornamento barbaro :D
_________________
Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Sun Apr 24, 2005 6:08 pm    Post subject: Reply with quote

Cazzantonio wrote:
magari per mail potrebbe mandare anche l'elenco di tutti gli aggiornamenti così l'amministratore sa se è il caso di aggiornare o meno....

appunto. è quello che fa
Cazzantonio wrote:
per l'etc-update dei paccehtti installati per via del glsa come fa? spero non faccia un aggiornamento barbaro :D

no, no... dal momento che viene lasciato all'amministratore il compito di aggiornare, è ovvio che etc-update non viene richiamato.
personalmente credo sia una cosa un po' troppo delicata perché la si possa automatizzare
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum