2022. 11. 23. 17:13ㆍ리눅스(Linux)
What is RPM?
- RedHat Package Manager
- 초창기 리눅스에는 없었던 패키지 개념을 도입하여 설치와 삭제, 업그레이드 등을 편리 하도록 만들어, 리눅스를 성장 시키는데 큰 도움을 제공
$ RPM 패키지 파일의 구성
# Vim-enhanced-7.0.109-3.i386.rpm
Vim-enhanced : 패키지명
7.0.109-3 : 버전
- 7 : major 버전, 프로그램 자체가 완전히 변경 되었을 경우 변경 (주버전, 시즌)
- 0 : minor 버전, 기능의 추가가 있을 경우에 올라간다 (사소한 업데이트)
- 109 : patch 버전, 기존 기능에서 버그가 수정되는 경우 올라감
- 3 : release 버전, 배포하는 측에서 몇 번째로 만든 배포판 인지를 나타낸다,
0~2는 테스트, 짝수 버전은 테스트라 공개 잘 안함
i386 : 아키텍쳐
$ 명령어 예제
# rpm -Uvh vim-enhanced-7.0.109-3.i386.rpm
- Upgrade, verbose, hash
# rpm -Uvh vim-enhanced-7.0.109-3.i386.rpm --nodeps
- (--nodeps) 옵션 사용시 의존성 무시하고 설치
# rpm -e vim-enhanced-7.0.109-3
- 삭제
# rpm -Uvh vim-enhanced-6.0.109-3.i386.rpm --oldpacake
- 신버전 → 구버전 변경
sudo-1.8.23-9.el7.x86_64 → sudo 관련 명령어 패키지 , 절대 지우면 안됨
$ rpm 공식
*강사님이 만드신 공식이라 주관적인 견해란 점 참고 바람
1.의존성 오류를 무시하지 말라 (Failed dependencies)
2.의존성 오류를 재기한 패키지를 먼저 작업한다.
3.만들었던 패키지를 지울 땐 역순으로 지운다.
4.lib ~ .so 로 돼 있는 건 패키지가 아니므로 무시해도 된다.
5.모든 패키지는 대표 패키지부터 작업한다.
6.나머지 화면에 보이는 순서대로 작업한다.
7.모든 패키지는 버전을 일치시켜야한다.
8.가급적 의존성 무시를 사용하지말자.(--nodeps)
$ 의존성 오류일 때 설치 방법
http://mirror.centos.org/centos/7/os/x86_64/Packages/
wget 명령어로 링크 걸어 리눅스로 파일 다운 가능
다운 받은 패키지를 rpm -ivh 명령어로 리눅스에 설치
686 → 32비트 형식, 설치 x
- 오른쪽에 있는 패키지를 설치하란 뜻이 아니라 버전이 안맞거나 지워야 한다는 의미
- 해당 패키지를 업데이트 해주거나 --nodeps 사용
- 서로 재기하는 패키지 의존성은 동시에 업데이트해줘서 문제 해결
실무에서 yum을 사용했을 경우 클라이언트 요구와는 안맞는 최신버전이 다운받게 될 수 있다.
세부적으로 버전을 맞춰줘야하기 때문에 의존성 오류를 배워야 함
'리눅스(Linux)' 카테고리의 다른 글
[Centos 7] Tar, Gzip and Bzip (압축 도구들) (0) | 2022.11.24 |
---|---|
[Centos 7] YUM (Yellowdog Updater Manager) (0) | 2022.11.23 |
[Centos 7] RAID (Redundant Array of Inexpensive Disks) (0) | 2022.11.23 |
[Centos 7] LVM (Logical Volume manager) (1) | 2022.11.23 |
[Centos 7] Swap Partition (스왑 파티션) (0) | 2022.11.23 |