bup-midx - créer un fichier multi-index (.midx) à partir de plusieurs fichiers .idx
bup midx [-o outfile] <-a|-f|idxnames...>
bup midx crée un fichier multi-index (.midx) à partir d'un ou plusieurs fichiers d'index git pack (.idx).
Remarque : vous ne devriez plus avoir besoin d'exécuter cette commande à la main. Il est exécuté automatiquement par bup-save(1) et des commandes similaires.
utilisez le nom de fichier de sortie donné pour le fichier .midx. La valeur par défaut est générée automatiquement.
générer automatiquement de nouveaux fichiers .midx pour tous les fichiers .idx où cela serait approprié.
forcer la génération d'un seul nouveau fichier .midx contenant tous vos fichiers .idx, même si d'autres fichiers .midx existent déjà. Cela se traduira par les performances de sauvegarde les plus rapides, mais peut prendre beaucoup de temps à s'exécuter.
spécifiez le répertoire contenant les fichiers .idx/.midx avec lesquels travailler. La valeur par défaut est $BUP_DIR/objects/pack.
nombre maximum de fichiers .idx à ouvrir à la fois. Vous pouvez l'utiliser si vous disposez d'un nombre particulièrement restreint de descripteurs de fichiers, de sorte que midx puisse se terminer (bien que peut-être de manière non optimale) même s'il ne peut pas ouvrir tous vos fichiers .idx à la fois. La valeur par défaut de cette option devrait convenir à la plupart des gens.
valider un fichier .midx en s'assurant que tous les objets contenus dans les fichiers .idx qu'il contient existent à l'intérieur du .midx. Peut être utile pour le débogage.
$ bup midx -a
Merging 21 indexes (2278559 objects).
Table size: 524288 (17 bits)
Reading indexes: 100.00% (2278559/2278559), done.
midx-b66d7c9afc4396187218f2936a87b865cf342672.midxPar défaut, bup utilise des fichiers pack au format git, qui consistent en un fichier pack (contenant des objets) et un fichier idx (contenant une liste triée de noms d'objets et leurs décalages dans le fichier .pack).
Les fichiers idx normaux sont pratiques car cela signifie que vous pouvez utiliser git(1) pour accéder à vos ensembles de données de sauvegarde. Cependant, les fichiers idx peuvent devenir lents lorsque vous avez beaucoup de packs très volumineux (ce que git n'a généralement pas, mais bup le fait souvent).
Les fichiers bup .midx consistent en une seule liste triée de tous les objets contenus dans tous les fichiers .pack auxquels ils font référence. Cette liste peut faire l'objet d'une recherche binaire par étapes d'environ log2(m), où m est le nombre total d'objets.
Pour accélérer encore la recherche, les fichiers midx ont également une table de sortance de taille variable qui réduit les n premières étapes de la recherche binaire. Avec l'aide de cette table de sortance, bup peut affiner la page du fichier midx dans laquelle se trouverait un identifiant d'objet donné (s'il existe) avec une seule recherche. Ainsi, les recherches typiques n'auront besoin d'échanger que deux pages : une pour la table de sortance et une pour l'identifiant de l'objet.
Les fichiers midx sont particulièrement utiles lors de la création de nouvelles sauvegardes, car la recherche d'un objet inexistant dans le référentiel nécessite nécessairement une recherche dans tous les fichiers d'index pour s'assurer qu'il n'existe pas. (La recherche d'objets qui existent peut être optimisée ; par exemple, des objets consécutifs sont souvent stockés dans le même pack, nous pouvons donc rechercher celui-ci en premier à l'aide d'un algorithme MRU.)
bup-save(1), bup-margin(1), bup-memtest(1)
Fait partie de la suite bup(1).
Avery Pennarun apenwarr@gmail.com.