Dans mon entreprise, nous téléchargeons un instantané de la base de développement local sous forme de db.dump.tar.gz
fichier. La compression est logique, mais l'archive ne contient qu'un seul fichier ( db.dump
).
Y a-t-il un intérêt à archiver un seul fichier, ou est .tar.gz
-ce un idiome aussi courant? Pourquoi pas juste .gz
?
tar
compression
archive
tête de jardin
la source
la source
tar -zxvf
. Mais pour ceux qui regardent le nom du fichier et constatent qu’il n’a pas.tgz
d’extension, c’est parfaitement bien de gzip le fichier de vidage de la base de données. Comme je ne connais pas les algorithmes de compression en détail, je ne suis pas sûr que tar produise une compression sur des fichiers fragmentés tels que db dump, mais pour les fichiers en texte brut, le format gzip direct présente un très petit avantage en termes de taille par rapport au tarage en premier et à gzip. dans le fichier.tar.gz
supérieur à la plupart des autres méthodes courantes. Je.tar
me souviens que c’était mieux que juste, mais je ne me souviens pas si c’était mieux que juste.gz
. Ironiquement, le.cab
format de Window était la meilleure des méthodes que j'ai essayées, ce qui était très inattendu.tar
n'est pas un algorithme de compression, c'est un format d'archivageRéponses:
Les avantages d'utiliser
.tar.gz
au lieu de.gz
sont quetar
stocke plus de méta-données (autorisations UNIX, etc.) quegzip
.Les frais généraux d'utilisation
tar
sont également très faibles.Si ce n'est pas vraiment nécessaire, je ne recommande toujours pas de tarer un seul fichier. Il existe de nombreux outils utiles qui peuvent accéder directement à des fichiers simples compressés (tels que
zcat
,zgrep
etc. - existant également pourbzip2
etxz
).la source
.gz
, mon premier instinct est detar -zxf foo.gz
. Se souvenir que gzip est même une commande prend quelques secondes de plus.z
(ou-
d'ailleurs), la plupart des logiciels modernestar
détecteront automatiquement que le fichier doit être décompressé.gzip
, le nom de fichier d'origine et l'horodatage sont stockés. Vous pouvez utiliser cette-N
option lors de la décompression pour les restaurer.En réalité, vous ne posez que la moitié de la question. L'autre question étant, "Pourquoi devrais-je compresser un fichier tar avec gzip?". Et la réponse n’est pas simplement que
gzip
rend le fichier plus petit (dans la plupart des cas):tar
:gzip
:Avec seulement
tar
vous ne pouvez pas être sûr que vos données n'ont pas été corrompues. Avec seulement,gzip
vous ne pouvez pas restaurer l'ID utilisateur / groupe, l'heure de modification et, éventuellement, le nom de fichier d'origine.La combinaison est plus puissante que les commandes / formats individuels, car ils se complètent mutuellement .
la source
tar
page wikipedia, j'ai mal compris la description, ce qui voulait dire que la somme de contrôle s’appliquait à l’ensemble du fichier.Il y a un avantage assez grand d'utiliser uniquement les fichiers texte-gzip - le contenu peut être consulté directement avec les outils de ligne de commande comme
less
,zgrep
,zcat
.la source
Je dirais qu'il est probable que les gens ne réalisent tout simplement pas qu'ils peuvent utiliser gzip / bzip2 / xz sans tar. Peut-être parce qu'ils proviennent d'un environnement DOS / Windows où il est normal que la compression et l'archivage soient intégrés dans un seul format ( ZIP , RAR , etc.).
L'utilisation de tar peut présenter de légers avantages dans certaines situations en raison du stockage de métadonnées ou de la possibilité d'ajouter des fichiers supplémentaires, mais présente également des inconvénients. Avec un simple fichier gzip / bzip2 / xz, vous pouvez le décompresser et diriger les données décompressées directement vers un autre outil (tel que votre base de données) sans jamais avoir à stocker les données décompressées sous forme de fichier sur le disque. Avec une tarball, c'est plus difficile.
la source
tgz
extension. Cependant, le cas de l'OP utilisetar.gz
- et si ces hypothétiques utilisateurs ex-Win / DOS sont un peu comme moi, la première chose qu'ils disent en regardant un tel fichier est: "Pourquoi a-t-il 2 extensions?". Ensuite, ils y font une recherche google et obtiennent rapidement la réponse, ce qui explique précisément que latar
compression est distincte. ;-)Il existe une différence importante qui pourrait rendre l’utilisation
tar
importante dans certaines circonstances: outre les "métadonnées" mentionnées par @jofel dans sa réponse,tar
enregistre le nom du fichier dans les archives. Lorsque vous l'extrayez, vous obtenez le nom de fichier d'origine, quel que soit le nom de l'archive.Dans votre cas, l’archive tar et le fichier qu’elle contient ont les noms correspondants
db.dump.tar.gz
etdb.tar
, mais supposons que vous renommiez le fichier tar20-Apr-16.dump.tgz
, ou autre chose. Décompressez ceci avectar xvfz
, et vous obtenezdb.dump
. À titre de comparaison, décompressez20-Apr-16.dump.gz
et vous avez20-Apr-16.dump
. (Edit: comme indiqué dans les commentaires, gzip enregistre également le nom du fichier; il n’est normalement pas utilisé lors de la décompression). Unetar
archive peut également contenir un chemin d'accès relatif qui place le fichier extrait dans un sous-répertoire.Votre cas d'utilisation déterminera si ce type de persistance de nom de fichier est nécessaire, ou même souhaitée , ou si elle est réellement indésirable. Mais certainement, quelle que soit la compression, une
tar
archive se déplace différemment d’un fichier normal.la source
gzip --name
explicitement la décompression), mais vous n'avez pas besoin d'utiliser tar pour obtenir la persistance du nom de fichier.En plus de toutes les autres réponses, j'ai récemment créé une situation de script dans laquelle un seul fichier était attendu, mais un ancien employé a écrit les scripts avec la possibilité que plusieurs fichiers soient générés. Les fichiers ont donc été tarés et bzippés, puis transférés et développés.
Lorsque le processus a pris de l'ampleur, il a créé un fichier de 4,3 Go. Il a ensuite été transformé en un fichier .dump.001 en plus d'un fichier .dump. Tous les scripts ont continué à fonctionner.
C'est la paresse sysadmin proactive définie!
la source
Je tar un seul fichier, pour le copier en préservant l'horodatage (qui est facilement oublié dans les téléchargements). Les autorisations et la propriété des fichiers sont moins importantes: le terme " téléchargement" s'applique aux systèmes mal intégrés.
Que ce soit tar ou non, il est de pratique courante de compresser le fichier pour accélérer les téléchargements - et d’éviter de manquer d’espace disque.
la source
Tar est particulièrement utile pour plusieurs fichiers non écrits dans un système de fichiers formel, comme cela a toujours été le cas. Si pour une raison quelconque il y a parfois 1 seul fichier à écrire, cela n’a aucune conséquence réelle. Je peux dd mon .tar.gz directement dans / dev / sdx sans tenir compte de la partition ou du système de fichiers. Cela peut aussi bien être du ruban adhésif.
Cela est généralement fait parce que le script ou le processus a été copié à partir du code d'héritage. Bien sûr, il n’ya pas besoin de tar si il n’ya qu’un seul fichier, mais cela laisse de la place à l’amélioration de plusieurs fichiers ......
la source