Admin/Dev

15
Oct.
2019

[MàJ 28/11/19] Autre cas concret d'utilisation de rsync, avec les mises à jour de MAME

Publié par sky

Mise à jour

Attention certaines mises à jour différentielles que l'on trouve pour MAME comportent des ROMs incomplètes. Les fichiers .zip ne contiennent, eux mêmes, que les éléments qui changent à l'intérieur de la ROM.

L'article ci-dessous ne fonctionne qu'avec un diférentiel de ROMs complètes. Vérifiez donc bien vos sources avant d'appliquer la méthode ci-dessous, au risque de rendre invalides toutes les ROMs contenues dans la mise à jour.

Je travaille déjà sur une solution concernant les différentiels partiels, et je ne manquerai pas de vous proposer un nouvel article à ce sujet.

Nous avions utilisé rsync lors de la mise en place d'une sauvegarde parallèle à TimeMachine. Aujourd'hui, le but de ce guide est de montrer une autre utilisation de rsync, car il va nous permettre de fusionner deux dossiers.

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 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 nous l'avions vu, 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.

 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Ouvrir le panneau de gestion des cookies
Fermer le panneau
Ce site utilise des cookies pour assurer son bon fonctionnement. Il utilise aussi des cookies issues de services tiers permettant de proposer des fonctionnalités avancées. À tout moment, vous pouvez choisir quels services vous souhaitez activer ou refuser, afin de retirer votre consentement quant à l'utilisation des cookies.
 
Personnalisation des services
Vous êtes libre de choisir quels services vous souhaitez activer. En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement. En retirant votre consentement pour certains de ces services, certaines fonctionnalités du site peuvent ne plus fonctionner.
Navigation du site  En savoir plus
Le site écrit un cookie de session permettant son bon fonctionnement et aidant à la navigation. Il ne peut être désactivé.
Utilisation : 1 cookie, enregistre l'identifiant de la session.
Durée de vie : Le cookie est présent pendant toute la session sur le site. Il devient obsolète après 24 minutes d'inactivité.
Obligatoire
Popup Média
Afficher des vidéos depuis Yoube ou Dailymotion.
 
Tout accepter Tout refuser Gérer