Script Autourpmi

Guides, tutorials & docs
Post Reply
User avatar
rugyada
Amministratore
Amministratore
Posts: 1562
Joined: 14 July 2008, 22:58
ROSA: ROSA.Fresh R8 64bit
OpenMandriva: OMLx 4.2
Kernel: kernel-release
Desktop: KDE tutta la vita
country: Italy

Script Autourpmi

Post by rugyada »

di roberto_65


Code: Select all

#!/bin/bash
# Questo script permette di eseguire l'autoaggiornamento del sistema e crea gli elenchi
# di pacchetti: nuovi, rimossi, aggiornati; e anche l'elenco pacchetti stato iniziale e
# finale dei pacchetti installati rispettivamente all'aggiornamento.
# Visualizza infine le differenze di versione dei pacchetti installati.
echo
echo $0
echo "------------------------------"
echo "  A  U  T  O  U  R  P  M  I "
echo "    di Roberto_65"
echo "------------------------------"
echo
echo "-------------------------------------------"
echo "Elimino vecchi files di liste precedenti..."
echo "-------------------------------------------"
rm -rf /autourpmi_log
mkdir -p /autourpmi_log
cd /autourpmi_log

# Lista situazioe pacchetti prima di eseguire l'aggiornamento:
echo "-----------------------------------------------"
echo "Scrivo Lista pacchetti situazione precedente..."
echo "-----------------------------------------------"
rpm -qa | sort > /autourpmi_log/pkg_prima

# Esegue l'aggiornamento:

echo "-------------------------------------------------------------------------"
echo "ATTENDERE: Aggiornamento database RPM + pacchetti installati in corso...."
echo "-------------------------------------------------------------------------"
ag=$1
if ! [ $ag ]; then
	urpmi --auto-update --auto --force
  else
	urpmi --auto-select --auto --force
fi
# Lista situazione pacchetti dopo l'aggiornamento:
echo "---------------------------------------------------------"
echo "Scrivo Lista pacchetti situazione dopo l'aggiornamento..."
echo "---------------------------------------------------------"
rpm -qa | sort > /autourpmi_log/pkg_dopo 
diff -a /autourpmi_log/pkg_prima /autourpmi_log/pkg_dopo > /autourpmi_log/pkg_diff1

# Lista pacchetti nuovi:
echo "------------------------------------------------------"
echo "Scrivo Lista pacchetti nuovi: /autourpmi_log/pkg_nuovi"
echo -"-----------------------------------------------------"
date > /autourpmi_log/pkg_nuovi
echo "----------------" >> /autourpmi_log/pkg_nuovi
echo "PACCHETTI NUOVI:" >> /autourpmi_log/pkg_nuovi
echo "----------------" >> /autourpmi_log/pkg_nuovi
grep -i '>' /autourpmi_log/pkg_diff1 > /autourpmi_log/pkg_nuo
cat /autourpmi_log/pkg_nuo | cut -d '>' -f2 >> /autourpmi_log/pkg_nuovi

# Lista pacchetti rimossi:
echo "-----------------------------------------------------------"
echo "Scrivo Lista pacchetti rimossii: /autourpmi_log/pkg_rimossi"
echo "-----------------------------------------------------------"
date > /autourpmi_log/pkg_rimossi
echo "------------------" >> /autourpmi_log/pkg_rimossi
echo "PACCHETTI RIMOSSI:" >> /autourpmi_log/pkg_rimossi
echo "------------------" >> /autourpmi_log/pkg_rimossi
grep -i '<' /autourpmi_log/pkg_diff1 > /autourpmi_log/pkg_rimo
cat /autourpmi_log/pkg_rimo | cut -d '<' -f2 >> /autourpmi_log/pkg_rimossi

# Lista pacchetti aggiunti:
echo "----------------------------------------------------------------"
echo "Scrivo Lista pacchetti aggiornati: /autourpmi_log/pkg_aggiornati"
echo "----------------------------------------------------------------"
diff -a /autourpmi_log/pkg_nuo /autourpmi_log/pkg_rimo > /autourpmi_log/pkg_diff2
date > /autourpmi_log/pkg_aggiornati
echo "-----------------------------" >> /autourpmi_log/pkg_aggiornati
echo "PACCHETTI AGGIORNATI E NUOVI:" >> /autourpmi_log/pkg_aggiornati
echo "-----------------------------" >> /autourpmi_log/pkg_aggiornati
grep -i '< >' /autourpmi_log/pkg_diff2 > /autourpmi_log/pkg_aggio1
cat /autourpmi_log/pkg_aggio1 | cut -d '<' -f2 > /autourpmi_log/pkg_aggio2
cat /autourpmi_log/pkg_aggio2 | cut -d '>' -f2 >> /autourpmi_log/pkg_aggiornati

# Lista differenze su 2 colonne:
echo "----------------------------------------------------------------"
echo "Scrivo Lista pacchetti differenza: /autourpmi_log/pkg_differenza"
echo "----------------------------------------------------------------"
diff -y /autourpmi_log/pkg_nuovi /autourpmi_log/pkg_rimossi > /autourpmi_log/pkg_differenza

# Elimina files di lavoro:
echo "--------------------------"
echo "Elimino files di lavoro..."
echo "--------------------------"
rm /autourpmi_log/pkg_diff1
rm /autourpmi_log/pkg_diff2
rm /autourpmi_log/pkg_aggio1
rm /autourpmi_log/pkg_aggio2
rm /autourpmi_log/pkg_nuo
rm /autourpmi_log/pkg_rimo
echo "" >> /autourpmi_log/pkg_differenza
echo "" >> /autourpmi_log/pkg_differenza
echo "Premi il tasto [Q] per uscire - [CURSORI] per scorrere." >> /autourpmi_log/pkg_differenza
echo "----------------------------------------------------------------------------------------" >> /autourpmi_log/pkg_differenza
echo "Create liste:" >> /autourpmi_log/pkg_differenza
echo "		/autourpmi_log/pkg_prima       (situazione prima di eseguire l'aggiornamento)." >> /autourpmi_log/pkg_differenza
echo "		/autourpmi_log/pkg_differenza  (Lista delle differenze come sopra)." >> /autourpmi_log/pkg_differenza
echo "		/autourpmi_log/pkg_aggiornati  (Lista solo pacchetti aggiornati)." >> /autourpmi_log/pkg_differenza
echo "		/autourpmi_log/pkg_rimossi     (Lista solo pacchetti rimossi)." >> /autourpmi_log/pkg_differenza
echo "		/autourpmi_log/pkg_dopo        (situazione dopo l'aggiornamento)." >> /autourpmi_log/pkg_differenza
echo "Le liste create si trovano in /autourpmi_log" >> /autourpmi_log/pkg_differenza
echo "----------------------------------------------------------------------------------------" >> /autourpmi_log/pkg_differenza
echo
echo -n "Premi un tasto..." && read
clear
cat /autourpmi_log/pkg_differenza | less
exit 0
Image
ciauu ciauu, ruru

MIB... e le stelle stanno a guardare.
«E' bello avere delle certezze, tipo la terra gira, il sole è caldo, se ti prendi con quelli del MIB vieni fanculizzato. Cose semplici, in fondo» (M.C.)

User avatar
SymbianFlo
Utente sostenitore
Utente sostenitore
Posts: 1493
Joined: 7 December 2007, 20:07
OpenMandriva: 2010.1 x86_64
Kernel: 2.6.33.5-nrj-69mib
Desktop: kde4.5.rc1
Location: Pordenone
Contact:

Re: Script Autourpmi

Post by SymbianFlo »

Breve descrizione :

Questo script permette di eseguire l'autoaggiornamento del sistema e crea gli elenchi
di pacchetti: nuovi, rimossi, aggiornati; e anche l'elenco pacchetti stato iniziale e
finale dei pacchetti installati rispettivamente all'aggiornamento.
Visualizza infine le differenze di versione dei pacchetti installati.
basta leggere dopo #!/bin/bash aRobe' quando era ancora normale e tra i vivi le faceva le cose per bene ...ghghghghgh



Istruzioni :
salvate il file come autourpmi e clicc destra/proprietà/permessi spuntate la voce Eseguibile, trascinatelo nella shell di root e incollate / invio
Se non avete ancora configurati i repo usate setrepos nella stessa maniera:
http://mib.pianetalinux.org/2008.1/docs ... i-2.2.2.sh
:D ciao ciao SymbianFlo :D
Image
Linus Torvalds only has to enter a room, and every Windows computer in it segfaults instantly.
http://video.linuxfoundation.org/video/1057

mae89
Utente junior
Utente junior
Posts: 62
Joined: 1 February 2009, 23:29
OpenMandriva: tutte
Kernel: tutti
Desktop: tutti
Location: qui nel M.I.B.
Contact:

Re: Script Autourpmi

Post by mae89 »

l'ho testato.... gran ben fatto, solo che mi blocca la shell... sembrerebbe non uscire dallo script e compaiono

Code: Select all

~
~
~
~
~
~
lines 1-16/16 (END)

e non esce... bho... :D

Post Reply