상세 컨텐츠

본문 제목

[Linux] Linux 패키지 관리(2) Local repository | Source

IT/Linux

by o_zeew 2022. 3. 3. 21:42

본문

(1) Local repository

(2) source 설치


 

1. Local repository 
 - 인터넷 저장소

 - 인터넷을 사용할 수 없는 상황에서 사용

 

<Local repository 생성>

 

1. centos7 everything이 필요 : wiki.centos.org -> download -> 7.9 mirrors

4곳 모두 동일
everything 버전은 minimal에 없는 centos의 모든 패키지 포함

 2. 실행중인 vm의 cdrom에 everything.iso 파일 넣기

사용하고 있는 minimal 대신 everything iso image file을 넣어주기 / 상단의 connected 반드시 체크


 3. [lsblk] 명령어로 디스크 확인 후 디렉토리 /cd 생성


 4. /dev/sr0 or /dev/cdrom 으로 마운트

cd rom은 쓰기 불가 / 읽기만 가능하도록 마운팅됨
/cd/Packages 디렉토리의 행 수

 5. cdrom의 패키지 파일 복사

&amp; 기호를 사용할 시에 백그라운드에서 작업
백그라운드에서 작업 시 동시에 다른 작업을 진행할 수 있다
jobs %작업번호를 입력하면 작업의 진행 상황을 볼 수 있다


 6. 외부 사이트에 있는 기존 repository 정보 파일 이동

* : 전체를 뜻함

    * mv 명령어로 파일을 다 옮겨 외부 repository에 대한 정보가 없는 상태이기 때문에 yum으로 설치 불가

DNS와 외부 인터넷 조회가 안되는 먹통 상태일 때 설치 불가

7. rpm 명령어를 사용해 미리 준비한 createrepo 패키지 설치

yum 명령어를 사용해서 설치 가능
rpm 명령어를 사용해 설치 후 설치 확인

 

 

8. local repository 정보파일 작성 (yum 으로 설치가 가능하도록)

vi로 /etc/yum.repos.d/파일명 (파일명은 상관 x) 파일 열기
[rpm]:repository id, name:repository 이름, baseurl:패키지파일의경로, enabled:활성화 여부, gpgcheck:인증서

9. [createrepo] 명령어를 사용해 local repository를 생성 후 확인

local repository 생성 확인

10. [yum] 명령어를 사용해 dhcp 설치로 확인

dhcp 설치 완료

11. local repository 삭제

yum 명령어로 dhcp 삭제
/local에 있는 데이터 삭제, local repo파일 삭제&nbsp;
참고할 local repository 파일이 없기 때문에 설치 불가

  * 다시 원래대로 돌리기 위해서는 /backup 에 있는 파일들을 다시 옮기면 가능

/backup에 있는 모든 파일 /etc/yum.repos.d/에 옮긴 후 createrepo 삭제
cdrom과 마운트 해제
yum repolist로 확인 가능

 


 

2. Source 설치

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

 

<자동 설치해보기>

 

1. [yum] 명령어를 사용해 웹서비스(httpd)를 설치

yum으로 설치시 의존성 문제 자동 해결

 

2. 시스템 실행, 방화벽 해제

방화벽을 해제해야 접근 가능

3. 관련 서비스들 삭제

apr, apr-util, httpd-tools, mailcap 삭제

 


<Source 설치해보기>

 

1. 실습에 필요한 디렉토리와 패키지들 설치

   - gcc : apr 설치에 필요

   - gcc-c++ : pcre 설치에 필요

   - wget : CLI 모드인 리눅스에서 파일 다운을 할 때 필요

gcc, gcc-c++, expat-devel, wget 설치
설치 완료

 

2. Source 설치를 위한 파일 찾기

   apache.org 사이트를 통해 파일 링크 주소 복사해서 사용

apache.org - Downloads - Distribution
httpd/
httpd-2.4.52.tar.gz 링크 복사

3. [wget] 명령어를 사용해 복사한 링크로 패키지 다운 받기

 

4. 의존성 문제를 일으키는 패키지 다운 받기

  - apr

apr-1.6.5.tar.gz 링크복사
wget 명령어로 파일 다운

  - apr-util

apr-util-1.6.1.tar.gz 링크 복사
wget 명령어로 파일 다운

  - pcre (pcre.org 사이트 이용)

pcre.org 사이트
pcre
숫자가 높을수록 최신 버전
pcre-8.45.tar.gz 링크 복사
링크 주소 맨 끝의 /download를 지운 후 인증서 문제 해결을 위해 --no-check-certificate 입력

5. 파일 확인

httpd 설치를 위해 필요한 apr, apr-util, pcre

6. 파일 압축 해제

apr 압축 해제
apr-util 압축 해제
httpd 압축 해제
pcre 압축 해제
압축 해제 완료

7. apr 설치

  - 해당 디렉토리로 이동 후 설치할 경로 설정

해당 디렉토리로 이동 후 설치 / 설치할 경로 설정

  - 환경설정이 끝난 후 컴파일과 설치 진행

&& : 앞의 명령어가 완료 되면 뒷 명령어 실행

8. apr-util 설치

apr-util 설치시 apr의 위치도 함께 입력
컴파일과 설치 진행

9. pcre 설치

컴파일과 설치 진행

10. httpd 설치

  * 일반적으로 /usr/local/apache2 에 설치하지만 필수는 아님

설치하고 싶은 디렉토리를 생성 후 httpd 설치 / httpd 설치할 때는 의존성 문제를 일으키는 파일들의 위치도 함께 입력
컴파일과 설치 진행

11. root에 경로 추가

root 사용자로 로그인할 때 실행되는 파일
vi 편집기로 파일 열기
기본 PATH 경로에 추가하면 어느 경로에 있던지 /web/apache2/bin 사용가능
읽어들여서 수정된 값 적용하기

     * 기본 경로를 추가하지 않으면 명령어를 실행할 때 경로를 적어줘야함

12. apachectl 실행

경로를 설정하지 않아도 apachectl 사용 가능
실제 PC에서 가상머신 작동 확인 가능

13. apachectl 중지

apachectl 을 중지시키면 연결 불가

 

관련글 더보기