나는 백업 파일들을 압축할 때 효율이 높은 xz를 사용한다. 문제는 xz의 효율이 높은 만큼 시간이 오래걸리는데 심지어 기본 설정이 스레드를 하나 밖에 쓰지 않게 되어있다.
보통 tar.xz 파일을 만든다면 tar cJvf ... 명령을 사용하여 한번에 tar로 묶고 xz로 압축하는데 기본 설정이 이러니 매우 느리다. 이 문제를 해결하기 위해서 xz 프로그램의 옵션을 XZ_OPT 환경 변수로 설정하여 전달하면 된다. 리눅스 시스템을 공부했다면 부모 프로세스의 환경변수는 따로 변경하지 않는 이상 자식 프로세스에게 똑같이 설정된다는 것을 알 것이다. 그러므로 tar을 실행할 때 XZ_OPT='-T0'를 설정하면 그대로 자식 프로세스로 생성될 xz에게 넘어간다:
$ XZ_OPT='-T0' tar cJvf out.tar.xz in.file