Aller au contenu

Comment Mettre


Messages recommandés

Bonjour,

Je souhaite utiliser wget pour rapatrier des fichiers d'une taille supérieure à 10 Mo en mode mirroir, malheureusement la version de wget 1.10 est buggée et ne sait pas comparer correctement les tailles supérieures à 10M. Résultat j'ai un download systématique de l'ensemble des fichiers à chaque déclenchement au lieu de ne récupérer que les nouveaux.

Quelqu'un aurait-il une idée comment mettre à jour cette version assez ancienne (2005) de wget ?

Merci d'avance,

Lien vers le commentaire
Partager sur d’autres sites

Je souhaite utiliser wget pour rapatrier des fichiers d'une taille supérieure à 10 Mo en mode mirroir, malheureusement la version de wget 1.10 est buggéeet ne sait pas comparer correctement les tailles supérieures à 10M. Résultat j'ai un download systématique de l'ensemble des fichiers à chaque déclenchement au lieu de ne récupérer que les nouveaux.

Quelqu'un aurait-il une idée comment mettre à jour cette version assez ancienne (2005) de wget ?

Merci d'avance,

Mettre à jour n'est pas possible et, même si ça l'était, ça ne serait pas conseillé car ce wget-la (/usr/syno/bin/wget) est une version spéciale incluant des extension Synology (pour la prise en compte des ACL par exemple).

Je te conseille plutôt d'ouvrir un dossier de support, en y détaillant bien les étapes permettant de reproduire et constater le problème

Sinon, une solution si tu es courageux, en a les compétences, le temps et la patience, serait d'installer sur un host Linux (physique ou virtuel, c'est égal) la toolchain syno pour ton modèle (DS213+ donc) et de recompiler wget à partir des sources récentes mais en choisissant un autre dossier d'installation que /usr/syno (/usr/local par exemple ou bien un dossier à créer dans volume1)

L'option "optware" n'est, malheureusement pour toi, pas (encore?) disponible pour ton modèle de CPU.

La toolchain à utiliser pour ton DS213+ (architecture "QorIQ") est

http://sourceforge.n...Q Linux 2.6.32/

La documentation pour cross compiler se trouve dans ce PDF

Dans tous les cas, si tu pouvais poster aussi ici le détail d'un exemple de manip mettant en évidence le bug wget, ça nous donnerait peut-être des idées de solution de contournement, qui sait.

Lien vers le commentaire
Partager sur d’autres sites

Oups, je viens de m'apercevoir de quelques conneries dans ce que je viens d'écrire: j'ai confondu "wget" et "rsync"

Donc la partie sur la version spéciale de wget avec les extension ACL est fausse (cela s'applique à rsync)

Mais le reste reste OK et j'ai lu le lien détaillant le problème sur wget entre temps aussi.

Pas sur que le support Syno soit utile dans ce cas...

Lien vers le commentaire
Partager sur d’autres sites

@Sp@r0 : malheureusement ipkg n'existe pas encore pour le DS213+

@CoolRaoul : merci pour la cross-compil, je vais garder ça sous la main pour une prochaine fois car j'ai trouvé mieux que wget pour le moment. (cf. ci-dessous). J'avais la semaine dernière tenter une cross-compil de lftp avec une VirtualBox sous debian, et la cross-compil a planté durant le configure et impossible de trouver la raison, donc j'ai abandonné car je n'étais pas sur d'avoir le bon cross-compilateur mais au regard de ton message j'avais bien le bon. Donc pas encourageant pour l'instant, mais je suis persévérant et je retenterais car il serait vraiment bien que ceux qui vont passer sur les nouveaux processeurs puissent en bénéficier. Cela dit, il y a surement plus équipé et plus compétent que moi...

@tous: J'ai trouvé beaucoup mieux que wget pour réaliser des transferts, d'abord c'est sécurisé (wget n'a pas de sftp), c'est basé sur rsync qui est très très efficace, et ce n'est pas très compliqué à mettre en œuvre grâce à ce tuto vraiment génial !

Lien vers le commentaire
Partager sur d’autres sites

Peut être que simplement en installer wget par ipkg cela règlerais le soucis

Je crois qu'ipkg n'est pas dispo sur DS213+, c'est justement ça le problème ;)

Pour cross compiler simplement, va faire un tour sur spksrc.

Dans ton cas tu te fais un cross/wget avec ce qu'il faut dedans (cf README) puis tu vas dans le répertoire et tu fais un make ARCH=qoriq. Dans cross/wget/work-qoriq/install tu trouveras les binaires à mettre dans /usr/local/bin|lib.

Lien vers le commentaire
Partager sur d’autres sites

Je crois qu'ipkg n'est pas dispo sur DS213+, c'est justement ça le problème ;)

Et pourtant il me semblait avoir été clair dans ma réponse:

"L'option "optware" n'est, malheureusement pour toi, pas (encore?) disponible pour ton modèle de CPU."

@tous: J'ai trouvé beaucoup mieux que wget pour réaliser des transferts, d'abord c'est sécurisé (wget n'a pas de sftp), c'est basé sur rsync qui est très très efficace, et ce n'est pas très compliqué à mettre en œuvre grâce à ce tuto vraiment génial !

Ce que décrit ce tuto c'est tout simplement du rsync sur ssh

Et donc ça ne s'applique pas dans le cas ou le site distant est accessible uniquement en ftp (ou http).

Et vu l'erreur que tu nous a décrit dans ton premier message du fil, c'est en ftp que tu rencontre le bug non?

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Pour cross compiler simplement, va faire un tour sur spksrc.

Dans ton cas tu te fais un cross/wget avec ce qu'il faut dedans (cf README) puis tu vas dans le répertoire et tu fais un make ARCH=qoriq. Dans cross/wget/work-qoriq/install tu trouveras les binaires à mettre dans /usr/local/bin|lib.

Par curiosité j'ai tenté le coup pour mon archi (88f6281)

Voici mon Makefile:


PKG_NAME = wget

PKG_VERS = 1.14

PKG_EXT = tar.xz

PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)

PKG_DIST_SITE = http://ftp.igh.cnrs.fr/pub/gnu/wget/

PKG_DIR = $(PKG_NAME)-$(PKG_VERS)


DEPENDS = cross/openssl cross/gnutls


HOMEPAGE = http://www.gnu.org/software/wget

COMMENT = free software package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc.

LICENSE = GPL


GNU_CONFIGURE = 1

CONFIGURE_ARGS = --prefix=/site


include ../../mk/spksrc.cross-cc.mk

et le "make" plante comme ceci:

configure: error: --with-ssl was given, but GNUTLS is not available.

make: *** [configure_target] Error 1

***EDIT*** Peut-être une piste: je pensais que les dépendances étaient résolues automatiquement mais il semble bien que

$ cd ../gnutls/

$ make ARCH=88f6281

soit necessaire

C'est ça?

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Non pas besoin de changer de répertoire si tu l'as bien mis DEPENDS = cross/gnutls

Il faut juste bien faire un make clean et refaire un make ARCH=qoriq si tu as rajouté le DEPENDS après avoir fait le premier make ARCH=qoriq pour forcer à refaire les dépendances.

Chez moi c'est cross compilé avec succès avec ton Makefile (tu peux retirer cross/openssl des dépendances)

Plutot que de mettre CONFIGURE_ARGS = --prefix=/site mets INSTALL_PREFIX = /site pour que ce soit cascadé sur les dépendances.

Dans cross/wget/work-qoriq/install tu auras alors site/bin, site/lib, site/include, etc.

Pour faire un SPK avec wget c'est tout aussi simple

Modifié par Diaoul
Lien vers le commentaire
Partager sur d’autres sites

Et pourtant il me semblait avoir été clair dans ma réponse:

"L'option "optware" n'est, malheureusement pour toi, pas (encore?) disponible pour ton modèle de CPU."

Désolé j'avais pas vue :)

Lien vers le commentaire
Partager sur d’autres sites

(Je m'auto-quote)

On a successful cross-compilation create a PLIST file with the same syntax as spksrc/cross/transmission/PLIST but based on the auto-generated PLIST for your new package at spksrc/cross/newpackage/work-88f6281/newpackage.plist

Toujours dans mon répertoire wget j'ai fait comme cela pour générer le PLIST

find . -name '*.plist' | xargs cat | egrep -v "^(include|share/(man|info))" > PLIST[/CODE]

Once you have successfully cross compiled the new package, to create the SPK:

  • [i]Copy a standard SPK directory like spksrc/spk/transmission in your new SPK directory spksrc/spk/newspk[/i]
  • [i]Edit the stuff to fit your needs[/i]

Damned, je suis un peu perdu la...

Une question (parmi les dizaines qui me viennent) :

A quoi servent les PLIST dans les répertoires "spksrc/spk/*", ils sont *tous* vides?

Découragé je suis

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Bon, je vois que vous êtes lancé, je vais tenter aussi.

@CoolRaoul: Par rapport à ta question sur le besoin de ftp, il est exact que ma solution ne s'applique pas au serveur ayant seulement du ftp et pas de ssh. Mais j'ai le ssh donc cela me va très bien. De plus, comme je le disait, over ssh est bien sûr davantage sécurisé...

Lien vers le commentaire
Partager sur d’autres sites

Bon, je vois que vous êtes lancé, je vais tenter aussi.

@CoolRaoul: Par rapport à ta question sur le besoin de ftp, il est exact que ma solution ne s'applique pas au serveur ayant seulement du ftp et pas de ssh. Mais j'ai le ssh donc cela me va très bien. De plus, comme je le disait, over ssh est bien sûr davantage sécurisé...

Ce que je voulais dire est que le bug de ssh ne s'applique que dans le cas ou le site distant est un site ftp

Par conséquent, si tu dispose d'un acces ssh sur ton site, tu devrais pouvoir arriver à faire ton mirroir avec le wget natif de DSM sans rien d'installer de plus.

Lien vers le commentaire
Partager sur d’autres sites

Je ne comprend pas le lien que tu fais entre ssh et wget. Est-ce que wget peut être utilisé avec ssh ?

Autant je vois comment faire du http ou ftp avec wget, autant avec ssh je ne vois pas. Ne penserais-tu pas encore à rsync ?

En effet, j'ai (encore) un peu merdé dans mon explication

En fait, comme tu viens de nous dire que tu pouvais accéder a ton site distant en ssh, tu n'as plus besoin d'utiliser wget puisque rsync répond a ton besoin.

Et comme rsync est natif sous DSM tu n'as pas besoin d'installer (à fortiori de compiler) quoi que ce soit pour faire ton miroir.

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

C'est exact.

Par contre, j'ai bien retenté la cross-compil sur ma virtualBox mais je me suis battu quelques heures sur comment installer le Guest applications, sans succès ! L'objectif était de pouvoir utiliser le partage de clipboard pour pouvoir copier-coller les milliers! de paramètres des aides en ligne ou de fichier windows vers la virtualBox. Pour le moment, je vais devoir tout mettre en stanby, mais j'aimerais bien finaliser cette Virtual pour attaquer sérieusement les cross-compil. Je poste dès que j'avance...

Lien vers le commentaire
Partager sur d’autres sites

(Je m'auto-quote)

Toujours dans mon répertoire wget j'ai fait comme cela pour générer le PLIST

find . -name '*.plist' | xargs cat | egrep -v "^(include|share/(man|info))" > PLIST[/CODE]

  • [i]Copy a standard SPK directory like spksrc/spk/transmission in your new SPK directory spksrc/spk/newspk[/i]
  • [i]Edit the stuff to fit your needs[/i]

Damned, je suis un peu perdu la...

Une question (parmi les dizaines qui me viennent) :

A quoi servent les PLIST dans les répertoires "spksrc/spk/*", ils sont *tous* vides?

Découragé je suis

Le PLIST est automatiquement généré à la fin d'un "make". Essaye par toi même dans cross/wget : make clean puis make ARCH=88f6281, dans le répertoire work-88f6281 tu verras alors un wget.plist que tu peux copier et mettre au format PLIST (bin:..., lib:..., lnk:..., etc.)

Les PLIST ne sont utiles que dans le cross/ et sont toutes vides dans les spk/ c'est normal, y'en a pas besoin mais un jour peut être qu'on s'en servira.

Les PLIST servent à déterminer ce qui sera installé au final dans un SPK et sous quel forme (binaire, librairie, liens symbolique, ressource partagée, etc.) et ce à fin de stripper si nécessaire (et éventuellement d'autres actions)

Transmission est particulier, tu peux regarder le spk darkstat aussi.

Si tu as des suggestions sur le tuto n'hésite pas à le compléter, c'est toujours mieux quand c'est un nouveau venu qui fait un tuto

Lien vers le commentaire
Partager sur d’autres sites

Le PLIST est automatiquement généré à la fin d'un "make". Essaye par toi même dans cross/wget : make clean puis make ARCH=88f6281, dans le répertoire work-88f6281 tu verras alors un wget.plist que tu peux copier et mettre au format PLIST (bin:..., lib:..., lnk:..., etc.)

Je vois mais au départ je cherchais un fichier nommé "PLIST" alors que ce sont bien des "*.plist" (plusieurs si il y a des dépendances: wget.plist, gnutls.plist, etc ... ...) qui sont générés

On construit donc le "PLIST" final a partir d'eux (en élaguant ce qui n'est pas forcément indispensable comme les docs par exemple)

Lien vers le commentaire
Partager sur d’autres sites

Voilà, si tu fais wget, le PLIST de wget dans cross/wget/PLIST ne doit contenir que ce qui est dans cross/wget/work-88f6281/wget.plist.

Faut quand même bien inclure les librairies dont dépend wget dans le spk non?

Sinon j'ai un doute pour que wget fonctionne a l'arrivée

Voici ma liste de plist apres le make:

  • work-88f6281/gmp.plist
  • work-88f6281/gnutls.plist
  • work-88f6281/nettle.plist
  • work-88f6281/wget.plist

A moins de faire un spk supplémentaire pour chaque librairie (gmp, gnutls, nettle), et les installer tous les 4?

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Les dépendences sont traitées récursivement lors de la création du SPK. Dans l'ordre ce qu'il va se passer lors d'un make sur spk/wget :

  • Traitement des dépendances récursivement et installation dans le répertoire work-88f6281/install
  • Création d'un répertoire work-88f6281/staging contenant tout ce qui est mentionné dans les fichiers PLIST de toutes les dépendances rencontrées

Ainsi pour wget tu as l'arbre de dépendances suivant : wget -> gnutls -> nettle -> gmp

Donc le SPK contiendra le contenu des PLIST de wget + gnutls + nettle + gmp. Il n'y a pas besoin de mettre le contenu de la PLIST de gnutls dans la PLIST de wget, c'est déjà fait par récurrence.

Modifié par Diaoul
Lien vers le commentaire
Partager sur d’autres sites

Et moi de même, mais pour ce faire je dois lire la doc.

@Diaoul : je suppose que c'est toi qui maintient le spksrc, non ? Si oui, tu parlais d'un tuto à compléter, avant je voudrais le lire, mais à quel tuto fais-tu référence, est-ce le readme.rst sur https://github.com/SynoCommunity/spksrc ou y a-t-il quelque chose de plus complet ?

J'ai parcouru rapidement la doc de création des spk et autre par Synology, mais cela ne parle pas du tout du spksrc.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.