Newsgroup: it.comp.os.linux.development
Titolo: Script per masterizzaer

Ciao a tutto il gruppo,
ho il seguente problema.
Ho un file in cui, riga per riga, è presente il nome di un file, con
il suo path assoluto rispetto al mio filesystem, creato con il comando
find e modificato a manina in qualche modo (cancellando delle linee).
Quello che vorrei fare è uno script che mi creasse un'immagine iso
contenente tutti questi file, con la stessa struttura in directory
originale, automaticamente.
Non riesco a capire come dire a mkisofs di prendere file separati nel
filesystem: io ho capito che è possibile solo specificare delle intere
dir.
Se questo è una domanda da icol.iniziare (non me ne vogliate se la
scrivo qui) passiamo allo script più complesso.
L'insieme dei file sicuramente non "entra" in un CD e quindi dovrei
dividerlo in più parti. Come fare, specificando la dimensione massima,
a selezionare i primi file che rientrano nel limite?
Sicuramente bisognerà giocare un po' con du, ls o find, qualcuno mi sa
aiutare?
Naturalmente la cosa migliore sarebbe quella di scegliere,
nell'insieme dei file presenti, un sottinsieme di file *non
consecutivo* che comunque rispetta
i limiti. Infatti se all'inizio ho file tutti grossi e alla fine ho
file piccoli, la divisione in più immagini iso verrebbe fatta in modo
grossolana se si considerano solo linee (e quindi file) consecutivi.
Ovviamente mi rendo conto che questo deve essere molto più complesso
da fare con un semplice script e forse bisogna passare ad un programma
in C.
Magari qualcuno conosce già qualche utility che fa quello che voglio?
Programmare è bello, ma usare i programmi degli altri è meglio ;)
Grazie a chi mi aiuterà, agli altri no ;)

,

Io userei du -sk sulle directory fondamentali. Sommando l'output
relativo (in blocchi) in un ciclo for puoi salvare il tutto in
modo abbastanza semplice, anche se non ottimale.
Se vuoi fare le cose per benino probabilmente e' meglio usare
Perl e creare un array associativo che ti consenta di calcolare
la migliore combinazione di directory. Ottimizzare la distribuzione
dei file tuttavia non e' una faccenduola banale.
Sent via Deja.com 
http://www.deja.com/
Before you buy.

dir.
mkisofs path/sul/cdrom/=path/sul/tuo/disco/file.boh
Per quanto riguarda scegliere automaticamente i file per la dimensione
beh... Pensaci :-)
-- 
  Giuseppe "Cowo" Corbelli > Riding On Linux 2.2.12
    -<= A Metal Heart Is Hard To Tear Apart =>-
  Address Modified! Substitute IHATESPAM with cowo

beh... Pensaci :-)
Purtroppo mi hai risposto proprio alla domanda da icol.iniziare piů
che icol.development, ma visto che ci sei (spero di non far arrabbiare
nessuno), se utilizzo la sintassi che dici tu, se ho 1000 file, tutti
in posizioni strane, devo scrivere 1000 opzioni del tipo
/path/sul/cdrom/file1=/path/sultuodisco/file1
/path/sul/cdrom/file2=/path/sultuodisco/file2
...
/path/sul/cdrom/file1000=/path/sultuodisco/file1000
Ovvio che questo si puň automatizzare, ma la linea di comando
diventerebbe enorme, e non credo che venga accettata!!

 dir.
   Hmm vediamo un po`... Premesso che dividere i files per dimensione non 
e` banale (da questo punto uno script in perl e` piu` "performante") l'idea 
che mi viene e` la seguente: ti crei una directory vuota (diciamo 
/home/master) e a botte di n-mila cp o ln (comandati da script) copi (o 
linki) tutti i file in questa dir, dopodiche` mkisofs /home/master funge 
alla grande...
   Con la bash un loop su tutti i nomi del file suonerebbe piu` o meno come:
Files=`cat nomedelfileconinomi`
for file in $Files; 
        do ln -s $file /home/master/`basename $file`;
enddo
   L'unico mio dubbio sta nel fatto che non so se mkisofs "segue" i link 
simbolici... Ah, se qualche file in nomedelfileconinomi contiene spazi 
codesta cosa non funge, bisogna aggiungere un po` di '"'...
                            Spero di averti dato un'idea...
-- 
                             _
\|/ ____ \|/  | //\ \/   |_||_ /\ |\|\/\/\|\/|
"@'/ ,. \`@"  |//--\/\   | ||_/--\|/|\\/\/|  |  Is Now under Unix...
/_| \__/ |_\
   \__U_/        Name in Real Life:   Rosario Peluso