Jak spakować katalog zachowując nie tylko uprawnienia, ale także własność

37

Muszę skompresować katalog za pomocą tar.gz zachowując nie tylko uprawnienia, ale także własność / grupy.

W tym katalogu znajduje się wiele plików należących do wielu użytkowników.

Paulo Coghi - Przywróć Monikę
źródło

Odpowiedzi:

39

Szukasz -pflagi, więc przykładem może być tar -cvpf file.tar folderToCompressostrożność przy użyciu tarpolecenia, ponieważ łatwo jest nadpisywać pliki, jeśli składnia polecenia jest niepoprawna.

Właściciele pliku są zachowywani normalnie, podczas rozpakowywania należy użyć --same-ownerflagi. Tak jak tar --same-owner -xvf file.tarchociaż flaga jest zalecana tylko dla superużytkowników.

Sprawdź stronę man tar .

SupaJord
źródło
9
Musi być tar -cvpf file.tar(lub jeszcze lepiej, jeśli chodzi o przejrzystość -cvp -f file.tar). W przeciwnym razie -fpczęść jest interpretowana jako --file pi tarzapisuje do pliku o nazwie pzamiast file.tar.
KT.
4
Ponadto, biorąc pod uwagę, że odpowiedź wspomniała o kompresji i ludzie mają tendencję do kopiowania i wklejania odpowiedzi z postów bez zastanowienia, zauważę, że popularnym idiomem archiwizacji z kompresją byłoby: tar -czvpf file.tar.gz folderToCompresslub tar -cjvpf file.tar.bz2 folderToCompress.
KT.
@KT - masz rację, więc naprawiam -fflagę - chociaż nie naprawiłem -zflagi kompresji . Do kompresji poleciłbym -Ipigz(to duże i) zamiast -z; w systemach wielordzeniowych Pigz może być znacznie szybszy.
NVRAM,
13
Ta odpowiedź jest zła. pjest flagą wyodrębniającą , nie będzie miała wpływu na tworzenie archiwum. Wpływa również na uprawnienia do plików, a nie na własność. Odpowiednia flaga dla własności to --same-owner, która jest domyślnie włączona podczas wypakowywania jako root.
Vladimir Panteleev
1
@NVRAM SnowRep rozpiął zmiany (!!!). SnowRep, oddaję ci głos i przywracam edycję NVRAM, co jest poprawne . Nie umieszczaj celowo nieprawidłowych informacji na stronie!
Kyle Strand
23

Muszę skompresować katalog za pomocą tar.gz zachowując nie tylko uprawnienia, ale także własność / grupy.

Domyślnie tarzachowuje uprawnienia do plików i własność podczas tworzenia archiwum.

Aby wyodrębnić uprawnienia do plików i prawa własności, tarpodczas rozpakowywania będziesz musiał uruchomić się jako root, ponieważ zmiana własności pliku zwykle wymaga uprawnień administratora. Zobacz to pytanie, aby uzyskać więcej informacji.

Vladimir Panteleev
źródło
1
Kiedy mówisz, że zachowuje własność, czy to oznacza zarówno użytkownika, jak i grupę?
CMCDragonkai
1
To jest poprawne. Zarówno właściciel, jak i grupa są domyślnie rejestrowane (przynajmniej w GNU tar).
Vladimir Panteleev