Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

cp -p sur volume jffs2

7 réponses
Avatar
JKB
Bonjour à tous,

Je tombe sur un problème bizarre que je n'arrive pas à identifier et
pour le coup, je n'ai rien trouvé de vraiment utile dans la doc.

J'ai installé une distribution debian/testing (i386) sur un volume
jffs2 parfaitement bootable. Tout fonctionne correctement sauf que
la mise à jour du système est problématique. apt-get renvoie des
erreurs un peu partout.

En creusant, je me suis aperçu que la commande cp -p renvoie :
"cp: preserving permissions for '...': permission denied"

Oui mais... Je suis root lorsque je fais ça et si je fais un cp
classique suivi d'un chmod et d'un chown, ça fonctionne
parfaitement.

La question est donc simple : pourquoi cp -p renvoie-t-il une telle
erreur et comment contourner le problème ?

Cordialement,

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr

7 réponses

Avatar
Emmanuel Florac
Le Fri, 13 Apr 2012 10:14:03 +0000, JKB a écrit:

La question est donc simple : pourquoi cp -p renvoie-t-il une telle
erreur et comment contourner le problème ?



cp -p préserve le propriétaire, les droits et les timestamp. À mon avis,
c'est le timestamp qui merde; est-ce que jffs2 supporte le ctime, le
atime, le mtime? En tout cas, de façon générale dans ce cas là le plus
simple c'est de remplacer honteusement et temporairement le binaire cp
par un affreux script qui remplace le "cp -p" par autre chose, et hop.
Oui, je sais, c'est laid, c'est un affreux hack, tout ça. Mais
l'alternative c'est de modifier les libs apt, alors...



--
In the modern world the stupid are cocksure while the intelligent are
full of doubt.
Bertrand Russell
Avatar
JKB
Le 13 Apr 2012 19:56:25 GMT,
Emmanuel Florac écrivait :
Le Fri, 13 Apr 2012 10:14:03 +0000, JKB a écrit:

La question est donc simple : pourquoi cp -p renvoie-t-il une telle
erreur et comment contourner le problème ?



cp -p préserve le propriétaire, les droits et les timestamp. À mon avis,
c'est le timestamp qui merde; est-ce que jffs2 supporte le ctime, le
atime, le mtime? En tout cas, de façon générale dans ce cas là le plus
simple c'est de remplacer honteusement et temporairement le binaire cp
par un affreux script qui remplace le "cp -p" par autre chose, et hop.



Je crois que tu commences à bien me connaître ;-) Mais ce n'est pas
le timestamp qui merdoie, j'ai vérifié. J'ai plutôt l'impression que
cp -p ne gère pas le fait que le fs n'aime pas atime. Je me demande
si je ne vais pas regarder les entrailles du -p, parce que ça
ressemble assez fortement à un affreux bug de cp.

Oui, je sais, c'est laid, c'est un affreux hack, tout ça. Mais
l'alternative c'est de modifier les libs apt, alors...



JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
LENHOF Jean-Yves
Le 13/04/2012 12:14, JKB a écrit :
Bonjour à tous,

Je tombe sur un problème bizarre que je n'arrive pas à identifier et
pour le coup, je n'ai rien trouvé de vraiment utile dans la doc.

J'ai installé une distribution debian/testing (i386) sur un volume
jffs2 parfaitement bootable. Tout fonctionne correctement sauf que
la mise à jour du système est problématique. apt-get renvoie des
erreurs un peu partout.

En creusant, je me suis aperçu que la commande cp -p renvoie :
"cp: preserving permissions for '...': permission denied"

Oui mais... Je suis root lorsque je fais ça et si je fais un cp
classique suivi d'un chmod et d'un chown, ça fonctionne
parfaitement.

La question est donc simple : pourquoi cp -p renvoie-t-il une telle
erreur et comment contourner le problème ?

Cordialement,

JKB




Pour contourner as-tu essayé un tar ?
Avatar
JKB
Le Sat, 14 Apr 2012 17:36:45 +0200,
LENHOF Jean-Yves écrivait :
Le 13/04/2012 12:14, JKB a écrit :
Bonjour à tous,

Je tombe sur un problème bizarre que je n'arrive pas à identifier et
pour le coup, je n'ai rien trouvé de vraiment utile dans la doc.

J'ai installé une distribution debian/testing (i386) sur un volume
jffs2 parfaitement bootable. Tout fonctionne correctement sauf que
la mise à jour du système est problématique. apt-get renvoie des
erreurs un peu partout.

En creusant, je me suis aperçu que la commande cp -p renvoie :
"cp: preserving permissions for '...': permission denied"

Oui mais... Je suis root lorsque je fais ça et si je fais un cp
classique suivi d'un chmod et d'un chown, ça fonctionne
parfaitement.

La question est donc simple : pourquoi cp -p renvoie-t-il une telle
erreur et comment contourner le problème ?

Cordialement,

JKB




Pour contourner as-tu essayé un tar ?



Pas possible parce que le cp -p vient de apt-get et de install...
Le script qui intercepte le -p est la seule solution viable.

JKB


--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
Emmanuel Florac
Le Sat, 14 Apr 2012 08:34:10 +0000, JKB a écrit:

Je me demande si je ne
vais pas regarder les entrailles du -p, parce que ça ressemble assez
fortement à un affreux bug de cp.



Peut-être un bug typiquement debianesque, même :)



--
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.
Avatar
Emmanuel Florac
Le Sun, 15 Apr 2012 08:32:41 +0000, JKB a écrit:

Pas possible parce que le cp -p vient de apt-get et de install... Le
script qui intercepte le -p est la seule solution viable.



Il vient de me venir une autre idée atroce : tu fais l'install sur un
autre FS, puis tu copies joyeusement le résultat dans le jffs2 avec cp -
a, et voilà le travail.

--
Le livre, comme livre, appartient à l'auteur, mais comme pensée, il
appartient - le mot n'est pas trop vaste - au genre humain. Toutes les
intelligences y ont droit. Si l'un des deux droits, le droit de
l'écrivain et le droit de l'esprit humain, devait être sacrifié, ce
serait, certes, le droit de l'écrivain, car l'intérêt public est notre
préoccupation unique, et tous, je le déclare, doivent passer avant nous.
Victor Hugo.
Avatar
JKB
Le 21 Apr 2012 19:04:59 GMT,
Emmanuel Florac écrivait :
Le Sun, 15 Apr 2012 08:32:41 +0000, JKB a écrit:

Pas possible parce que le cp -p vient de apt-get et de install... Le
script qui intercepte le -p est la seule solution viable.



Il vient de me venir une autre idée atroce : tu fais l'install sur un
autre FS, puis tu copies joyeusement le résultat dans le jffs2 avec cp -
a, et voilà le travail.



C'est exactement ce que je fais. C'est lors des mises à jour que ça
coince...

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr