cpio podstawowe polecenie wypakowania, odpowiednik „tar xzvf”?


12

Otrzymałem dystrybucję oprogramowania Unix jako skompresowany plik CPIO. Jakie jest najlepsze polecenie do rozpakowania plików?


Kiedy zrobiłeś man cpioco widziałeś?

5
Widzę: -i -o -p -t -B -c -C -f -F -H -M -n -v -V -W -b -r -s -S -E -A -O -l - 0 -a -I -L -R -d -m -u -? --extract --create - pass-through --list --block-size = --io-size = --force-local - niedopasowanie - plik = --format = - wiadomość = - numeryczny- uid-gid --quiet --rsh-command = --verbose --dot --warning = --swap --rename --swap-bytes --swap-halfwords --to-stdout --pattern-file = - -only-Verify-crc --append - link --absolute-fileenames --no-bezwzględne-fileenames - null --reset-access-time --dereference --owner = --make-katalogi --preserve- czas modyfikacji - nie-zachowaj-właściciel
Mark Harrison

Odpowiedzi:


11
gzip -cd foo.cpio.gz | cpio -idmv
  • i: ekstrakt (wejście)
  • d: utwórz katalogi
  • m: zachowaj mtime
  • v: pełne

3
mkdir archive
cd archive
zcat ../archive.cpio.gz | cpio -idmv --no-absolute-filenames

Chociaż jest to stare pytanie, pojawia się wysoko w Google, więc pomyślałem, że mogę je zaktualizować. Zgadzam się z ogólnie przyjętą odpowiedzią, ale powinieneś dodać „--no-absolutne-nazwy plików”, chyba że zamierzasz zastąpić ważne pliki systemowe na swoim komputerze. Osobiście wolę „zcat” niż „gzip -cd” lub „gunzip -c”.

Na koniec zauważ, że musisz uruchomić cpio jako root (np. Sudo), jeśli rozpakowujesz główny system plików zawierający węzły urządzeń.



0

Na przykład, aby wyodrębnić zarchiwizowaną zawartość / etc / httpd / do bieżącego katalogu, tworząc podkatalogi ./etc/httpd/

mkdir restored-etc-httpd
cd restored-etc-httpd    
zcat archive.cpio.gz | cpio -idmv --no-absolute-filenames "*etc/httpd/*"

Zarówno zaakceptowana odpowiedź, jak i Matt były dla mnie pomocne, ale przez chwilę byłem zaskoczony z powodu trzech szczegółów:

  1. Pasujący wzorzec musi być cytowany, aby działał jako wzorzec: P
  2. Opcja --no-absolute-filenamesmusi poprzedzać wzorzec w linii poleceń
  3. Ponieważ ta opcja usuwa interlinię /z nazw plików, pasujący wzorzec musi również pomijać interlinię/
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.