Powinieneś wyraźnie wyjaśnić, co dokładnie się dzieje, ponieważ twój obecny sposób zadawania pytań sprawia, że nawet najbardziej wyrafinowana kryształowa kula wydaje się nieco zamglona.
Odpowiedzi:
2
Zwykle tarpotrzebuje opcji --absolute-nameslub --absolute-paths, aby zachować '/'część główną podczas tworzenia archiwum. Nawet jeśli wymusisz to w ten sposób, ekstrakt pominie również prowadzenie '/'.
Jednak jeśli masz archiwum z wiodącym '/'i tar nie pomija go podczas wypakowywania, odpowiedź NoahD powinna działać w tej formie,
pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar
Wydaje mi się, że paxnie obsługuje skompresowanych plików, więc po rozpakowaniu będziesz musiał zainstalować potoki pax.
Tak by było (zakładając, że masz spakowane archiwum)
Różnica między używaniem kanonicznym (czyli jawnym) a względnym (co prawdopodobnie nazywasz niejawnym) polega na tym, czy używasz /na początku.
Na przykład, jeśli bieżącym katalogiem roboczym jest /usr/home/bob, następujące polecenia mają dokładnie taki sam efekt
tar -xvf foo.tar *
tar -xvf ./foo.tar *
tar -xvf ./foo.tar ./*
tar -xvf /usr/home/bob/foo.tar *
tar -xvf /usr/home/bob/foo.tar ./*
tar -xvf /usr/home/bob/foo.tar / usr / home / bob / *
Ale podejrzewam, że to nie jest twoje pytanie. Wydaje się bardziej, że musisz określić użycie dysku i zlokalizować katalog, który nie jest pełny. Można to zrobić za pomocą dfpolecenia.
df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig
I możesz użyć, mountaby pokazać, jakie systemy plików są zamontowane na jakich urządzeniach.
Odpowiedzi:
Zwykle
tar
potrzebuje opcji--absolute-names
lub--absolute-paths
, aby zachować'/'
część główną podczas tworzenia archiwum. Nawet jeśli wymusisz to w ten sposób, ekstrakt pominie również prowadzenie'/'
.Jednak jeśli masz archiwum z wiodącym
'/'
i tar nie pomija go podczas wypakowywania, odpowiedź NoahD powinna działać w tej formie,Wydaje mi się, że
pax
nie obsługuje skompresowanych plików, więc po rozpakowaniu będziesz musiał zainstalować potokipax
.Tak by było (zakładając, że masz spakowane archiwum)
Właśnie znalazłem tę stronę wiki w Google.
źródło
Różnica między używaniem kanonicznym (czyli jawnym) a względnym (co prawdopodobnie nazywasz niejawnym) polega na tym, czy używasz
/
na początku.Na przykład, jeśli bieżącym katalogiem roboczym jest
/usr/home/bob
, następujące polecenia mają dokładnie taki sam efektAle podejrzewam, że to nie jest twoje pytanie. Wydaje się bardziej, że musisz określić użycie dysku i zlokalizować katalog, który nie jest pełny. Można to zrobić za pomocą
df
polecenia.I możesz użyć,
mount
aby pokazać, jakie systemy plików są zamontowane na jakich urządzeniach.źródło
Aby utworzyć plik tar ze ścieżką względną,
Aby rozpakować tar do określonego katalogu innego niż bieżący katalog roboczy, użyj przełącznika -C (wielkie litery C).
Jeśli chcesz rozpakować plik z bezwzględnymi nazwami ścieżek do punktu innego niż root, być może będziesz musiał się z tym pogubić
chroot(1)
.źródło
Wierzę, że pax załatwi sprawę
pax -r -s, / mnt, / gooddir, -f 13.2.tar
Powinno to umożliwić zastąpienie w nowym katalogu głównym.
źródło