Kezdő kérdésem van. Egyszerű adatmendést szerettem volna tar segítségével. Mi ebben a parancsban a hiba?
/# tar -cvfpz backup.tar.gz home etc root usr/local
A hibaüzenet:tar: Kilépés hibaállapottal a korábbi hibák miatt
Válaszaitokat előre is köszönöm.
- 7073 megtekintés
Hozzászólások
"Kilépés hibaállapottal a korábbi hibák miatt"
És mik voltak azok a korábbi hibák?
Egyébként man tar:
-f, --file ARCHIVE
use archive file or device ARCHIVE
Tehát a "-f" után a file neve áll. Nálad most ez "pz" lenne. Ezért a listában érdemes az utolsó helyre tenni.
- A hozzászóláshoz be kell jelentkezni
Ez igaz. Kipróbálom így is. Korábbi hibák nem voltak.
- A hozzászóláshoz be kell jelentkezni
"Korábbi hibák nem voltak."
Biztos volt legalább egy, amennyiben eredetileg nem volt /backup.tar.gz nevű file-od.
Mert konkrétan az volt a hiba. A fenti parancsod azt tette, hogy egy "pz" nevű archív file-ba próbálta belegyömöszölni a backup.tar.gz file tartalmát, valamint a home etc root usr/local könyvtárak alatti tartalmat. És eredetileg nem volt backup.tar.gz file, hiszen azt akartad létrehozni, csak rossz volt a paraméterek sorrendje. A tar pedig panaszkodott amiatt, hogy nem találja a backup.tar.gz-t, ezt a tar kimenetének legelső sorában láthattad volna. Ez volt az a hiba, amit az utolsó sorban jelzett, és amit bemásoltál.
Tehát a helyes paraméterezés ez lett volna:
# tar -cvpzf backup.tar.gz home etc root usr/local
Látom, közben megoldódott.
- A hozzászóláshoz be kell jelentkezni
Igen köszönöm.
- A hozzászóláshoz be kell jelentkezni
Igen ez volt a gond. Az f kapcsolót a végére téve hiba nélkül lefutott.
Köszönöm a segítséget.
- A hozzászóláshoz be kell jelentkezni
Nemrég én is ugyanilyen hibaüzenetet kaptam egy tar-olás során (persze nem magyarul), de a log-ban nem volt se error, se warning
(Note: pl. így érdemes futtatni, ha azt akarjuk, hogy nyoma maradjon: someprogram options 2>&1 | tee log.someprogram)
- A hozzászóláshoz be kell jelentkezni
tar cfpvz csomagnév mit mit2 mit3 ...
lásd manual:
tar [options]
nem kell - jel elé, ez a baj. ugyanis az f operation nél is van, meg optionnél -f. De a kettő nem ugyanaz, úgyhogy nem a sorrend a baj, hanem a kötőjel.
- A hozzászóláshoz be kell jelentkezni
Az 1.26-os GNU tar-hoz adott manualban mindenhol kötőjelet látok az opciók bevezetésénél. A műveleti módoknál nincs 'f', ami van, azok viszont kötőjellel bevezetendők.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Akkor most kell, vagy sem? Mondjuk nekem hiba nélkül lement kötőjellel...
- A hozzászóláshoz be kell jelentkezni
"Akkor most kell, vagy sem?"
Pontosan, ahogy írod.
- A hozzászóláshoz be kell jelentkezni
Én is azt mondtam, hogy kötőjellel, például
tar -cJvf ide ezt
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
"A műveleti módoknál nincs 'f', ami van, azok viszont kötőjellel bevezetendők."
Valóban nincs f a műveleti módoknál, viszont éppen a manual mondja ki, hogy nem kötelező a kötőjel a műveleti módokat meghatározó jelölések előtt - illetve mivel összevonható egyéb rövid opciókkal, így azok elé sem kell.
man tar (1.26):
SYNOPSIS
tar [-] A --catenate --concatenate | c --create | d --diff --compare | --delete | r --append | t --list | --test-label | u --update | x --extract --get [options] [pathname ...]
DESCRIPTION
...
The first argument to tar should be a function; either one of the letters Acdrtux, or one of the long function names. A function letter need not be prefixed with ``-'', and may be combined with other single-letter options.
Azaz egyértelműen leírja, hogy a kötőjel opcionális, valamint jelöli is. Tehát kitehető, de el is hagyható.
- A hozzászóláshoz be kell jelentkezni
Ez már attól függ, ki milyen nyelvjárást olvas. Fedora 19 tar manualja egyiket sem írja azok közül, amelyekre hivatkoztál.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Mielőtt ide írtam volna elolvastam én is a manualt. De a Debian manualja nem ír erről. Pedig kétszer is elolvastam figyelmesen.
- A hozzászóláshoz be kell jelentkezni
Korrekt, jobban elolvasva
1.: tényleg kötőjellel írja
2.: nincs f
viszont f nélkül nem működik, szóval magyarán azt javaslom, az operationt használja mindenki kötőjel nélkül, és akkor a sorrend nem számít. És ezek szerint a manual hibás ... :) De komolyan...
- A hozzászóláshoz be kell jelentkezni
Mert olyan nehéz megszokni, hogy az f-et a végére írjuk, ha már éppen az f jelenti azt, hogy után meg kell mondani a filenevet. ;)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
"ugyanis az f operation nél is van"
Erről nem csak a man nem tesz említést, hanem a bináris sem ismeri, el sem fogadja:
# tar f egy ketto
tar: You must specify one of the `-Acdtrux' or `--test-label' options
Try `tar --help' or `tar --usage' for more information.
#
# tar --version
tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
#
"nem kell - jel elé, ez a baj."
Lássuk a mant, különös tekintettel a "need not be" részre, ami azt súgná, hogy ezen nem lenne szabad elvéreznie:
man tar (GNU 1.26):
The first argument to tar should be a function; either one of the letters Acdrtux, or one of the long function names. A function letter need not be prefixed with ``-'', and may be combined with other single-letter options.
- A hozzászóláshoz be kell jelentkezni
(Bevallom, én is néha xfzv-t írok, de igyekszem nevelni magam, hogy az f a végére kerüljön, a nagyobb kompatibitás miatt: xzvf)
- A hozzászóláshoz be kell jelentkezni