Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "andreas-xavier/prova9"
Differenze tra le versioni 1 e 94 (in 93 versioni)
Versione 1 del 07/07/2017 16.24.50
Dimensione: 6781
Commento:
Versione 94 del 18/02/2023 13.21.34
Dimensione: 8164
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 4: Linea 4:
<<Indice(depth=2)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=114507"; rilasci="16.04")>>
<<Include(NuoviStrumentiWiki/PaginaDiProva)>>
<<Indice(depth=3)>>
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?p=3854842"; rilasci="20.04")>>
Linea 9: Linea 10:
Questa guida contiene istruzioni utili per utilizzare la modalità grafica di '''aptitude''', programma per la gestione dei [[AmministrazioneSistema/Pacchetti|pacchetti]]. Questa guida spiega le configurazioni di base per '''logrotate''', utilità di sistema che gestisce la rotazione automatica e la compressione dei [[AmministrazioneSistema/LogDiSistema|file di log]].<<BR>>
È preinstallata in Ubuntu, come '''rsyslog''' e gli altri strumenti che servono per il funzionamento dei log di sistema.
Linea 11: Linea 13:
L'uso di questo strumento può essere preferibile in alcune situazioni in quanto riunisce in un solo programma più funzionalità, anche avanzate, permettendo all'utente di gestire al meglio situazioni complesse (ad esempio fornisce una mappa di tutti i pacchetti disponibili, elenca dipendenze, rimuove in maniera più efficace i pacchetti non utilizzati ecc.). = Descrizione =
Linea 13: Linea 15:
'''aptitude''' è in pratica un ulteriore [[https://it.wikipedia.org/wiki/Dpkg|fronted per dpkg]] che può essere utilizzato in due modalità:
 * '''versione grafica''': è un'interfaccia grafica molto semplificata che utilizza [[https://it.wikipedia.org/wiki/Ncurses|librerie ncurses]]. Utilizzabile all'interno del [[AmministrazioneSistema/Terminale|terminale]], permette la navigazione tramite mouse oltre che da tastiera.
 * '''versione a riga di comando''': può essere utilizzata digitando direttamente il comando desiderato nel terminale. La sintassi è molto simile a quella di '''apt''' (ad esempio: `aptitude update` analogo a `apt update`). Per l'utilizzo dei soli comandi principali consultare [[AmministrazioneSistema/InstallareProgrammi/Apt|questa guida]].
A intervalli di tempo predefiniti, i file di log vengono "''ruotati''". La rotazione, in sostanza, è quel processo in cui i file di log vengono:
 * rinominati automaticamente
 * sostituiti da nuovi file di log
 * compressi con '''[[AmministrazioneSistema/FormatiDiCompressione#gzip|gzip]]''' allo scopo di ridurre lo spazio necessario alla loro memorizzazione, mantenendoli comunque disponibili per controlli futuri
Linea 17: Linea 20:
Di seguito verrà illustrato l'utilizzo della prima modalità. '''logrotate''' è quindi il comando che si occupa della rotazione dei file di log. Di norma viene lanciato a intervalli periodici dal servizio [[AmministrazioneSistema/Cron|cron]].<<BR>>
Linea 19: Linea 22:
= Installazione =

[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://aptitude|aptitude]].

= Avvio del programma =

Per [[AmbienteGrafico/AvviareProgrammi|avviare]] '''aptitude''' è sufficiente digitare nel [[AmministrazioneSistema/Terminale|terminale]] il comando: {{{
sudo aptitude
Le informazioni generali (versione, strumenti in uso per mail e compressione ecc.) possono essere ottenute digitando nel [[AmministrazioneSistema/Terminale|riga di comando]] il comando:{{{
logrotate --version
Linea 29: Linea 26:
Una volta avviato il programma, comparirà la schermata iniziale (alcuni menu del programma saranno tradotti nella lingua con cui è stato localizzato il sistema). Sarà visualizzata la lista dei pacchetti disponibili riordinati in gruppi, come illustrato nell'immagine seguente: = Configurazioni generali =
Linea 31: Linea 28:
{{attachment:Aptitude.png}} Le configurazioni di '''logrotate''' risiedono in questi file o directory:
Linea 33: Linea 30:
= Scorciatoie da tastiera =  * '''/etc/logrotate.conf''': contiene le configurazioni principali di logrotate, fra cui le istruzioni sulla rotazione dei file di log, se non diversamente specificato nei file presenti nella directory `/etc/logrotate.d/` (punto successivo).
 * '''/etc/logrotate.d/''': directory che contiene i file di configurazione dei log dei programmi che necessitano di essere ruotati (sia quelli installati dall'utente, sia a quelli preinstallati di sistema come apt, dpkg, ecc.).
 * '''/etc/cron.daily/logrotate''': è lo [[Programmazione/Script|script]] di [[AmministrazioneSistema/Cron|cron]] che si occupa di verificare il funzionamento di '''logrotate''' per poi eseguirlo con le impostazioni contenute in `/etc/logrotate.conf`. Ovviamente viene eseguito quotidianamente del demone cron poiché posizionato nella cartella `cron.daily`.
 * '''/var/lib/logrotate/status''': è il file in cui vengono salvati data e ora (''timestamp'') in cui è avvenuta l’ultima rotazione per un ogni file di log.
Linea 35: Linea 35:
== Comandi di navigazione e selezione == In questo guida verranno descritti prevalentemente i primi due.
Linea 37: Linea 37:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''I tasti di navigazione (frecce direzionali,'' «'''!PagSu'''», «'''!PagGiù'''» ''ecc.) funzionano normalmente.'' || Di seguito un esempio di file `/etc/logrotate.conf`:{{{
Linea 39: Linea 39:
=== Comandi di navigazione === # see "man logrotate" for details
# rotate log files weekly
weekly
Linea 41: Linea 43:
Quelli che seguono sono i comandi fondamentali per un corretto uso di '''aptitude''': # use the adm group by default, since this is the owning group
# of /var/log/syslog.
su root adm
Linea 43: Linea 47:
||||<tablestyle="width:50%" style="background-color:#cccccc;":>'''Comandi'''||
||<20%> «'''u'''» || Aggiorna la lista dei pacchetti. ||
|| «'''j'''» || Scorre l'elenco di una riga verso il basso. ||
|| «'''k'''» || Scorre l'elenco di una riga verso l'alto. ||
|| «'''q'''» || Torna alla schermata precedente. <<BR>> Esce da '''aptitude''' se nella schermata principale. ||
# keep 4 weeks worth of backlogs
rotate 4
Linea 49: Linea 50:
=== Comandi su selezioni di elementi === # create new (empty) log files after rotating old ones
create
Linea 51: Linea 53:
Una volta selezionato un gruppo di pacchetti è possibile utilizzare i seguenti tasti veloci per operare su di essi: # use date as a suffix of the rotated file
#dateext
Linea 53: Linea 56:
||||<tablestyle="width:50%" style="background-color:#cccccc;":>'''Comandi per gruppo'''||
||<20%> «'''['''» || Espande il gruppo selezionato e tutti i sotto gruppi. ||
|| «''']'''» || Chiude il gruppo selezionato e tutti i sottogruppi. ||
|| «'''Invio'''» || Espande o chiude il gruppo selezionato. ||
# uncomment this if you want your log files compressed
#compress
Linea 58: Linea 59:
REVISIONARE DA QUI IN POI! # packages drop log rotation information into this directory
include /etc/logrotate.d
Linea 60: Linea 62:
Per operare su selezioni di singoli pacchetti è possibile utilizzare i seguenti tasti veloci: # system-specific logs may be also be configured here.
}}}
Linea 62: Linea 65:
||||<tablestyle="width:50%" style="background-color:#cccccc;":>'''Comandi per pacchetto'''||
||<20%> «'''d'''» || Mostra le dipendenze del pacchetto. ||
|| «'''r'''» || Mostra i pacchetti che dipendono dal pacchetto selezionato. ||
|| '''Maiusc+c''' || Scarica e visualizza il ''changelog''. ||
|| «'''Invio'''» || Mostra informazioni relative al pacchetto selezionato. ||
Si noti che di default è configurata la rotazione settimanale (parametro '''weekly''') con un file di log appartenente all'utente '''root''' e al gruppo '''syslog''', con quattro file di log conservati per volta (parametro '''rotate 4''') e con nuovi file di registro vuoti creati dopo la rotazione di quello corrente (parametro '''create''').
Linea 68: Linea 67:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''È possibile navigare all'interno delle dipendenze di un pacchetto selezionato.'' || = Parametri =
Linea 70: Linea 69:
== Gestione dei pacchetti == Di seguito vengono elencate alcune delle istruzioni più utili:
Linea 72: Linea 71:
'''aptitude''' fornisce una robusta gestione dei pacchetti. Con un uso attento dei comandi disponibili è possibile gestire correttamente i [[Repository|repository]] non standard, come ad esempio i [[Repository/Backports|backports]]. ||<:-2 #cccccc>'''Parametro'''||
||<#f7f7f7> '''hourly / daily / weekly / monthly / yearly''' || Imposta la frequenza della rotazione (oraria, giornaliera, settimanale, mensile, annuale). ||
||<#f7f7f7> '''rotate [n]''' || Specifica il numero di copie dei file di log che devono essere mantenute nelle successive rotazioni. Il file eccedente verrà eliminato. ||
||<#f7f7f7> '''create''' || Crea un nuovo file di log vuoto al termine della rotazione. È inoltre possibile specificare modalità di accesso, proprietario e gruppo. ||
||<#f7f7f7> '''dateext''' || Nomina i file con la data all'interno del nome. ||
||<#f7f7f7> '''compress''' || Comprime le vecchie versioni del file di log tramite gzip. ||
||<#f7f7f7> '''delaycompress''' || Rimanda la compressione alla successiva esecuzione di logrotate. ||
||<#f7f7f7> '''prerotate''' || Esegue un comando/programma prima della rotazione. ||
||<#f7f7f7> '''postrotate''' || Esegue un comando/programma dopo la rotazione. ||
||<#f7f7f7> '''size [dimensione]''' || Imposta un limite raggiunto il quale il file viene ruotato. ||
||<#f7f7f7> '''minsize [dimensione]''' || Ruota i file quando più grandi della dimensione indicata, fermo restando il parametro temporale (daily, weekly, ecc.). ||
||<#f7f7f7> '''notifempty''' || Non esegue la rotazione se il file è vuoto. ||
||<#f7f7f7> '''copy''' || Crea una copia del file di log, non modificando l'originale che non viene mai rimosso. ||
||<#f7f7f7> '''olddir [/percorso/directory]''' || Sposta i file di log nella directory indicata prima di eseguire la rotazione. ||
Linea 74: Linea 86:
=== Comandi comuni === Per un elenco completo dei parametri digitare:{{{
man logrotate
}}}
Linea 76: Linea 90:
Quello che segue è un elenco dei comandi più comuni: = Rotazione singole applicazioni =
Linea 78: Linea 92:
||||<tablestyle="width:50%" style="background-color:#cccccc;":>'''Comandi per pacchetto'''||
||<20%> «'''+'''» || Marca il pacchetto per l'installazione. ||
|| «'''-'''» || Marca il pacchetto per la rimozione. ||
|| «'''_'''» || Marca il pacchetto per la rimozione completa. ||
|| «'''='''» || Marca il pacchetto come bloccato. ||
Come detto precedentemente, i file di configurazioni per la rotazione delle singole app risiedono nella directory `/etc/logrotate.d/`.<<BR>>
Di seguito un esempio del contenuto della cartella:{{{
ls /etc/logrotate.d/
alternatives bootlog cups-daemon lightdm rsyslog ubuntu-advantage-tools unattended-upgrades
apt btmp dpkg ppp speech-dispatcher ufw wtmp
}}}
Linea 84: Linea 99:
=== Confermare le proprie azioni === I vari file nella directory seguono la sintassi seguente:{{{
/var/log/nome_app.log {
 parametro 1
        parametro 2
}
}}}
Linea 86: Linea 106:
Per visualizzare le modifiche apportate è sufficiente premere una volta «'''g'''». Infine, per applicare tali modifiche è sufficiente premere un'altra volta «'''g'''». Un esempio per `/etc/logrotate.d/apache2` potrebbe essere il seguente:{{{
/var/log/dpkg.log {
    weekly
    rotate 3
    size 100M
    compress
    delaycompress
}
}}}
Linea 88: Linea 116:
=== Ricerca di pacchetti === {{{#!wiki note
Il file `/etc/logrotate.d/rsyslog` contiene le impostazioni di log importanti di sistema, fra cui `/var/log/syslog`, `/var/log/kern.log` e `/var/log/auth.log`.
}}}
Linea 90: Linea 120:
È possibile effettuare delle ricerche all'interno del database dei pacchetti con i seguenti tasti veloci: = Esempio di personalizzazione =
Linea 92: Linea 122:
||||<tablestyle="width:50%" style="background-color:#cccccc;":>'''Comandi per pacchetto'''||
||<20%> «'''/'''» || Cerca un termine o un nome di pacchetto. ||
|| «'''\'''» || Ripeti l'ultima ricerca. ||
|| «'''l'''» || Limita la vista dei pacchetti a quelli cercati. ||
È possibile modificare e personalizzare ''ad hoc'' i file descritti in precedenza per venire incontro a specifiche esigenze o per prevenire/risolvere dei problemi.
Linea 97: Linea 124:
Quelli che seguono sono dei termini di ricerca molto comuni: Di seguito un esempio per impostare un'applicazione in modo tale che venga eseguita una rotazione giornaliera, con file di dimensione massima di 200 MB, lasciando le dieci copie precedenti:{{{
/var/log/[mio_programma].log
{
 daily
 missingok
 rotate 10
 compress
 notifempty
 size 200M
 compress
 create 0600 root root
 endscript
}
}}}
Linea 99: Linea 139:
||||<tablestyle="width:50%" style="background-color:#cccccc;":>'''Comandi per pacchetto'''||
|| «'''~b'''» || Ricerca pacchetti difettosi. ||
|| «'''~c'''» || Ricerca pacchetti parzialmente disinstallati. ||
|| «'''~ahold'''» || Ricerca pacchetti bloccati. ||
Tale configurazione evita che i file di log diventino di dimensioni eccessive, cosa che nei casi più gravi può impedire il normale avvio del sistema a causa dello spazio in esaurimento.
Linea 104: Linea 141:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Per digitare il carattere tilde'' «'''~'''» ''è possibile usare la combinazione'' '''!AltGr+ì'''. || {{{#!wiki important
È bene tener presente che le dimensioni eccessive dei file di log, in particolare di quelli importanti di sistema, sono quasi sempre il risultato di problematiche ben più gravi, che tuttavia __non__ vengono risolte applicando i parametri sopra indicati.
}}}
Linea 108: Linea 147:
 * [[AmministrazioneSistema/InstallareProgrammi/Apt|Guida a Apt]]
 * [[AmministrazioneSistema/InstallareProgrammi|Guida all'installazione dei programmi]]
 * [[http://nixdoc.net/man-pages/Linux/man1/aptitude.1.html|Pagina man]]
 * [[http://guide.debianizzati.org/index.php/Aptitude| Guida ad Aptitude su debianizzati.org]]
 * [[http://guide.debianizzati.org/index.php/Dpkg| Guida a Dpkg su debianizzati.org]]
 * [[Ubuntu:PinningHowto|Guida all'apt-pinning]] (in inglese)
 * [[https://guide.debianizzati.org/index.php/Logrotate:_configurare_la_rotazione_automatica_dei_log|Debianizzati]]
 * [[https://linux.die.net/man/8/logrotate|Linux man page]]
 * [[https://www.redhat.com/sysadmin/setting-logrotate|Articolo Red Hat]]
 * [[https://www.tecmint.com/install-logrotate-to-manage-log-rotation-in-linux/|Tutorial su Tecmint]]
 * [[https://docs.rackspace.com/support/how-to/understanding-logrotate-utility/|Understanding logrotate utility]]
 * [[https://docs.rackspace.com/support/how-to/sample-logrotate-configuration-and-troubleshooting|Sample logrotate configuration and troubleshooting]]
 * [[https://www.digitalocean.com/community/tutorials/how-to-manage-logfiles-with-logrotate-on-ubuntu-20-04|How To Manage Logfiles with Logrotate on Ubuntu 20.04]]
Linea 116: Linea 156:
##CategoryAmministrazione


Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento.

Guida verificata con Ubuntu: 20.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Questa guida spiega le configurazioni di base per logrotate, utilità di sistema che gestisce la rotazione automatica e la compressione dei file di log.
È preinstallata in Ubuntu, come rsyslog e gli altri strumenti che servono per il funzionamento dei log di sistema.

Descrizione

A intervalli di tempo predefiniti, i file di log vengono "ruotati". La rotazione, in sostanza, è quel processo in cui i file di log vengono:

  • rinominati automaticamente
  • sostituiti da nuovi file di log
  • compressi con gzip allo scopo di ridurre lo spazio necessario alla loro memorizzazione, mantenendoli comunque disponibili per controlli futuri

logrotate è quindi il comando che si occupa della rotazione dei file di log. Di norma viene lanciato a intervalli periodici dal servizio cron.

Le informazioni generali (versione, strumenti in uso per mail e compressione ecc.) possono essere ottenute digitando nel riga di comando il comando:

logrotate --version

Configurazioni generali

Le configurazioni di logrotate risiedono in questi file o directory:

  • /etc/logrotate.conf: contiene le configurazioni principali di logrotate, fra cui le istruzioni sulla rotazione dei file di log, se non diversamente specificato nei file presenti nella directory /etc/logrotate.d/ (punto successivo).

  • /etc/logrotate.d/: directory che contiene i file di configurazione dei log dei programmi che necessitano di essere ruotati (sia quelli installati dall'utente, sia a quelli preinstallati di sistema come apt, dpkg, ecc.).

  • /etc/cron.daily/logrotate: è lo script di cron che si occupa di verificare il funzionamento di logrotate per poi eseguirlo con le impostazioni contenute in /etc/logrotate.conf. Ovviamente viene eseguito quotidianamente del demone cron poiché posizionato nella cartella cron.daily.

  • /var/lib/logrotate/status: è il file in cui vengono salvati data e ora (timestamp) in cui è avvenuta l’ultima rotazione per un ogni file di log.

In questo guida verranno descritti prevalentemente i primi due.

Di seguito un esempio di file /etc/logrotate.conf:

# see "man logrotate" for details
# rotate log files weekly
weekly

# use the adm group by default, since this is the owning group
# of /var/log/syslog.
su root adm

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
#dateext

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# system-specific logs may be also be configured here.

Si noti che di default è configurata la rotazione settimanale (parametro weekly) con un file di log appartenente all'utente root e al gruppo syslog, con quattro file di log conservati per volta (parametro rotate 4) e con nuovi file di registro vuoti creati dopo la rotazione di quello corrente (parametro create).

Parametri

Di seguito vengono elencate alcune delle istruzioni più utili:

Parametro

hourly / daily / weekly / monthly / yearly

Imposta la frequenza della rotazione (oraria, giornaliera, settimanale, mensile, annuale).

rotate [n]

Specifica il numero di copie dei file di log che devono essere mantenute nelle successive rotazioni. Il file eccedente verrà eliminato.

create

Crea un nuovo file di log vuoto al termine della rotazione. È inoltre possibile specificare modalità di accesso, proprietario e gruppo.

dateext

Nomina i file con la data all'interno del nome.

compress

Comprime le vecchie versioni del file di log tramite gzip.

delaycompress

Rimanda la compressione alla successiva esecuzione di logrotate.

prerotate

Esegue un comando/programma prima della rotazione.

postrotate

Esegue un comando/programma dopo la rotazione.

size [dimensione]

Imposta un limite raggiunto il quale il file viene ruotato.

minsize [dimensione]

Ruota i file quando più grandi della dimensione indicata, fermo restando il parametro temporale (daily, weekly, ecc.).

notifempty

Non esegue la rotazione se il file è vuoto.

copy

Crea una copia del file di log, non modificando l'originale che non viene mai rimosso.

olddir [/percorso/directory]

Sposta i file di log nella directory indicata prima di eseguire la rotazione.

Per un elenco completo dei parametri digitare:

man logrotate

Rotazione singole applicazioni

Come detto precedentemente, i file di configurazioni per la rotazione delle singole app risiedono nella directory /etc/logrotate.d/.
Di seguito un esempio del contenuto della cartella:

ls /etc/logrotate.d/
alternatives  bootlog  cups-daemon  lightdm  rsyslog              ubuntu-advantage-tools     unattended-upgrades
apt           btmp     dpkg         ppp      speech-dispatcher    ufw                        wtmp

I vari file nella directory seguono la sintassi seguente:

/var/log/nome_app.log {
        parametro 1
        parametro 2
}

Un esempio per /etc/logrotate.d/apache2 potrebbe essere il seguente:

/var/log/dpkg.log {
    weekly
    rotate 3
    size 100M
    compress
    delaycompress
}

Il file /etc/logrotate.d/rsyslog contiene le impostazioni di log importanti di sistema, fra cui /var/log/syslog, /var/log/kern.log e /var/log/auth.log.

Esempio di personalizzazione

È possibile modificare e personalizzare ad hoc i file descritti in precedenza per venire incontro a specifiche esigenze o per prevenire/risolvere dei problemi.

Di seguito un esempio per impostare un'applicazione in modo tale che venga eseguita una rotazione giornaliera, con file di dimensione massima di 200 MB, lasciando le dieci copie precedenti:

/var/log/[mio_programma].log
{
        daily
        missingok
        rotate 10
        compress
        notifempty
        size 200M
        compress
        create 0600 root root
        endscript
}

Tale configurazione evita che i file di log diventino di dimensioni eccessive, cosa che nei casi più gravi può impedire il normale avvio del sistema a causa dello spazio in esaurimento.

È bene tener presente che le dimensioni eccessive dei file di log, in particolare di quelli importanti di sistema, sono quasi sempre il risultato di problematiche ben più gravi, che tuttavia non vengono risolte applicando i parametri sopra indicati.

Ulteriori risorse


CategoryHomepage