Jak mogę ponownie spakować archiwum .bz2 do formatu .xz, jeśli chcę zapisać znacznik danych pliku i jego ustawienia chmod-chown?
Mogę używać dowolnych standardowych narzędzi oraz xz, lzma, p7zip
Musisz podzielić to na dwie części
1) Konwertuj z bz2 na xz, na które odpowiedział billc.cn
2) Napraw własność, uprawnienia i znacznik czasu pliku xz, aby pasował do bz2.
chown "`stat --printf '%u:%g' file.bz2`" file.xz
chmod "`stat -c '%a' file.bz2`" file.xz
touch -a -d "`stat -c '%x' file.bz2`" file.xz
touch -m -d "`stat -c '%y' file.bz2`" file.xz
Możesz po prostu użyć bzcat
do usunięcia kompresji bzip2, ale zachowaj format tar, a następnie potokuj wyniki do xz
:
bzcat file.tar.bz | xz > file.tar.xz
Możesz dodać swoje opcje kompresji xz
jak zwykle, ale po prostu pomiń nazwę pliku, aby użyć standardowego wejścia.
touch
.ls
ma dodatkowe opcje wyświetlania pełnego czasu {tworzenie, dostęp, modyfikacja} oryginalnego pliku.stat -c %X
aby uzyskać surowe wartości. Zmień X na Y i Z, aby uzyskać modyfikację i zmienić czas. Zobacz stronę podręcznika dlastat
.