반응형
리눅스용 소프트웨어 프로그램은 대부분 패키지로 배포됩니다.
그래서 리눅스 사용자라면 패키지 관리 명령어를 자주 사용할텐데요.
이번 포스팅에는 래드헷 계열 리눅스(CentOS 7, Fedora 21 등) 패키지 관리 도구인
dnf, rpm, binary의 개념과 차이에 대해 알아보겠습니다.
dnf
dnf
|
리눅스 배포판을 위한 패키지 관리 툴.
yum의 단점이 개선된 후속 제품. 인터넷상의 repository에서 package를 다운로드한다. |
||||
장점 | 의존성 문제를 해결해준다(A pac <- B pac < - C pac). 업데이트가 쉽다. |
||||
단점 | 인터넷과 DNS가 정상 작동해야한다. 안정화된 버전일 뿐, 최신 버전은 아니다. 커스터마이징이 힘들다(원하는것만 설치 힘듦). |
||||
사용법
|
dnf 옵션 [패키지명] | ||||
install | package download 및 설치 (설치가 되면 download한 파일 삭제됨) |
||||
remove | package 삭제 | ||||
repolist | 현재 리포지토리 확인 | ||||
list | 리포지토리에 존재하는 모든 package를 출력 | ||||
localinstall | rpm파일을 dnf로 설치하는 명령어 -> dnf history 기능 활용 가능 |
||||
history | package 설치, 제거, update 등의 작업 내역 확인 (undo: 취소, redo: 작업 재수행) |
dnf는 yum의 단점인 의존성 문제를 해결해주는 패키지 관리 툴입니다.
yum 사용 시 의존성 패키지가 없어서 설치가 안된다는 메세지를 자주 봤는데
dnf를 사용하면 그런 번거로운 일을 방지할 수 있습니다.
단, 반드시 인터넷에 연결되어 있어야 사용 가능하고
최신 버전을 지원하기보다는 안정화된 버전으로 서비스되고 있습니다.
rpm
rpm
|
Redhat Package Manager의 약자. Binary와 lib 파일의 모음, Binary 설치의 힘든 단점을 보완해준다. |
|||||
장점 | Binary 설치보다는 쉽다. | |||||
단점 | 설치된 패키지 확인 및 정보 확인이 가능하다. 의존성 문제에서 자유롭지 못하다. Package 제작이 쉽지는 않다, |
|||||
rpm 옵션 패키지명 |
||||||
사용법
|
옵션1 | 옵션1과 함께 사용하는 옵션 (필수x) |
||||
i | 패키지 설치 | v | 설치과정을 시각화 | |||
U | 없으면 설치, 있으면 업데이트 | h | 설치진행상황을 # 으로 표시 | |||
q | 질의 | a | 모든 패키지 | |||
i | 패키지 정보(제작자, 설치일) | |||||
l | 패키지에 포함된 파일 및 디렉토리 확인 가능 | |||||
f | 해당 파일이 포함된 패키지 확인 가능 | |||||
e | erase, 패키지 제거 설치 외에는 버전을 명시하지 않는다 |
rpm은 인터넷 연결이 되어있지 않더라도 사용할 수 있는 패키지 툴입니다.
단, 의존성 문제가 있고 패키지 제작을 하기 편한 툴은 아닙니다.
binary
binary
|
Source 설치라고도 한다. | ||||
장점 | Custermazing이 가능하다 (설치 위치나 필요 라이브러리를 입맛에 맞게 설치할 수 있다.) |
||||
단점 | 사용하기 힘들다 | ||||
설치 3단계
|
환경설정
|
설치 위치나 필요 lib 지정 | |||
명령어 | ./configure --prefix=설치경로 or --with-lib=설치경로 |
||||
Compile
|
사람이 인식할 수 있는 프로그래밍 언어로 제작된 코드를 기계가 인식할 수 있는 기계어로 변환한다. |
||||
명령어 | make | ||||
install | 명령어 | make install |
binary는 자유로운 패키지 설치가 가능합니다.
하지만 유연성이 좋은 만큼 실제 사용하기가 매우 어렵다는 단점이 있습니다.
[K-Digital Training, 애티버스러닝 교육 내용을 정리한 포스팅입니다.]
반응형
'Linux > 패키지 관리' 카테고리의 다른 글
리눅스 패키지 관리 ③Rocky Linux 환경에서 CentOS7 패키지 repository 구성하기 (0) | 2023.03.19 |
---|---|
리눅스 패키지 관리 ②리눅스 repository 설정하기(repolist) (0) | 2023.03.17 |