tar(표준)

tar (computing)
타르
원저작자AT&T 벨 연구소
개발자다양한 오픈 소스 및 상용 개발자
초기 릴리즈1979년 1월, 43년 전(1979-01)
안정된 릴리스
BSD 타르3.5.2[1] / 2021-08-23
GNU 타르1.34[2] / 2021-02-13
pdtar1986-10-29[3][4] / 1986-10-29
플랜 9 타르? / ?
1.6.0[5] / 2019-04-15
기입처pdtar, star, Plan 9, GNU: C
운영 체제Unix, Unix like, Plan 9, Microsoft Windows, IBM i
플랫폼크로스 플랫폼
유형명령어
면허증.BSD tar: BSD-2-Clause
GNU tar: GPL-3.0 이후
pdtar: 퍼블릭 도메인
계획 9: MIT
별: CDDL-1.0
타르
파일 이름 확장자
.tar
인터넷 미디어 유형
응용 프로그램/x-tar
Uniform Type Identifier(UTI; 균일 유형 식별자)public.tar-displic
매직 넘버u s t a r \0 0 0 바이트 오프셋 257로 설정(POSIX 버전의 경우)

u s t a r \040 \040 \0 (구 GNU tar [6]포맷의 경우)

POSIX 이전 버전에는 없음
최신 릴리즈
여러가지
여러가지
포맷의 종류파일 아카이브 서버
표준.POSIX.1 이후 POSIX, 현재 pax정의에 있음[1]
오픈 포맷?네.

컴퓨팅에서 tar는 배포 또는 백업 목적으로 많은 파일을 하나의 아카이브 파일로 수집하기 위한 컴퓨터 소프트웨어 유틸리티입니다.이 이름은 원래 자체 파일 시스템 없이 순차 I/O 장치에 데이터를 쓰기 위해 개발되었기 때문에 "테이프 아카이브"에서 유래했습니다.tar에 의해 작성된 아카이브 데이터 세트에는 이름, 타임스탬프, 소유권, 파일 액세스 권한 및 디렉터리 구성 등 다양한 파일 시스템 매개 변수가 포함됩니다.POSIX는 pax를 위해 tar를 포기했지만 tar는 계속 널리 사용되고 있습니다.

역사

명령줄 유틸리티는 1979년 1월 tp 프로그램을 대체하여 버전 7 Unix에 [7]처음 도입되었습니다. 정보를 저장하기 위한 파일 구조는 POSIX[8].1-1988 및 이후 POSIX.[9]1-2001에서 표준화되었으며 대부분의 최신 파일 아카이브 시스템에서 지원되는 형식이 되었습니다.tar 명령어는 POSIX.1-2001에서는 ustar 파일 형식을 지원하는 pax 명령어를 위해 포기되었습니다.tar 명령어는 적어도 1994년 이후 pax 명령어를 위해 철회하도록 지시되었습니다.

현재 Unix와 유사한 운영 체제에는 일반적으로 tar 파일을 지원하는 도구와 gzipbzip2와 같은 압축에 일반적으로 사용되는 유틸리티가 포함되어 있습니다.

tar 명령어는 IBM i 운영 [10]체제에도 이식되어 있습니다.

BSD-tar는 2018년 4월 10일 Windows 업데이트 [11][12]이후 Microsoft Windows에 포함되어 있으며, 그 외에는 Windows에서 이러한 형식을 읽고 쓰는 데 사용할 수 있는 여러 서드파티 도구가 있습니다.

근거

과거의 테이프 드라이브의 상당수는 가변 길이의 데이터 블록을 읽고 쓰기 때문에 블록 사이에 테이프에 상당한 공간이 낭비됩니다(테이프가 물리적으로 움직이기 시작하고 멈추기 위해).일부 테이프 드라이브(및 원시 디스크)는 고정 길이의 데이터 블록만 지원합니다.또, 파일 시스템이나 네트워크등의 미디어에 쓸 때는, 작은 블록의 수보다 큰 블록 1개를 쓰는 시간이 단축됩니다.따라서 tar 명령어는 많은 512B 블록의 레코드에 데이터를 씁니다.사용자는 레코드당 블럭 수인 블럭 계수를 지정할 수 있습니다.기본값은 20으로 10KiB [13]레코드가 생성됩니다.

파일 형식

이력 파일 형식과 현재 파일 형식을 포함하여 여러 tar 파일 형식이 있습니다.POSIX 에서는, ustarpax 의 2 개의 tar 형식이 코드화되어 있습니다.코드화 되어 있지 않지만 현재 사용되고 있는 것은 GNU tar 형식입니다.

tar 아카이브는 일련의 파일 오브젝트로 구성되어 있습니다.따라서 tarball이라는 용어tarball이 표면에 달라붙는 모든 종류의 오브젝트를 수집하는 방법을 나타냅니다.각 파일 오브젝트에는 임의의 파일데이터가 포함되어 있으며 그 앞에 512바이트의 헤더레코드가 붙습니다.파일 데이터는 512바이트의 배수로 반올림되는 것을 제외하고 변경되지 않고 기록됩니다.원래 tar 실장에서는 패딩 바이트의 내용은 신경 쓰지 않고 버퍼 데이터를 변경하지 않았지만 대부분의 최신 tar 실장에서는 여분의 공간을 [14]0으로 채웁니다.아카이브의 끝은 적어도2개의 연속된 제로 기입 레코드로 표시됩니다.(tar의 레코드 사이즈는 버전7 Unix 파일시스템에서 사용되는 512바이트 디스크 섹터인 것 같습니다).아카이브의 마지막 블록은 0으로 전체 길이로 패딩됩니다.

헤더

파일 헤더 레코드에는 파일에 대한 메타데이터가 포함되어 있습니다.바이트 순서가 다른 아키텍처 간에 이식성을 확보하기 위해 헤더레코드 내의 정보는 ASCII로 부호화됩니다.따라서 아카이브 내의 모든 파일이 ASCII 텍스트파일이고 ASCII 이름을 가진 경우 아카이브는 기본적으로 ASCII 텍스트파일(다수의 NUL 문자를 포함)입니다.

원본 Unix tar 형식으로 정의된 필드를 다음 표에 나타냅니다.링크 인디케이터/파일 타입 테이블에는 최신 확장자가 포함되어 있습니다.필드가 사용되지 않으면 NUL 바이트로 채워집니다.헤더는 257바이트를 사용하여 NUL 바이트로 패딩되어 512바이트 레코드를 채웁니다.헤더에는 파일 식별을 위한 "매직 번호"가 없습니다.

POSIX.1-1988(v7) 이전 tar 헤더:

필드 오프셋 필드 크기 들판
0 100 파일명
100 8 파일 모드(8진수)
108 8 소유자의 숫자 사용자 ID(8진수)
116 8 그룹의 숫자 사용자 ID(8진수)
124 12 파일 크기(바이트)(8진수)
136 12 마지막 수정 시간(숫자 Unix 시간 형식)(8진수
148 8 헤더 레코드의 체크섬
156 1 링크 표시기(파일 형식)
157 100 링크된 파일 이름

pre-POSIX.1-1988 Link 인디케이터 필드에는 다음 값을 지정할 수 있습니다.

링크 인디케이터 필드
가치 의미.
'0' 또는 (ASCII NUL) 일반 파일
'1' 하드 링크
'2' 심볼릭 링크

일부 pre-POSIX.1-1988 tar 실장에서는 이름에 후행 슬래시(/)가 포함되어 디렉토리를 나타내고 있습니다.

숫자 값은 ASCII 숫자를 사용하여 선행 0을 사용하여 8진수로 인코딩됩니다.이력상의 이유로 최종 NUL 또는 공백 문자를 사용해야 합니다.따라서 파일 크기를 저장하기 위해 12바이트가 예약되어 있지만 저장할 수 있는 것은 11자리 8진수뿐입니다.아카이브된 파일의 최대 크기는 8GB입니다.이 제한을 극복하기 위해 2001년 스타는 숫자 [citation needed]필드의 맨 왼쪽 바이트의 상위 비트를 설정함으로써 나타나는 base-256 부호화를 도입했습니다.GNU-tar와 BSD-tar는 이 아이디어를 따랐습니다.또한 1988년 최초의 POSIX 표준 이전의 tar 버전은 값을 0이 아닌 공백으로 채웁니다.

체크섬은 헤더 레코드의 부호 없는 바이트 값과 ASCII 공간(10진수치 32)으로 간주된 8개의 체크섬 바이트의 합계를 취함으로써 계산된다.선두에 0이 붙은6 자리수의 8 진수로 보존되어 NUL에 이어 공백이 됩니다.다양한 구현은 이 형식을 준수하지 않습니다.또한 일부 과거의 tar 구현에서는 바이트가 서명된 것으로 처리되었습니다.구현에서는 일반적으로 체크섬을 양방향으로 계산하며 서명된 합계와 서명되지 않은 합계가 포함된 체크섬과 일치하면 정상으로 취급합니다.

Unix 파일시스템은 같은 파일에 대해 여러 링크(이름)를 지원합니다.이러한 파일이 tar 아카이브에 여러 개 있는 경우 첫 번째 파일만 일반 파일로 아카이브되고 나머지는 하드 링크로 아카이브되며 "링크된 파일 이름" 필드는 첫 번째 파일 이름으로 설정됩니다.이러한 하드링크는 압축 해제 시 파일 시스템에서 다시 작성해야 합니다.

UStar 형식

대부분의 최신 tar 프로그램은 1988년부터 POSIX IEEE P1003.1 표준에 의해 도입된 UStar(Unix Standard[7][15] TAR) 형식의 읽기 및 쓰기 아카이브입니다.추가 헤더 필드가 도입되었습니다.오래된 tar 프로그램에서는 추가 정보(부분 이름 있는 파일 추출 가능)는 무시되지만, 새로운 프로그램에서는 새로운 포맷이 사용 중인지 확인하기 위해 "ustar" 문자열이 있는지 테스트합니다.UStar 형식을 사용하면 파일 이름이 길어지고 각 파일에 대한 추가 정보가 저장됩니다.파일명의 최대 사이즈는 256이지만, 앞의 패스 「filename prefix」와 파일명으로 분할되어 있기 때문에,[16] 훨씬 작게 할 수 있습니다.

필드 오프셋 필드 크기 들판
0 156 (구 형식과 동일한 여러 필드)
156 1 유형 플래그
157 100 (구 형식과 동일한 필드)
257 6 UStar 표시기 "ustar" 다음 NUL
263 2 UStar 버전 "00"
265 32 소유자 사용자 이름
297 32 소유자 그룹명
329 8 디바이스 메이저 번호
337 8 디바이스 부번호
345 155 파일명 프리픽스

type flag 필드에는 다음 값을 지정할 수 있습니다.

[ Type flag ]필드
가치 의미.
'0' 또는 (ASCII NUL) 일반 파일
'1' 하드 링크
'2' 심볼릭 링크
'3' 캐릭터 스페셜
'4' 블록 스페셜
'5' 디렉토리
'6' 선입선출
'7' 연속 파일
'g' 메타데이터를 포함한 글로벌 확장 헤더(POSIX.1-2001)
'x' 아카이브 내의 다음 파일에 대한 메타데이터가 포함된 확장 헤더(POSIX.1-2001)
'A'~'Z' 벤더 고유 확장 기능(POSIX.1-1988)
기타 모든 값 향후 표준화를 위해 예약됨

링크 플래그 값 'A'–'Z'를 사용하는 POSIX.1-1988 벤더 고유 확장 기능은 부분적으로 벤더마다 의미가 다르므로 오래된 것으로 간주되며 벤더 태그를 포함한 POSIX.1-2001 확장으로 대체됩니다.

타입 '7'(연속 파일)은 POSIX 표준에서는 정식으로 예약으로 표시되지만 디스크에 연속적으로 할당해야 하는 파일을 나타내기 위한 것입니다.이러한 파일의 작성을 명시적으로 서포트하는 운영체제는 거의 없기 때문에, 대부분의 TAR 프로그램은 이러한 파일을 서포트하고 있지 않기 때문에, 타입 7 파일은 타입 0(통상)인 것처럼 취급합니다.예외는 MASCOMP RTU(Real Time Unix) 운영체제시스템 상에서 가동하고 있는 경우 연속된 파일을 요구하기 위해 open() 함수에 대한 O_CTG 플래그를 지원하는 오래된 버전의 GNU tar입니다.단, 그 지원은 GNU tar 버전 1.24 이후에서는 삭제되었습니다.

POSIX.1-2001/pax

1997년에 Sun은 tar 형식에 확장자를 추가하는 방법을 제안했습니다.이 방법은 나중에 POSIX.1-2001 표준으로 인정되었습니다.이 형식은 확장 tar 형식 또는 pax 형식으로 알려져 있습니다.새로운 tar 형식을 사용하면 벤더 고유의 확장 기능을 임의의 타입으로 추가할 수 있습니다.다음 태그는 POSIX 표준에 의해 정의됩니다.

  • atime, mtime: 임의의 해상도에 있는 파일의 모든 타임스탬프(대부분의 실장에서는 나노초 단위의 정밀도를 사용)
  • 경로: 길이가 무제한인 경로 이름 및 문자 집합 코드화
  • linkpath: 길이 제한이 없는 심볼 링크타깃 이름과 문자 집합 코드화
  • uname, gname: 길이가 무제한인 사용자 및 그룹 이름 및 문자 집합 코드화
  • size: 크기가 무제한인 파일(이력 tar 형식은 8GB)
  • uid, gid: 크기 제한이 없는 사용자 ID 및 groupid(이 기록 tar 형식은 최대 ID 2097151로 제한됨)
  • 경로 이름 및 사용자/그룹 이름에 대한 문자 집합 정의(UTF-8)

2001년에 스타 프로그램은 새로운 [citation needed]포맷을 지원하는 최초의 타르가 되었다.2004년에 GNU tar는 새로운 [17]포맷을 지원했지만 아직 [18]tar 프로그램의 기본 출력으로 쓰지는 않았습니다.

pax 포맷은 UStar 포맷을 읽을 수 있는 모든 구현에서 pax 포맷도 읽을 수 있도록 설계되어 있습니다.유일한 예외는 긴 파일 이름과 같은 확장 기능을 사용하는 파일입니다.호환성을 위해 이러한 파일은 tar 파일로 특수하게 인코딩됩니다.x또는g파일 형식(일반적으로 파일 이름 아래)PaxHeaders.XXXX디렉토리로 이동합니다.[19]: exthdr.name 팍스 지원 구현에서는 정보가 사용되지만 7-Zip과 같이 지원되지 않는 구현에서는 정보가 추가 [20]파일로 처리됩니다.

사용하다

명령어 구문

tar [-tar] <tar 아카이브 이름> [아카이브에 추가할 파일 또는 디렉토리]

기본 옵션:

  • -c, --create- 새로운 아카이브 작성
  • -a, --auto-compress또한 압축기를 사용하여 아카이브를 압축합니다. 압축기는 아카이브의 파일 이름 확장자에 따라 자동으로 결정됩니다.아카이브 이름이 다음과 같이 끝나는 경우*.tar.gz 후 gzip을 사용합니다.*.tar.xzxz를 사용합니다.*.tar.zstZ standard 등의 경우
  • -r, --append- 아카이브 끝에 파일 추가
  • -x, --extract, --get- 아카이브에서 파일 추출
  • -f, --file: 아카이브의 이름을 지정합니다.
  • -t, --list- 아카이브 내의 파일 및 폴더 목록을 표시합니다.
  • -v, --verbose: 처리된 파일 목록을 표시합니다.

기본 사용법

아카이브 파일 생성archive.tar파일에서README.txt및 디렉토리src:

$ tar - cvf archive . tar README . txt src

의 콘텐츠를 추출합니다.archive.tar현재 디렉토리로 이동합니다.

$ tar - tarf archive.tar

아카이브 파일 생성archive.tar.gz파일에서README.txt및 디렉토리srcgzip으로 압축합니다.

$ tar - cavf archive . tar . gz README . txt src

의 콘텐츠를 추출합니다.archive.tar.gz현재 디렉토리로 이동합니다.

$ tar - tarf archive.tar.gz

타르파이프

tarpipe는 tar 유틸리티의 표준 출력 파일에 아카이브를 생성하여 표준 입력의 다른 tar 프로세스에 파이핑하여 다른 디렉토리에서 작업하는 방법입니다.이 프로세스에서는 모든 특수 파일을 포함한 전체 원본 디렉토리 트리가 복사됩니다.다음은 예를 제시하겠습니다.

$ tar cf - srcdir tar x -C destdir

소프트웨어 배포

tar 형식은 오픈소스 소프트웨어 배포에 계속 광범위하게 사용됩니다.*NIX 배포에서는 다양한 소스 및 바이너리 패키지 배포 메커니즘에 사용되며 대부분의 소프트웨어 소스 코드를 압축된 tar [citation needed]아카이브에서 사용할 수 있습니다.

제한 사항

원래 tar 형식은 Unix 초기에 만들어졌으며, 현재 널리 사용되고 있음에도 불구하고 많은 디자인 기능들이 오래된 [21]것으로 간주됩니다.

많은 오래된 tar 실장에서는 Extended Attribute(xatr; 확장 어트리뷰트) 또는 Access-Control List(ACL; 접근컨트롤 리스트)는 기록 또는 복원되지 않습니다.2001년에 Star는 POSIX.1-2001 pax에 대한 자체 태그를 통해 ACL 및 확장 속성을 지원하게 되었습니다.Bsdtar는 스타 확장을 사용하여 ACL을 [22]지원합니다.최신 버전의 GNU tar는 Linux 확장 속성을 지원하며 스타 [23]확장을 다시 구현합니다.BSD tar, tar(5)[22]의 파일 형식 매뉴얼에서는 다수의 확장자를 검토합니다.

타르의 단점을 해결하기 위해 다른 형식이 생성되었습니다.

타르밤

해커의 속어tarbom은 작업 디렉토리에 압축을 푸는 많은 파일을 포함하는 tar 파일입니다.이러한 tar 파일은 작업 디렉터리에 같은 이름의 파일을 덮어쓰거나 한 프로젝트의 파일을 다른 프로젝트에 혼합하여 문제를 일으킬 수 있습니다.이것은 디렉토리의 다른 컨텐츠가 포함된 다수의 파일을 식별하고 삭제해야 하는 사용자에게 기껏해야 불편함입니다.이러한 행동은 아카이브 작성자의 잘못된 예절로 간주됩니다.

이와 관련된 문제는 tar 파일을 작성할 때 절대 경로 또는 부모 디렉토리 참조를 사용하는 것입니다.이러한 아카이브에서 추출된 파일은 작업 디렉토리 외부의 비정상적인 위치에 생성되어 Tarbom과 같이 기존 파일을 덮어쓸 가능성이 있습니다.단, 최신 버전의 FreeBSD 및 GNU tar에서는 플래그를 사용하여 명시적으로 허가되지 않는 한 기본적으로 절대 경로 및 부모 디렉토리 참조를 작성하거나 추출하지 않습니다.-P또는 옵션--absolute-namesbsdtar 프로그램은 많은 운영체제시스템에서도 사용할 수 있으며 Mac OS X v10.6에서는 기본 tar 유틸리티입니다.또한 부모 디렉토리 참조나 심볼릭 [24][failed verification]링크도 따르지 않습니다.

사용자가 사용할 수 있는 tar가 매우 오래된 것 뿐이며 이러한 보안 대책이 없는 경우 먼저 명령어를 사용하여 tar 파일을 검사함으로써 이러한 문제를 완화할 수 있습니다.tar tf archive.tar내용을 나열하고 나중에 문제가 있는 파일을 제외할 수 있습니다.이러한 명령어는 파일을 추출하지 않고 아카이브에 있는 모든 파일의 이름을 표시합니다.문제가 있는 디렉토리가 있는 경우 사용자는 빈 디렉토리를 새로 생성하여 아카이브를 추출하거나 tar 파일 전체를 회피할 수 있습니다.대부분의 그래픽 도구는 아카이브의 내용을 추출하기 전에 표시할 수 있습니다.Vim은 tar 아카이브를 열고 그 내용을 표시할 수 있습니다.또한 GNU Emacs는 tar 아카이브를 열고 그 내용을 died 버퍼에 표시할 수 있습니다.

랜덤 액세스

tar 형식은 파일 및 테이프 백업 장치로 스트리밍하기 위한 속성에 대한 중앙 집중식 인덱스나 목차 없이 설계되었습니다.파일을 나열하거나 추출하려면 아카이브를 순차적으로 읽어야 합니다.대규모 tar 아카이브의 경우 성능 저하가 발생하여 개별 파일에 대한 랜덤 액세스가 필요한 상황에 적합하지 않습니다.

중복

tar 형식의 또 다른 문제는 아카이브 내의 여러 파일(가능성이 있음)이 동일한 경로와 파일 이름을 가질 수 있다는 것입니다.이러한 아카이브를 추출할 때 일반적으로 파일의 후자가 이전 버전을 덮어씁니다.

이로 인해 비명시적인(불명확한) tarbom이 생성될 수 있습니다.이 tarbom은 기술적으로 절대 경로 또는 참조 부모 디렉토리를 가진 파일은 포함되지 않지만 현재 디렉토리 외부에 덮어쓰기가 발생합니다(예를 들어 아카이브에는 경로와 파일 이름이 같은 두 개의 파일이 포함될 수 있습니다.첫 번째는 현재 direclc 외부에 있는 어떤 위치에 대한 심볼 링크입니다).tory(그 중 두 번째는 일반 파일)입니다.따라서 일부 tar 구현에서 이러한 아카이브를 추출하면 symblink가 가리키는 위치에 쓰기가 발생할 수 있습니다.)

주요 구현

지금까지 많은 시스템이 tar를 실장하고 있으며, 많은 일반 파일 아카이브 서버는 적어도 부분적으로 tar를 지원하고 있습니다(많은 경우 아래 구현 중 하나를 사용합니다).타르의 역사는 "타르 전쟁"으로 알려진 양립불능의 이야기이다.대부분의 tar 실장에서는 cpiopax를 읽고 작성할 수도 있습니다(실제로 posix-2001-extensions를 가진 tar 형식입니다).

주요 실장 순서는 다음과 같습니다.

  • Solaris tar(원래 Unix V7 tar를 기반으로 하며 Solaris 운영체제시스템에서는 디폴트로 제공됩니다).
  • 대부분Linux 디스트리뷰션에서는 GNU tar가 기본입니다.1987년에 시작된 퍼블릭도메인 실장 pdtar에 근거하고 있습니다.최신 버전에서는 ustar, pax, GNU 및 v7 형식을 포함한 다양한 형식을 사용할 수 있습니다.
  • FreeBSD tar(BSD tar)는 Mac OS X를 포함한 대부분버클리 소프트웨어 배포 기반 운영 체제에서 기본 tar가 되었습니다.핵심 기능은 다른 응용 프로그램에 포함하기 위해 libarchive로 사용할 수 있습니다.이 실장에서는 파일의 포맷이 자동적으로 검출되어 tar, pax, cpio, zip, rar, ar, xar, rpm 및 ISO 9660 cdrom 이미지에서 추출할 수 있습니다.또한 기능적으로 동등한 cpio 명령줄 인터페이스도 포함되어 있습니다.
  • 스타로 더 잘 알려진 쉴리 타르는 그것의 확장 중 일부가 꽤 인기가 있었기 때문에 역사적으로 중요하다.1997년 [25]4월에 처음 출판된 그 개발자는 [26]그가 1982년에 개발을 시작했다고 말했다.
  • Python tarfile 모듈은 ustar, pax 및 gnu를 포함한 여러 tar 형식을 지원합니다. V7 형식 및 SunOS tar 확장 형식을 읽을 수는 있지만 만들 수는 없습니다. [27]pax는 아카이브를 만드는 기본 형식입니다.2003년 [28]이후 이용 가능.

또한 대부분의 paxcpio 구현에서는 여러 유형의 tar 파일을 읽고 작성할 수 있습니다.

압축 파일의 접미사

tar 아카이브 파일에는 보통 .tar라는 파일 접미사가 붙습니다(예를 들어 somefile.tar).

tar 아카이브 파일에는 포함된 파일의 압축되지 않은 바이트 스트림이 포함됩니다.아카이브 압축을 실현하기 위해 전체 tar 아카이브를 압축하는 gzip, bzip2, xz, lzip, lzma, zstd 또는 compress 등 다양한 압축 프로그램을 사용할 수 있습니다.일반적으로 압축된 형식의 아카이브는 형식별 압축기 접미사를 아카이브 파일 이름에 추가하여 파일 이름을 받습니다.예를 들어 tar archive.tar는 gzip으로 압축된 경우 archive.tar.gz라는 이름이 붙습니다.

BSD GNU 버전의 tar와 같은 일반적인 tar 프로그램은 생성 또는 포장을 해제할 때 아카이브 파일을 압축 또는 압축 해제하는 명령줄 옵션 Z(압축), z(gzip), j(bzip2)를 지원합니다.비교적 최근에 추가된 기능으로는 --lzma(LZMA), --lzop(lzop), --xz 또는 J(xz), --lzip(lzip) 및 --zstd[29]있습니다.지원되는 파일 이름 확장자를 사용하면 이러한 형식의 압축 해제가 자동으로 처리되며, --auto-compress(짧은 형식 -a) 옵션이 적용 가능한 버전의 GNU [16]tar에 전달되면 동일한 파일 이름 확장자를 사용하여 압축이 자동으로 처리됩니다.BSD tar는 파일 이름이 아닌 [30]그 안에 있는 데이터를 사용하여 훨씬 더 광범위한 압축기(lrzip, lz4)를 감지합니다.인식되지 않는 형식은 배관을 통해 수동으로 압축 또는 압축 해제해야 합니다.

MS-DOS의 8.3 파일 이름 제한으로 인해 압축된 tar 아카이브를 명명하는 규칙이 추가되었습니다.그러나 FAT가 현재 긴 파일 이름을 제공함따라 이 관행은 감소했습니다.

tar 아카이브는 압축된 아카이브를 작성하기 위해 gzip 등의 압축 방법과 함께 사용되는 경우가 많습니다.그림과 같이 아카이브 내의 파일 조합은 하나의 단위로 압축됩니다.
파일 접미사에[16] 상당하는 파일
압축기 짧다
bzip2 .tar.bz2 .tb2, .tbz, .tbz2, .tz2
압축 .tar.gz .taz, .tgz
압축 .tar.lz
zma .tar.lzma .tlz
조프 .tar.lzo
xz .tar.xz .tvz
압축하다. .tar.Z .tZ, .taZ
zstd .tar.zst .tzst

「 」를 참조해 주세요.

레퍼런스

  1. ^ "libarchive".
  2. ^ Sergey Poznyakoff (13 February 2021). "tar-1.34 released". Retrieved 13 February 2021.
  3. ^ John Gilmore (1986-12-10). "v07i088: Public-domain TAR program". Newsgroup: mod.sources. Archived from the original on 2022-02-07. Retrieved 2022-02-07.
  4. ^ "posixtar".
  5. ^ "star".
  6. ^ Gilmore, John; Fenlason, Jay (4 February 2019). "Basic Tar Format". gnu.org. and others. Free Software Foundation. Retrieved 17 April 2019.
  7. ^ a b "tar(5) manual page". FreeBSD.org. FreeBSD. 20 May 2004. Retrieved 2 May 2017.
  8. ^ IEEE 규격 1003.1-1988, IEEE 정보기술 표준 - 휴대용 운영체제 인터페이스 (POSIX)
  9. ^ IEEE 규격 1003.1-2001, IEEE 정보기술 표준 - 휴대용 운영체제 인터페이스 (POSIX)
  10. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM. Retrieved 2020-09-05.
  11. ^ "Announcing Windows 10 Insider Preview Build 17063 for PC". Windows Experience Blog. 2017-12-19. Retrieved 2 July 2018.
  12. ^ "Tar and Curl Come to Windows!". 2019-03-22.
  13. ^ "Blocking". ftp.gnu.org. Retrieved 2020-08-26.
  14. ^ Hoo, James. "Open/Extract TAR File with Freeware on Windows/Mac/Linux". e7z Org. Archived from the original on 6 February 2015. Retrieved 3 September 2019.
  15. ^ Kientzle, Tim (1995). Internet File Formats. Coriolis Groups Books. ISBN 978-1-883577-56-8. Retrieved 12 December 2015.
  16. ^ a b c "GNU tar 1.32: 8.1 Using Less Space through Compression". GNU. 2019-02-23. Retrieved 2019-08-11.
  17. ^ NEWS, git.savannah.gnu.org - "POSIX.1-2001 및 ustar 아카이브 형식 지원 추가"를 검색합니다.
  18. ^ "GNU tar 1.34: 8. Controlling the Archive Format". GNU. Retrieved 2022-07-11.
  19. ^ pax – 셸 및 유틸리티 레퍼런스, 단일 UNIX 사양, The Open Group 버전 4
  20. ^ "#2116 Tars with pax headers not parsed". 7-Zip / Bugs SourceForge.
  21. ^ Duplicity 유틸리티 개발자가 tar를 대체할 포맷을 제안합니다.
  22. ^ a b tar(5)FreeBSD 파일 포맷 매뉴얼
  23. ^ "Extended attributes: the good, the not so good, the bad". Les bons comptes. 15 July 2014. Archived from the original on 14 December 2014. Retrieved 3 September 2019. The extended attributes can be very valuable for storing file metadata (e.g. author="John Smith", subject="country landscape"), in the many cases where you do not want or can't store this data in the file internal properties.
  24. ^ "bsdtar"의 맨 페이지.
  25. ^ Thomas E. Dickey (January 4, 2015). "TAR versus Portability: Schily tar". Retrieved October 23, 2021.
  26. ^ Jörg Schilling (September 4, 2021). "star - unique standard tape archiver". Retrieved October 23, 2021.
  27. ^ tarfile 모듈, python.org
  28. ^ tarfile.py, github.com
  29. ^ Poznyakoff, Sergey (2019-01-02). "tar-1.31 released [stable]". GNU mailing lists. Retrieved 2019-08-06.
  30. ^ tar(1)FreeBSD 일반 명령어 매뉴얼

외부 링크