Accueil > Dossiers > Les Émulateurs > Utiliser rsync pour mettre à jour sa collection de ROMs MAME.

Utiliser rsync pour mettre à jour sa collection de ROMs MAME.

mercredi 16 octobre 2019, par sky

Le but de ce guide est de montrer comment fusionner la collection de ROMs MAME, avec le dossier de mise à jour différentiel. Cela se fait avec rsync, une commande du terminal.

Cet article s’adresse, donc, à des utilisateurs n’ayant pas peur de jouer avec les lignes de commande.

Si vous ne connaissez pas la commande rsync, vous pouvez commencer par jeter un oeil ici.

Tous les derniers mercredis du mois, l’équipe en charge de MAME, l’émulateur multi-arcade, sort une nouvelle version de son application. A chaque nouvelle version, l’émulation de certains jeux change, et il est nécessaire de mettre à jour les ROMs des jeux correspondant.

Mais la collection complète de MAME pesant plusieurs dizaines de giga-octets, il est préférable de récupérer le différentiel uniquement.

C’est ici que rsync intervient, car il va permettre de fusionner le dossier existant de collection et le dossier de mise à jour, au lieu de faire ce travail manuellement.

Dans un terminal, la commande que j’utilise, est :

« rsync -a /Chemin/vers/dossier/mise-a-jour/ /Chemin/vers/romsets/MAME »

Il faut, évidemment, remplacer les chemins de l’exemple par les chemins réels de vos dossiers.

Petite astuce, vous pouvez glisser les dossiers l’un après l’autre, après avoir taper rsync -a en mettant bien un espace entre deux.

Comme indiqué dans le tutoriel sur rsync, il est important de bien mettre le dernier slash du dossier différentiel, afin de ne pas se retrouver avec le dit dossier dans notre collection. Ce qui reviendrait à une simple copie d’un dossier dans l’autre, ce qui est totalement inutile, et ne nécessite pas rsync.

Ainsi l’ensemble des fichiers situés dans la mise à jour se retrouvent dans le romset, y compris les éléments des dossiers CHD et SL, si vous les conservez au même endroit.

Si vous souhaitez avoir plus d’information sur le transfert, vous pouvez agrémenter la commande des paramètres -vh et —progress.

« rsync -avh —progress /Chemin/vers/dossier/mise-a-jour/ /Chemin/vers/romsets/MAME »

Le paramètre -v détaillera la copie de chacun des fichiers. Tandis que le paramètre —progress indiquera la progression de chacune des copies, utile pour les gros fichiers comme les CHD. Enfin, le paramètre -h demandera à ce que les valeurs affichées dans le "progress" soit lisibles par un humain, utilisant les K(ilo), M(ega), G(iga), au lieu de la valeur en octets.

Ce n’est pas plus compliqué que cela.

Messages

  • Très bien comme procédure. Je vais tester.
    Jusqu’ici j’utilisais les procédures de Transmission pour faire pointer le contenu du torrent vers mon dossier de roms et demander une vérification des données locales afin qu’il compare les nouvelles données aux anciennes déjà présentes. Transmission donc ne téléchargeait plus que les nouvelles. Mais c’est très long sur plus de 60Go. Là c’est plus efficace visiblement.

  • N’hésite pas à partager ton impression, pour, savoir quelle solution tu préfères.

    Attention, ici, cela te fera une copie des fichiers. Cela permet de conserver le diff si on le souhaite, ou de prendre beaucoup de place pour rien si on le souhaite pas.

  • On dirait que ça marche mais j’ai
    rsync error : some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52.200.1/rsync/main.c(996) [sender=2.6.9]

    Et lorsque j’utilise l’autre méthode j’ai encore un écart de 2,5%. Mais le torrentzip est très rigoureux sur les structures des fichiers.

  • De souvenir, j’ai aussi l’erreur, cela correspond à certains fichiers macOS qui ne sont pas copiables. A vérifier au prochain "merge", dès que MAME 0.215 sera dispo dans brew ;)

    Un écart de 2.5% sur quoi ? Je n’ai pas compris.

  • Si je compare le dossier des roms après mise à jour par rsync, avec le torrent complet des roms 0.215, Transmission me dit qu’il faut télécharger 2,5% des 60 go. J’utilise l’archive en roms "mergées" et le problème c’est que l’update ne doit contenir que les nouveaux fichiers des roms et pas les roms entières modifiées. En archive "splittées" cela doit mieux correspondre, mais je préfère les roms mergées car quand je le copie je sais qu’il ne manque rien et cela prend moins de place et de fichiers.

Un message, un commentaire ?

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

ConnexionS’inscriremot de passe oublié ?