6 999
contributi
S3v (discussione | contributi) (1.0.68) |
S3v (discussione | contributi) (1.0.69) |
||
Riga 125: | Riga 125: | ||
# Versione script | # Versione script | ||
readonly VERSIONE="1.0. | readonly VERSIONE="1.0.69" | ||
# Path e nome dello script | # Path e nome dello script | ||
Riga 271: | Riga 271: | ||
"--tipo=apt") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_APT=1 ;; | "--tipo=apt") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_APT=1 ;; | ||
"--tipo=video") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_VIDEO=1 ;; | "--tipo=video") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_VIDEO=1 ;; | ||
"--tipo=boot") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_BOOT=1 ;; | "--tipo=boot") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_BOOT=1 ;; | ||
"--tipo=audio") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_AUDIO=1 ;; | "--tipo=audio") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_AUDIO=1 ;; | ||
"--tipo=mount") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_MNT=1 ;; | "--tipo=mount") [ "$TIPO" -eq 1 ] && _parm_tipo_err || TIPO=1 && TIPO_MNT=1 ;; | ||
"--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 ;; | ||
"--debug") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || DEBUG=1 | "--debug") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || DEBUG=1 ;; | ||
"--versione") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || _showvers | "--versione") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || _showvers ;; | ||
"--help") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || _parm_uso | "--help") [ "${BASH_ARGC[@]}" -gt 1 ] && _parm_uso_err "$1" || _parm_uso ;; | ||
*) _parm_err | *) _parm_err | ||
esac | esac | ||
Riga 359: | Riga 359: | ||
# Funzione per separare il log in parti per l'invio a paste.debian.net | # Funzione per separare il log in parti per l'invio a paste.debian.net | ||
function _split_and_send { | function _split_and_send { | ||
local paste_url=' | local paste_url='https://paste.debian.net' | ||
local chunk_prefix='pastebin' | local chunk_prefix='pastebin' | ||
local chunk_num=1 | local chunk_num=1 | ||
Riga 488: | Riga 488: | ||
echo "Sta per essere creato un file compresso..." | echo "Sta per essere creato un file compresso..." | ||
sleep 1 | sleep 1 | ||
if | if [ "$(command -v xz)" ]; then | ||
xz -e < "$log" > "${log}.xz" && _compress_ok || _compress_err | xz -e < "$log" > "${log}.xz" && _compress_ok || _compress_err | ||
elif | elif [ "$(command -v bzip2)" ]; then | ||
bzip2 -9 < "$log" > "${log}.bz2" && _compress_ok || _compress_err | bzip2 -9 < "$log" > "${log}.bz2" && _compress_ok || _compress_err | ||
elif | elif [ "$(command -v gzip)" ]; then | ||
gzip -9 < "$log" > "${log}.gz" && _compress_ok || _compress_err | gzip -9 < "$log" > "${log}.gz" && _compress_ok || _compress_err | ||
else | else | ||
Riga 613: | Riga 613: | ||
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" | ||
} | |||
# Quota i caratteri specificati per le parole da nascondere con sed | |||
# Es: abc.def -> abc\.def | |||
function _sed_quote { | |||
# array di caratteri da quotare | |||
quotearr=("." "/") | |||
retstr="$1" | |||
for char in "${quotearr[@]}"; do | |||
retstr="${retstr//$char/\\$char}" | |||
done | |||
echo "$retstr" | |||
} | } | ||
Riga 655: | Riga 668: | ||
for i in "${interfaces[@]}"; do | for i in "${interfaces[@]}"; do | ||
# indirizzo MAC dell'interfaccia solo se | # indirizzo MAC dell'interfaccia solo se questa ne ha uno | ||
line="$(ip -br link show $i)" | line="$(ip -br link show $i)" | ||
if [ "$(echo $line | wc -w)" -gt 3 | if [ "$(echo $line | wc -w)" -gt 3 ]; then | ||
macaddress="$(awk '{ print $3 }' <<< $line)" | macaddress="$(awk '{ print $3 }' <<< $line)" | ||
macaddress="$(_sed_quote $macaddress)" | |||
# l'indirizzo MAC viene nascosto nel file | # l'indirizzo MAC viene nascosto nel file | ||
sed -i | sed -i 's/'$macaddress'/\*script-removed\*/g' "$log" | ||
fi | fi | ||
done | done | ||
Riga 699: | Riga 712: | ||
# Controlla l'esistenza di wget | # Controlla l'esistenza di wget | ||
[ ! "$( | [ ! "$(command -v wget)" ] && echo "Impossibile eseguire l'aggiornamento. Installare il pacchetto wget." && _exit | ||
# Ricava la versione remota dello script | # Ricava la versione remota dello script | ||
Riga 806: | Riga 819: | ||
_file "/var/log/syslog" | _file "/var/log/syslog" | ||
_comando "/bin/systemctl --failed --no-pager" | _comando "/bin/systemctl --failed --no-pager" | ||
_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 "/bin/journalctl -x -b --no-pager" | |||
_comando "/usr/bin/systemd-cgtop -b --iterations=5" | _comando "/usr/bin/systemd-cgtop -b --iterations=5" | ||
_comando "/usr/bin/systemd-cgls -l" | _comando "/usr/bin/systemd-cgls -l" | ||
Riga 879: | Riga 892: | ||
_pack "mesa" | _pack "mesa" | ||
_pack "fglrx" | _pack "fglrx" | ||
_pack "amdgpu" | |||
} | } | ||
Riga 968: | Riga 982: | ||
function _mount { | function _mount { | ||
_common | _common | ||
_comando "/usr/bin/udisksctl dump" | _comando "/usr/bin/udisksctl dump" | ||
_pack "usbmount" | _pack "usbmount" | ||
Riga 1 277: | Riga 1 290: | ||
_x_window_manager | _x_window_manager | ||
# installati | # installati | ||
_soddisfa "x-session-manager" | if [ "$(command -v aptitude)" ]; then | ||
_soddisfa "x-session-manager" | |||
# _soddisfa "x-window-manager" # non essenziale e impiega già tanto | |||
fi | |||
} >> "$log" | } >> "$log" | ||
# in esecuzione | # in esecuzione | ||
Riga 1 299: | Riga 1 314: | ||
# Funzione che elenca i pacchetti non appartenenti alla release di default utilizzata | # Funzione che elenca i pacchetti non appartenenti alla release di default utilizzata | ||
function _extpack { | function _extpack { | ||
local var="Pacchetti esterni" | |||
_prompt "$var" | |||
# La funzione termina se aptitude non è installato | |||
if [ ! "$(command -v aptitude)" ]; then | |||
_nome_e_riga "$var" | |||
echo "Aptitude non è installato" >> "$log" && _error | |||
return 1 | |||
fi | |||
local riga indirizzo rel linea release="" | local riga indirizzo rel linea release="" | ||
Riga 1 316: | Riga 1 341: | ||
# sostituisce / con \/ (necessario per il successivo sed) | # sostituisce / con \/ (necessario per il successivo sed) | ||
indirizzo="$ | indirizzo="$(_sed_quote "$indirizzo")" | ||
# release della riga corrente (es. wheezy o testing o sid) | # release della riga corrente (es. wheezy o testing o sid) | ||
Riga 1 339: | Riga 1 364: | ||
fi | fi | ||
done <<< "$sourceslist" | done <<< "$sourceslist" | ||
# Lo script DEVE rilevare almeno una release. Se la variabile "release" è nulla, c'è un errore in "sources.list" | # Lo script DEVE rilevare almeno una release. Se la variabile "release" è nulla, c'è un errore in "sources.list" | ||
Riga 1 419: | Riga 1 441: | ||
== 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.69 | |||
:''http->https per paste.debian.net'' | |||
:''Sostituito "which" con "command -v"'' | |||
:''Aggiunto _pack "amdgpu"'' | |||
:''Aggiunta funzione per quotare stringhe prima di passarle a sed'' | |||
:''Rimosso comando "udisks --dump" (non più presente in Debian)'' | |||
:''Gestita la mancanza di aptitude'' | |||
:''Modifiche minori'' | |||
:[[Utente:S3v|S3v]] 13:21, 23 ott 2020 (CEST) | |||
;1.0.68 | ;1.0.68 | ||
:''Nascosti indirizzi MAC delle interfacce wireless'' | :''Nascosti indirizzi MAC delle interfacce wireless'' |
contributi