114 votes

Sous Linux/Unix, est-ce que .tar.gz ou .zip est important ?

Les programmes multiplateformes sont parfois distribués sous forme de fichiers .tar.gz pour la version Unix et .zip pour la version Windows. Cela a du sens lorsque le contenu de chacune doit être différent.

Si, toutefois, le contenu est le même, il serait plus simple de n'avoir qu'un seul téléchargement. Windows préfère le format .zip parce que c'est le format qu'il peut gérer d'emblée. Est-ce important sous Unix ? J'ai essayé aujourd'hui de décompresser un fichier sur Ubuntu Linux, et cela a bien fonctionné ; cela pose-t-il un problème sur tout système d'exploitation actuel de type Unix, ou est-il acceptable de fournir un fichier .zip de manière générale ?

84voto

Quandary Points 1795

Oui, ça compte.
En fait, ça dépend.

tar.gz

  • Stocke les attributs des fichiers unix : uid, gid, permissions (plus particulièrement exécutable). La valeur par défaut peut dépendre de votre distribution, et peut être modifiée à l'aide des options.
  • Regroupe tous les fichiers à archiver dans un seul fichier ("Tape ARchive").
  • La compression réelle est effectuée par GZIP, sur le seul fichier .tar.

zip

  • Stocke les attributs MSDOS . (Archive, Lecture seule, Caché, Système)
  • Compresse chaque fichier individuellement, puis consolide les fichiers compressés individuellement en un seul fichier.
  • Inclut un tableau de fichier à la fin du fichier

Parce que zip compresse les fichiers individuellement, une archive zip aura très probablement une taille plus importante (surtout avec de nombreux petits fichiers - pensez aux fichiers de configuration).

Vous voyez, en dehors de la taille du fichier, si vous zippez un tas de fichiers sous Linux/Unix, et que vous les dézippez ensuite, les attributs du fichier seront perdus (au moins ceux qui ne sont pas supportés par MS-DOS - cela dépend du logiciel ZIP que vous utilisez). Cela peut avoir de l'importance, ou pas, auquel cas cela n'a pas d'importance (car la différence de taille de fichier est dans la plupart des cas négligeable).

40voto

Zam Points 369

Tar gz est meilleur pour Linux/Unix car il conserve les permissions, comme "executable" sur scripts.

36voto

Pylsa Points 29904

Les distros Linux les plus populaires de nos jours sont équipées par défaut de zip compatibilité. Mais comme indiqué par nc3b, tar y gzip sont plus courants sur les systèmes Linux/Unix. Si vous avez besoin d'une compatibilité à 95% sur ces systèmes, envisagez d'utiliser tar y gzip . Si vous n'avez besoin que de 85%, zip fera l'affaire.

30voto

Erik Aronesty Points 494

Tar/gzip est un format assez merdique puisque l'archive ne peut pas être accédée, mise à jour, vérifiée ou même ajoutée de façon aléatoire... sans avoir à décompresser l'archive entière.

zip est bien meilleur à cet égard.... vous pouvez rapidement obtenir le contenu d'un fichier zip, y ajouter des éléments sans recompresser la première partie, etc.

zip a quelques limitations de taille ... selon la version de "zip" que vous utilisez ... et celles-ci peuvent être un problème. mais l'outil standard info-zip fourni avec la plupart des OS de type linux n'a aucune limitation de taille et préserve très bien les permissions des fichiers.

voir : https://en.wikipedia.org/wiki/Info-ZIP pour les capacités

11voto

Rwky Points 678

Les installations Barebones Unix ne contiennent pas dézipper (c'est-à-dire les installations de serveurs), mais ils contiennent toujours des éléments suivants tar y gzip . Si votre public est composé de serveurs, j'opterais pour gzip .

Aussi gzip a une plus grande compression que zip Le fichier sera donc plus petit.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X