Contenu | Rechercher | Menus

Annonce

T-shirt Disco Dingo : Série limitée

Ubuntu 19.04
T-shirt Ubuntu-FR « Disco Dingo » en série limitée !
Prix spécial pré-vente (15€) jusqu'au 21 avril 2019.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 03/02/2019, à 08:50

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

(3 février 2019) Version 1.0.2

Nouveautés par rapport à la 1.0.0

  • Fix : rare "race condition" qui peut provoquer l'affichage d'un répertoire vide à tort.

  • Modification API : l'API pour récupérer l'espace libre a été limitée à 1 appel toutes les 5 minutes.

  • Optimisation : suppression des locks en écriture, on se base sur l'état du serveur.

  • Optimisation : suggestion team 1fichier, le rafraîchissement de l'espace libre n'est demandé que si nécessaire.

  • Fonctionnalité : possibilité de créer un répertoire

  • Documentation : enrichissement des pages du manuel pour expliquer les nouveautés et les effets de bord possibles.

IMPORTANT
Il serait étonnant que vous soyez tombé dans le "bug" signalé (race condition), il est cependant important de mettre à jour la version pour la modification que 1fichier a fait de l'API permettant la récupération de l'espace libre.
En effet, la limitation à 1 appel par 5 minutes de cette API a été faite suite à des abus.

1fichierfs était déjà optimisé pour ne pas appeler cette API à tort et à travers, mais de fait elle était appelée : à chaque opération d'écriture (renommage, suppression, etc...) et à chaque refresh (par trigger, par temps, ou suite à une erreur récupérée). Cela pourrait alors vous faire passer pour quelqu'un qui "abuse" dans ces cas d'usage particulier, avec un possible bannissement temporaire de votre IP.
La présente version de 1fichierfs respecte la limitation qui vient d'être mise : même si un rafraîchissement a été demandé, l'API ne sera pas appelée de nouveau si elle a déjà été appelée dans les 5 minutes précédentes.
Pour les détails des possibles effets de bord transitoires, vous pouvez consulter le manuel.

Dernière modification par Zakhar (Le 03/02/2019, à 08:55)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne

#52 Le 04/02/2019, à 08:22

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Merci à toi pour la mise à jour. Ca évitera le ban temporaire.

Hors ligne

#53 Le 05/02/2019, à 18:47

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Mais cette API (pour récupérer les quotas) est décidément bien instable ! Ce soir elle ne rend plus les quotas...
Le côté positif c'est que ça teste la branche du programme qui vérifie que le JSON est bien ce qu'on attend. Comme ce n'est pas le cas, le programme se comporte ainsi que programmé, c'est à dire qu'il dit qu'il y a un espace libre de 0 sur 2To, et continue son travail normalement.

Ça me rassure sur ces parties du codes qui ne sont testées qu'en cas de comportement "bizarre" du serveur !

La log système est aussi normale pour la réponse inattendue du serveur :

$ grep 1fichierfs /var/log/syslog
Feb  5 18:25:08 zakhar-PC 1fichierfs: [1fichierfs     0.826159] ERROR: Unexpected/Ignoring: did not find cold_storage key in json response (URL=https://api.1fichier.com/v1/user/info.cgi)

Edit :
La team 1fichier vient de répondre (super rapide !) qu'effectivement c'était en refonte, et ça devrait être livré demain.
Je coderai les éventuelles modifications ce W.E., et en attendant on vivra avec un driver qui prétend qu'il n'y a pas d'espace libre. sad

Dernière modification par Zakhar (Le 05/02/2019, à 18:58)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne

#54 Le 09/02/2019, à 19:15

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

(9 février 2019) Version 1.0.4

Nouveautés par rapport à la 1.0.2

  • Fix : réparation de la version 32bits. (Si vous utilisez la 64bits, vous n'êtes pas concernés).

  • Modification API : l'API pour récupérer les quotas a été totalement refondue, elle semble désormais logique et stable. Le programme a été adapté pour nouvelle API.

  • Amélioration : les tailles maximales/libres retournées sont plus logiques, tenant compte du hot_storage.

  • Amélioration : protection du fichier refresh contre les effacements, renommage, etc...

  • Modification ATTENTION : le refresh-time est désormais en minutes. Cela évite de créer du spam avec un refresh-time trop bas et de risquer le bannissement.

  • Documentation : mise à jour des pages du manuel pour expliquer les nouveautés.

La mise à jour va vous faire récupérer la fonctionnalité de restitution de l'espace libre et consommé.
En effet, l'API utilisée a changé deux fois... mais là ça semble être bon.
Le retour est plus logique, l'espace total est calculé ainsi : hot + cold autorisé
L'espace disponible est : cold autorisé - cold (ou zéro si cold est déjà au dessus de cold autorisé)

ATTENTION : comme expliqué dans le "changelog", si vous utilisiez le paramètre --refresh-time, veuillez noter qu'il est désormais en minutes.

Donc si vous lanciez avec :

--refresh-time=1200

Ce qui était précédemment 1200 secondes (donc 20 minutes), il faut désormais lancer avec :

--refresh-time=20

Pour avoir le même effet.

Cette modification a été faite pour éviter que vous ne génériez du 'spam' en appelant trop les APIs ls.cgi, si vous aviez voulu mettre un paramètre trop bas comme 1 seconde, et ainsi être banni temporairement.
Le minimum de rafraîchissement est donc désormais à 1 minute (car zéro veut dire pas de rafraîchissement), ce que la team 1fichier considère comme "raisonnable".

Dernière modification par Zakhar (Le 09/02/2019, à 21:03)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne

#55 Le 23/02/2019, à 11:46

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

(23 février 2019) Version 1.0.5

Nouveautés par rapport à la 1.0.4

  • Modification API : l'API pour renommer les répertoires est enfin complète (à ma suggestion). Le programme peut donc désormais renommer/déplacer des fichiers ou des répertoires.

  • Amélioration : sur la gestion des permissions, prise en compte des options noexec, nosuid.

  • Bugs mineurs : sur la gestion du refresh après une opération d'écriture en cas d'erreur.

La mise à jour est mineure, il n'y a pas d'urgence à la faire si vous n'aviez pas l'intention de renommer/déplacer des répertoires.
Les bugs mineurs sur le "refresh" sont contournables en forçant le rafraîchissement.

C'est cependant la version "complète"... en attendant la "future direction" ci-dessous.


Future direction :
La partie écriture en montant une "union" fonctionne unitairement via un script, mais ce n'est pas très pratique ni très stable.
En effet, aufs ne comprend pas très bien qu'on ait un filesystem sensé "read-only" qui peut toutefois faire des opérations d'écriture.

La direction future est donc d'inclure l'option écriture.
Compte tenu des possibilités de l'API, la seule façon "réaliste" de le faire passe par une écriture sur un support local puis un "upload" une fois que le fichier a été fermé.
On pourrait se passer de cela si le FTP était accessible via la clé d'API (ma suggestion) mais ce n'est pas le cas actuellement.

Soyez patient pour la partie écriture... ça prendra un peu de temps !

Dernière modification par Zakhar (Le 23/02/2019, à 12:04)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne

#56 Le 27/02/2019, à 17:16

jaxx21

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Merci pour tes avancés. J'ai réinstallé ton script sur un vps en 2 ou 3 lignes à partir de ton ppa et tout fonctionne niquel.

sudo add-apt-repository ppa:alainb06/astreamfs
sudo apt-get update
sudo apt-get install 1fichierfs

ca met la dernière version en date il me semble que tu avais dit.

Donc, pas de crash, ca tourne impec.Rapide dans plex. Le Rename, et surtout le "delete", une tuerie, car j'avais pas mal de sous dossier, et sur leur site direct, ça voulais pas effacer a cause de dépendance qu'il disent, même si tous les dossiers étaient vides. Trop naze. Que la, par FTP, je vais dans le dossier 1fichier et boom.je delete tout. Ils ont appliqué la règle du 2 To de cold storage, ils m'ont effacé (après plusieurs relance) plusieurs To. Donc très utile le delete de dossiers vides..

Merci pour ton travail acharné wink

Hors ligne

#57 Le 27/02/2019, à 18:34

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

C'est pas fini car il y a encore des modifications de l'API... enfin, ça va dans le sens de la simplification du driver, donc c'est tout bon !..

Oui, ils ont activé les "quotas". Personnellement je ne conserve pas les films de vacances de Tonton Jules que j'ai déjà visionnés, donc je n'ai pas le problème. tongue

Après, un des disques de mon NAS donne des signes de faiblesse, et les prix au To qu'ils facturent sont très "raisonnables" quand on compare à racheter un disque, et gérer un NAS + électricité et tout le tintouin. Donc quand la partie écriture sera à peu près opérationnelle, je songe à prendre une "extension" pour y mettre mes sauvegardes. On verra !..

jaxx21 a écrit :

ca met la dernière version en date il me semble que tu avais dit.

Oui c'est bien ça. Tu peux le vérifier en faisant :

$ 1fichierfs -V
Copyright (C) 2018-2019  Alain Bénédetti
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under the conditions of the GPLv3 or later, at your convenience.
Full license text can be found here: https://www.gnu.org/licenses/gpl-3.0.html

1fichierfs: version 1.0.5
FUSE library version: 2.9.4
fusermount version: 2.9.4
using FUSE kernel interface version 7.19

Tu dois avoir la version 1.0.5 de 1fichierfs.
Les versions de FUSE library et fusermount et kernel sont peut-être différentes de celles affichées ici, qui sont celle de ma Ubuntu 16.04LTS

jaxx21 a écrit :

Que la, par FTP, je vais dans le dossier 1fichier et boom.je delete tout.

Ah, tu veux dire que tu accèdes en FTP aux fichiers de ton serveur.
Mais oui, quel que soit le mode d'accès (SSH, FTP, partage réseau, ...), si tu supprimes un répertoire ça va automatiquement supprimer aussi tout ce qui est dedans récursivement, et le driver s'occupe de passer les bons appels d'API pour faire ça sur ton compte 1fichier.
Dans le cas d'une grosse arborescence à supprimer c'est effectivement infiniment plus pratique que sur l'interface web où tu ne peux supprimer qu'un répertoire vide.... et il faut donc commencer au plus profond de l’arborescence en supprimant manuellement les trucs 1 par 1... pénible !

Dernière modification par Zakhar (Le 03/03/2019, à 18:57)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne

#58 Le 09/03/2019, à 10:07

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

(9 Mars 2019) Version 1.0.8

Nouveautés par rapport à la 1.0.5

  • Modifications API : les 3 opérations concernées -mv fichiers et répertoires- et liens durs sont désormais atomiques dans tous les cas. Le programme est adapté.

  • Documentation : la documentation est mise à jour pour refléter cela -c'est une simplification, plus besoin d'expliquer la non-atomicité !..

  • Bugs mineurs documentation : les exemples de la documentation dataient d'avant le changement de refresh-time en minutes. Correction faite.

Sauf si vous faites beaucoup de renommages (liens durs...) il s'agit d'une version mineure.
L'API reste rétro-compatible avec les versions de 1fichierfs précédentes.

Dernière modification par Zakhar (Le 09/03/2019, à 10:08)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne

#59 Le 27/03/2019, à 21:47

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

[Information]

L'API est H.S. depuis hier, mardi 26 mars 2019 autour de 21:30 (HTTP 502). Donc déjà 24h de panne à l'heure de ce post.
Pas de nouvelle de la team 1fichier sur le retour en fonctionnement.
Le driver générique (astreamfs) fonctionne toujours parfaitement, avec l'aide du script joint, mais bien sûr n'offre pas les fonctions suppression, renommage, etc...

[Edit] API en fonction à nouveau - Jeudi 28 mars 2019 - 7:30.

Dernière modification par Zakhar (Le 28/03/2019, à 07:31)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne

#60 Le 28/03/2019, à 21:07

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

(24 Mars 2019) Version 1.0.9

Nouveautés par rapport à la 1.0.8

  • Modifications API - Optimisation majeure : l'API listant les sous-répertoires d'un répertoire donné, permet désormais de récupérer aussi les fichiers contenus dans ce répertoire. Cela permet une optimisation majeure : pour lister le contenu d'un répertoire, on passe de deux requêtes à une seule. La différence de vitesse est très notable quand on affiche l'arborescence avec un navigateur de fichier ou autre.

  • Optimisation : les algorithmes de suppression et renommage ont été améliorés pour ne pas rafraîchir les répertoires quand ce n'est pas nécessaire. L'amélioration sera particulièrement visible si on supprime un grand nombre de fichiers dans un même répertoire.

  • Bug mineur : la date des répertoires n'était pas récupérée depuis le serveur. Correction effectuée.

  • Amélioration (résilience) : il y a désormais un time-out de connexion à 30 sec. Cela évite de trop attendre en cas de panne de la liaison ou du serveur.


Pas de corrections majeure, mais les optimisations réalisées grâce aux changement des APIs valent le coup de faire la mise à jour. Le driver est visiblement bien plus réactif pour le listage et le parcours de arborescence, ou quand on a beaucoup de suppressions à faire.


Piste future (avant la partie "write") : l'optimisation sur la lecture des répertoires + fichiers va permettre une simplification majeure de l'organisation de la gestion de l’arborescence. Cela n'apportera pas de fonctionnalité, mais permettra d'avoir un programme plus simple, donc plus maintenable, et avec moins de bugs potentiels.

Dernière modification par Zakhar (Le 28/03/2019, à 21:10)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne

#61 Le 28/03/2019, à 21:36

lynn

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Bonjour Zakhar,

J'ai mis à jour mon système et la version de 1fichierFS est passée de 1.0.8 à 1.0.9 mais par contre, j'ai l'erreur suivante :

[1fichierfs     0.235853] ERROR: Ignoring: did not find "items":[{...}] for `/` (id=0)!

Ma ligne de montage

1fichierfs -o --api-key=@${_key},refresh-file=000_refresh.txt,refresh-time=2 "${_mount_point}"

Que dois-je faire (ou ne pas faire...) pour que ça refonctionne ? Merci. smile


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

En ligne

#62 Le 28/03/2019, à 22:03

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Est-ce bloquant ?
En principe l'erreur est juste journalisée.
Je jette un oeil.

[Edit] Oui je vois... si ça se produit sur la racine, ça va bloquer. Le contournement en attendant que je corrige, c'est simplement de mettre un fichier quelconque à la racine, ainsi l'erreur n'arrivera pas.
Une fois que ce sera corrigé, tu pourras enlever le fichier qui permet de countourner le bug.
Désolé !

Merci du signalement.

[Edit 2]
... mais en fait c'est très étrange, ce bug ne peut arriver que si le répertoire concerné est totalement vide. Je l'ai sur un de mes répertoires de test qui est totalement vide.
Mais il n'est bloquant que sur la racine. Donc si tu rencontres le bug, ça veut dire que ta racine est totalement vide... et dans ce cas je ne vois pas bien l'intérêt de monter le truc... sauf effectivement pour m'aider à debugger, ce qui est louable !

Peux-tu me dire si tu es dans ce cas ?

[Edit 3] Comme cette partie de code disparaîtra avec le remaniement annoncé, je vais juste mettre en WARNING au lieu de ERROR, ce qui rendra le message non bloquant dans tous les cas.

[Edit 4] Comme je vois que tu as mis un "refresh" très court, assorti d'un fichier de refresh, c'est peut-être effectivement un cas d'usage d'avoir un stockage cloud vide, y copier à l'instant T la vidéo de vacances de Tonton Jules, regarder la vidéo en stream, puis la supprimer du cloud une fois vue. Dans ce cas, effectivement, le montage + rafraîchissement est utile même quand on a parfois un stockage vide. Effectivement, cet usage n'était pas prévu/testé !

En tout cas la modification rapide est faite et packagée. Désormais tu devrais juste avoir un warning sans conséquence, même en cas d'usage de stockage distant vide.

Il faut attendre quelques minutes que les serveurs du PPA compilent et mettent en ligne la version, et tu devrais pouvoir à nouveau faire un update/upgrade.
C'est la version 1.0.9.1

La modification cite Lynn@ubuntu et explique brièvement le cas.

[Edit 5] PPA a fini son travail, tu peux faire l'update.

Dernière modification par Zakhar (Le 28/03/2019, à 23:01)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne

#63 Le 29/03/2019, à 06:49

lynn

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Le stockage me sers surtout de façon temporaire et c'est vrai quand je n'en ai plus besoin il est souvent vide.

Merci pour la résolution (très rapide) du bug. smile


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

En ligne

#64 Le 29/03/2019, à 18:24

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

Pas de problème Lynn !

Je mettrai dans les tests ton cas d'usage d'un stockage potentiellement vide. Ce sont des cas "aux limites" auxquels on ne pense pas forcément quand on développe.


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne

#65 Le 06/04/2019, à 12:53

Zakhar

Re : [1fichier] "Montez" votre stockage 1fichier en une commande simple !

(6 Avril 2019) Version 1.0.10

Nouveautés par rapport à la 1.0.9

  • Modifications API - Simplification majeure : suite à la modification de l'API de listage des répertoires (cf 1.0.9 ci-dessus), une simplification majeure sur la façon de récupérer la liste de fichiers a été réalisée dans le programme.

  • Bug mineur : en cas d'erreur 403 sur l'API permettant de lire l'espace disponible, dans certains cas cette donnée n'était plus jamais mise à jour. L'algorithme a été complètement revu, cela devrait désormais se mettre à jour dans tous les cas (au bout de 5 minutes, contrainte de l'API 1fichier).

  • Amélioration (résilience) : dans le cas improbable (et normalement "impossible"...) où la taille du fichier ne correspond pas à ce qu'on a en cache, le programme ne se met pas à boucler en demandant des tickets de téléchargement.

  • Documentation : corrections mineures dans le manuel (français et anglais).


Dois-je mettre à jour ?
La présente version n'apporte aucune nouvelle fonctionnalité (sauf correction du bug mineur signalé).
C'est juste la fin du "nettoyage" consécutif au changement de l'API de listage des répertoires. Malgré les évolutions (bug mineur corrigé, meilleure résilience), le programme s'est réduit d'une 100aine de lignes tant la simplification apportée par cette nouvelle API est majeure.
Moins de code = moins de bugs potentiels... c'est toujours bon à prendre !..

Donc en résumé, hormis si vous avez constaté le bug mineur signalé, la mise à jour est totalement facultative.

Dernière modification par Zakhar (Le 06/04/2019, à 12:56)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

En ligne