[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian systemd maintainer resigns due to online bullying + risultati votazione DD



gerlos writes:
 > Ciao,
 > Scusate se riporto la conversazione per intero, ho decisamente bisogno di spiegazioni tecniche, c’è qualcosa che proprio non capisco...
 >

Vediamo se riesco ad aiutarti

 > 1. Come si fa a “spezzare” un file binario? “dove” si fa? Con che
 > logica dovrebbe funzionare un clone di logrotate che funziona su un
 > log binario?

Una utility per fare a pezzi un file binario è split. Aveva il suo
perché ai tempo di memorie rimovibile piccoline.

Quanto a logrotate, il sistema dovrebbe attendere la fine di una
entry, bloccare la scrittura mentre linka il vecchio file ad un nuovo
nome e ne prepara uno vuoto al suo posto, sbloccare la scrittura e
continuare a lavorare sul vecchio log off-line.

In questo modo ci si garantirebbe la scrittura per record completi.

 > 2. Il fatto che il log sia binario elimina la necessità di ruotarlo
 > e comprimerlo? Come?

Forse si avrebbe meno guadagno a comprimerlo, perché un file binario
può contenere meno ridondanza.

 > 3. Perché dovrei indicizzare un file di log? Cosa c’è che non va
 > nelle ricerche fatte ad esempio con grep semplicemente quando
 > serve? Come potrebbe un file binario agevolare il lavoro di tool
 > come logcheck, per esempio? (tempo fa ho “greppato” un log di 30MB
 > da un server con un problema hardware che rendeva il kernel
 > logorroico, e sono sopravvissuto senza avere indici…)

Un'indicizzazione serve solo quando sai cosa cercare e quando ripeti
la ricerca.

Indicizzare un file ne aumenta le richieste di spazio, appesantisce le
scritture(*) e crea delle strutture delicate (sono di solito immagini
di strutture ad albero).

(*) proprio per questo molti DB disabilitano automaticamente
l'aggiornamento dei log durante le import massive di dati. Il DBA deve
poi forzarne il ricalcolo

Non c'è nulla che non va nelle ricerche con grep e awk. Semplicemente
sono ricerche che fai in "full table scan" - per usare il gergo dei DB
relazionali - e ogni volta che la fai ne paghi il costo completo.

 > 4. Abbiate pazienza, non capisco neanche perché dovrebbe essere più
 > semplice o più efficiente appendere contenuti ad un file binario
 > rispetto ad appendere una riga ad un file testuale.

Scrivere 4 byte è sicuramente più veloce che convertire i 4 byte in
una stringa di caratteri che ne rappresenta il valore in decimale. Non
parliamo dell'aumento di velocità nello scrivere un time_t
direttamente o trasformarlo in un timestamp leggibile.

Ti voglio vedere però a prendere il valore binario, trasformarlo in
giorni, ore, minuti e secondi e trasformare questi valori in una data
che parte dal 1 gennaio 1970.

 > 5. In condizioni assurdamente disperate, potrei copiare un file log
 > sul computer di mio cugino ;-) su cui gira Windows, con
 > l’intenzione di esaminarli. Come faccio se sono binari? (se sono
 > testuali, in assenza di meglio, posso usare il buon vecchio
 > Wordpad).

Per esaminarli se sono binari, o funzionano i tool che te lo leggono o
sei uno übergeek che si è imparato il formato dei file e riesce pure a
leggerlo nell'output di od. Altrimenti... picche, tamburi e cornamuse.

-- 
 /\           ___                                    Ubuntu: ancient
/___/\_|_|\_|__|___Gian Uberto Lauri_____               African word
  //--\| | \|  |   Integralista GNUslamico            meaning "I can
\/                 coltivatore diretto di software       not install
     già sistemista a tempo (altrui) perso...                Debian"

Warning: gnome-config-daemon considered more dangerous than GOTO


Reply to: