J'essaie de créer un fichier tar.gz en utilisant la commande suivante:
Sudo tar -vcfz dvr_rdk_v1.tar.gz dvr_rdk/
Il commence alors à créer des fichiers (de nombreux fichiers dans le dossier), mais j'obtiens ensuite l'erreur suivante:
tar: dvr_rdk_v1.tar.gz: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
Je ne vois aucune description de cette erreur, qu'est-ce que cela signifie?
Supprimez -
Des options vcfz
. tar
n'a pas besoin de tiret pour les options.
Avec un tiret, l'argument de l'option -f
Est z
. La commande essaie donc en fait d'archiver dvr_rdk_v1.tar.gz
Et dvr_rdk
Dans une archive appelée z
. Sans le tiret, la sémantique des options change, de sorte que l'argument suivant sur la ligne de commande, c'est-à-dire le nom de fichier de votre archive, devient l'argument du drapeau f
.
Vérifiez également votre autorisation d'écriture dans le répertoire à partir duquel vous exécutez la commande.
L'option -f
Doit précéder directement le nom de fichier. Donc, utilisez tar -vczf filename.tar.gz
Au lieu de -vcfz
La commande tar a historiquement été l'une des rares commandes qui ne suit pas Unix directives de syntaxe de l'utilitaire .
La page des normes pour tar dit:
f
Utilisez le premier opérande de fichier (ou le second, si b a déjà été spécifié) comme nom de l'archive au lieu de la valeur par défaut dépendante du système
Bien que les directives de syntaxe incluent ceci:
Ligne directrice 5:
Une ou plusieurs options sans arguments d'option, suivies par au plus une option qui prend un argument d'option, doivent être acceptées lorsqu'elles sont regroupées derrière un délimiteur "-".
Ainsi, alors que la commande que vous avez tapée, tar -vcfz dvr_rdk_v1.tar.gz dvr_rdk/
, conviendrait aux anciennes versions de tar, certaines versions de tar écrites pour suivre strictement les directives de syntaxe de l'utilitaire analyseront ceci pour signifier "utiliser z
comme argument de fichier pour -f
". Vous devez donc utiliser ce qui suit pour être portable:
tar -cvzf dvr_rdk_v1.tar.gz dvr_rdk/