Chciałbym spakować moją pracę domową z zeszłego roku. Jak spakować i spakować cały folder z linii poleceń Ubuntu (nie mam GUI).
Chciałbym spakować moją pracę domową z zeszłego roku. Jak spakować i spakować cały folder z linii poleceń Ubuntu (nie mam GUI).
Odpowiedzi:
Czytać man tar
. Oferuje:
-a, --auto-compress
use archive suffix to determine the compression program
-j, --bzip2
--lzip
--lzma
--lzop
-z, --gzip, --gunzip --ungzip
-Z, --compress, --uncompress
Lub, jeśli żaden z nich nie jest odpowiedni dla Ciebie, a masz program do kompresji, który czyta stdin
, możesz:
tar cf- $HOME | my_compression_program >/tmp/compressed.output
Zauważ, że piszę dane wyjściowe w innym miejscu niż $HOME
(tworzenie kopii zapasowej w katalogu, który tworzysz, prowadzi do nieograniczonego wzrostu plików).
Lub możesz przeczytać man 7z
- wygląda na to, że możesz
dir="directory to save"
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on /tmp/archive.7z $dir
To nie jest dobry pomysł kompresji bezpośrednio z 7z spcially na systemach Unix / Linux: 7z nie zachowuje uprawnienia i czy informacje użytkownika / grupy . Więc: najpierw smoła, a następnie kompresuj.
Jak podano na stronie wiki 7zip pod adresem http://en.wikipedia.org/wiki/7z#Limitations :
Ograniczenia
Format 7z nie przechowuje uprawnień do systemu plików (takich jak uprawnienia właściciela / grupy UNIX lub listy ACL NTFS), dlatego może być nieodpowiedni do celów tworzenia kopii zapasowych / archiwizacji. Rozwiązaniem tego problemu w systemach typu UNIX jest konwersja danych na strumień bitów tar przed kompresją za pomocą 7z.
Sugeruję użycie:
tar cf - foldername | 7z a -si -m0=lzma2 -mx=3 foldername.tar.7z
dla dramatycznego przyspieszenia.
Ma tę zaletę, że używa lzma2 ( -m0=lzma2
) (który wykorzystuje maksimum dostępnych rdzeni w twoim systemie i preset ( -mx=3
) „Szybka kompresja” , który jest zasadniczo szybki i wystarczająco dobry. Zauważ, że LZMA2 wykorzystuje nie tylko wszystkie rdzenie przy kompresji, ale także na dekompresja.
Powinieneś użyć tar -Jchf <Filename>.tar.xz <Files to compress>
-J
Wykorzystuje algorytm kompresji XZ, tak samo jak 7zip
-c
tworzy nowy plik
-h
zachowuje simlinks
-f
ustawia nazwę pliku
man 7z
.