Problème avec l'outil de transfert de données : bar


5 posts
by Deanst » Sat Jun 10, 2017 12:06 pm
Bonjour à tous,

En tant que débutant confirmé, j'essaye actuellement de me faire un script plutôt basique permettant de faire une image de ma carte sd vers mon disque dur externe usb, puis de la chiffrer etc, mais ça c'est du détail.
Le soucis est que je souhaiterais utiliser l'outil bar qui permet d'avoir une idée de la progression de la sauvegarde, mais lorsque je lance la commande la création de l'image foire toujours à 2GB avec ce message :
Code: Select all
sudo bar --in-file /dev/mmcblk0 --out-file /blablabla/raspbian_test.img
*** ERROR: [27]: File too large:   0:02:01
           write error
   2.0GB at   16.9MB/s  elapsed:   0:02:01
Copied: 2147483647B (2.0GB)
Time: 02:01
Throughput: 17747798B (16.9MB/s)

J'ai donc testé avec dd pour voir si le même problème survenait, et là comme par magie tout se déroule bien
Code: Select all
sudo dd bs=4M if=/dev/mmcblk0 of=/blablabla/rasbian_test.img
1895+0 records out
7948206080 bytes (7.9 GB) copied, 438.585 s, 18.1 MB/s

Du coup j'aimerai bien comprendre le pourquoi du comment, et de préférence trouver une solution à mon problème !

Merci d'avance, Deanst.
Posts: 2
Joined: Sat Jun 10, 2017 11:44 am
by jelopo » Sun Jun 11, 2017 8:19 am
Bonjour,

Intéressant, je ne connaissait pas cette commande. :geek:
L'erreur provient d'un bug voir la section BUGS de la commande man bar
Que donne la commande avec l'ajout de l'option --size (voir section EXAMPLES toujours dans man bar) ?

A+
Last edited by jelopo on Sun Jun 11, 2017 8:36 am, edited 1 time in total.
Posts: 1089
Joined: Wed Oct 17, 2012 7:53 pm
by jelopo » Sun Jun 11, 2017 8:36 am
Re-bonjour,

Sinon, dd avec l'option status=progress doit donner un bon résultat.
Par contre il faut avoir GNU coreutils en version 8.24 minimum, (à partir de Raspbian Jessie - je crois ).

A+
Posts: 1089
Joined: Wed Oct 17, 2012 7:53 pm
by Deanst » Sun Jun 11, 2017 11:52 am
Bonjour,

Merci pour ton intervention rapide, j'ai effectivement regardé la section bug comme indiqué et il est dit que je dois utiliser l'option O_LARGEFILE pour la fonction open(), mais je n'ai aucune idée de comment faire ça vu ma petite expérience dans le domaine.

J'ai également déjà testé status=progress avec dd mais je ne suis qu'à la version 8.23-4 de coreutils bien que sous jessy donc ça ne fonctionne pas.
Posts: 2
Joined: Sat Jun 10, 2017 11:44 am
by jelopo » Mon Jun 12, 2017 7:54 am
Bonjour,

@Dean
je dois utiliser l'option O_LARGEFILE pour la fonction open()

Je pense que c'est lors de la compilation de bar. Il est sans doute plus simple d'utiliser l'option size.

A+
Posts: 1089
Joined: Wed Oct 17, 2012 7:53 pm