94 votes

Quelle est une bonne solution pour le marquage des fichiers sous linux ?

J'ai cherché un moyen d'étiqueter mes fichiers et de les rechercher/filtrer en fonction de ces étiquettes.

Voici mes ( actualisé ) exigences :

  • tout fichier lisible par l'utilisateur peut être étiqueté librement
  • un utilisateur peut rechercher des fichiers correspondant à un ou plusieurs tags
  • les fichiers peuvent être déplacés sans perdre les balises précédemment associées
  • le système peut être sauvegardé facilement
  • aucune dépendance à l'égard d'un environnement de bureau
  • si une interface graphique est impliquée, il doit y avoir une solution de repli pour le client.

J'ai espéré que le système de fichiers et les coreutils puissent gérer cela, mais je n'y ai pas encore assez réfléchi.
En attendant, je vais revoir beagle et metatracker, qui ont été mentionnés ici, et voir comment ils se comportent.


Ok, donc beagle a d'énormes dépendances gnome, et tracker est okish, mais a toujours quelques dépendances que je n'aime pas....

J'ai fait quelques recherches supplémentaires, et la solution pourrait très bien être la suivante attributs de fichiers étendus .
C'est une solution native pour la plupart des systèmes de fichiers récents, mais ils ne sont pas encore très bien supportés (la plupart des coreutils les détruisent par défaut, cp par exemple a besoin du flag -a pour les préserver). J'aimerais connaître votre avis sur leur utilisation pendant que je m'essaie moi-même à quelques bidouillages, bien que cela puisse justifier une nouvelle question.

1voto

rahul sonwanshi Points 43

J'ai créé un petit programme qui utilise SQLite dans ce but. Il a répondu à mon besoin, mais peut-être qu'il vous aidera aussi :

https://github.com/alvatar/dfym

Le seul problème de cette approche est qu'elle ne se synchronise pas avec les déplacements et les suppressions, mais elle résout le problème pour les fichiers relativement statiques.

0voto

Colin Points 142

Je suggère de jeter un coup d'œil à un système de contrôle de version tel que Subversion pour ce genre de fonctionnalités au-delà du système de fichiers. Certains peuvent vous convenir mieux que d'autres, mais de manière générale :

  • Beaucoup supportent le balisage (certainement subversion).
  • Beaucoup sont multiplateformes : Windows, Mac, Linux, pratiquement tous les Unix.
  • Beaucoup ont à la fois des interfaces graphiques et des clients en ligne de commande.
  • Beaucoup d'entre eux ont déjà des liens avec votre langage de programmation/scripting préféré.
  • Beaucoup sont facilement sauvegardés.
  • Beaucoup sont conçus pour être très facilement partageables d'une manière ou d'une autre.
  • Beaucoup vous permettent de contrôler l'accès.
  • Vous n'avez pas à réinventer la roue.
    • Vous apprenez et utilisez des commandes/outils standard déjà utilisés par des millions de personnes.
  • Vous pouvez l'installer aujourd'hui pour votre dépôt d'OS préféré ; apt-get install, yum install
  • Vous bénéficiez également d'une gestion des versions "gratuite".

Un exemple de cli avec Subversion : ~/svn/atestrepository: $ svn propset mytag "something" dir1 property 'mytag' set on 'dir1' $ svn propset myothertag "nothing" dir1/file1 property 'myothertag' set on 'dir1/file1' $ svn propset anemptytag "" dir1/file2 property 'anemptytag' set on 'dir1/file2'

$ svn propget -R mytag dir1 - something ~/svn/atestrepository: $ svn propget -R myothertag dir1/file1 - nothing $ svn propget -R anemptytag dir1/file2 - $ svn proplist dir1/file2 Properties on 'dir1/file2': anemptytag svn:keywords

Je ne recommanderais pas ces outils pour les gros fichiers binaires (de la taille d'un gigaoctet) qui changent régulièrement, mais pour tout le reste, ils ont déjà fait leurs preuves et s'adaptent à de très grandes tailles.

0voto

justsomeguy Points 9

TMSU

TMSU est un outil permettant de baliser vos fichiers. Il fournit un simple de commande simple pour appliquer des balises et un système de fichiers virtuel pour vous donner une vue basée sur les balises de vos fichiers à partir de n'importe quel autre programme.

TMSU ne modifie pas vos fichiers de quelque manière que ce soit : ils restent inchangés sur disque, ou sur le réseau, où que vous les ayez placés. TMSU maintient sa propre base de données et vous obtenez simplement une vue supplémentaire, que vous pouvez monter où vous le souhaitez, en fonction des balises que vous avez définies. monter où vous voulez, en fonction des balises que vous avez définies.

Je suis surpris que personne ne l'ait mentionné.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X