리눅스 패키징(Packaging)
패키징은 소프트웨어를 설치, 업데이트, 제거, 관리할 수 있도록 구성된 포맷과 관련 도구를 의미합니다. 리눅스 시스템은 다양한 배포판(Distro)을 가지며, 배포판에 따라 패키지 관리 시스템(Package Manager)이 다를 수 있습니다.
패키지의 구성
리눅스에서 패키지는 보통 다음을 포함합니다:
- 바이너리 파일: 실행 가능한 소프트웨어 파일.
- 설정 파일: 보통
/etc
디렉토리에 위치. - 의존성 정보: 패키지가 실행되기 위해 필요한 다른 패키지 목록.
- 스크립트: 설치, 업데이트, 제거 시 실행되는 자동화된 명령.
주요 패키지 형식
1. Debian 계열 (Debian, Ubuntu 등)
- 패키지 형식:
.deb
- 패키지 관리 도구: APT(Advanced Packaging Tool), dpkg
2. Red Hat 계열 (RHEL, CentOS, Fedora 등)
- 패키지 형식:
.rpm
- 패키지 관리 도구: YUM, DNF
3. Arch 계열 (Arch Linux, Manjaro 등)
- 패키지 형식:
.pkg.tar.zst
- 패키지 관리 도구: pacman
4. 소스 기반 배포판 (Gentoo 등)
- 패키지 형식: 소스 코드
- 패키지 관리 도구: Portage
APT (Debian 계열)
1. 패키지 설치
sudo apt install 패키지이름
2. 패키지 제거
sudo apt remove 패키지이름
설정 파일까지 제거하려면:
sudo apt purge 패키지이름
3. 패키지 업데이트
sudo apt update
sudo apt upgrade
4. 패키지 정보 확인
apt list --installed
apt show 패키지이름
---
RPM (Red Hat 계열)
1. 패키지 설치
sudo rpm -ivh 패키지이름.rpm
2. 패키지 제거
sudo rpm -e 패키지이름
3. 패키지 확인
rpm -qa
rpm -qi 패키지이름
---
YUM / DNF (Red Hat 계열 고급 도구)
1. 패키지 설치
YUM:
sudo yum install 패키지이름
DNF:
sudo dnf install 패키지이름
2. 패키지 제거
YUM:
sudo yum remove 패키지이름
DNF:
sudo dnf remove 패키지이름
3. 패키지 업데이트
YUM:
sudo yum update
DNF:
sudo dnf upgrade
---
Pacman (Arch 계열)
1. 패키지 설치
sudo pacman -S 패키지이름
2. 패키지 제거
sudo pacman -R 패키지이름
3. 패키지 업데이트
sudo pacman -Syu
4. 패키지 검색
pacman -Ss 키워드
---
리눅스에서 압축 및 압축 해제
압축 파일 형식
- gzip:
.gz
확장자 사용. 단일 파일 압축. - bzip2:
.bz2
확장자 사용. 높은 압축률. - xz:
.xz
확장자 사용. 매우 높은 압축률. - zip:
.zip
확장자 사용. 여러 파일과 디렉토리 압축 가능. - tar: 여러 파일을 하나의 아카이브로 묶기.
- 7z:
.7z
확장자 사용. 높은 압축률.
주요 압축 도구와 사용법
1. gzip
압축:
gzip 파일이름
압축 해제:
gunzip 파일이름.gz
2. bzip2
압축:
bzip2 파일이름
압축 해제:
bunzip2 파일이름.bz2
3. tar와 gzip 조합
압축:
tar -czf 아카이브이름.tar.gz 파일1 파일2 ...
압축 해제:
tar -xzf 아카이브이름.tar.gz
4. zip
압축:
zip 아카이브이름.zip 파일1 파일2 ...
압축 해제:
unzip 아카이브이름.zip
5. 7z
압축:
7z a 아카이브이름.7z 파일1 파일2 ...
압축 해제:
7z x 아카이브이름.7z
---
압축 도구 비교
도구 | 확장자 | 압축률 | 속도 | 특징 |
---|---|---|---|---|
gzip | .gz | 낮음 | 빠름 | 단일 파일 압축 |
bzip2 | .bz2 | 중간 | 중간 | 높은 압축률 |
xz | .xz | 높음 | 느림 | 매우 높은 압축률 |
zip | .zip | 중간 | 중간 | Windows와 호환성 좋음 |
7z | .7z | 매우 높음 | 중간 | 높은 유연성 |
'Linux' 카테고리의 다른 글
우분투 리눅스에서 MariaDB 설치 및 초기 설정 (0) | 2025.01.22 |
---|---|
리눅스 프로세스 관리 (ps, top, kill..) (0) | 2025.01.22 |
리눅스 사용자 권한 (chmod, chown, chgrp) (0) | 2025.01.21 |
리눅스 sudo(superuser do) 와 su(substitute user) 명령어 (0) | 2025.01.21 |
리눅스 사용자 계정 (0) | 2025.01.21 |