AlPri Posté(e) le 6 octobre 2012 Partager Posté(e) le 6 octobre 2012 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, 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 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. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 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... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sp@r0 Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 Peut être que simplement en installer wget par ipkg cela règlerais le soucis 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AlPri Posté(e) le 7 octobre 2012 Auteur Partager Posté(e) le 7 octobre 2012 @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 ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 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. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 (modifié) 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é le 7 octobre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 (modifié) 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é le 7 octobre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 (modifié) 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é le 7 octobre 2012 par Diaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 (modifié) Bon, voici ou j'en suis [*]j'ai mis le "depends" propre: DEPENDS = cross/gnutls[/CODE] [*]vir Modifié le 7 octobre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sp@r0 Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 (modifié) (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é le 7 octobre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AlPri Posté(e) le 7 octobre 2012 Auteur Partager Posté(e) le 7 octobre 2012 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é... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 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. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AlPri Posté(e) le 7 octobre 2012 Auteur Partager Posté(e) le 7 octobre 2012 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 ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 (modifié) 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é le 7 octobre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AlPri Posté(e) le 7 octobre 2012 Auteur Partager Posté(e) le 7 octobre 2012 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... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 (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 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 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) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 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. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 (modifié) 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é le 7 octobre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 (modifié) 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é le 7 octobre 2012 par Diaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 Ainsi tu as l'arbre de d 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AlPri Posté(e) le 7 octobre 2012 Auteur Partager Posté(e) le 7 octobre 2012 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. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 7 octobre 2012 Partager Posté(e) le 7 octobre 2012 Oui je fais référence au README, il n'y a rien d'autre. La doc officielle est officielle et donc ne fait pas référence à des projets comme spksrc. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.