J’aimerais savoir si il existe un moyen que le système de fichier détecte automatiquement les doublons de fichiers sur le disque afin qu’il n’utilise qu’une seul fois l’espace requis et fasse un lien symbolique vers les autres fichiers.
L’utilisateur ne pas faire un lien symbolique de lui même parce qu’il ne peut pas savoir si il y a déjà ce fichier sur le disque (oui il est simplet )
Une autre solution serait de faire un script qui se lance régulièrement et qui fait des checksums afin de détecter les doublons et fait ensuite des liens symboliques. mais je ne vous cache pas la lourdeur de cette solution…
De toute façon se sera très très lent. C’est pour ça que je n’ai jamais vu un fs qui propse ça.
Après, on peut te faire un petit script qui compte le nombre de doublons. Ca serait déjà ça non?
ps : Merci d’enlever ton image. Ok on ne voit pas le nom mais bon dans ce contexte tout le monde comprend à quoi elle fait référence et donc tu ne respectes pas la charte de ce forum. Il y a des forums politiques pour ça. Merci
Edité le 10/06/2007 à 16:33
Ok
Lançons nous dans le script alors
le problème c’est que les fichiers n’ont pas forcément le même nom… Donc à part un md5 ou sha1 …
Pour gagner en temps, il faudrait d’abord faire une comparaison de taille puis un md5 entre les fichiers de même taille.
Et ensuite seulement un lien symbolique (j’y tient car c’est pour espace ftp ou chaque utilisateur est chrooté mais il y a de forte chances qu’ils envoient un même fichier )
Je viens d’avoir une petite idée
La première fois on fait les md5 et on les met dans une bdd (genre sqlite, je sais pas si il y a un support dans bash).
Ensuite on “md5” les nouveaux fichiers et ont fait une requête dans la bdd…
et donc si un utilisateur modifie un fichier lié chez les autres, tout le monde va subir la modification… à supposer que tu decide de casser la securité de ton système en donnant le droit d’écrire dans ces fichiers à tout le monde… pas réaliste
+1, je pense pas que ce soit une bonne solution de faire ca de cette maniere.
Metaldark -> quel est le probleme derriere ton besoin ? probleme de place ? fichiers tres volumineux ?
EDIT : si tu leur donnes le droit en copie alors le droit de modification est forcement accorde…
Edité le 11/06/2007 à 10:22
J’ai déjà des quotas mais ce que je cherche, c’est d’optimiser l’espace disque car je sais que les utilisateurs mettent les mêmes fichiers (vision un peu exagéré mais en gros c’est ca).
C’est pour pouvoir accueillir plus de monde sans rajouter de disque…
Si je limite à 10Go par utilisateur et que en moyenne, il y a des fichiers de 100mo : 10000/100 = 100 fichiers/utilisateur
Avec 100 utilsateurs sa me fait 10 000 entrées : ce qui est raisonnable
Et, comme j’ai fait une moyenne sur la taille des fichiers (ce qui est une faille dans mon raisonnement), je pense aussi qu’il faut recenser que les fichiers lourd dans la bdd (pas les petits fichiers textes, conf, etc) par exemple >50mo à ce qui limitera aussi la taille de la bdd
Edité le 11/06/2007 à 16:13
il serait possible d’utiliser inotify pour lister les fichiers au fur et a mesure de leur creation puis il suffirait d’utiliser cron pour lancer une tache la nuit qui va calculer les hash des fichiers qui ont ete liste la journee puis creer les liens physiques et supprimer les doublons.
Je doute que les utilisateurs se mettent a copier des dizaines de fichiers de 100 Mo par jour non ?
Quoiqu’il en soit, ca me parait etre une usine a gaz bien peu fiable (sans compter les probs de secu souleves par lithium)…
Un disque de 500Go se negocie autour des 100 (et le 300Go autour des 75)si je ne me trompe pas…
Je ne connais pas le contexte de ton serveur mais ca ne me parait pas etre une depense enorme au vu de son utilite (meme pour un contexte personnel et a fortiori pour un contexte pro)
Edité le 11/06/2007 à 17:34
Je pense que la bonne question est “Pourquoi j’aurais autant de doublons”? Bref agir sur la cause et pas la conséquence.
Eduquer les utilisateurs? Faire un répertoire d’échange pour tout le monde? Ce genre de “solutions” qui ne coûtent rien
Je pense que c’est ce que je vais faire faute de solutions…
Mais je voulais que mes utilisateurs soient bien chrootés chez eux :lol:
Edité le 12/06/2007 à 10:51