Quand je cours:
tar -zxvf john-1.7.0.2.tar.gz
J'ai compris:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
Il devrait commencer à déballer.
Certaines personnes m'ont dit de ne pas utiliser le z
mais j'obtiens la même erreur.
C'est un fichier que j'ai téléchargé de cette façon:
wget http://openwall.com/john/f/john-1.7.0.2.tar.gz
john-1.7.0.2.tar.gz: HTML document, ASCII text, with very long lines
Réponses:
Diagnostic d'un fichier téléchargé de type incorrect
Comme le dit Steeldriver , cela signifie que le fichier n'est pas vraiment un fichier tar compressé - ou tout autre type de fichier compressé - bien qu'il soit nommé comme tel.
Lorsque vous téléchargez un fichier avec
wget
, il y a souvent des indications que vous avez fini par obtenir un type de fichier différent de celui que vous recherchiez:Dans ce cas, les principaux signes sont:
301 Moved Permanently
message, redirigeant vers une adresse avec une fin/
. Cela charge la page par défaut d'un répertoire sur le serveur, qui est généralementindex.html
et presque toujours un fichier HTML.Length: unspecified [text/html]
, vous indiquant que vous recevez du texte brut (text
) et qu'il est destiné à être interprété commehtml
. C'est vraiment plus qu'un signe - vous pouvez être sûr que vous n'avez pas obtenu un vrai fichier compressé basé sur cela.Vous pouvez également utiliser l'
file
utilitaire, qui examine un fichier et vous indique de quel type de fichier il s'agit:Et bien sûr , vous pouvez examiner le fichier vous - même, avec des outils tels que
head
,less
etview
:S'il s'agissait vraiment d'un fichier binaire, vous auriez alors obtenu tout un tas de déchets inutiles, car quel que soit le téléavertisseur ou le visualiseur que vous utilisez tente sans succès d'interpréter quelque chose comme du texte brut qui ne l'est vraiment pas. Par exemple, sur le bon fichier:
(Je n'en ai copié que le tout début.)
Obtenir le bon fichier
Cela vous indique comment comprendre ce qui n'a pas fonctionné dans ces situations (et dans ce cas, en particulier). Mais comment trouver et télécharger réellement le bon fichier?
Cela varie d'une situation à l'autre. Cependant, un bon début consiste à:
Allez sur le site officiel du logiciel et voyez s'ils proposent des liens de téléchargement. Même si c'est ainsi que vous avez obtenu le lien que vous utilisez à l'origine, si un certain temps s'est écoulé, vous constaterez peut-être que le lien a changé.
Par exemple, dans ce cas particulier, la version actuelle est 1.8.0 au lieu de 1.7.0.2 (et fournie dans le
j
sous - répertoire à la place def
), et l'ancienne version n'est plus disponible à cette même URL.Accédez à la page vers laquelle vous avez été redirigé lorsque vous avez téléchargé le fichier. Dans ce cas, c'est: http://www.openwall.com/john/
Ou vous pouvez même examiner le fichier téléchargé. (Ou ouvrez- le dans un navigateur Web.)
Vous avez été redirigé vers la page de téléchargement principale du logiciel . Vous pouvez soit télécharger dans un navigateur Web, soit copier un lien de téléchargement actuel correct et le télécharger avec
wget
. Il y a quelques choix, mais en supposant que vous pas vraiment besoin que ancienne version spécifique que vous essayez de télécharger, et sur la base du fichier spécifique que vous avez fait d' essayer de télécharger, je soupçonne http://openwall.com/john/j/ john-1.8.0.tar.gz est ce que vous recherchez.Bien sûr, les lecteurs qui trouveront ce message plus tard peuvent trouver que ce lien ne fonctionne plus. Mais l'approche démontrée ici pour dépanner ce type de problème restera valide.
J'ai téléchargé le fichier. Notez que, cette fois, aucune redirection indésirable n'est survenue et le type est donné comme
application/x-tar
au lieu detext/html
.(Une redirection HTTP n'est pas toujours mauvaise. C'est lorsque vous êtes redirigé vers quelque chose qui ne semble pas vraiment être le fichier que vous recherchez que vous devriez suspecter que votre téléchargement n'a pas vraiment réussi.)
file
accepte:Et il déballe avec succès:
(Vous avez raison de dire que cela n'a pas d'importance si vous utilisez le
z
; cela aurait quand même fonctionnétar xzf
, car c'est le bon fichier.)Vous pouvez procéder à la génération du code source et à l'installation.
N'oubliez pas, vous n'avez pas toujours besoin de construire à partir de la source
Parfois, vous voulez vraiment la dernière version d'un programme, et ce n'est pas dans les référentiels d'Ubuntu. Vous pouvez essayer de trouver un PPA, mais si vous n'en trouvez aucun en qui vous avez vraiment confiance ou qui fournit tout à fait ce que vous voulez, ou vous voulez le construire avec des options personnalisées, ou vous aimez vraiment construire à partir du code source, puis construire à partir de le code source est une technique valable et utile.
Je recommande toutefois de vérifier au moins le logiciel disponible dans les référentiels officiels d'Ubuntu pour votre système. Sur mon système 16.04:
Il existe plusieurs autres façons de rechercher des packages. Il est souvent pratique d'utiliser la page Web de recherche de packages Ubuntu .
Puisque vous alliez essayer d'installer la version 1.7.0.2, la version 1.8.0 vraisemblablement dans les dépôts officiels est assez récente. (En effet, la version 1.8.0 semble être la même version que celle fournie en téléchargement sur le site officiel.) Donc, vous pourriez vraiment vouloir l'installer:
la source