Newsgroup: it.comp.os.linux.sys
Titolo: [semi-OT] cdrom con nomi file "impossibili"

 cp: impossibile fare stat di `relaz.cond.44753/86': Nessun file o directory
(ho provato anche con relaz.cond.44753\/86 ma niente da fare)
l'unico modo per accedere a quei file è di montare il cd con nojoliet 
segando il nome dei file accedo a tutti, però perdendo la lunghezza nn ci 
si capisce più niente! :-)
mi sapete dare qualche idea/suggerimento?
grazie in anticipo!
ciao
-- 
Leonardo Lorenzetti
http://www.leone2000.net


prova con mc a copiare i files su una dir del pc, e se funziona, anche a 
rinominarli con dei nomi più consoni.
LP

 rinominarli con dei nomi più consoni.
nada, niente da fare... cmq il problema, imho, andrebbe risolto a livello 
di montaggio... come hanno fatto a buttare dentro quei nomi?!?


 nada, niente da fare...
Forse con tar...
Ciao,
-- 
        Roberto Divia`              Love at first sight is one of the greatest
Dep:PH Bat:53 Mailbox:C02110      labour-saving devices the world has ever seen
Route de Meyrin 385               ---------------------------------------------
Case Postale                                Phone:  
+41-22-767-4994
CH-1211 Geneve 23 CERN                      Fax:    
+41-22-767-9585
Switzerland                                 E-Mail: 
Robert...@cern.ch

 Forse con tar...
intendi dire:
# tar cvf pippo.tar /media/cdrom0/
non va "Impossibile stat: Nessun file o directory"
:-(
-- 
Leonardo Lorenzetti
http://www.leone2000.net
"Vista ha riunito la sicurezza di linux con la bellezza del Mac e ora avete 
tanta paura" (forum di punto-informatico)

 non va "Impossibile stat: Nessun file o directory"
cioè, l'errore me lo da sui file con i nomi scazzati


(ho provato anche con relaz.cond.44753\/86 ma niente da fare)
Bah sara' un'ingenuita' dirtelo ma male non fa... hai provato:
# cp ./re*4* /tmp/pippo
# cat ./re*4* >/tmp/pippo
# ddrescue -v re*4* /tmp/pippo
-- 
Saluti, Dalet

 avvertito. 
il caso è riferito a windows ma affligge anche linux; secondo voi si può 
cmq far qualcosa? MacOsX che shell usa?
-- 
Leonardo Lorenzetti
http://www.leone2000.net
"Vista ha riunito la sicurezza di linux con la bellezza del Mac e ora avete 


MacOsX che shell usa?
Tiger 10, su risc e su intel/cisc, usa e ha anche la bash.
-- 
Saluti, Dalet

> `relaz.cond.44753/86': Nessun file o directory
provato a mettere il nome del file tra virgolette?
cp "relaz.cond.44753/86" /tmp/pippo
-- 
Pandozy vede tutto
    _   _
  O'|,=,/'O
    (0 0)
ooO--(_)--Ooo

Tiger 10, su risc e su intel/cisc, usa e ha anche la bash.
Esattamente questa (su intel) e si trova in /bin:
Bash version 2.05b.0(1) release GNU release 2.05b
-- 
Saluti, Dalet



i doppi apici non fanno l'escape. Al limite deve provare con i singoli 
apici.
cp 'relaz.cond.44753/86' /tmp/pippo
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
  printf $i }'; echo

 
non posso provare su un file armato di cotanto nome (ho solo fatto un
semplice test con un nome di file contenente spazi), ma a lume di naso
potresti aver ragione cribbio!   :)


 mi sapete dare qualche idea/suggerimento?
Oltre a tutti gli altri suggerimenti l'unico che mi viene in mente è di
fare una immagine del CD (oppure user /dev/hdx) e poi aprirla con un
apritore di immagini.
Ad esempio se hai installato il kio_iso di kde puoi andare all'indirizzo
iso:/dev/hdb

 cp: impossibile fare stat di `relaz.cond.44753/86': Nessun file o directory
:-(
-- 
Leonardo Lorenzetti
http://www.leone2000.net
"Vista ha riunito la sicurezza di linux con la bellezza del Mac e ora avete 


 cp 'relaz.cond.44753/86' /tmp/pippo
In Slowlaris forse :P
In bash fanno escape esattamente come gli altri
$ touch "pippo&"
$ ls pippo*
pippo& 
-- 
Vide


Non puo` funzionare. Il "/" e` vietato dal file system, non dallo shell.
Gli apici servono a risolvere problemi di caratteri speciali (per lo shell
o per globbing).
Ho paura che la sola soluzione sia di montare il CD su MAC/Windows e
fare un secondo CD eliminando i "/".



Non ho mai avuto un mac e sinceramente non so neanche di cosa sto parlando
:) comunque provo a sparare qualche cavolata sperando che ti possa essere
d'aiuto come partenza per le tue ricerche :P
hai già provato a montarlo come HFS?
facendo `man genisoimage` leggo ad un certo punto
But as ‘/’ is a legal HFS filename character, -mac-name converts ‘/’ to
a ‘_’ in Rock Ridge filenames.
quindi in qualche modo si dovrebbe fare *credo*

 apritore di immagini.
O con un editor (esadecimale) con cui prendere i nomi con le barre e
modificarli direttamente nella struttura del file sistem.
Forse anche debugfs potrebbe fare qualcosa.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 Forse anche debugfs potrebbe fare qualcosa.
forse questo è un pelino esagerato!

 quindi in qualche modo si dovrebbe fare *credo*
infatti è quello che sto provando...
-- 
Leonardo Lorenzetti
http://www.leone2000.net
"Vista ha riunito la sicurezza di linux con la bellezza del Mac e ora avete 


 fare un secondo CD eliminando i "/".
no, correggo: la sola soluzione è quella di montare su MAC, windows si 
comporta come linux (lo / è un carattere nn ammesso).
-- 
Leonardo Lorenzetti
http://www.leone2000.net
"Vista ha riunito la sicurezza di linux con la bellezza del Mac e ora avete 



Quando il gioco si fa duro, i duri cominciano a giocare. ;-)
Dipende, come sempre, dalle motivazioni, dall'importanza, e
dalle possibilita'.
Se e' indispensabile in un tempo x entro il quale non puoi,
per qualsiasi motivo, avere a portata di mano un MAC, quella
e' una strada ripida, sconnessa e senza guard-rail protettivi,
ma praticabile.


 
Allora mi faccio coraggio da solo... provaci ancora Donnie!! :)
nel montare l'immagine iso9660 hai provato con l'opzione `map=a`?

 comporta come linux (lo / è un carattere nn ammesso).
Anche su MacOS X. Per trovare un SO dove lo '/' sia un carattere
valido in un filename, deve usare un mac classic, o qualcos'altro. Un
floppy freedos?
--
Saludos
Adriano

 nel montare l'immagine iso9660 hai provato con l'opzione `map=a`?
opsss "immagine" non c'entra niente, ma credo che si è capito quello che
volevo dire

 In Slowlaris forse :P
ora ti frego io:
touch 'a\\b'
ll "a\\b"
ls: impossibile accedere a a\b: No such file or directory
ll 'a\\b'
-rw-r--r-- 1 maxadamo users 0  5 lug 18:56 a\\b
capisciuto mi hai?? ;)
gli apici singoli fanno l'escape di tutto, compreso l'escape dell'escape 
(che sarebbe in questo caso il back-slash).


 capisciuto mi hai?? ;)
$ touch "pi\\ppo"
$ ls pi*
pi\ppo  pippo&
tiè :P
bash --version
GNU bash, version 3.2.13(1)-release (i486-pc-linux-gnu)
-- 
Vide

 tiè :P
eh no, ora ti frego di nuovo:
touch "a\\b"
ll "a\\b"
-rw-r--r-- 1 maxadamo users 0  5 lug 19:17 a\b
Vedi che e' diverso? Tu hai creato un file diverso dal mio.
Io ho creato un file con 2 backslash (visto che erano tutti e due sotto 
l'escape dei singoli apici), tu hai creato un file con un solo backslash 
(visto che i doppi apici non fanno tutti gli escape).
Ricontrolla bene e inizia a chiederti quale e la differenza tra singolo 
apice e doppio apice.
Adesso capisciuto mi hai?


 Adesso capisciuto mi hai?
Ops, avevo frainteso. Hai ragione tu.

 Ops, avevo frainteso. Hai ragione tu.
peccato che il carattere merdoso è "/" (che è il separatore di directory...)


 floppy freedos?
uh, dici?


 
scusa, ma in freedos il "/" era un carattere ammesso?!? o_O


 nel montare l'immagine iso9660 hai provato con l'opzione `map=a`?
si....


 uh, dici?
Male non fa...
Forse puoi anche provare con dosbox, so di certo che ti permette di
montare cd, anche se non so come reagira in questo caso. Comunque,
freedos non dovrebbe essere impossibile da usare (forse e piu
difficile trovare un computer con lettore di floppy :) )
In quanto a Mac OS X, non so esattamente se non riconosce piu i
caratteri / come permessi all'interno di un nome file: da una parte,
sembra strano che abbandonino in quel modo la compatibilita,
dall'altro, se hanno passato a un SO basato su Unix...
--
Saludos
Adriano

 scusa, ma in freedos il "/" era un carattere ammesso?!?
Vero che su DOS / serve per indicare le opzioni, non ricordo se fosse
permesso all'interno di un filename. Magari il "trucco" di chiamare i
file file~001.ext si puo' applicare...
--
Saludos
Adriano

Scusa per la disinformazione precedente, in freeDOS e DOS a quanto
vedo lo / non e' un char permesso in un filename. Forse riesci a fare
qualcosa con il trucco di Max. Adamo.
--
Saludos
Adriano

 qualcosa con il trucco di Max. Adamo.
no, perchè lui ha provato con "\", no con "/"...


 directory...)
si si ... a prima vista si direbbe che quel carattere *non* e' ammesso in 
alcun modo.
Non ho voluto rispondere dicendo che e' assolutamente impossibile, 
pero'... al momento non vengono fuori soluzioni.


pero'... al momento non vengono fuori soluzioni.
-- in un floppy ext2 ho copiato un file pippo
-- con dd ho versato /dev/fd0 nel file ~/flopip
-- con vi ho editato flopip, cercando il nome del file pippo e
trovandolo subito, eccolo: (se fosse DOS direi nella FAT)
00008420  6c 6f 73 74 2b 66 6f 75  6e 64 00 00 0c 00 00 00  |lost+found......|
00008430  d4 03 06 01 70 69 70 2f  6f 00 00 00 00 00 00 00  |Ô...pippo.......|
-- e ho cambiato una p con / eccolo:
00008420  6c 6f 73 74 2b 66 6f 75  6e 64 00 00 0c 00 00 00  |lost+found......|
00008430  d4 03 06 01 70 69 70 2f  6f 00 00 00 00 00 00 00  |Ô...pip/o.......|
-- quindi dd al contrario
-- monto e do "ls -l /mnt/a", eccolo
totale 12
drwx------ 2 root root 12288 2007-07-06 11:50 lost+found
?--------- ? ?    ?        ?                ? /mnt/a/pip/o
Vediamo ora se riesco a copiarlo con qualche sortilegio... :-))
-- 
Saluti, Dalet

Vediamo ora se riesco a copiarlo con qualche sortilegio... :-))
Dimenticavo, per Leone2000: ma non e' che puoi fare questo
anche tu con dd e vi? se i file non sono molti ci metti un
attimo.
-- 
Saluti, Dalet

Dalet ha scritto:

ottima idea, ora vedo quel che fare, cmq i file sono tanti sparsi in 
tantissime cartelle....
cmq grazie!!! :-)




avevo pensato anche a questo ma non ho voluto scrivere nemmeno questo :)
Se lavori con un CD, con dd ottieni sempre un file iso9660, che e' per 
sua natura read-only. Bisogna vedere che struttura ha questo file e cosa 
succede ad editare un file di questo tipo con vi (quindi senza montarlo).
E' una cosa da provare in ogni caso.... sia con 'dd', e se dd si ferma, 
allora con 'ddrescue'.


 sua natura read-only. Bisogna vedere che struttura ha questo file e cosa 
Eh???


 tantissime cartelle....
Questo puo' essere un problema solo per la lunghezza del lavoro, ma
si puo' fare, ho fatto la prova dal vivo.
dd if=/dev/cdrom of=pippo
e ottengo il file immagine.
con un editor si va a modificare le entry delle directory, e'
sufficiente anche l'editor di mc.
Attenzione, nell'ISO9660 si trovano due occorrenze delle directory,
una ad offset 0x0009800 con rappresentazione ascii dei nomi, ed una
ad offset 0x0012000 con rappresentazione a doppio byte per ogni
carattere. (i valori di offset sono indicativi, non ho voglia di
controllare nella documentazione del file system se dipendono dal
contenuto, da quante sessioni, etc.etc. come credo, ma si possono
comunque trovare)
A questo punto si possono modificare i nomi impossibili, salvare e
poi con losetup -f pippo seguito da mount /dev/loop0 /mnt/disco o
il vostro sistema preferito per montare immagini in loop, hai la
possibilita' di estrarre quello che ti serve.


 Eh???
Oh???
se fai il 'dd' otterrai un file che potrai montare come filesystem di 
loopback, e che una volta montato sara' visto come filesystem iso9660 e 
*non* sara' scrivibile in alcun modo.
iso9660 non prevede la riscrittura, se non la riscrittura per sessioni, o 
la rimasterizzazione sui cd rewritable. ... non penso che in questo caso 
stessimo parlando di UDF.
Chiaro adesso?
Dipende quindi da quello che succede se lo apri con 'vi'. Magari 
funziona, magari no. Ma questo e' un altro discorso.


 se fai il 'dd' otterrai un file che potrai montare come filesystem di 
Otterrai un file.
Che potrai modificare a tuo piacimento (l'ho appena fatto) e poi montare
in loop, visto che la struttura e' iso9660, o rimasterizzare con i nuovi
nomi dei file.
Del resto, montarlo prima di editare i nomi ti riporta nel bel mezzo del
problema del carattere illecito nei nomi file.


 problema del carattere illecito nei nomi file.
Esatto. Il punto e': vedere cosa succedere aprendo il file con un editor.


 Esatto. Il punto e': vedere cosa succedere aprendo il file con un editor.
Che e' un file.
Che ha una serie di byte che se li prendi insieme, hanno la struttura di
un file system, ma presi uno alla volta sono byte, e come tali,
modificabili da un editor, come ho detto, per pigrizia, *l'ho fatto* con
mc e il suo editor interno.


 Mica e' nero burning rom, parlo di cdrecord e simili.
ma cavoli, ma non parlavamo di cambiare i nomi dei file?
ascolta ma si puo' sapere di cosa stiamo parlando?
qui sul thread era stato detto: fai il 'dd', apri il file con un editor e 
vedi che succede. Io ho sottoscritto, e ho detto che poteva funzionare, 
ma visto che aveva funzionato su ext2 non era detto che funzionasse con 
un altro fs. Era una cosa da provare.
Tu hai provato e hai visto che ha funzionato.
Bravo, bravissimo *clap clap*
C'e' altro?



aggiungendo prima di `return len;`
/* Convert '/' to '.' */
/* (broken 'allow macintosh names'-generated ISO9660 images) */
for (i = 0; i < len; i++) {
	if (outname[i] == '/')
		outname[i] = '.';
}
Credo che in questo modo dovrebbe funzionare e se ti dovesse capitare un
altro cd con lo stesso problema non incontreresti più problemi.
tutto ovviamente IMHO :D

 
Sì :P
Che ISO9660 anche se è un filesystem da CDROM, se lo monti in loopback ci
puoi scrivere dentro senza nessunissimo problema. Fai tutti i cambi che
vuoi, lo smonti e magicamente hai la ISO modificata che puoi scrivere su un
qualunque CD-R (e allora sì che non potrai più far cambi).
-- 
Vide

 un qualunque CD-R (e allora sì che non potrai più far cambi).
mkisofs -o prova.iso d/dc
bla bla bla...........
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 540672
Path table size(bytes): 3822
Max brk space used 108000
1873 extents written (3 MB)
.-(~)-----------------------------------------------------------------------(nero@mancillotti)-
`--> mkdir cd
.-(~)-----------------------------------------------------------------------(nero@mancillotti)-
`--> sudo mount -o loop,rw prova.iso cd
Password:
.-(~)-----------------------------------------------------------------------(nero@mancillotti)-
`--> mount
/home/nero/prova.iso on /home/nero/cd type iso9660 (rw,loop=/dev/loop0)
.-(~)-----------------------------------------------------------------------(nero@mancillotti)-
`--> cd cd
.-(~/cd)--------------------------------------------------------------------(nero@mancillotti)-
`--> ls
dcsharp/  dcsharp_.rpm*
.-(~/cd)--------------------------------------------------------------------(nero@mancillotti)-
`--> mkdir d
mkdir: impossibile creare la directory `d': Read-only file system
SICURO ?
-- 
La violenza nella realta' e' molto diversa dalla teoria.
                -- Spock, "The Cloud Minders", data astrale 5818.4

 tutto ovviamente IMHO :D
Ovviamente anche nel mio caso.


 SICURO ?
mmhhh ... Vide ci sta perdendo colpi? :P



e ci aggiungo che continua ad essere IMHO :P

 e ci aggiungo che continua ad essere IMHO :P
continua ad esse sempre IMHO :P



+1 :)

 
dimenticavo, nell'altra funzione c'è già la sostituzione del '/' in '.'
per risolvere un problema che si presentava sui dischi scritti con RiscOS
(forse la sto sparando grossa, ma mi sembra di aver capito così) e in quel
caso il joliet non sapevano neanche cosa era...
non credo che questo problema sia così frequente, forse nessuno si è posto
il problema e nessuno ha cercato una soluzione definitiva

 +1 :)
sempre di piu' :)


 SICURO ?
Sono praticamente certo di averlo fatto da una ISO già creata...boh, 
domani se ho voglia riprovo, sennò amen, avrò torto :P



vide, vide .... cosa lo hanno inventato a fare UDF?


 return len;
Magari modificando il commento che ho inserito io con uno più opportuno,
visto che non so di preciso come è stato introdotto il problema :-D

 mkdir: impossibile creare la directory `d': Read-only file system
E da quando tu vuoi creare una directory sotto un mount point che e' un
ISO9660?
Ma che vi siete rincitrulliti? Prendi il .iso, ci fai quello che vuoi, poi
lo monti e hai qualcosa, se hai fatto modifiche congruenti con il formato
dei dati ISO9660 avrai sostituito allo / un altro carattere e vedrai i file,
altrimenti avrai immondizia. 
-- 
Per rispondermi, sostituisci a nomecognome il mio nome e cognome
To reply me, substitute nomecognome with my real name and surname

>
vi ringrazio tantissimo tutti e complimenti per la competenza, cmq l'amico 
ha riesumato un mac os classic (mannaggia a lui, nn lo poteva dire prima 
che ce l'aveva?!?!?!) e oggi proverò direttamente da lì, altrimenti proverò 
la strada della patch.
ciao


altrimenti avrai immondizia. 
Il fatto e' che una .iso, anche piccola come la
debian-...-netinst.iso da 160 mega che ho provato, non
e' facile editarla.
Ho cercato di farlo con vi, ma dopo qualche minuto l'ho
dovuto killare. Idem con mcedit.
Conosci qualche editor che ce la faccia con 600 mega, per
non parlare dei giga d'un dvd?
Sempre a quella .iso deb da 160 mega ho invece cambiato
al volo un solo ben preciso byte, ma ne conoscevo lo
spiazzamento e l'ho fatto con dd (circa 5 secondi).
-- 
Saluti, Dalet

 ciao
ciao 
DonnieDarko

 (in pratica come fa -mac-name)
si si, a questo c'avevo già pensato. :-)


 ISO9660?
Chiarissimo.
Vide diceva che questo era possibile.
Se cosi' fosse UDF non avrebbe motivo di esistere.


 dei giga d'un dvd?
hexedit, ghex, khexedit, ...
Bye.

hexedit, ghex, khexedit, ...
Ho appena installato al volo hexedit, avevo gia' khexedit ma
con la GUI non ci vado troppo d'accordo.
Bellissimo e fulmineo: m'ha caricato l'iso da 160 mega
_istantaneamente_!  Grazie!! m'hai fatto un regalone!
Una cosa bellissima e' l'help online che chiama la manpagina.
[gia' non sapevo uscire... ma con q m'ha detto di dare F1]
Col search e' d'una velocita' incredibile, dunque mi sa che
senza poter usare un mac quelle / le avrebbe potute trovare
e cambiare al volo come diceva Roberto.
-- 
Saluti, Dalet

e cambiare al volo come diceva Roberto.
Ho editato l'iso del dvd n. 2 della Debian.
Hexedit e' veramente formidabile: lo carica praticamente all'
istante, ed altrettanto veloce e' il search.
Ho cambiato la A, di tutti (4 o 5) i README.txt che ho
trovato, con / e quindi ho montato l'iso in loop.
Ecco cos'e' successo:
totale 604
-r--r--r-- 1 root root     60 2007-04-07 13:42 autorun.bat
-r--r--r-- 1 root root     29 2007-04-07 13:42 autorun.inf
lr-xr-xr-x 1 root root      1 2007-04-07 13:42 debian -> .
dr-xr-xr-x 3 root root   2048 2007-04-07 13:42 dists
-r--r--r-- 1 root root 465867 2007-04-07 13:49 md5sum.txt
?--------- ? ?    ?         ?                ? /mnt/loop/RE/DME.txt
dr-xr-xr-x 2 root root   2048 2007-04-07 13:42 pics
dr-xr-xr-x 4 root root   2048 2007-04-07 13:42 pool
-r--r--r-- 1 root root  10663 2007-04-07 13:49 README.html
-r--r--r-- 1 root root  82763 2007-04-05 09:52 README.mirrors.html
-r--r--r-- 1 root root  51377 2007-04-05 09:52 README.mirrors.txt
-- 
Saluti, Dalet

 mi sapete dare qualche idea/suggerimento?
prova ad usare -- come opzioni del comando