Unix

tar로 묶어서 7z 분할압축

ForceCore 2017. 2. 17. 07:45

이럴 일은 별로 없을 것이다...


tar cvf - DIRECTORY | 7z a /run/media/user/usbname/DIRECTORY.tar.7z -si -v1g


USB에 압축을 하는데 exfat인데도 파일이 크기가 너무 커지면 버티지를 못하네. 그럼 분할 압축 해야 한다.


tar.gz로 묶긴 쉬운데 분할압축은 하기 어려울것이다. split 명령어를 써야 하던가?..;;; 분할을 애초에 지원하는 7z로 압축을 하자. 압축은 7z에게 맡기는 것이니 tar쪽엔 압축 플래그를 주지 말아야 빠르다. 압축된걸 또 압축하기란 힘들고 되지도 않는 작업이니까. 따라서 cvf만 준다. v는 심심하지 않으려고 주는거고 (뭐가 압축되는 중인지 파일명 보려고 ㅋ), 파일명 자리에 -가 들어가면 STDOUT으로 압축결과를 내놓는다는 것.


7z쪽의 -si 는 STDIN으로부터 데이터를 읽으란 명령어이고, -v1g는 1g간격으로 volume을 나누란 것이다 (즉 분할압축).