대부분의 최신 Linux 배포와 마찬가지로 Ubuntu에는 기본적으로 모든 필요에 맞는 많은 도구가 함께 제공됩니다. 그 중 압축 패키지로 파일을 저장할 수 있는 아카이브 관리자가 있습니다. 그러나 작은 문제가 있습니다. 필요한 것보다 여전히 너무 클 수 있습니다. 이러한 경우 가장 좋은 방법은 파일을 압축하고 더 작은 부분으로 나누는 것입니다.
Ubuntu에는 이를 정확하게 수행할 수 있는 도구가 함께 제공되지만 불행히도 Archive Manager는 이러한 작업에 가장 적합하지 않습니다. 그 때 터미널로 돌아가야 합니다. 고맙게도 프로세스가 쉽고 단일 명령으로 파일을 더 작은 청크로 압축하고 분할할 수 있습니다. 방법을 알아보겠습니다.
압박 파악
시작하기 전에 귀중한 시간을 절약할 수 있는 모든 형태의 압축에 대해 약간 설명해야 합니다. 누적되지 않습니다.
즉, 고도로 압축된 파일이 많은 경우 다른 유형의 압축으로 다시 압축해도 많은 이점이 없습니다. 이미 고도로 압축된 JPG 이미지, MP4 비디오 파일 또는 기타 압축 아카이브와 같은 파일을 공유하려고 한다고 가정합니다. 이 경우 사용 가능한 가장 높은 압축 설정을 사용해도 소용이 없습니다. 아카이브에 압축하지 않고 "저장"하도록 선택하는 것이 좋습니다.
TXT 파일, 대용량 데이터베이스 또는 압축되지 않은 미디어와 같이 압축되지 않았거나 약간 압축된 파일의 경우 가장 높은 압축 설정으로 이동하면 파일 크기가 상당히 작아질 수 있습니다.
고전적인 Linux 접근 방식
여기에 사용된 Windows 10 ISO와 같은 파일을 압축하려고 한다고 가정해 보겠습니다. tar
와 같은 기본 도구를 사용할 수 있습니다. , split
, 및 bzip
압축하고 더 작은 파일로 분할합니다.
1. 터미널을 실행합니다. 빠른 방법은 CTRL를 누르는 것입니다. + 대체 + T . 그런 다음 분할 아카이브에 저장하려는 대용량 파일이 있는 폴더로 이동합니다. 정리를 위해 "split"이라는 하위 폴더를 만들고 여기에 다음과 함께 분할 아카이브를 저장합니다.
mkdir split
그런 다음 다음과 같이 입력하십시오.
cd split
- 다음 명령을 사용하여 파일 또는 폴더를 분할 아카이브로 압축합니다.
tar -cvj FILENAME | split -b SIZE_OF_PARTS -d - "BASE NAME OF ARCHIVE"
Windows 10 ISO의 경우 명령은 다음과 같습니다.
tar -cvj ~/Data/Windows10.iso | split -b 50m -d - "Windows10_ISO.tar.bz."
- "~/Data/Windows10.iso"는 압축하려는 파일의 경로 및 파일 이름입니다.
split -b 50m
아카이브를 50MB 부분으로 분할하고자 함을 나타냅니다. 원하는 크기를 반영하도록 해당 값을 변경합니다.Windows10_ISO.tar.bz.
분할 아카이브 파일의 파일 이름입니다. 끝에 추가 점이 있습니다. 각 청크의 끝에 숫자가 있기 때문에 시퀀스에서 해당 위치를 반영합니다.
압축하는 파일의 크기와 컴퓨터 속도에 따라 곧 분할 하위 폴더에서 분할 아카이브의 일부를 찾을 수 있습니다.
전체 크기를 확인하면 압축되지 않은 전체 크기보다 작을 것입니다.
원본 파일을 다시 가져오려면 먼저 다음을 사용하여 단일 아카이브의 모든 부품을 재조립해야 합니다.
cat BASE_NAME_OF_PARTS.* > BASE_NAME_OF_PARTS.bz
그런 다음 다음을 사용하여 내용을 추출합니다.
tar -xvj REASSEMBLED_ARCHIVE.bz
우리의 경우 위의 두 명령은 다음과 같습니다.
cat Windows10_ISO.tar.bz.* tar -xvj Windows10_ISO.tar.bz
그러나 다음에 보게 될 최신 압축 도구를 사용하면 더 잘할 수 있습니다.
현대식 고압축 솔루션
7Zip은 높은 압축률을 제공하고 분할 아카이브를 지원하는 최신 아카이버입니다. 따라서 당면한 작업에 더 나은 솔루션입니다. 그러나 Ubuntu는 함께 제공되지 않습니다. Linux 버전 p7zip을 설치하려면 다음을 사용하십시오.
sudo apt install p7zip-full
분할 아카이브에서 파일을 압축하는 것은 이전에 본 기본 솔루션보다 훨씬 쉽습니다. 각 분할 파일의 크기, 기본 아카이브 파일 이름 및 압축하려는 항목만 다음과 같이 명시하면 됩니다.
7z -vSIZE_OF_SPLIT_FILES a ARCHIVE_FILENAME FILE_TO_COMPRESS
Windows 10 ISO의 예에서 각 부분이 50MBsin 크기가 되는 멀티파트 아카이브에서 압축하려면 명령은 다음과 같습니다.
7z -v50m a Windows10_iso.7z ~/Data/Windows10.iso
잠시 후 split 하위 폴더에서 결과를 찾을 수 있으며 이전에 본 tar-split-bzip 접근 방식을 사용한 것보다 크기가 작아집니다.
파일을 다시 가져오려면 시퀀스의 첫 번째 파일만 추출하면 7z가 나머지 파일을 자동으로 처리합니다.
7z e FIRST_PART_OF_COMPRESSED_ARCHIVE
이 예에서는 다음과 같습니다.
7z e Windows10_iso.7z.001
또한 요즘에는 pigz 또는 plzip과 같은 도구를 사용하여 압축 아카이브를 만드는 데 사용할 수 있는 옵션이 더 많다는 점도 주목할 가치가 있습니다.
압축된 분할 아카이브가 실용적이라고 생각하십니까? 어떤 압축 도구를 사용하여 처리하고 있습니까? 아래 댓글 섹션에 알려주세요.