나의 IT일지
압축과 패키지 본문
압축
압축이란 파일 내에서 디스크 공간의 비어진 부분을 없애는 과정으로, 파일의 빈 공간은 제거함으로써 파일의 용량을 줄인다. 이때, 압축은 동일 도구로는 중복으로 압축 불가하며, 여러 파일 압축하는 경우에는 개별적으로 압축된다.
- gzip [파일경로] : 해당 파일을 gzip으로 압축하는 명령어
- gzip -d [파일 경로] : gzip으로 압축한 파일을 압축해제하는 명령어
- gunzip [파일 경로] : gzip으로 압축한 파일을 압축해제하는 명령어
- bzip2 [파일 경로] : 해당 파일을 bzip2로 압축하는 명령어
- bzip2 -d [파일 경로] : bzip2로 압축한 파일을 압축해제하는 명령어
- bunzip2 [파일 경로] : bzip2로 압축한 파일을 압축해제하는 명령어
- xz [파일 경로] : 해당 파일을 xz로 압축하는 명령어
- xz [파일 경로] : xz로 압축한 파일을 압축해제하는 명령어
- zip -r [압축 결과 파일 경로] [압축할 파일 / 디렉토리 경로] : 해당 파일/디렉토리를 압축하는 명령어
- unzip [압축파일경로] : zip으로 압축한 파일 / 디렉토리를 압축해제하는 명령어
파일을 원하는 크기만큼 복사/생성/백업하는 명령어 |
|
파일/디렉토리 묶기
gzip, bzip2, xz는 개별적인 파일만 압축이 이뤄진다. 그래서 파일을 아카이브 형식으로 묶어서 gzip, bzip2, xz으로 압축 시킨다.
- tar -cvf [출력 파일 경로] [묶을 파일/디렉토리 1 경로] [묶을 파일/디렉토리 2 경로] ... : 해당 파일/디렉토리를 하나의 파일로 묶는 명령어
- tar -czvf [출력 파일 경로] [묶을 파일/디렉토리 1 경로] [묶을 파일/디렉토리 2 경로] ... : 해당 파일/디렉토리를 하나의 파일로 묶고 gzip로 압축하는 명령어
- tar -jcvf [출력 파일 경로] [묶을 파일/디렉토리 1 경로] [묶을 파일/디렉토리 2 경로] ... : 해당 파일/디렉토리를 하나의 파일로 묶고 bzip2로 압축하는 명령어
- tar -Jcvf [출력 파일 경로] [묶을 파일/디렉토리 1 경로] [묶을 파일/디렉토리 2 경로] ... : 해당 파일/디렉토리를 하나의 파일로 묶고 xz로 압축하는 명령어
- tar -xvf [묶은 파일 경로] : 파일에 묶음 해제 명령어
- tar -cxvf [묶은 파일 경로] : gzip으로 압축된 묶음 파일을 해제하는 명령어
- tar -jxvf [묶은 파일 경로] : bzip2으로 압축된 묶음 파일을 해제하는 명령어
- tar -Jxvf [묶은 파일 경로] : xz으로 압축된 묶음 파일을 해제하는 명령어
- tar -tf [묶은 파일 경로] : 묶인 파일의 파일 / 디렉토리 구성 확인 명령어
옵션 | 기능 |
-x | 풀기 |
-c | 묶기 |
-t | 묶인 내용 확인 |
-v | 압축과정 보기 |
-f | 출력 파일 지정 |
-r | 추가 파일 |
-z | gzip으로 압축 |
-j | bzip2로 압축 |
-J | xz로 압축 |
패키지
tar를 통해 만들어진 파일은 별도의 path작업을 실행해야 명령어 사용이 가능해지며, 적용시켜야 하는 파일 및 라이브러리 위치가 다양하기에 수동으로 직접 설정해야 한다. 그리고 하나의 파일이 여러 파일을 의존하는 경우 의존해야 하는 파일을 직접 설정해야 한다. 이러한 단점을 보안하기 위해서 rpm을 이용한 패키지를 사용하게 된다.
패키지란 해당 기능의 실행파일, 설정파일, 라이브러리를 묶어 놓은 설치 파일로, 리눅스에서 기능을 추가하는 경우, 패키지를 통해 추가적으로 설치해서 해당 기능을 추가하게 된다.
- 패키지 구성
- 풀패키지명 : [주패키지명]-[서브패키지명]-[버전(메이저(대규모 변경).마이너(추가).버전(버그패치)]-[배포판버전].[아키텍처].[확장자]
- 패키지명 : [주패키지명]-[서브패키지명]
- 패키지 작업 시 주의사항
- 대표 패키지부터 작업한다.
- 작업 (설치,삭제)시 의존성 오류 (Failed dependencies)는 절대 무시하지 않는다.
- 의존성 오류 발생시 제시한 패키지를 가장 먼저 작업한다.
- 패키지의 버전은 반드시 일치 해야한다.
- 가급적 의존성을 무시하는 옵션을 사용하지 않는다. (삭제시에는 사용)
→ 의존성(해당 파일이 설치하기 위해서 파일이 필요한 성질)을 무시하는 경우 오류가 발생한다. - 삭제는 설치의 역순이다.
운영체제 | 오프라인 패키지 설치 관리 도구 | 온라인 패키지 설치 관리 도구 |
redhat | rpm | yum |
debian | dpkg | apt-get |
slackware(suse) | Yast | zypper |
- 오프라인 패키지 설치 도구
- rpm : 레드햇 계열의 리눅스 배포판에서 사용하는 프로그램(패키지) 설치 관리 도구, 오프라인에서 필요한 패키지만 수동으로 설치 가능
- rpm -ivh [풀패키지명] : 해당 패키지를 설치하는 명령어
- rpm -ivh --force 덮어쓰기 [풀패키지명] : 해당 패키지 덮어쓰기
- rpm -e [패키지명] : 해당 패키지를 삭제하는 명령어
- rpm -qa : 설치되어 있는 내용 확인하는 명령어
- rpm -qa | grep [주 패키지명] : 해당 패키지가 설치되어 있는지 확인하는 명령어
- rpm -qi [패키지명] : 패키지의 정보 출력하는 명령어
- rpm -qf [파일 경로] : 파일이 속한 패키지 확인하는 명령어
- rpm -ql [패키지명] : 패키지에 속한 파일경로 출력하는 명령어
- rpm -Vv [패키지명] : 패키지에 속한 파일 속성 출력하는 명령어 (d : 디렉토리, b: 블록 파일(장치파일), c : 설정파일)
- rpm -ivh [풀패키지명] : 해당 패키지를 설치하는 명령어
- rpm : 레드햇 계열의 리눅스 배포판에서 사용하는 프로그램(패키지) 설치 관리 도구, 오프라인에서 필요한 패키지만 수동으로 설치 가능
옵션 | 기능 |
-i | 설치 |
-v | 설치하는 패키지 확인 |
-h | 설치 정도 확인 |
-e | 삭제 |
-U | 버전업 (파일이 없을 경우 설치 후 버전업) |
-F | 버전업 (파일이 있는 경우 버전업) |
--nodeps | 의존성 무시 |
--force | 덮어쓰기 |
- 온라인 패키지 설치 도구
- yum : 레드햇 계열의 리눅스 배포판에서 사용하는 프로그램(패키지) 설치 관리 도구, 인터넷을 이용하여 온라인에서 필요한 패키지와 해당 패키지가 의존하는 패키지를 자동으로 설치 가능
- /etc/yum.repos.d : yum 사용시 참고하는 다운로드 경로와 GPG(암호화, 복호화 프로그램)를 저장한 디렉토리
- yum repolist : yum를 통해 설치할 경우 사용할 수 있는 저장소를 출력하는 명령어
- yum install [데몬] : 해당 데몬 패키지와 의존 패키지를 설치하는 명령어 (설치 유무 확인)
- yum install --skip-broken [데몬] : 해당 데몬 패키지와 의존 패키지를 설치하는 도중에 패키지 충돌이 일어나는 경우 충돌되는 패키지는 무시
- yum --disablerepo=[저장소] install [데몬] : 해당 저장소가 아닌 URL에서 데몬 패키지를 설치하는 명령어
- yum --disablerepo=* --enablerepo=[저장소] install [데몬] : 해당 저장소인 URL에서 데몬 패키지를 설치하는 명령어
- yum remove [데몬] : 해당 데몬 패키지와 의존 패키지를 삭제하는 명령어
- yum update [데몬] : 해당 데몬 패키지와 의존 패키지를 업데이트하는 명령어
- yum list : 설치 가능한 데몬의 리스트 출력 하는 명령어
- yum list [데몬] : 해당 데몬 패키지를 출력하는 명령어
- yum search [데몬] : 해당 데몬 패키지와 패키지에 대한 설명을 출력하는 명령어
- /etc/yum.repos.d : yum 사용시 참고하는 다운로드 경로와 GPG(암호화, 복호화 프로그램)를 저장한 디렉토리
- yum : 레드햇 계열의 리눅스 배포판에서 사용하는 프로그램(패키지) 설치 관리 도구, 인터넷을 이용하여 온라인에서 필요한 패키지와 해당 패키지가 의존하는 패키지를 자동으로 설치 가능
yum 사용시 오류 처리 | ||
오류 종류 | 해결 방식 | |
중복실행 | 1. 다른 세션을 열어서 kill -9로 yum명령어를 종료한다. 2. rm -rf /var/run/yum.pid 를 삭제 |
'정보보안' 카테고리의 다른 글
DHCP와 NAT (0) | 2023.06.28 |
---|---|
NCS)물리 보안 운영 (0) | 2023.06.27 |
프로세스 (0) | 2023.06.23 |
디스크와 파일 시스템 (0) | 2023.06.22 |
NCS)관리적 보안 구축 (0) | 2023.06.21 |
Comments