Newsgroup: it.comp.os.linux.development
Titolo: Backup su cd e strutture iso9660

Salve a tutti,
per diverso tempo ho cercato software che mi permettesse di fare
il backup dell'hd su piu' cd, ma in genere quello che ho trovato
funziona creando un unico stream che viene sparato verso il
masterizzatore. Questo francamente non lo ritengo molto sicuro,
poiche' credo che se si rovina qualche byte non si riece a leggere
piu' niente dopo quel punto.
Allora ho deciso di sfruttare un altro principio di registrazione,
salvando i file cosi' come sono sull'hd, ma ovviamente e' uscito
fuori il problema dello split multicd, che ho risolto scrivendo un
programma ad hoc.
Il programma crea i file di include/exclude per mkisofs che crea
l'immagine iso effettiva.
Inizialmente pensavo che per calcolare lo spazio occupato bastasse
considerare che sul cd ci sono settori da 2kb, quindi ad es un file
da 1800byte occupa comunque 2kb, ma purtroppo non basta: in alcuni
cd in cui devo mettere migliaia di file vedo che la dimensione
dell'immagine va ben oltre il calcolo riferito ai soli file.
Ho cercato di leggere i sorgenti di mkisofs, ma francamente non sono
venuto a capo di nulla anche perche' hanno commenti tendenti a zero,
e prima di scrivere all'autore vorrei sapere se qualcuno di
voi sa come calcolare la dimensione di una immagine iso conoscendo
la dimensione dei file che ci andranno e il loro numero.
-- 
Ciao,           | Sostituisci "dontspam" con "softhome"
 Francesco      | nell'indirizzo email per avere quello corretto
Fidonet via web: 
http://bbs.romacivica.net/fido

la dimensione dei file che ci andranno e il loro numero.
Non ti posso essere d'aiuto  per quanto riguarda il calcolo ma puoi usare
mkisofs stesso con -print-size e limitare la lettura dei sorgenti
all'implementazione di quell'opzione in particolare. In ogni caso essendo sw
di Joerg Schilling scordati un qualsiasi tipo di documentazione.
-- 
        Giuseppe "Cowo" Corbelli  -->>  Riding on Linux-2.2.18
	**ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
 -<! Woe to you, oh Earth and Sea, for the Devil sends the Beast with
        wrath, because He knows the time is short... !>-
                Revelations, XIII - 18

di Joerg Schilling scordati un qualsiasi tipo di documentazione.
Bene, cio' mi conforta :), ma d'altra parte me ne ero reso conto.
In effetti come un cretino non ho pensato a partire dall'esecuzione
di quell'opzione che peraltro conoscevo, ma comunque ora sono andato
a guardare, e in pratica fa tutto normalmente, solo che apre il file
di output su /dev/null ...
Comunque leggi qua leggi la' alla fine sono pervenuto alle seguenti
considerazioni che mi portano a un numero di extent molto vicino a
quello che dice mkisofs.
1) per ogni file, aumentare la sua dimensione fino a un multiplo
   di 2048bytes (i settori dati sono di 2kb, appunto)
2) data len la lunghezza del nome di un file; allora siano
   # isolen = len se len < 30 o 30 altrimenti, insomma isolen e' il
   nome iso del file che e' max 30 car
   # jolietlen = len se len < 128, o 128 altrimenti, e questo e'
   il nome joliet (che tronca a 128) (Se non si fosse capito mi
   interessa un file system iso9660+joliet)
   # Date queste due var, per ogni file si aggiunge alla dimensione
   gia' calcolata 8 + isolen + 2 * jolietlen. 8 sono i byte fissi
   per la struttura dati iso, jolietlen e' moltiplicato per due poiche'
   il nome e' codificato unicode
3) per ogni dir aggiungere 2048bytes (ma qui credo di sbagliare,
   anche se un qualche barlume di credibilita' c'e', e comunque in
   genere sono piu' i file che le dir e l'errore e' minimo)
Dato tutto cio' lo spreco rispetto ai 650mb che vorrei io mi viene al
massimo 1mb, direi che e' accettabile. In particolare quando ho molti
file/dir (tipo 30mila) le extent di mkisofs sono di meno delle mie,
quindi eccedo in qualche conto


di Joerg Schilling scordati un qualsiasi tipo di documentazione.
Soprattutto e' un tipo molto disponibile: gli ho scritto un'email
con la richiesta della "formula magica" e mi ha risposto:
---
RTFM and use -print-size
---
-print-size non lo posso usare perche' io faccio varie combinazioni
di file anche in varie dir e poi sarebbe un suicidio lanciarlo per
ogni dir, e la M dell'RTFM vorrei sapere a quale manuale/pagina si
riferisce..


riferisce..
Capita che le teste piu' fine siano anche delle teste di cazzo.
La cosa simpatica e' che la libreria scsi e' un gioiello: multipiattaforma,
piuttosto completa, con vari hacks per device/driver/OS bacati.
Iniziata nell'86 non ha 1 riga di doc, lasciamo stare i commenti. Mi
dico mo' inizio a studiarmi come funziona dai sorgenti, gli faccio un
fischio e mi offro di scrivere la documentazione...
Mi dice di lasciar perdere che ha gia' cominciato a scrivere un manuale.
Dopo 14 anni hai _iniziato_ a scrivere il manuale? boh...
-- 
	Giuseppe "Cowo" Corbelli  -->>  Riding on Linux-2.2.18
        **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
 [cowo@braveheart cowo]$ make sex
    make: *** No rule to make target 'sex'.  Stop. 
        :-((((