Pour télécharger les statistiques SOFA à partir du serveur, j'utilise la commande wget:
wget -c http://sourceforge.net/projects/sofastatistics/files/latest/download?source=dlp
Dans ce cas, le nom du fichier téléchargé est download?source=files
. Si j'ajoute le --output-document
option à la commande, renommer le fichier de sortie en sofastatistics-latest.deb
, le format du fichier téléchargé n’est pas reconnu par le paquet dpkg.
dpkg-deb: error: `sofastatistics-latest.deb' is not a debian format archive
Comment renommer correctement le fichier téléchargé avec wget?
PDATE - Jan 08 '15
Avec le lien fourni, le fichier téléchargé sera toujours un fichier * .tar.gz. Pour l'obtenir avec le vrai nom, ajoutez simplement le --content-disposition
Option comme ceci (merci à @ 6EQUJ5!):
wget --content-disposition http://sourceforge.net/projects/sofastatistics/files/latest/download?source=dlp
Mais il me fallait un fichier * .deb, donc voici le @creaktive, je devais rechercher un lien vers un fichier * .deb.
Merci à tous pour les réponses!
Une redirection de la sortie standard dans un nom de fichier arbitraire fonctionne toujours. Vous le faites correctement comme man wget dit, en utilisant -O
wget http://www.kernel.org/pub/linux/kernel/README -O foo
--2013-01-13 18:59:44-- http://www.kernel.org/pub/linux/kernel/README
Resolving www.kernel.org... 149.20.4.69, 149.20.20.133
Connecting to www.kernel.org|149.20.4.69|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12056 (12K) [text/plain]
Saving to: `foo'
100%[======================================================================================================================================>] 12,056 --.-K/s in 0.003s
2013-01-13 18:59:45 (4.39 MB/s) - `foo' saved [12056/12056]
En effet, vous devez obtenir un code HTML dans votre fichier (peut généralement être vérifié avec fichier man).
[EDIT]
Dans votre cas, le client reçoit 302 trouvé (vous pouvez le vérifier avec curl -v URL).
La boucle suivante fait l'affaire en respectant le 3xx:
$ curl -L http://sourceforge.net/projects/sofastatistics/files/latest/download?source=files -o foo.deb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 463 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
100 2035k 100 2035k 0 0 390k 0 0:00:05 0:00:05 --:--:-- 1541k
$ file foo.deb
foo.deb: gzip compressed data, was "sofastats-1.3.1.tar", last modified: Thu Jan 10 00:30:44 2013, max compression
Il devrait exister une option similaire pour que wget tolère les redirections HTTP.
Si vous deviez effectuer le même téléchargement à partir d’un navigateur Web et que vous remarquiez que le navigateur attribue un nom correct au fichier, vous pouvez utiliser le fichier --content-disposition
option pour donner le même comportement à wget:
wget --content-disposition http://sourceforge.net/projects/sofastatistics/files/latest/download?source=dlp
Ma page de manuel Debian rapporte ceci comme une fonctionnalité 'expérimentale' mais je ne me souviens pas que cela ne fonctionne pas pour moi:
--content-disposition
If this is set to on, experimental (not fully-functional) support for "Content-Disposition" headers is enabled. This can currently result in extra round-trips to the server
for a "HEAD" request, and is known to suffer from a few bugs, which is why it is not currently enabled by default.
This option is useful for some file-downloading CGI programs that use "Content-Disposition" headers to describe what the name of a downloaded file should be.
Ce lien pointe vers un redirecteur, pas vers la destination finale! Vous téléchargez donc HTML et vous le renommez en .deb
. La page encombrée a ceci en haut:
Votre téléchargement va commencer dans 0 secondes ... Des problèmes avec le téléchargement? Veuillez utiliser ceci lien direct , ou essayer un autre miroir .
Maintenant, this est un lien valide (notez le préfixe download
): http://downloads.sourceforge.net /project/sofastatistics/sofastatistics/1.3.1/sofastats-1.3.1-1_all.deb?r=http%3A%2F%2F%2F%2Fsourceforge.net%2Fproject%2Fsofastatistics%2Ffiles%2Fsofastatistics%2F1.3.1.1.
Transmettez cette URL à wget
. Notez également que SourceForge tente de vous déjouer en invitant le système opérationnel via la chaîne User-Agent. La meilleure hypothèse pour "wget" semble être le paquet .tar.gz. Donc, vous devriez être plus précis, demander le fichier deb!