IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Comment tester l'intégrité d'un gros fichier tar sans le décompresser ?


Sujet :

Shell et commandes GNU

  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 467
    Par défaut Comment tester l'intégrité d'un gros fichier tar sans le décompresser ?
    bonjour,

    j'ai fait une sauvegarde d'un énorme répertoire (des milliers de dossiers/fichiers) dans un fichier tar.
    je souhaite supprimer le dosssier source (manque de place) et garder que l'archive .tar.
    comment être sûr que l'archive fonctionne bien (n'est pas corrompue, peut bien être décompressée) sans la décompresser ?

    Une personne m'a dit d'en sortir la liste des fichiers par cette commande (qui liste les fichiers vers le vide). est-ce que ça suffit ? si ça marcherait pas, j'aurai quel message d'erreur ?
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    tar -tzf mon_gros_fichier.tar.gz >/dev/null

    //ajout 10h29
    il m'est venu une autre idée.
    si je fais deux fois la même archive à la suite et qu'il n'y a pas de message d'erreur et que les fichiers ont la même taille, cela n'assure-t-il pas que les archives sont bonnes ?
    je fais actuellement mon archive avec cette commande :

    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tar -zcvf grosdossier_$(date +%F).tar.gz grosdossier
    tar -zcvf grosdossier2_$(date +%F).tar.gz grosdossier

    Merci de vos conseils

  2. #2
    Membre chevronné Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 346
    Par défaut
    rajoute un -O pour extraire les fichiers dans la sortie standard.

  3. #3
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 467
    Par défaut
    merci pour la réponse.
    je viens d'ajouter une supposition dans le sujet original (faire une deuxième archive et comparer la taille du fichier).

    d'une manière générale, au moment de la création de l'archive, n'y-a-t-il pas un paramètre qui permet de tester aussitôt la bonne intégrité de l'archive ?
    est-ce que n'avoir aucun message d'erreur après la création de l'archive suffit à supposer qu'elle est 100% bonne ?

  4. #4
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 467
    Par défaut
    Citation Envoyé par licardentaistor Voir le message
    rajoute un -O pour extraire les fichiers dans la sortie standard.

    extraire les fichiers dans la sortie standard ne va-t-il pas créer des fichiers physique temporaire sur le disque ? je peux pas me permettre de créer des milliers de fichiers tempo sur le server car je n'ai pas assez de quota de fichier sur mon compte pour tester la décompression (alors que hélas j'ai une capacité de stockage illimitée).
    et envoyer une énorme qté de fichiers sans la sortie standard ne nécessite-il pas d'avoir une grosse capacité de mémoire ? je ne sais pas si les fichiers sont créées et effacées l'un après l'autre ou bien si l'effacement est fait à la fin de la ligne de commande...

  5. #5
    Membre chevronné Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 346
    Par défaut
    non, justement c'est l'intérêt de la sortie standard !

    https://www.gnu.org/software/tar/man...rd-Output.html

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 292
    Par défaut
    Bonjour

    On frôle le Trouble Obsessionnel Compulsif. À l'image de ceux qui ouvrent 10 fois la porte du frigo pour vérifier qu'élle était bien fermée. Si tu arrives à extraire tes fichiers, si tu as la liste, alors il faut arrêter. Ton archive fonctionne. De plus, après avoir été testé négatif à la covid-19, tu peux avoir la covid-19, en l'attrapant entre temps. Ton archive peut se corrompre juste après l'avoir testée. Arrête la paranoïa. Tu as fait ce qu'il fallait, et même plus.

  7. #7
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 467
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Bonjour

    On frôle le Trouble Obsessionnel Compulsif. À l'image de ceux qui ouvrent 10 fois la porte du frigo pour vérifier qu'élle était bien fermée. Si tu arrives à extraire tes fichiers, si tu as la liste, alors il faut arrêter. Ton archive fonctionne. De plus, après avoir été testé négatif à la covid-19, tu peux avoir la covid-19, en l'attrapant entre temps. Ton archive peut se corrompre juste après l'avoir testée. Arrête la paranoïa. Tu as fait ce qu'il fallait, et même plus.
    si j'ai posé la question du stdout, c'est parce que je me souviens de mes très vieux cours d'admin linux. ça doit dépendre de la distrib, mais on peut configurer différement pour chaque user le comportement(et le stockage) de chaque stdout par compte user.
    l'user1 peut avoir son stdout par défaut
    l'user2 peut l'avoir redirectionné dans un fichier/dossier (sans qu'il le sache)
    l'user3 peut l'avoir sur un autre serveur...etc

    c'est le même principe que la redirection/profiling des users et de leurs errors log, accesslog..etc.
    étant dans un serveur mutualisé, j'ai ma part de sorties de log et d'erreurs qui sont dans un dossier à part crée par l'hébergeur.

    Mes cours datent mais je crois qu'on pouvait faire cela, et pour les différentes sorties stdout,err,stin et aussi pour les swap de chaque utilisateurs.

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par clavier12AZQSWX Voir le message
    Une personne m'a dit d'en sortir la liste des fichiers par cette commande (qui liste les fichiers vers le vide). est-ce que ça suffit ? si ça marchait pas, j'aurais quel message d'erreur ?
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    tar -tzf mon_gros_fichier.tar.gz >/dev/null
    Tu rediriges la sortie standard vers /dev/null donc tout ce qui t'arrivera à l'écran ne seront que les messages d'erreur (style "archive corrompue"). T'as qu'à créer un tgz à la con, le corrompre par des moyens de ton cru (tu le coupes en 4 parties avec dd puis tu réassembles les parties dans le désordre) et tenter de le lire via tar -ztvf et tu verras les messages d'erreur

    Citation Envoyé par clavier12AZQSWX Voir le message
    il m'est venu une autre idée.
    si je fais deux fois la même archive à la suite et qu'il n'y a pas de message d'erreur et que les fichiers ont la même taille, cela n'assure-t-il pas que les archives sont bonnes ?
    je fais actuellement mon archive avec cette commande :

    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tar -zcvf grosdossier_$(date +%F).tar.gz grosdossier
    tar -zcvf grosdossier2_$(date +%F).tar.gz grosdossier
    Donc déjà tu évites de le faire deux fois, si la commande ne sort pas d'erreur alors une fois suffit car on part du principe qu'une commande qui ne gueule pas a réussi (sinon on ne peut plus rien faire). Ensuite tu calcules un hash de ton archive via md5 puis enfin tu tentes de la lire via tar -ztf. Si ça réussit alors ça réussira et comme elle a été signée si elle est modifiée après cela se verra (suffira de la rehasher quand tu en as envie et comparer les résultats).

    Citation Envoyé par clavier12AZQSWX Voir le message
    l'user2 peut l'avoir redirectionné dans un fichier/dossier (sans qu'il le sache)
    Ouais, et toutes les commandes qu'il tape ne donnent aucun résultat visible et le user ça ne le dérange pas. Il tape "ls", il ne voit rien mais non, normal

    Citation Envoyé par clavier12AZQSWX Voir le message
    c'est le même principe que la redirection/profiling des users et de leurs errors log, accesslog..etc.
    Ben si c'est ça et que le filesystem explose au bout de 10mn qu'est-ce que t'en as à cirer? C'est ton problème? Tu as une machine donc tu l'utilises point. Tu fais ton tar -ztf et tu te poses pas de question. Si ensuite la machine n'est pas capable d'assurer ben tu fais remonter à l'admin et tu t'en laves les mains.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    Voici une commande pour faire un md5sum de chacun de tes fichiers dans l'archive tar, reste à toi de faire un md5sum sur ton FS et de comparer.

    Mais là, on est sur de la big paranoïa...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tar xzf arch.tgz --to-command 'sh -c "md5sum | sed \"s|-|\$TAR_FILENAME|\""'

  10. #10
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Voici une commande pour faire un md5sum de chacun de tes fichiers dans l'archive tar, reste à toi de faire un md5sum sur ton FS et de comparer.
    Bien tenté (et en plus il me semble qu'il existe un outil de sécurité basé sur cette idée) mais il ne veut pas vérifier si les fichiers ont changé depuis l'archivage ; mais s'il peut supprimer les fichiers en confiance dans le fait que l'archive permettra de les récupérer sans souci si besoin (donc dans le fait que l'archive ne sera pas corrompue au moment où il en aura besoin).

    Remarque, aucune solution ne peut l'assurer. Ben oui, on grave l'archive sur DVD, rien ne dit que le DVD demain ne sera pas irradié et out. On la met sur clef USB, et pif le chien et oups paf la clef. Bref aucun moyen de sauvegarde n'est réellement garanti.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  11. #11
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    Bah, si pas d'erreur lors de la sortie des md5sum, l'archive est ok, après il a le bonus si sont FS est figé depuis la création de son archive de vérifier que tout les fichiers sont identiques (ou pas).

    Après, s'il fait une sauvegarde de son archive sur un vrai DVD (en verre), plus une sauvegarde sur bande et surtout une sauvegarde dans un format biologique (genre ADN) et qu'il dispatch celles-ci dans des cubes en plombs dont l'intérieur est recouvert d'une fine couche en or eux même enfoui dans le noir absolu à environ 2 kilomètres sous terre loin des failles intercontinentales, je pense que ça devrait le faire...


  12. #12
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    ... à environ 2 kilomètres sous terre loin des failles intercontinentales, je pense que ça devrait le faire...
    Ou pas, parce qu'à 2 km sous terre il doit faire une chaleur tellement démente qu'il n'est pas sûr que ton dvd en verre tienne le choc,
    OK, je sors,

  13. #13
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    Selon wikipédia, en Europe, la température augmente d'environ 30°C par kilomètre.

    Après, allez savoir pourquoi c'est comme ça en Europe et donc pas ailleurs sur terre... ça doit être politique à mon avis

  14. #14
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 660
    Par défaut
    il n'y a pas de point chaud en Europe (que je sache).
    cette température est probablement plus élevée à Hawaï, ou à Yellowstone...
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  15. #15
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    Si si, il y a des point chaud en Europe comme l'Ukraine par exemple...

    Bon, ok, je sors

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/12/2017, 00h47
  2. Réponses: 2
    Dernier message: 29/12/2009, 11h57
  3. Comment afficher dans une page html un fichier flash sans problème d'activeX
    Par Alexandrebox dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/05/2007, 17h39
  4. Comment tester si fichier est ouvert ?
    Par fusef dans le forum Langage
    Réponses: 7
    Dernier message: 11/08/2004, 18h51
  5. Réponses: 10
    Dernier message: 18/11/2003, 18h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo