일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Role
- VIRT
- backend storage
- 전체 백업
- kv
- 커널 파라미터
- 차분 백업
- SHR
- Secret Engine
- IAC
- vault agent
- SSH OTP
- 리눅스
- 파일시스템
- secret engines
- Vault
- 시스템
- 앤서블
- 자동화
- 인프라
- 백업
- hashicorp
- 유닉스
- auth methods
- devops
- 통합 풀 백업
- key/value
- REST API
- 구성관리
- DATA 백업
- Today
- Total
클라우드 아카이브
[압축] tar 과 gz의 차이 본문
개요
리눅스를 다루다보면 정기적으로 운영체제 구성 또는 파일시스템을 백업할 일이 있다. 백업을 할 때 자주 사용하는 명령어인 tar과 gz에 대해 알아보자.
tar과 gz의 정의
tar의 풀네임은 Tape Archive로 디스크에 분산되어 있는 여러 개의 파일을 하나의 파일로 묶을 때 사용하는 소프트웨어 유틸리티이다. Tape라는 말에서 알 수 있듯이 과거에 물리적 테이프에 백업을 할 당시에 여러 개의 파일을 묶을 때 사용하던 방식이다. 즉 과거에 정기적으로 PTL 백업을 이행할 때 파일을 하나로 묶기 위해서 사용하는 명령어다.
아래는 2009년에 존재했던 게시물로 실제 PTL 방식으로 유닉스 운영체제 구성 또는 파일시스템을 백업할 때 사용했던 프로세스이다.
tar 테입백업 방법 (HP-UX)
# bdf (백업대상확인)
# cd /data2/lmis/lmis_backup/
# mt -f /dev/rmt/0mn offline (기존테입 꺼냄)
새 테입을 넣고
# tar -cvf /dev/rmt/0mn ./lmisuser.dmp
(현재디렉토리에 있는 ./lmisuser.dmp 파일을 테입장치에 tar압축하여 기록)
출처: https://love-zzang.tistory.com/entry/tartape [Zzang's Story]
gzip은 여러 개의 파일 및 디렉토리를 하나의 파일로 압축하기 위해 사용하는 소프트웨어 유틸리티로 GNU에서 처음 고안되었다. 과거에 compress라는 유틸리티를 통해 압축을 수행했으나, 압축률이 더 뛰어난 gzip이 등장하면서 점점 덜 사용하게 되었다. 현재는 gzip을 사용하여 압축한다. 다만 디스크에 분산된 여러 개의 파일을 하나로 묶는 기능이 없기 때문에 tar과 같이 사용한다.
실습 : 리눅스에서 특정 파일을 tar.gz로 압축하기
tar 명령어를 통해 tar 파일과 gz 파일로 나누어 파일의 메타 데이터 및 파일 크기를 살펴볼 것이다. 그리고 tar.gz 파일을 다시 압축 해제하는 작업을 수행할 것이다. 먼저 tar의 사용법을 보면, 아래와 같은 글을 볼 수 있다.
$ tar --help
tar(bsdtar): manipulate archive files First option must be a mode
specifier: -c Create -r Add/Replace -t List -u Update -x Extract
Common Options:
-b # 512-byte records per I/O block
-f <filename> Location of archive
-v Verbose
-w Interactive
....
자주 사용하는 명령어와 옵션
자주 사용하는 명령어에 대해 간략하게 살펴본 다음 옵션에 대해 알아보자.
# filelist, a, b 파일을 filelist.tar 파일로 묶기
$ tar -cvf filelist.tar filelist a b
# filelist a b 파일을 filelist.tar.gz으로 압축
$ tar -cvzf filelist.tar.gz filelist a b
# filelist.tar.gz 파일의 메타 데이터 조회
$ file filelist.tar.gz
filelist.tar.gz: gzip compressed data, last modified: Sat Aug 28 10:53:58 2021,
from Unix, original size modulo 2^32 1794048
# file.tar.gz 파일 압축 해제
$ tar -xvf filelist.tar.gz
# filelist 파일의 메타 데이터 조회
$ file filelist
filelist: ASCII text
옵션 | 설명 | 비고 |
-c | -create : 지정된 파일을 하나의 파일로 묶음 | |
-v | -verbosely : 압축 및 해제 과정을 장황하게 표시 | |
-z | -z : 묶인(아카이브) 파일을 gzip/bzip2/xz/lzma 파일로 압축 | |
-f | -f <filename> : 묶인(아카이브) 파일의 위치 | |
-x | -extract : 압축 파일을 oritinal 파일로 압축 해제 | filelist.tar.gz -> filelist |
주의! -f는 반드시 옵션의 가장 마지막에 붙어야한다. 옵션을 사용할 때 항상 유의할 점은 왼쪽부터 오른쪽 방향으로 순차적으로 옵션이 적용된다. 이를 반드시 유의하자!
출처
'OS 및 스토리지 > 파일시스템' 카테고리의 다른 글
[파일시스템] 파일시스템의 개념 (0) | 2021.08.23 |
---|