6 999
contributi
m (task #30) |
S3v (discussione | contributi) (1.0.65) |
||
(12 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili}} | {{Versioni compatibili}} | ||
== Introduzione == | == Introduzione == | ||
Questo [[script]] permette la creazione di un file contenente informazioni utili che possono aiutare a comprendere meglio il proprio problema oppure che è possibile portare a conoscenza del [http://forum.debianizzati.org forum] per tentare di risolverlo insieme. Le informazioni riguardano i seguenti tipi di problema: | Questo [[script]] permette la creazione di un file contenente informazioni utili che possono aiutare a comprendere meglio il proprio problema oppure che è possibile portare a conoscenza del [http://forum.debianizzati.org forum] per tentare di risolverlo insieme.<br/> | ||
Le informazioni riguardano i seguenti tipi di problema: | |||
* Connessioni di rete | * Connessioni di rete | ||
* Video | * Video | ||
Riga 8: | Riga 9: | ||
* Mount/unmount di periferiche | * Mount/unmount di periferiche | ||
* Touchpad | * Touchpad | ||
* Altro. Verranno inserite nel log solo informazioni generiche (già presenti | * Altro. Verranno inserite nel log solo informazioni generiche (già presenti nel log creato con tutte le tipologie di problema precedenti). | ||
Lo script crea due file: | Lo script crea due file: | ||
Riga 24: | Riga 25: | ||
== Utilizzo == | == Utilizzo == | ||
# Eseguire un upgrade del sistema, se possibile, in modo che le informazioni raccolte dallo script siano aggiornate. | # Eseguire un upgrade del sistema, se possibile, in modo che le informazioni raccolte dallo script siano aggiornate. | ||
# Copiare manualmente il codice dello script in un file di testo, | # Copiare manualmente il codice dello script in un file di testo all'interno di una directory a propria scelta. Il nome del file può essere scelto liberamente, ad esempio <code>scriptlog-debianizzati.org</code>. | ||
# Eseguire lo script con i permessi di [[root]]:<pre># ./scriptlog-debianizzati.org</pre>il comando precedente deve essere eseguito nella stessa directory in cui risiede lo script.<br/>L'utilizzo dei permessi di root è motivato dal fatto che alcuni comandi devono essere eseguiti necessariamente come utente privilegiato. | # Assegnare i permessi di esecuzione al file appena creato; ad esempio, da terminale o emulatore di terminale:<pre>$ chmod a+x scriptlog-debianizzati.org</pre>In alternativa, se si preferisce, è possibile eseguire il seguente comando:<pre>wget -qO- "http://guide.debianizzati.org/index.php?title=Aiuto:LogScript&action=edit"|awk '/=S=/{while(getline&&!index($0,"=F"))print}'|base64 -d|tar xz</pre>con cui verrà creato il file "scriptlog-debianizzati.org" all'interno della directory da cui è stato eseguito il precedente comando. In questo caso vengono automaticamente impostati i permessi di esecuzione per lo script. | ||
# Eseguire da terminale (o emulatore di terminale) lo script con i permessi di [[root]]:<pre># ./scriptlog-debianizzati.org</pre>il comando precedente deve essere eseguito nella stessa directory in cui risiede lo script.<br/>L'utilizzo dei permessi di root è motivato dal fatto che alcuni comandi devono essere eseguiti necessariamente come utente privilegiato. | |||
# Leggere le informazioni a video. | # Leggere le informazioni a video. | ||
== Parametri dello script == | == Parametri dello script == | ||
Lo script accetta, in maniera facoltativa, alcuni parametri: | Lo script accetta, in maniera facoltativa, alcuni parametri: | ||
;--tipo={rete|video|audio|apt|mount|touchpad|generico}:specifica il tipo di problema | ;--tipo={rete|video|audio|apt|mount|touchpad|generico}:specifica il tipo di problema | ||
;--nocompress:non crea il file compresso del file di log | ;--nocompress:non crea il file compresso del file di log | ||
;--nopaste:non invia il file di log a paste.debian.net | ;--nopaste:non invia il file di log a paste.debian.net | ||
;--update:aggiorna lo script se esiste una versione recente | ;--update:aggiorna lo script se esiste una versione recente | ||
;--base64:crea un file contenente la codifica base64 dello script | ;--base64:crea un file contenente la codifica base64 dello script | ||
;--debug:crea un file contenente le informazioni utili per il debug dello script | |||
;--versione:visualizza la versione dello script | |||
;--help:visualizza informazioni sull'utilizzo dei parametri | ;--help:visualizza informazioni sull'utilizzo dei parametri | ||
'''Esempi:''' | |||
<pre> | |||
# ./scriptlog-debianizzati.org --tipo=rete | |||
# ./scriptlog-debianizzati.org --tipo=apt --nocompress --nopaste | |||
# ./scriptlog-debianizzati.org --versione | |||
</pre> | |||
<!-- commento (leggibile per chi modifica la pagina) | <!-- commento (leggibile per chi modifica la pagina) | ||
Riga 87: | Riga 98: | ||
# Versione script | # Versione script | ||
readonly VERSIONE="1.0. | readonly VERSIONE="1.0.65" | ||
# Path e nome dello script | # Path e nome dello script | ||
readonly PATH_NAME="$(readlink -f ${BASH_SOURCE[0]})" | readonly PATH_NAME="$(readlink -f "${BASH_SOURCE[0]}")" | ||
# Codename per stable e testing. Da modificare nei successivi rilasci di Debian | # Codename per stable e testing. Da modificare nei successivi rilasci di Debian | ||
readonly OLDSTABLE=" | readonly OLDSTABLE="jessie" | ||
readonly STABLE=" | readonly STABLE="stretch" | ||
readonly TESTING=" | readonly TESTING="buster" | ||
# Path dei comandi dello script | # Path dei comandi dello script | ||
Riga 102: | Riga 113: | ||
# Nome del file di log in base alla data corrente | # Nome del file di log in base alla data corrente | ||
readonly log="log_$(date '+%d%b_%H%M%S')" | readonly log="log_$(date '+%d%b_%H%M%S')" | ||
# Nome del file di debug | |||
readonly script_debug="/tmp/script_debug_$(date '+%d%b_%H%M%S')" | |||
# File descriptor per il debug | |||
FD=9 | |||
# URL remoto della pagina contenente lo script | # URL remoto della pagina contenente lo script | ||
Riga 171: | Riga 188: | ||
# Messaggio visualizzato nel caso in cui --help non sia l'unico parametro specificato | # Messaggio visualizzato nel caso in cui --help non sia l'unico parametro specificato | ||
function _parm_uso_err { | function _parm_uso_err { | ||
echo "Il parametro | echo "Il parametro $1 non deve essere accompagnato da altri parametri" && _parm_uso | ||
} | } | ||
Riga 194: | Riga 211: | ||
$BOLD--base64$FINE | $BOLD--base64$FINE | ||
viene creato un file con la codifica base64 dello script | viene creato un file con la codifica base64 dello script | ||
$BOLD--debug$FINE | |||
crea un file contenente le informazioni utili per il debug dello script | |||
$BOLD--versione$FINE | |||
visualizza la versione dello script in esecuzione | |||
$BOLD--help$FINE | $BOLD--help$FINE | ||
Riga 199: | Riga 222: | ||
" && exit | " && exit | ||
} | |||
# Visualizza la versione corrente dello script | |||
function _showvers { | |||
echo "$VERSIONE" && exit | |||
} | } | ||
Riga 205: | Riga 233: | ||
NOCOMPRESS=0 NOPASTE=0 TIPO=0 TIPO_RETE=0 TIPO_APT=0 TIPO_VIDEO=0 | NOCOMPRESS=0 NOPASTE=0 TIPO=0 TIPO_RETE=0 TIPO_APT=0 TIPO_VIDEO=0 | ||
TIPO_AUDIO=0 TIPO_MNT=0 TIPO_TOUCH=0 TIPO_COMM=0 UPDATE=0 BASE64=0 | TIPO_AUDIO=0 TIPO_MNT=0 TIPO_TOUCH=0 TIPO_COMM=0 UPDATE=0 BASE64=0 | ||
DEBUG=0 | |||
while [ $# -gt 0 ] ; do | while [ $# -gt 0 ] ; do | ||
case "$1" in | case "$1" in | ||
"--base64") [ $BASH_ARGC -gt 1 ] && _parm_uso_err "$1" || BASE64=1 ;; | "--base64") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || BASE64=1 ;; | ||
"--update") [ $BASH_ARGC -gt 1 ] && _parm_uso_err "$1" || UPDATE=1 ;; | "--update") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || UPDATE=1 ;; | ||
"--nocompress") [ "$NOCOMPRESS" -eq 1 ] && _parm_rip_err || NOCOMPRESS=1 ;; | "--nocompress") [ "$NOCOMPRESS" -eq 1 ] && _parm_rip_err || NOCOMPRESS=1 ;; | ||
"--nopaste") [ "$NOPASTE" -eq 1 ] && _parm_rip_err || NOPASTE=1 ;; | "--nopaste") [ "$NOPASTE" -eq 1 ] && _parm_rip_err || NOPASTE=1 ;; | ||
Riga 219: | Riga 248: | ||
"--tipo=touchpad") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_TOUCH=1 ;; | "--tipo=touchpad") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_TOUCH=1 ;; | ||
"--tipo=generico") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_COMM=1 ;; | "--tipo=generico") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_COMM=1 ;; | ||
"--help") [ $BASH_ARGC -gt 1 ] && _parm_uso_err || _parm_uso | "--debug") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || DEBUG=1 ;; | ||
"--versione") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || _showvers ;; | |||
"--help") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || _parm_uso ;; | |||
*) _parm_err | *) _parm_err | ||
esac | esac | ||
shift | shift | ||
done | done | ||
# -------------------------------------------------------------------------- | |||
# Debug | |||
# -------------------------------------------------------------------------- | |||
function _debug { | |||
[ "$DEBUG" -eq 1 ] && [ ! -e /proc/$$/fd/"$FD" ] && | |||
{ | |||
exec {FD}>"$script_debug" | |||
export BASH_XTRACEFD="$FD" | |||
set -x | |||
} | |||
} | |||
function _close_debug { | |||
set +x | |||
exec {FD}>&- | |||
} | |||
# -------------------------------------------------------------------------- | # -------------------------------------------------------------------------- | ||
Riga 236: | Riga 284: | ||
* * | * * | ||
* 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 | * Versione $VERSIONE * | ||
* * | * * | ||
*********************************************************************************" | *********************************************************************************" | ||
Riga 434: | Riga 482: | ||
# Problemi selezionati in base al parametro passato allo script | # Problemi selezionati in base al parametro passato allo script | ||
[ "$TIPO_RETE" -eq 1 ] && _wait && | [ "$TIPO_RETE" -eq 1 ] && _wait && _header "rete" && _rete && return | ||
[ "$TIPO_VIDEO" -eq 1 ] && _wait && | [ "$TIPO_VIDEO" -eq 1 ] && _wait && _header "video" && _video && return | ||
[ "$TIPO_AUDIO" -eq 1 ] && _wait && | [ "$TIPO_AUDIO" -eq 1 ] && _wait && _header "audio" && _audio && return | ||
[ "$TIPO_APT" -eq 1 ] && _wait && | [ "$TIPO_APT" -eq 1 ] && _wait && _header "APT" && _apt && return | ||
[ "$TIPO_MNT" -eq 1 ] && _wait && | [ "$TIPO_MNT" -eq 1 ] && _wait && _header "mount-unmount" && _mount && return | ||
[ "$TIPO_TOUCH" -eq 1 ] && _wait && | [ "$TIPO_TOUCH" -eq 1 ] && _wait && _header "touchpad" && _tpad && return | ||
[ "$TIPO_COMM" -eq 1 ] && _wait && | [ "$TIPO_COMM" -eq 1 ] && _wait && _header "generico" && _common && return | ||
# La funzione presenta un menù di scelta nel caso non sia stato passato alcun parametro | # La funzione presenta un menù di scelta nel caso non sia stato passato alcun parametro | ||
Riga 463: | Riga 511: | ||
case "$num" in | case "$num" in | ||
[1-7]) _wait ;;& # ;;& -> va alla successiva occorrenza del carattere immesso | [1-7]) _wait ;;& # ;;& -> va alla successiva occorrenza del carattere immesso | ||
1) | 1) _header "rete" && _rete ;;& | ||
2) | 2) _header "video" && _video ;;& | ||
3) | 3) _header "audio" && _audio ;;& | ||
4) | 4) _header "APT" && _apt ;;& | ||
5) | 5) _header "mount-unmount" && _mount ;;& | ||
6) | 6) _header "touchpad" && _tpad ;;& | ||
7) | 7) _header "generico" && _common ;;& | ||
[1-7]) break ;; # Termina il ciclo 'while' | [1-7]) break ;; # Termina il ciclo 'while' | ||
0) _exit ;; # È stato inserito '0' . Uscita dallo script | 0) _exit ;; # È stato inserito '0' . Uscita dallo script | ||
Riga 488: | Riga 536: | ||
} | } | ||
# Funzione che stampa un pallino | # Funzione che stampa un pallino colorato in base al primo parametro | ||
function _printdot { | |||
function | |||
echo | echo | ||
tput cuu1 # in alto di una riga | tput cuu1 # in alto di una riga | ||
tput cuf1 # a destra di uno spazio | tput cuf1 # a destra di uno spazio | ||
printf %b "$1•${FINE}\n" # stampa pallino e va a capo | |||
} | } | ||
# Funzione che stampa un pallino di colore verde in caso di comando con output | |||
function _ok { _printdot "${VERDE}"; } | |||
# Funzione che stampa una pallino rosso in caso di comando privo di output | # Funzione che stampa una pallino rosso in caso di comando privo di output | ||
function _error { | function _error { _printdot "${ROSSO}"; } | ||
} | |||
# Funzione che stampa in grassetto gli argomenti | # Funzione che stampa in grassetto gli argomenti | ||
function _bold { | function _bold { | ||
printf %b "$BOLD" | printf %b "${BOLD}" | ||
echo -n "$*" | echo -n "$*" | ||
printf %b\\n "$FINE" | printf %b\\n "${FINE}" | ||
} | } | ||
Riga 539: | Riga 566: | ||
} | } | ||
# Funzione che stampa un messaggio di attesa | # Funzione che stampa un messaggio di attesa | ||
function _wait { | function _wait { | ||
echo $'\nCreazione del log in corso...\n' | echo $'\nCreazione del log in corso...\n' | ||
} | |||
# Intestazione del file di log | |||
function _header { | |||
echo "Tipo di problema: $1" >> "$log" | |||
_data | |||
_lastupd | |||
echo "Versione script: $VERSIONE" >> "$log" | |||
} | } | ||
# Stampa la data corrente nel file di log | # Stampa la data corrente nel file di log | ||
function _data { | function _data { | ||
echo "Log creato il $(date '+%d %B %Y alle %H.%M')" >> "$log" | echo "Log creato il: $(date '+%d %B %Y alle %H.%M')" >> "$log" | ||
} | } | ||
Riga 553: | Riga 588: | ||
# Sostituisce il nome utente e il nome host con 'nomeutente' e 'nomehost' se diversi da [dD]ebian | # Sostituisce il nome utente e il nome host con 'nomeutente' e 'nomehost' se diversi da [dD]ebian | ||
[ "$nomehost" != "Debian" ] && [ "$nomehost" != "debian" ] && sed -i -e "s/${nomehost}/nomehost/g" "$log" | if [[ "$nomehost" =~ .*"$utente".* ]]; then | ||
[ "$utente" != "Debian" ] && [ "$utente" != "debian" ] && sed -i -e "s/${utente}/nomeutente/g" "$log" | [ "$nomehost" != "Debian" ] && [ "$nomehost" != "debian" ] && sed -i -e "s/${nomehost}/nomehost/g" "$log" | ||
[ "$utente" != "Debian" ] && [ "$utente" != "debian" ] && sed -i -e "s/${utente}/nomeutente/g" "$log" | |||
else | |||
[ "$utente" != "Debian" ] && [ "$utente" != "debian" ] && sed -i -e "s/${utente}/nomeutente/g" "$log" | |||
[ "$nomehost" != "Debian" ] && [ "$nomehost" != "debian" ] && sed -i -e "s/${nomehost}/nomehost/g" "$log" | |||
fi | |||
# Nasconde gli ESSID gestiti attraverso Network Manager | # Nasconde gli ESSID gestiti attraverso Network Manager | ||
Riga 570: | Riga 610: | ||
fi | fi | ||
# Nasconde nel log | # Nasconde nel log 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" | ||
sed -i -r "s/(NetworkManager.*keyfile: new connection.*system-connections\/)(.*)( \(.*,\").*(\"\))/\1\*script-removed\*\3\*script-removed\*\4/g" "$log" | |||
sed -i -r "s/(NetworkManager.*policy: auto-activating connection ').*(')/\1\*script-removed\*\2/g" "$log" | |||
sed -i -r "s/(NetworkManager.*Activation: starting connection ').*(')/\1\*script-removed\*\2/g" "$log" | |||
sed -i -r "s/(NetworkManager.*policy: set ').*(')/\1\*script-removed\*\2/g" "$log" | |||
} | } | ||
Riga 587: | Riga 631: | ||
convdate=$(date -d "$lastdate" '+%d %B %Y') | convdate=$(date -d "$lastdate" '+%d %B %Y') | ||
echo $ | echo $"Ultimo aggiornamento del sistema: ${convdate}" >> "$log" | ||
fi | fi | ||
} | } | ||
Riga 677: | Riga 721: | ||
echo -n "File compresso da allegare alla discussione sul forum: " | echo -n "File compresso da allegare alla discussione sul forum: " | ||
_bold "$complog" | _bold "$complog" | ||
fi | |||
if [ -f "$script_debug" ]; then | |||
echo -n "File contenente l'output di debug: " | |||
_bold "$script_debug" | |||
fi | fi | ||
fi | fi | ||
echo $'Script terminato\n' | echo $'Script terminato\n' | ||
_close_debug | |||
exit 0 | exit 0 | ||
} | } | ||
Riga 690: | Riga 741: | ||
# Informazioni comuni a tutti i tipi di problema | # Informazioni comuni a tutti i tipi di problema | ||
function _common { | function _common { | ||
_dmi_decode | _dmi_decode | ||
_comando "/bin/uname -a" | _comando "/bin/uname -a" | ||
Riga 703: | Riga 752: | ||
_comando "/bin/journalctl -x -b --no-pager -p err" | _comando "/bin/journalctl -x -b --no-pager -p err" | ||
_comando "/bin/journalctl -x -b --no-pager -p warning" | _comando "/bin/journalctl -x -b --no-pager -p warning" | ||
_comando "/usr/bin/systemd-cgtop -b --iterations=5" | |||
_comando "/usr/bin/systemd-cgls -l" | |||
_comando "/usr/bin/systemd-delta" | |||
_comando "/bin/dmesg -l err" | _comando "/bin/dmesg -l err" | ||
_comando "/bin/dmesg -l warn" | _comando "/bin/dmesg -l warn" | ||
Riga 734: | Riga 786: | ||
_comando "/sbin/ifconfig" | _comando "/sbin/ifconfig" | ||
_comando "/sbin/ifconfig -a" | _comando "/sbin/ifconfig -a" | ||
_comando "/sbin/ip -s -d link show" | |||
_comando "/usr/sbin/rfkill list all" | _comando "/usr/sbin/rfkill list all" | ||
_comando "/bin/ping -c3 -W5 8.8.8.8" #DNS di Google 8.8.8.8 | _comando "/bin/ping -c3 -W5 8.8.8.8" #DNS di Google 8.8.8.8 | ||
Riga 758: | Riga 811: | ||
_dir "/etc/X11/xorg.conf.d/" | _dir "/etc/X11/xorg.conf.d/" | ||
_file "/var/log/Xorg.0.log" | _file "/var/log/Xorg.0.log" | ||
_file "${utente}/.local/share/xorg/Xorg.0.log" | |||
_pack "xserver-xorg" | _pack "xserver-xorg" | ||
_pack "nouveau" | _pack "nouveau" | ||
Riga 863: | Riga 917: | ||
if [ -f "$1" ]; then | if [ -f "$1" ]; then | ||
case "$1" in | case "$1" in | ||
/etc/fstab) | |||
# Nasconde username,password e dominio di mount cifs | |||
sed -e "s/\( cifs.*username *= *\)[^,]*/\1\*script-removed\*/" \ | |||
-e "s/\( cifs.*password *= *\)[^,]*/\1\*script-removed\*/" \ | |||
-e "s/\( cifs.*domain *= *\)[^,]*/\1\*script-removed\*/" "$1" &>> "$log" && _ok || _error ;; | |||
/etc/network/interfaces) | /etc/network/interfaces) | ||
# Nasconde nel log gli ESSID e le password criptate contenute in /etc/network/interfaces | # Nasconde nel log gli ESSID e le password criptate contenute in /etc/network/interfaces | ||
sed -r "s/((wpa-ssid)|(wpa-psk)).*/\1 \*script-removed\*/" "$1" &>> "$log" && _ok || _error ;; | sed -r "s/((wpa-ssid)|(wpa-psk)|(wpa-identity)|(wpa-password)|(wireless-key)).*/\1 \*script-removed\*/" "$1" &>> "$log" && _ok || _error ;; | ||
/var/log/syslog) | /var/log/syslog) | ||
# se è installato systemd, il log viene ricavato da "journalctl -x" | # se è installato systemd, il log viene ricavato da "journalctl -x" | ||
Riga 916: | Riga 975: | ||
"/usr/bin/synclient -l") | "/usr/bin/synclient -l") | ||
# se $DISPLAY è vuota, usa :0 (default per il primo server X) | # se $DISPLAY è vuota, usa :0 (default per il primo server X) | ||
su -c "DISPLAY=${DISPLAY:-:0} $1" "$utente" &>> "$log" _ok || _error ;; | su -c "DISPLAY=${DISPLAY:-:0} $1" "$utente" &>> "$log" && _ok || _error ;; | ||
*) | *) | ||
su -c "$1" "$utente" &>> "$log" && _ok || _error | su -c "$1" "$utente" &>> "$log" && _ok || _error | ||
Riga 962: | Riga 1 021: | ||
fi | fi | ||
local file | local file | ||
# numfile contiene il numero di file contenuti nella directory. Solo primo livello. | # numfile contiene il numero di file contenuti nella directory. Solo primo livello. | ||
Riga 972: | Riga 1 030: | ||
echo "La directory non contiene file o directory" >> "$log" && _error | echo "La directory non contiene file o directory" >> "$log" && _error | ||
else | else | ||
echo "La directory contiene ${numfile} file e $(( | echo "La directory contiene ${numfile} file e $((numdir - 1)) directory" >> "$log" && _ok | ||
ls -al "$1" >> "$log" | ls -al "$1" >> "$log" | ||
# invia al log il contenuto dei file della directory | # invia al log il contenuto dei file della directory | ||
Riga 1 076: | Riga 1 134: | ||
if [ -d "$i" ]; then | if [ -d "$i" ]; then | ||
echo "Contenuto di ${i}" >> "$log" | echo "Contenuto di ${i}" >> "$log" | ||
ls - | ls -alR "$i" >> "$log" | ||
else | else | ||
echo "${i} non trovata" >> "$log" | echo "${i} non trovata" >> "$log" | ||
Riga 1 139: | Riga 1 197: | ||
# in esecuzione | # in esecuzione | ||
echo -n "In esecuzione: " >> "$log" | echo -n "In esecuzione: " >> "$log" | ||
if _is_running "ksmserver"; then kde4-config - | if _is_running "ksmserver"; then | ||
elif _is_running "gnome-shell"; then gnome-shell --version >> "$log" && _ok || _error # | kf5-config -v 2>/dev/null >> "$log" || # KDE5 | ||
kde4-config -v 2>/dev/null >> "$log" && _ok || _error # KDE4 | |||
elif _is_running "gnome-shell"; then gnome-shell --version >> "$log" && _ok || _error # GNOME Shell | |||
elif _is_running "xfdesktop"; then xfce4-about -V | head -n1 | cut -d ' ' -f2- >> "$log" && _ok || _error # Xfce4 | elif _is_running "xfdesktop"; then xfce4-about -V | head -n1 | cut -d ' ' -f2- >> "$log" && _ok || _error # Xfce4 | ||
elif _is_running "openbox"; then | elif _is_running "openbox"; then | ||
Riga 1 177: | Riga 1 237: | ||
# controlla che sia un nome di release valido | # controlla che sia un nome di release valido | ||
if [ "$rel" = "stable" ] || [ "$rel" = "testing" ] || [ "$rel" = "unstable" ] || | if [ "$rel" = "oldstable" ] || [ "$rel" = "stable" ] || [ "$rel" = "testing" ] || [ "$rel" = "unstable" ] || | ||
[ "$rel" = "$STABLE" ] || [ "$rel" = "$TESTING" ] || [ "$rel" = "sid" ]; then | [ "$rel" = "$OLDSTABLE" ] || [ "$rel" = "$STABLE" ] || [ "$rel" = "$TESTING" ] || [ "$rel" = "sid" ]; then | ||
# controlla che sia un repository di Debian | # controlla che sia un repository di Debian | ||
# si basa sull'output di "apt-cache policy" e su o=Debian e l=Debian | # si basa sull'output di "apt-cache policy" e su o=Debian e l=Debian | ||
riga="$(echo "$aptcachepol" | sed -n '/'$indirizzo'.*'$rel'\/main.*Packages$/ {N; /.*o=Debian,.*l=Debian,/p}')" | riga="$(echo "$aptcachepol" | sed -n '/'$indirizzo'*.*'$rel'\/main.*Packages$/ {N; /.*o=Debian,.*l=Debian,/p}')" | ||
# se è un archivio valido, aggiorna la variabile "release" | # se è un archivio valido, aggiorna la variabile "release" | ||
Riga 1 198: | Riga 1 258: | ||
_prompt "$var" | _prompt "$var" | ||
# Lo script DEVE rilevare almeno una release. Se la variabile "release" è nulla, c'è un errore | # Lo script DEVE rilevare almeno una release. Se la variabile "release" è nulla, c'è un errore in "sources.list" | ||
# oppure non è stato eseguito un aggiornamento della lista dei pacchetti (update) | # oppure non è stato eseguito un aggiornamento della lista dei pacchetti (update) | ||
# (vedere anche il modo in cui viene ricavata la variabile "release" in alto) | # (vedere anche il modo in cui viene ricavata la variabile "release" in alto) | ||
Riga 1 256: | Riga 1 316: | ||
if [ "$UPDATE" -eq 0 ] && [ "$BASE64" -eq 0 ]; then | if [ "$UPDATE" -eq 0 ] && [ "$BASE64" -eq 0 ]; then | ||
_debug | |||
_avvertenze | _avvertenze | ||
_check | _check | ||
Riga 1 269: | Riga 1 330: | ||
_exit | _exit | ||
</pre> | </pre> | ||
== Changelog == | == Changelog == | ||
<!-- Qui vanno inserite le spiegazioni di eventuali modifiche dello script (chi, cosa, quando). Ricordarsi di modificare la versione (variabile 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 (variabile VERSIONE) all'interno del codice (la versione iniziale è 1.0.0) --> | ||
;1.0.65 | |||
:''Aggiunti "ip -s -d link show" e Xorg.0.log locale'' | |||
:''Nascosti username, password e dominio per montaggi cifs'' | |||
:''Modifiche e correzioni minori'' | |||
:[[Utente:S3v|S3v]] 20:49, 20 feb 2018 (CET) | |||
;1.0.64 | |||
:''Aggiornamento per rilascio di Debian 9 ([[Stretch]])'' | |||
:[[Utente:HAL 9000|HAL 9000]] 10:46, 18 giu 2017 (CEST) | |||
;1.0.63 | |||
:''Debug come parametro'' | |||
:''KDE5 tra i DE rilevati'' | |||
:[[Utente:S3v|S3v]] 22:38, 19 mag 2017 (CEST) | |||
;1.0.62 | |||
:''Inserito debug'' | |||
:''Inserita funzione _printdot (per evitare ripetizioni)'' | |||
:''Modifiche minori'' | |||
:[[Utente:S3v|S3v]] 17:41, 26 feb 2017 (CET) | |||
;1.0.61 | |||
:''Aggiunta funzione _header() (intestazione del file di log)'' | |||
:''Aggiunto parametro "--versione"'' | |||
:''Modifiche e correzioni minori'' | |||
:[[Utente:S3v|S3v]] 13:53, 10 dic 2016 (CET) | |||
;1.0.60 | |||
:''Elenco ricorsivo delle directory contenenti firmware'' | |||
:''Nascosti (altri) ID di connessioni gestite da NM'' | |||
:[[Utente:S3v|S3v]] 20:53, 6 dic 2016 (CET) | |||
;1.0.59 | |||
:''Modificata funzione _hide() per nascondere completamente hostname contenuto nel'' | |||
:''nome utente (e viceversa)'' | |||
:[[Utente:S3v|S3v]] 21:33, 11 nov 2016 (CET) | |||
;1.0.58 | |||
:''Rimossa precedente istruzione e modificata regexp per far funzionare la ricerca di'' | |||
:''pacchetti esterni sia su stable che su testing'' | |||
:''Modifiche minori'' | |||
:[[Utente:S3v|S3v]] 16:44, 10 lug 2016 (CEST) | |||
;1.0.57 | |||
:''Istruzione per rimuovere eventuale slash alla fine dell'URL in "sources.list"'' | |||
:''Aggiunti comandi "systemd-cgtop -b --iterations=5", "systemd-cgls" e "systemd-delta" a problemi comuni'' | |||
:[[Utente:S3v|S3v]] 21:27, 9 lug 2016 (CEST) | |||
;1.0.56 | |||
:''Rimosse dal file interfaces anche le chiavi relative a wep e a wpa-enterprise'' | |||
:[[Utente:metaldaze|metaldaze]] 12:54, 04 feb 2016 (CET) | |||
;1.0.55 | ;1.0.55 | ||
:''Opzioni per aggiornare lo script o crearne una codifica base64'' | :''Opzioni per aggiornare lo script o crearne una codifica base64'' |
contributi