본문 바로가기

Linux

11. CentOS7 : package 관리

OS에 따른 패키지 종류

OS 패키지 포맷 명령어
REDHAT rpm yum
Debian deb apt
Suse rpm zypper


1. yum

  • 인터넷 상의 Repository(저장소)를 이용해서 패키지를 관리
  • 주로 배포판 개발 회사들이 관리

 

  • 장점
    • 설치가 아주 쉽다.
    • 의존성 문제까지 해결해 준다. (패키지 설치를 위해 다른 패키지 또는 라이브러리를 요구)
  • 단점
    • 반드시 인터넷과 DNS가 정상적으로 동작해야만 한다.
    • 최신 버전이 아닌 안정화된 버전
    • custermizing이 불가능하다. (설치 위치나 모듈 선택 불가)
    • 업그레이드 시 설정 파일이나 데이터 파일 백업 불필요

1.1. 실습

 

※ yum 명령어로 사용해보기

 

※ 설치 가능한 패키지 리스트 확인 ( grep: 특정 문자열로 검색)

 

※ /etc/yum.repos.d/CentOS-Base.repo 파일에서 repository url 주소 확인

 

※ yum 명령어로 createrepo 다운로드

  • 패키지의 모두 repository는 다르다.

 

※ 위에 출력된 repository에서 다운로드된 패키지파일 확인

 

※ yum 명령어에 -y 옵션을 주어 createrepo 설치 및 확인

  • -y : 모든 질문에 y로 자동 응답
  • 설치/업데이트 의존성 문제가 있는 패키지들을 모두 자동으로 설치해 준다.

 

※ yum 명령어 이용하여 createrepo 삭제

  • 의존성 패키지는 자동으로 설치해 줬지만, 삭제할 경우에는 createrepo 패키지만 삭제된다.

 

※ yum 명령어 이용하여 deltarpm 삭제

  • 삭제 의존성이 있는 패키지의 경우 자동으로 삭제한다.

 

※ 마지막으로 libxml2-python 패키지를 삭제하여 위에서 설치한 createrepo 관련 패키지를 모두 삭제한다.

 


 

2. rpm

  • 업그레이드가 쉽다. 설정 파일이나 데이터 파일 백업 불필요
  • Binary 설치보다 비교적 쉽다.
  • source를 이용해서 rpm 파일을 만들 수 있다.
  • 의존성 문제에서 자유롭지 못하다
  • custermizing 불가능

 

2.1. 다운로드된 패키지 파일로 createrepo 설치

 

※ rpm 명령어 이용하여 설치

  • python-deltarpm 패키지 의존성 문제 발생 

 

※ python-deltarpm 패키지 설치

  • deltarpm 의존성 문제 발생

 

※ 의존성 문제 패키지 설치 후 createrepo 패키지 설치 및 확인

 

2.2. 옵션 사용해보기

 

※ 버전 확인 (-qa 옵션)

 

※ 패키지 관련 정보 확인 (-qi)

 

※ 패키지와 관련된 파일 및 디렉토리 확인 (-ql 옵션)

 

2.3. createrepo 패키지 삭제

 

※ rpm 명령어로 deltarpm패키지 삭제 (-e 옵션)

  • 의존성 문제가 발생한다.

 

※ 의존성 문제 발생 패키지 삭제 후 deltarpm 패키지 삭제

 


 

3. binary(source)

  • 설치가 가장 까다롭다.
  • 의존성 문제가 상당히 많다.
  • custermizing이 가능하기 때문에 많이 사용된다.
  • 최신 버전 설치가 가능하다.
  • 업그레이드 시 설정 파일과 데이터 파일 백업 후 패키지 업그레이드, 백업한 설정 파일과 데이터 파일을 다시 copy해서 사용함.

 

3.1. 소스 설치 3단계

  1. 환경설정
    • 설치 위치 및 필요 lib 구성
    • # .configure --prefix=설치경로
  2. 컴파일
    • 인간이 인식할 수 있는 프로그래밍 코드로 작성된 파일을 기계어로 번역하는 작업
    • # make
  3. 설치
    • install
    • # make install

 

3.2. apache2 source로 설치

 

※ yum 명령어로 wget, expat-devel 패키지 설치

 

※ /web 디렉토리 생성 후 wget 명령어로 httpd 아카이브 파일 다운로드, 아카이브 해제

https://downloads.apache.org/httpd/

 

Index of /httpd

Index of /dist/httpd Apache HTTP Server Source Code Distributions This download page includes only the sources to compile and build Apache yourself with the proper tools. Download the precompiled distribution for your platform from binaries/. Important Not

downloads.apache.org

우클릭 > 링크 복사
wget 명령어 뒤에 복사한 링크 붙여넣기

 

※ INSTALL, README - 설치 방법 및 설명이 기술되어있는 파일

INSTALL 파일 내용 일부

 

※ apache2 환경설정

  • 의존성 문제 발생

 

※ /web 디렉토리에 apr 아카이브 파일 다운로드 및 해제

https://downloads.apache.org/apr/

 

Index of /apr

This downloads page includes only the sources to compile and build APR projects, using the proper tools. All of the release distribution packages have been digitally signed (using PGP or GPG) by the ASF committers that constructed them. There will be an ac

downloads.apache.org

우클릭>링크복사
wget 명령어 뒤에 복사한 링크 붙여넣기

 

apr 환경설정

  • C 컴파일러 의존성 문제 발생

 

C Compiler 설치 (용량 문제로 yum 명령어 이용하여 설치)

 

 apr 환경설정, make 명령어로 컴파일 및 설치

 

※ apache2 환경설정

  • 이번에는 APR-util이 없어 의존성 문제가 발생

 

 /web 디렉토리에 apr-util 아카이브 파일 다운로드 및 해제

https://downloads.apache.org/apr/

 

Index of /apr

This downloads page includes only the sources to compile and build APR projects, using the proper tools. All of the release distribution packages have been digitally signed (using PGP or GPG) by the ASF committers that constructed them. There will be an ac

downloads.apache.org

우클릭 > 링크복사

 

apr-util 환경설정 ( --with 옵션 주어 apr 위치 알리기)

 

 apr-util 컴파일 및 설치

 

디렉토리 이동하여 다시 apache2 환경설정 해보기

  • pcre-config 필요

 

/web 디렉토리에 wget으로 pcre 다운로드 후 아카이브 해제

https://sourceforge.net/projects/pcre/files/pcre/8.45/

우클릭>링크복사
wget 명령어 뒤에 복사한 링크 붙여넣기 (이때 링크 뒤에 /download는 지우기)

  • 인증서 에러 발생하므로 --no-check-certificate 옵션 넣어 다운로드

아카이브 해제

 

디렉토리 이동 후 pcre 환경설정

  • 또 문제 발생 C++ 컴파일러 필요

 

C++ 컴파일러 설치 후 환경설정 및 컴파일러, 설치

c++ 컴파일러 설치
pcre 환경설정
컴파일 및 설치

 

※ 디렉토리 이동 후 다시 apache2 환경설정 및 컴파일, 설치

 

※ 방화벽 stop 후에 apache start

 

※ 브라우저에 IP 입력 후 It works! 가 나오면 성공!!

 

 

3.3. apache2 source 설치 및 삭제 쉘 스크립트로 작성하기

 

※ apache 설치 스크립트

  • 3.2 에서 다룬 내용은 의존성 테스트 등 부딫혀 보기위해 내용이 많지만 명령어만 정리하면 위와 같다.

 

※ apache 종료 및 삭제 스크립트

'Linux' 카테고리의 다른 글

13. CentOS7 : DHCP  (0) 2022.03.22
12. CentOS7: Local Repository  (0) 2022.03.08
10. CentOS7 : Quota  (0) 2022.03.08
09. CentOS7 - ACL(Access Control List)  (0) 2022.03.01
08. CentOS7 : Disk관리/Partitioning/LVM  (0) 2022.03.01