RHCSA : 기본적인 툴 이해 및 사용 – tar, star, gzip, bzip2를 사용하여 파일을 아카이브, 압축, 압축 해제 수행

RHCSA 주제입니다. CertDepot 사이트를 번역 및 내용 추가하였으며, 컨텐츠 관련 모든 권리는 CertDepot에 있습니다.

실습하기(파일 압축 및 압축 해제)

1-1. 파일을 압축하려면 다음과 같이 입력한다(gzip).
[root@server2 temp]# touch file
[root@server2 temp]# ls
file
[root@server2 temp]# gzip file
[root@server2 temp]# ls
file.gz
[root@server2 temp]# 
1-2. 파일을 압축하려면 다음과 같이 입력한다(bzip2).
[root@server2 temp]# touch file
[root@server2 temp]# ls
file
[root@server2 temp]# bzip2 file
[root@server2 temp]# ls
file.bz2
[root@server2 temp]# 
2-1. 압축 파일을 압축해제하려면 다음과 같이 입력한다(gunzip).
[root@server2 temp]# gunzip file.gz 
[root@server2 temp]# ls
file
[root@server2 temp]# 
2-2. 압축 파일을 압축해제하려면 다음과 같이 입력한다(bunzip2).
[root@server2 temp]# bunzip2 file.bz2
[root@server2 temp]# ls
file
[root@server2 temp]# 

실습하기(아카이브)

1-1. 디렉토리를 아카이브하고, 압축하려면(SELinux 컨텍스트를 포함하여), 다음과 같이 입력한다.
root@server2 temp]# tar --selinux -czvf directory.tgz directory
directory/
[root@server2 temp]# ls
directory  directory.tgz  file
[root@server2 temp]# 

노트: 디렉토리 경로를 정의할 때 전체 경로를 사용하지 않으려면, 상대 경로를 사용하면 된다. 그렇게 되면 복구할 때 편할 수 있다.

1-2. 다른 방법으로, tar와 압축의 두 명령을 동시에 한 커맨드로 수행할 수 있다(gzip과 bzip2에 대해서).
[root@server2 temp]# tar cvzf directory.tgz directory
directory/
[root@server2 temp]# tar cvjf directory.bz2 directory
directory/
[root@server2 temp]# ls
directory  directory.bz2  directory.tgz  file
[root@server2 temp]# 
2. 아카이브 파일을 언팩하고, 압축해제하려면(SELinux 컨텍스트를 포함하여), 다음과 같이 입력한다.
[root@server2 temp]# tar --selinux xzvf directory.tgz
[root@server2 temp]# tar --selinux xjvf directory.bz2
3. 아카이브 내용을 확인하려면(gzip과 bzip2에 대해서) 다음과 같이 입력한다.
[root@server2 temp]# tar tzvf directory.tgz 
drwxr-xr-x root/root         0 2016-05-05 14:58 directory/
[root@server2 temp]# tar tjvf directory.bz2 
drwxr-xr-x root/root         0 2016-05-05 14:58 directory/
[root@server2 temp]# 
4. star 커맨드를 디렉토리를 아카이브하려면(SELinux 컨텍스트를 포함하여), 다음과 같이 입력한다.
[root@server2 temp]# yum install -y star
Loaded plugins: fastestmirror, langpacks
RHELREPO                                                 | 3.6 kB     00:00     
Determining fastest mirrors
Resolving Dependencies
--> Running transaction check
---> Package star.x86_64 0:1.5.2-11.el7 will be installed
--> Processing Dependency: spax for package: star-1.5.2-11.el7.x86_64
--> Running transaction check
---> Package spax.x86_64 0:1.5.2-11.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package       Arch            Version                  Repository         Size
================================================================================
Installing:
 star          x86_64          1.5.2-11.el7             RHELREPO          280 k
Installing for dependencies:
 spax          x86_64          1.5.2-11.el7             RHELREPO          259 k

Transaction Summary
================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 539 k
Installed size: 1.2 M
Downloading packages:
(1/2): spax-1.5.2-11.el7.x86_64.rpm                        | 259 kB   00:00     
(2/2): star-1.5.2-11.el7.x86_64.rpm                        | 280 kB   00:00     
--------------------------------------------------------------------------------
Total                                              2.3 MB/s | 539 kB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : spax-1.5.2-11.el7.x86_64                                     1/2 
  Installing : star-1.5.2-11.el7.x86_64                                     2/2 
  Verifying  : spax-1.5.2-11.el7.x86_64                                     1/2 
  Verifying  : star-1.5.2-11.el7.x86_64                                     2/2 

Installed:
  star.x86_64 0:1.5.2-11.el7                                                    

Dependency Installed:
  spax.x86_64 0:1.5.2-11.el7                                                    

Complete!
[root@server2 temp]# star -xattr -H=exustar -c -f=directory.star directory
star: 1 blocks + 0 bytes (total of 10240 bytes = 10.00k).
[root@server2 temp]# ls
directory  directory.bz2  directory.star  directory.tgz  file
[root@server2 temp]# 
5. 아카이브된 파일을 언팩하려면, 다음과 같이 입력한다.
[root@server2 temp]# star -x -f=directory.star
star: current 'directory/' newer.
star: 1 blocks + 0 bytes (total of 10240 bytes = 10.00k).
[root@server2 temp]# 
at4am의 프로필 이미지

at4am

2016년 05월 05일

글쓴이의 더 많은 글 읽어보기