Tar

동명의 화학 물질에 대해서는 타르 문서를 참조하십시오.

1 설명

확장자는 *.tar Tape Archive의 약자이다. 대체로 tarball이라고 불린다.

압축은 전혀 하지 않으며, 단순히 다수의 파일을 하나로 묶을 때 사용한다.[1] 과거 테이프를 기억매체로 사용하던 시절 데이터 관리를 보다 효율적으로 하기 위해 만들어졌다. 파일을 하나로 묶는 역할만 하는지라 처리 속도가 빠르다. 유닉스 계열 운영체제에서 주로 쓰인다.

tar는 단순히 묶는 역할만 하므로 압축이 필요한 경우 tar파일을 다른 압축 유틸리티를 통해 압축한다. 이 경우 뒤에 확장자가 더 따라붙는다. gzip을 이용하면 tar.gz, bzip2를 이용하면 tar.bz 하는 식. tgz, tbz 등 아예 합쳐진 확장자로도 많이 쓰인다. 간혹 압축한 파일을 tar로 지정해서 받는 쪽에서 삽질하게 만드는 경우도 있다(...)

tar의 장점은 다른 압축파일들이 가질 수 없는 기능인 파일의 특성을 같이 저장 할 수 있다는 점인데, 예를 들어 CMS구축 파일이 zip파일과 tar.bz로 제공될 때 zip파일은 바이너리 파일이나 폴더 권한 설정을 수동으로 (.htaccess 포함)해주어야 하지만, tar의 경우는 권한 설정 등이 tar안에 저장되어 있기 때문에 귀찮은 작업이 사라진다는 장점이 있다.

2 다른 OS과의 관계

윈도우에서는 잘 쓰이지 않는 파일 형식이다. 윈도우의 전신이 된 DOS에는 tar 같은 파일을 한데 묶어주는 기능이 없었다. 사실 tar 라는 기능은 유닉스가 메인프레임 같은 중대형 컴퓨터 용이었고, 대량의 데이터를 다루는 일이 많다 보니 생긴 것이다. 그러나 DOS는 PC용 OS였고, 초창기 PC는 대량의 데이터를 다루는 일이 없다보니 해당 기능을 채용하지 않은 것이다. 따라서 DOS용 파일 압축 프로그램들은 여러 파일의 압축을 시도하면 파일을 합쳐주는 기능까지 같이 넣는 것이 일반적이었고, 이것은 윈도우 시대까지 그대로 이어졌다. 그러다보니 tar 는 윈도우에서는 거의 쓰이지 않는 포맷이 되었고, 윈도우용 tar 유틸리티도 나와 있지만 굳이 설치해서 쓰는 사람은 드물다. 때문에 유닉스/리눅스와 전혀 인연이 없는 사람에게 tar 파일을 보내면 뭥미 소리가 나오니 주의. 그나마 2010년대 이후에 나오는 윈도우용 압축프로그램은 tar 압축해제를 대부분 지원한다.

그 반대도 마찬가지. 윈도우는 tar를 지원하지 않는 대신 OS 차원에서 ZIP 파일의 압축 및 해제를 지원하는데, 이 파일을 리눅스 등의 유닉스 계열 OS로 보내면 비슷한 문제가 생긴다. 물론 이 경우에는 ZIP 압축해제를 지원하는 unzip 패키지를 설치해서 풀면 된다. RAR 등의 다른 윈도우에서 많이 사용되는 압축 프로그램도 마찬가지다.

압축 프로그램 간 호환성이 제로에 가까운 ALZEGG보다는 훨씬 낫긴 하다

3 사용법

유닉스 계열 운영체제에 기본적으로 포함되어 있는 tar 압축 명령어는 보통 다음과 같은 옵션을 가진다. GNU tar를 기준으로 설명한다. FreeBSD나 OSX등 BSD 계열의 경우도 대동소이하지만 미묘하게 다른 경우가 있으니 주의.

  • -f : 테이프 대신 파일을 묶는다. 원래 테이프를 다루는 프로그램이였기 때문에 생긴 흔적이다. 파일을 압축하고 해제할려면 반드시 붙여줘야 한다.
  • -c : 지정한 파일을 tar로 묶는다.
  • -x : tar를 압축 해제한다.
  • -r : 묶인 tar에 새 파일을 추가한다.
  • -t : tar 안에 들어있는 파일을 목록으로 표시한다.
  • -v : 압축 및 해제 과정을 상세한 메시지로 출력한다.
  • -z : 묶은 tar를 gzip으로 압축한다.
  • -j : 묶은 tar를 bzip2로 압축한다.
  • -J : 묶은 tar를 xz로 압축한다.

이 문서의 내용 중 전체 또는 일부는 타르문서에서 가져왔습니다.</div></div>

  1. 따라서 엄밀히 말하면 '압축 형식'이라 부를 수는 없다.