리눅스 패키지란 무엇인가?
리눅스에서 프로그램을 다운로드 받을 때에는 어떻게 해야할까? 그럴 때 사용하는 것이 바로 리눅스 패키지이다. 설치파일, 필요한 라이브러리 등을 묶어서 패키지화 시킨 것이다.
주로 C 언어로 이루어져 있으며 tar, gzip 등으로 압축되어 배포되며, 압축을 풀고 소스를 컴파일하는 과정을 거쳐 패키지를 다운로드 시킨다.
소스 패키지와 바이너리 패키지
먼저 소스 패키지는 설치에 필요한 여러 파일이 포함되며, 릴리즈를 용이하게 하기 위해 일반적으로 압축되어 있다. 주로 tar.gz 형식으로 압축되어 있다.
소스 패키지는 소스코드로 직접 설치하기 때문에 설정을 세밀하게 커스터마이징이 가능하며, 소프트웨어가 컴파일 및 설치되므로 시스템에 적합하며 안정적이며 제거 또한 쉽다.
하지만 컴파일 시간이 오래걸린다는 단점이 있다.
두번째로는 바이너리 패키지이다.
바이너리 패키지는 성공적으로 컴파일 된 바이너리 파일이 들어있는 패키지이다.
컴파일이란 인간이 이해하는 언어로 작정된 소스코드를 CPU가 이해할 수 있는 언어로 변환하는 것을 의미한다.
즉 이미 컴파일이 완료되어 있기 때문에 소스 패키지에 비해 설치 시간이 짧고 오류가 발생할 가능성이 낮다. 하지만 커스텀이 어렵고 내 환경과 컴파일 환경에 차이가 있어 문제가 생길 수 있다. 또한 그 패키지를 실행하기 위해 특정 라이브러리나 패키지 등 의존성이 있어 같이 설치해야 하는 경우가 존재한다.
리눅스 배포판에 따른 패키지 차이
리눅스 배포판에는 대표적으로 데비안 계열, 레드헷 계열, 오픈 수세 계열이 나뉜다. 이러한 배포판에 따라 리눅스 패키지 명령어와 파일 형태가 다르다.
데비안 계열은 .deb 파일, 레드헷과 오픈 수세 계열은 .rpm 파일 형태를 지니고 있다.
이러한 패키지들을 관리하는 툴이 존재한다. 이 패키지 툴은 두 가지 유형으로 사용된다.
저사양 툴 : 실제 패키지의 설치, 업데이트, 삭제를 진행
고사양 툴 : 의존성 해결, 패키지 검색 등 기능 제공
데비안 계열의 저사양 툴은 dpkg 이며 고사양 툴의 경우 apt-get 이다.
레드헷 계열의 저사양 툴은 rpm이며 고사양 툴은 yum 이다.
오픈수세 계열의 저사양 툴은 rpm이며 고사양 툴은 zypper이다.
dnf는 yum의 단점(속도, 메모리의 과다한 사용 등)을 개선해서 나온 새로운 패키지 관리자이며 Centos 8에 정식 도입이 되어 있다.
'Linux' 카테고리의 다른 글
Centos 7 고정 IP 설정하기 (0) | 2023.08.09 |
---|