Creazione automatica di un file di log per inviare quesiti al forum: differenze tra le versioni

1.0.40
(1.0.40)
Riga 25: Riga 25:
# Copiare il codice dello script in un file di testo. Il nome del file può essere scelto liberamente.<br/>Se si preferisce, è possibile eseguire il seguente comando:<pre>$ wget -q -O- "http://guide.debianizzati.org/index.php?title=Creazione_automatica_di_un_file_di_log_per_inviare_quesiti_al_forum&action=edit" | sed -n "/^== Script/{n;:a n; /^&lt/ ! {s/\&amp;amp;/\&/g; p; ba}}" > nomefile</pre>Questo creerà il file di testo "nomefile" contenente lo script.<br/>Si presuppone che '''non esista''' nella directory corrente un file avente lo stesso nome (altrimenti verrà sovrascritto), che il pacchetto "wget" sia installato e che, ovviamente, la connessione alla Rete sia funzionante.
# Copiare il codice dello script in un file di testo. Il nome del file può essere scelto liberamente.<br/>Se si preferisce, è possibile eseguire il seguente comando:<pre>$ wget -q -O- "http://guide.debianizzati.org/index.php?title=Creazione_automatica_di_un_file_di_log_per_inviare_quesiti_al_forum&action=edit" | sed -n "/^== Script/{n;:a n; /^&lt/ ! {s/\&amp;amp;/\&/g; p; ba}}" > nomefile</pre>Questo creerà il file di testo "nomefile" contenente lo script.<br/>Si presuppone che '''non esista''' nella directory corrente un file avente lo stesso nome (altrimenti verrà sovrascritto), che il pacchetto "wget" sia installato e che, ovviamente, la connessione alla Rete sia funzionante.
# 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>
# Eseguire lo script con i permessi di [[root]]:<pre># ./nomefile</pre>il comando precedente presuppone che sia eseguito nella stessa directory in cui risiede lo script.<br/>L'utilizzo dei permessi di root si rende necessario poiché alcuni comandi devono essere eseguiti necessariamente come utente privilegiato.
# Eseguire lo script con i permessi di [[root]]:<pre># ./nomefile</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.


Riga 61: Riga 61:
# --------------------------------------------------------------------------
# --------------------------------------------------------------------------


# Versione script
VERSIONE="1.0.40"
# 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 STABLE="wheezy"
readonly STABLE="wheezy"
Riga 132: Riga 134:
*                                                                              *
*                                                                              *
*  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.39                                                              *
*  Versione "$VERSIONE"                                                            *
*                                                                              *
*                                                                              *
*********************************************************************************"
*********************************************************************************"
Riga 373: Riga 375:
# Funzione che stampa un pallino di colore verde in caso di comando con output
# Funzione che stampa un pallino di colore verde in caso di comando con output
function _ok {
function _ok {
  printf %b "\r[${VERDE}•${FINE}]  "
  echo -n "$*"
  # cancella fino a fine schermo e va a capo
  tput ed
   echo
   echo
  tput cuu1  # in alto di una riga
  tput cuf1 # a destra di uno spazio
  printf %b "${VERDE}•${FINE}\n" # stampa pallino
}
}


# 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 {
  printf %b "\r[${ROSSO}•${FINE}]  "
  echo -n "$*"
  # cancella fino a fine schermo e va a capo
  tput ed
   echo
   echo
  tput cuu1  # in alto di una riga
  tput cuf1 # a destra di uno spazio
  printf %b "${ROSSO}•${FINE}\n" # stampa pallino
}
}


Riga 568: Riga 568:
       local tempfile=$(mktemp)
       local tempfile=$(mktemp)
       # Scarica lo script ALSA
       # Scarica lo script ALSA
           _prompt "Download script ALSA..."
           _prompt "Download script ALSA"
  wget -q -O "$tempfile" "$alsaurl"
  wget -q -O "$tempfile" "$alsaurl"
  # Se il download riesce...
  # Se il download riesce...
Riga 577: Riga 577:
      nome_e_riga "Problemi audio"
      nome_e_riga "Problemi audio"
      # Esegue lo script ALSA
      # Esegue lo script ALSA
               _prompt "Script ALSA..."
               _prompt "Esecuzione script ALSA"
      su  -c "$tempfile --stdout >> $log" "$utente" && _ok "Script ALSA eseguito" || _error "Script ALSA non eseguito"
      su  -c "$tempfile --stdout >> $log" "$utente" && _ok "Script ALSA eseguito" || _error "Script ALSA non eseguito"
  else
  else
Riga 626: Riga 626:
   _dir "/etc/X11/xorg.conf.d/"
   _dir "/etc/X11/xorg.conf.d/"
   _file "/var/log/Xorg.0.log"
   _file "/var/log/Xorg.0.log"
   # se $DISPLAY è vuota, usa :0 (default per il primo server X)
   _comando "/usr/bin/synclient -l" "su"
  DISPLAY=${DISPLAY:-:0} _comando "/usr/bin/synclient -l" "su"
}
}


Riga 641: Riga 640:
function _file {
function _file {
     nome_e_riga "$1"
     nome_e_riga "$1"
    _prompt "$1"
     if [ -f "$1" ]; then
     if [ -f "$1" ]; then
        _prompt "$1"
case "$1" in
case "$1" in
    /etc/network/interfaces)
    /etc/network/interfaces)
Riga 690: Riga 689:
   if [ -f "$var2" ]; then # il comando esiste?
   if [ -f "$var2" ]; then # il comando esiste?
       if [ $# -eq 2 ]; then # Se vi sono 2 parametri, viene utilizzato "su"
       if [ $# -eq 2 ]; then # Se vi sono 2 parametri, viene utilizzato "su"
          su -c "$1" "$utente" &>> "$log" && _ok "$var" || _error "$var"
  case "$1" in
      "/usr/bin/synclient -l")
      # se $DISPLAY è vuota, usa :0 (default per il primo server X)
      su -c DISPLAY=${DISPLAY:-:0} "$1" "$utente" &>> "$log" _ok "$var" || _error "$var" ;;
      *)   
      su -c "$1" "$utente" &>> "$log" && _ok "$var" || _error "$var"
  esac
       else # non viene utilizzato "su"
       else # non viene utilizzato "su"
  case "$var2" in
  case "$var2" in
Riga 713: Riga 718:
function _dir {
function _dir {
   nome_e_riga "$1"
   nome_e_riga "$1"
  _prompt "$1"


   # Se la directory non esiste, stampa un output sul log ed esce.
   # Se la directory non esiste, stampa un output sul log ed esce.
Riga 757: Riga 763:
function _pack {
function _pack {
   nome_e_riga "Pacchetti che contengono \"$1\""
   nome_e_riga "Pacchetti che contengono \"$1\""
   _prompt "$1"
   _prompt "$1"


Riga 826: Riga 831:
function _firmware {
function _firmware {
   local i var="Firmware"
   local i var="Firmware"
  _prompt "$var"
   nome_e_riga "$var"
   nome_e_riga "$var"
   dpkg -l | grep -i firmware >> "$log" && _ok "$var"
   dpkg -l | grep -i firmware >> "$log" && _ok "$var"
Riga 881: Riga 887:
}
}


# Funzione che <<cerca>> di ricavare il nome e la versione del DE/WM utilizzato
# Funzione che "cerca" di ricavare il nome e la versione del DE/WM utilizzato
function _de_wm {
function _de_wm {
   nome_e_riga "Desktop Environment - Window Manager"
   nome_e_riga "Desktop Environment - Window Manager"
Riga 914: Riga 920:


   # Variabile che contiene la release attualmente utilizzata
   # Variabile che contiene la release attualmente utilizzata
   # Vengono tolti eventuali spazi iniziali e tolte le righe che *non* iniziano con la stringa
   # Vengono tolti da sources.list eventuali spazi iniziali e tolte le righe che *non* iniziano con la stringa
   # "deb http://ftp.XX.debian.org" e che *non* contengono un nome di release.
   # "deb http://ftp.XX.debian.org" e che *non* contengono un nome di release.
   # Con "cut" viene prelevato il terzo campo (la release voluta)
   # Con "cut" viene prelevato il terzo campo (la release voluta)
Riga 970: Riga 976:
_compress
_compress
_exit
_exit
</pre>
</pre>


== 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 (variabile VERSIONE) all'interno del codice (la versione iniziale è 1.0.0) -->
;1.0.40
:''Modificate _ok e _error''
:''Aggiunto un "case" nella funzione _comando (caso "su")''
:''Modifiche minori''
:[[Utente:S3v|S3v]] 08:55, 12 ago 2014 (CEST)
;1.0.39
;1.0.39
:''Ampliata la parte su DE/WM con rilevamento di default e versioni installate, e riconoscimento Openbox''
:''Ampliata la parte su DE/WM con rilevamento di default e versioni installate, e riconoscimento Openbox''
6 999

contributi