6 999
contributi
S3v (discussione | contributi) m (→Changelog) |
S3v (discussione | contributi) (1.0.32) |
||
Riga 22: | Riga 22: | ||
== Utilizzo == | == Utilizzo == | ||
# Eseguire un upgrade del sistema, se possibile, in modo che le informazioni raccolte dallo script siano aggiornate. | |||
# Copiare il codice dello script in un file di testo. Il nome del file può essere scelto liberamente. | # Copiare il codice dello script in un file di testo. Il nome del file può essere scelto liberamente. | ||
# Dare i permessi di esecuzione al file appena creato. Supponendo che si chiami ''nomefile'':<pre>$ chmod +x nomefile</pre> | # Dare i permessi di esecuzione al file appena creato. Supponendo che si chiami ''nomefile'':<pre>$ chmod +x nomefile</pre> | ||
Riga 51: | Riga 52: | ||
ROSSO="\033[01;31m" # colore rosso | ROSSO="\033[01;31m" # colore rosso | ||
VERDE="\033[01;32m" # colore verde | VERDE="\033[01;32m" # colore verde | ||
BOLD="\033[01m" # grassetto | BOLD="\033[01m" # grassetto | ||
FINE="\033[0m" # reset | FINE="\033[0m" # reset | ||
Riga 66: | Riga 67: | ||
* * | * * | ||
* Script che crea un log utile alla risoluzione dei problemi più comuni * | * Script che crea un log utile alla risoluzione dei problemi più comuni * | ||
* Versione 1.0. | * Versione 1.0.32 * | ||
* * | * * | ||
*********************************************************************************" | *********************************************************************************" | ||
Riga 93: | Riga 94: | ||
fi | fi | ||
# Se esiste già un file di log con lo stesso nome oppure | # Se esiste già un file di log con lo stesso nome oppure file compressi con lo | ||
# stesso nome di quelli che verranno creati, lo script chiede se cancellarli o meno | |||
local risp | local risp | ||
if [ -f $log -o -f $log.zip -o -f $log.bz2 -o -f $log.tgz ]; then | if [ -f $log -o -f $log.zip -o -f $log.bz2 -o -f $log.tgz ]; then | ||
Riga 307: | Riga 307: | ||
} | } | ||
# Funzione che invia nel file di log due righe tra le quali viene visualizzato il nome del comando | # Funzione che invia nel file di log due righe tra le quali viene visualizzato il | ||
# nome del comando (passato come primo parametro della funzione -> $1) | |||
function nome_e_riga { | function nome_e_riga { | ||
echo " | echo " | ||
Riga 349: | Riga 349: | ||
# Nasconde nel log i i nomi delle connessioni gestite da NetworkManager | # Nasconde nel log i i nomi delle connessioni gestite da NetworkManager | ||
sed -i -r "s/(NetworkManager.*keyfile.*((parsing)|(read connection))).*/\1 \*script-removed\*/" $log | sed -i -r "s/(NetworkManager.*keyfile.*((parsing)|(read connection))).*/\1 \*script-removed\*/" $log | ||
} | |||
# Stabilisce la data dell'ultimo aggiornamento effettuato. Viene preso in | |||
# considerazione il file /var/log/apt/history.log | |||
function _lastupd { | |||
local convdate lastdate file=/var/log/apt/history.log | |||
if [ -f "$file" ]; then | |||
lastdate=`sed -n '/^Start-Date/h ; $p' $file | awk '{print $2}'` | |||
# variabile che contiene la data in formato "giorno mese anno" | |||
convdate=`date +%d\ %B\ %Y -d "$lastdate"` | |||
echo -e "\nUltimo aggiornamento del sistema: $convdate" >> $log | |||
fi | |||
} | } | ||
Riga 376: | Riga 390: | ||
function _common { | function _common { | ||
_data | _data | ||
_lastupd | |||
_dmi_decode | _dmi_decode | ||
_comando "/bin/uname -a" | _comando "/bin/uname -a" | ||
Riga 392: | Riga 407: | ||
_comando "/sbin/fdisk -l" | _comando "/sbin/fdisk -l" | ||
_file "/etc/fstab" | _file "/etc/fstab" | ||
_comando "/bin/ | _comando "/bin/findmnt" | ||
_comando "/bin/df" | _comando "/bin/df" | ||
_comando "/usr/bin/apt-cache policy" | _comando "/usr/bin/apt-cache policy" | ||
Riga 442: | Riga 457: | ||
_pack "alsa" | _pack "alsa" | ||
local alsaurl="http://www.alsa-project.org/alsa-info.sh" | local risp alsaurl="http://www.alsa-project.org/alsa-info.sh" | ||
echo -e "\nI log relativi ai problemi audio sono ricavati attraverso lo script di debug" | echo -e "\nI log relativi ai problemi audio sono ricavati attraverso lo script di debug" | ||
Riga 524: | Riga 538: | ||
# Funzione che invia il contenuto di un file al file di log | # Funzione che invia il contenuto di un file al file di log | ||
# La funzione va richiamata specificando il path completo del file che sarà assegnato a $1 | # La funzione va richiamata specificando il path completo del file che sarà assegnato a $1 | ||
# Il contenuto dei file viene inviato inalterato al file di log. Se si ha necessità di | # Il contenuto dei file viene inviato inalterato al file di log. Se si ha necessità di | ||
# questo comportamento, creare una entry nel ciclo "case" | # modificare questo comportamento, creare una entry nel ciclo "case" | ||
function _file { | function _file { | ||
Riga 743: | Riga 757: | ||
fi | fi | ||
} | } | ||
# Funzione di supporto a _extpack. | |||
# Aggiunge alla lista dei pacchetti esterni l'origine dalla quale provengono | |||
function _extpack_supp { | |||
local origine linea var2 var3 | |||
# Variabile che contiene le fonti di pacchetti disponibili | |||
local listaorigini=`apt-cache policy | sed -e '/o=/!d' -e 's/^.*o=//' -e 's/,.*$//' | sort | uniq` | |||
# File temporaneo | |||
local filetemporaneo=`mktemp` | |||
# ciclo sulle origini | |||
while read origine; do | |||
# solo nome dei pacchetti installati, non appartenenti a stable e provenienti da origini | |||
# elencate nella variabile "origini". Vanno in filetemporaneo | |||
var3="aptitude -F '%p' search '~i ?not(?archive($2)) ?origin($origine)' > $filetemporaneo" | |||
eval $var3 | |||
# ciclo sui pacchetti. Viene aggiunta ad ogni riga l'origine del pacchetto | |||
while read linea; do | |||
var2=`echo "$1" | sed -e "/$linea/ s/$/ $origine/"` | |||
done < $filtemporaneo | |||
done <<< "$listaorigini" | |||
echo "$var2" >> $log && _ok "$3" | |||
# Rimuove il file temporaneo | |||
rm -f $filetemporaneo | |||
} | |||
# Funzione che elenca i pacchetti non appartenenti alla release di default utilizzata | # Funzione che elenca i pacchetti non appartenenti alla release di default utilizzata | ||
Riga 755: | Riga 798: | ||
# Numero di release trovate | # Numero di release trovate | ||
local num=`echo "$release" | wc -l` | local num=`echo "$release" | wc -l` | ||
local var="Pacchetti esterni" | |||
# Se il numero di release è diverso da 1, la funzione termina | # Se il numero di release è diverso da 1, la funzione termina | ||
if [ $num -ne 1 ]; then | if [ $num -ne 1 ]; then | ||
Riga 770: | Riga 806: | ||
echo "Sono presenti $num release in sources.list" >> $log && _error "$var" | echo "Sono presenti $num release in sources.list" >> $log && _error "$var" | ||
return | return | ||
fi | |||
local pkg="" | |||
# Se il numero di release è uguale a 1, la variabile pkg conterrà i pacchetti *non* facenti parte della release | # Se il numero di release è uguale a 1, la variabile pkg conterrà i pacchetti *non* facenti parte della release | ||
case $release in | |||
wheezy|stable) | wheezy|stable) | ||
pkg=`aptitude -F '%p %v %t' search '~i !~Astable' --disable-columns | column -t` | release="stable" | ||
pkg=`aptitude -F '%p %v %t' search '~i !~Astable' --disable-columns | column -t` ;; | |||
jessie|testing) | jessie|testing) | ||
pkg=`aptitude -F '%p %v %t' search '~i !~Atesting' --disable-columns | column -t` | release="testing" | ||
pkg=`aptitude -F '%p %v %t' search '~i !~Atesting' --disable-columns | column -t` ;; | |||
sid|unstable) | |||
release="unstable" | |||
pkg=`aptitude -F '%p %v %t' search '~i !~Aunstable' --disable-columns | column -t` ;; | |||
esac | |||
# Invia al log il contenuto di pkg (se esiste) attraverso _extpack_supp | |||
# Invia al log il contenuto di pkg (se esiste) | |||
nome_e_riga "$var all'archivio \"$release\"" | nome_e_riga "$var all'archivio \"$release\"" | ||
if [ -z "$pkg" ]; then | if [ -z "$pkg" ]; then | ||
echo "Nessun pacchetto esterno installato" >> $log && _error "$var" | echo "Nessun pacchetto esterno installato" >> $log && _error "$var" | ||
else | else | ||
_extpack_supp "$pkg" "$release" "$var" | |||
fi | fi | ||
} | } | ||
Riga 854: | Riga 850: | ||
== Changelog == | == Changelog == | ||
<!-- Qui vanno inserite le spiegazioni di eventuali modifiche dello script (chi, cosa, quando). Ricordarsi di modificare la versione all'interno del codice (la versione iniziale è 1.0.0) --> | <!-- Qui vanno inserite le spiegazioni di eventuali modifiche dello script (chi, cosa, quando). Ricordarsi di modificare la versione all'interno del codice (la versione iniziale è 1.0.0) --> | ||
;1.0.32 | |||
:''- Creata le funzioni _lastupd (visualizza la data dell'ultimo aggiornamento),'' | |||
:''_extpack_supp (inserisce l'origine da cui provengono i pacchetti esterni)'' | |||
:''- Sostituito il comando mount con findmnt'' | |||
;1.0.31 | ;1.0.31 | ||
:''Modificata la funzione _comando per renderla più breve'' | :''Modificata la funzione _comando per renderla più breve'' |
contributi