15-04-17, 19:21
(Modification du message : 15-04-17, 19:52 par aurelienpierre.)
C'est l'histoire d'un jeune photographe fou qui travaille un peu n'importe comment. Il enregistre ses photos où il trouve de la place, sans trop se soucier de la pérennité de sa méthode d'archivage. Au bout de quelques années, ses 900 Go de photos se trouvent à l'étroit sur son disque dur et il faut les migrer sur un support plus large. 900 Go ça fait un sacré patrimoine visuel et un temps de travail considérable. On ne veut donc rien en perdre
Première option
On a activé les fichiers sidecar .xmp il y a longtemps, on dispose donc de deux copies des retouches de chaque image :
Il y a plusieurs inconvénients à cette méthode :
Deuxième option
On va changer le répertoire source des photos de la base de données de Darktable directement dans la base de données de Darktable. Avantages :
1. Ouvrir un terminal
2. Installer sqlite3, le gestionnaire de base de données :
3. Dans votre répertoire utilisateur (le /home/user), nous allons créer un lien symbolique qui pointe vers le nouveau support de stockage. Darktable pointera vers ce lien symbolique. Si dans 3 ans, vous changez à nouveau de stockage, ou que votre disque dur change de point de montage, il suffira de mettre à jour le lien symbolique (simple et rapide) à la place de remettre à jour toutes les images de la base de données. Dans la commande ci dessous, remplacez $device par le chemin complet de votre nouveau répertoire de stockage.
On a donc à présent un lien Photos dans le home.
4.Faites une sauvegarde de la base de données de Darktable. En cas de problème, ça nous permettra de récupérer l'ancienne :
5. Ouvrez la base de données dans sqlite :
5. Mettre à jour le chemin des images. Changez DEVICE par l'ancien chemin complet des photos et USER par votre identifiant utilisateur :
6. Taper Ctrl + D pour quitter sqlite.
7. Maintenant, il ne reste qu'à copier les images. Vous pouvez utiliser votre navigateur de fichiers habituel (Nautilus, etc.), cependant si votre périphérique est débranché sauvagement en cours de route ou qu'une coupure de courant survenait, vous n'auriez aucun moyen de savoir où s'est arrêtée la copie ni de vérifier l'intégrité des fichiers. Si votre collection d'image comporte, comme la mienne, des portraits de gens disparus et des moments précieux, vous devez vous assurer que vous transférez toutes vos données intègres. Nous allons donc utiliser RSYNC pour effectuer une copie haute sécurité. Installez le :
Puis remplacez ANCIEN-DEVICE et NOUVEAU-DEVICE par les chemins complets de l'ancien support et du nouveau support dans la commande suivante :
Cette commande va sychroniser les deux répertoires en :
8. Ouvrez Darktable et assurez-vous que tout fonctionne. La commande ci-dessous va générer toutes les miniatures manquantes des images de la base de données et constitue une façon détournée de vérifier que tout est à sa place :
Source : http://darktable-users.narkive.com/Pbe5O...ve-folders
Première option
On a activé les fichiers sidecar .xmp il y a longtemps, on dispose donc de deux copies des retouches de chaque image :
- dans la base de données ~/.config/darktable/library.db de Darktable,
- dans les fichiers .xmp présents dans le répertoire des images brutes.
Il y a plusieurs inconvénients à cette méthode :
- avec 900 Go, donc environ 36 000 photos, tout réimporter va prendre infini de temps,
- on va laisser dans la base de données de Darktable des entrées mortes et obsolètes (DT va garder en mémoire les anciennes collections déplacées) ce qui va l'alourdir et la ralentir inutilement. À ce jour, ma base library.db pèse 580 Mo, on ne va pas faire exprès de la surcharger,
- réimporter de façon récursive les dossiers et sous-dossiers d'images risque d'importer des fichiers indésirables dans Darktable (images exportés, fichiers de retouche Photoshop, etc.). Sinon, il faut réimporter à la main toutes les collections une par une, et cf. point 1.
Deuxième option
On va changer le répertoire source des photos de la base de données de Darktable directement dans la base de données de Darktable. Avantages :
- pas de réimportation fastidieuse
- pas de doublons obsolètes dans la base de données
1. Ouvrir un terminal
2. Installer sqlite3, le gestionnaire de base de données :
Code :
sudo apt-get install sqlite3
3. Dans votre répertoire utilisateur (le /home/user), nous allons créer un lien symbolique qui pointe vers le nouveau support de stockage. Darktable pointera vers ce lien symbolique. Si dans 3 ans, vous changez à nouveau de stockage, ou que votre disque dur change de point de montage, il suffira de mettre à jour le lien symbolique (simple et rapide) à la place de remettre à jour toutes les images de la base de données. Dans la commande ci dessous, remplacez $device par le chemin complet de votre nouveau répertoire de stockage.
Code :
ln -s /media/$device/ ~/Photos
On a donc à présent un lien Photos dans le home.
4.Faites une sauvegarde de la base de données de Darktable. En cas de problème, ça nous permettra de récupérer l'ancienne :
Code :
cp ~/.config/darktable/library.db ~/.config/darktable/library.db.backup
5. Ouvrez la base de données dans sqlite :
Code :
sqlite3 ~/.config/darktable/library.db
5. Mettre à jour le chemin des images. Changez DEVICE par l'ancien chemin complet des photos et USER par votre identifiant utilisateur :
Code :
update film_rolls set folder=replace( folder, '/media/DEVICE/', '/home/USER/Photos/' ) where folder like "%media/DEVICE/%";
6. Taper Ctrl + D pour quitter sqlite.
7. Maintenant, il ne reste qu'à copier les images. Vous pouvez utiliser votre navigateur de fichiers habituel (Nautilus, etc.), cependant si votre périphérique est débranché sauvagement en cours de route ou qu'une coupure de courant survenait, vous n'auriez aucun moyen de savoir où s'est arrêtée la copie ni de vérifier l'intégrité des fichiers. Si votre collection d'image comporte, comme la mienne, des portraits de gens disparus et des moments précieux, vous devez vous assurer que vous transférez toutes vos données intègres. Nous allons donc utiliser RSYNC pour effectuer une copie haute sécurité. Installez le :
Code :
sudo apt-get install rsync
Puis remplacez ANCIEN-DEVICE et NOUVEAU-DEVICE par les chemins complets de l'ancien support et du nouveau support dans la commande suivante :
Code :
rsync -r -t -p -o -g --progress --modify-window=1 -c -l -H -D /media/ANCIEN-DEVICE/ /media/NOUVEAU-DEVICE/
- conservant la date initiale des fichiers
- conservant le propriétaire, les groupes et permissions des fichiers,
- gérant la compatibilité avec Windows sur les systèmes FAT32,
- copiant les liens physiques et symboliques tels quels,
- vérifiant toujours la somme de contrôle des fichiers.
- la première passe va copier les fichiers
- la deuxième va les vérifier, et recopier les fichiers avec erreurs.
8. Ouvrez Darktable et assurez-vous que tout fonctionne. La commande ci-dessous va générer toutes les miniatures manquantes des images de la base de données et constitue une façon détournée de vérifier que tout est à sa place :
Code :
darktable-generate-cache
Source : http://darktable-users.narkive.com/Pbe5O...ve-folders
Aurélien, photographe portraitiste, spécialiste calcul.
Développeur de filmique, égaliseur de tons, balance couleur, etc.
darktable est mon métier, pensez à m'aider :
Développeur de filmique, égaliseur de tons, balance couleur, etc.
darktable est mon métier, pensez à m'aider :