리눅스_패키지, Local repository

2022. 3. 29. 02:08·IT/Linux
반응형

  1. 패키지

윈도우와 비슷하게 리눅스도 압축 파일을 다운로드하거나, 윈도우 인스톨러처럼 설치를 도와주는 파일을 다운로드할 수 있습니다. 리눅스는 이러한 파일들을 통틀어 패키지라고 합니다.

배포판 별로 차이가 있으며, 저희가 사용하고 있는 CentOS는 Redhat 계열의 OS입니다. Redhat계열(Red hat, Fedora, CentOS 등)에서 사용하는 패키징 방식은 RPM이며, Debian 계열(Debain, Ubuntu, Linux Mint 등)에서 사용하는 패키징 방식은 DEB입니다. 

 

  1-1. yum, rpm, binary

 

yum (apt-get)

 

인터넷 연결이 반드시 되어야 합니다.

DNS 정상 작동해야 합니다.

 

장점 :

인터넷상의 저장소(Repository)에서 패키지를 다운로드하여 설치할 수 있습니다

의존성 문제까지 모두 해결해 줍니다

의존성 문제 : 하나의 패키지를 설치하기 위해서 필요한 다른 패키지나 lib를 의존성 문제라 합니다.

 

단점 :

패키지가 최신 버전은 아닙니다. 주로 안정화된 버전입니다.

관리는 배포판 제작 회사에서 합니다.

설치 위치나 각종 라이브러리 선택같은 커스터마이징이 불가능합니다.

 

옵션 :

# yum install [패키지명] : 시스템으로 패키지의 설치를 실시합니다.

# yum remove [패키지명] : 패키지를 삭제합니다.

# yum check-update : 현재 인스톨된 프로그램 중에 업데이트된 것을 체크해줍니다.

# yum update [패키지명] : 패키지를 업데이트합니다.

# yum list : 서버에 있는 그룹 및 패키지의 리스트를 보여줍니다.

# yum groupinstall [그룹] : 그룹 패키지를 설치합니다.

# yum provides [경로] : 파일이 제공하는 패키지 정보 출력합니다.

 

설정 파일 위치 : /etc/yum.respos.d

 

rpm (dpkg) redhat package management

 

장점 :

binary 보다는 설치가 쉽습니다.

binary들의 모음입니다. rpm은 제작이 가능합니다.

 

단점 :

의존성 문제가 있습니다.

커스터마이징이 불가능합니다.

 

옵션 :

# rpm -ivh [패키지명] : rpm 패키지를 설치합니다.

# rpm -Uvh [패키지명] : rpm 패키지를 설치합니다. (설치되어 있지 않는 패키지에 대해서는 ivh와 동일합니다.)

# rpm -qa : 설치된 모든 패키지 확인합니다.

# rpm -qi [패키지명] : rpm 패키지 정보를 봅니다.

# rpm -ql [패키지명] : rpm 내부 파일목록을 봅니다.

# rpm -qlp [파일명.rpm] : rpm 내부 파일목록을 봅니다. 

# rpm -e : rpm 패키지를 제거합니다.

 

다운로드 파일 위치 : /var/cache/yum/x86_64/7/base/packages/

 

binary(source)

 

장점 :

최신 버전 설치가 가능합니다.

설치 위치나 각종 모듈을 선택하여 설치하는 커스터마이징이 가능합니다.

 

단점 :

설치가 힘듭니다.

의존성 문제가 있습니다.

패키지 업데이트 시 설정 파일과 데이터 파일을 별도로 백업을 해야 합니다.

 

2. Local Repository

우선 repository는 말 그대로 패키지 저장소입니다. 리눅스에 yum install [패키지명]을 사용해서 패키지를 설치하게 되면, 이 패키지들은 인터넷상에 있는 repository에서 가져오는 것입니다.만일 인터넷에 되지 않는 환경이라면 어떡할까요? 인터넷이 되지 않는다면 yum 명령어는 사용할 수 없게 되고, 패키지는 설치할 수 없을 것입니다. 그런 경우를 위해 내부망에 Local Repository를 설치해서 사용할 수 있습니다. 인터넷에 repo를 구축하지 않고, 로컬 서버에 repo를 구축한다고 생각하시면 되겠습니다. 이때, 패키지 의존성을 해결해주는 yum을 쓰고 싶다면 createrepo를 해주시면 됩니다.

 


3. 실습

3-1. yum 설치 및 삭제

createrepo를 yum을 이용하여 설치
설치가 완성된 모습
createrepo yum 삭제
deltarpm yum 삭제
libxml2-python yum 삭제

  3-2. rpm 설치 및 삭제

다운로드한 파일 위치 확인
이게 바로 위에서 언급한 의존성 문제. createrepo 를 설치하려면 deltarpm, libxml2-python, python-deltarpm 을 먼저 설치해야합니다.
의존성문제에 걸리지 않게 순서대로 rpm 설치
-qa : 설치된 패키지 확인, -qi : 패키지 내부 정보 확인
-e : rpm 삭제, -qa: 설치된 패키지 확인

  3-3. Local Repository 설정

http://mirror.kakao.com/centos/7.9.2009/isos/x86_64/

 

CentOS Mirror

 

mirror.kakao.com

위 주소에서 CentOS7 Everything 버전을 먼저 다운로드하시고 가상 머신 cd-rom에 장착하시면 됩니다.

가상머신 cd-rom에 다운로드받은 everything 버전을 장착하는 모습
sr0(cd-rom)에 정상적으로 장착된 것을 확인 한 후, cd-rom을 마운트포인트 /cd에 마운트 해줍니다.
local repository를 의미하는 /repo 디렉터리 생성 후, /repo 디렉토리에 패키지 복사. 여기서 &은 백그라운드 작업을 의미합니다.
파일 복사 확인 후, 백업 디렉토리 생성, 기존 repo 구성 파일을 이동합니다.
# vi /etc/yum.repos.d/local.repo을 이용해 Repository 구성파일을 위와 같이 작성합니다.
# createrepo /repo 를 활용해서 repository를 생성해줍니다.
생성된 repository를 확인하고, 패키지 설치 테스트를 진행하는 모습입니다.

반응형

'IT > Linux' 카테고리의 다른 글

리눅스_쉘스크립트_apache설치  (0) 2022.03.29
리눅스_CentOS7 Apache2 source 설치  (0) 2022.03.29
리눅스_quota_group_실습  (0) 2022.03.25
리눅스_quota_user  (0) 2022.03.24
리눅스_디스크관리_02_LVM, PV, VG, LV  (0) 2022.03.23
'IT/Linux' 카테고리의 다른 글
  • 리눅스_쉘스크립트_apache설치
  • 리눅스_CentOS7 Apache2 source 설치
  • 리눅스_quota_group_실습
  • 리눅스_quota_user
nyub
nyub
  • nyub
    xinyub cloud
    nyub
  • 전체
    오늘
    어제
    • 전체 글 (165)
      • Cloud (17)
        • AWS (12)
        • KT (3)
        • NHN (2)
      • IT (131)
        • Network (22)
        • Linux (41)
        • Windows server (30)
        • Docker (9)
        • Terraform (5)
        • Git, Github (3)
        • Kubernetes (9)
        • CI CD (11)
        • 기타 (1)
      • Etc (17)
        • TroubleShooting (12)
        • Other Info (4)
        • 자격증 (1)
  • 반응형
  • hELLO· Designed By정상우.v4.10.3
nyub
리눅스_패키지, Local repository
상단으로

티스토리툴바