티스토리 뷰

OS/Linux

Linux 패키지 관리

뵤루 2022. 3. 2. 08:54

REDHAT : rpm    # yum

Debian : deb    # apt

Suse : rpm    #zypper

 

rpm (Redhat Package Manager)

- Binary 설치보다는 쉽다

- 의존성 문제에서 자유롭지 못하다

- source를 이용해서 rpm 파일을 만들 수 있다

- customizing이 불가능하다

- 업그레이드가 쉽다. 설정 파일이다 데이터 파일 백업이 불필요함

 

- 패키지 다운로드

 - yum을 이용해 파일만 다운로드 하자

-y 옵션을 사용하지 않음!
이런 질문이 뜨면 d를 입력해 필요한 파일을 다운로드하자
이 다섯 파일이 받아진다.
이렇게 디렉터리 하나에 따로 백업해두자

 

rpm으로 패키지를 설치하다보면 의존성 문제가 생기곤 한다. ( [필요한 패키지] needed by [설치하려는 패키지] )

 

rpm 옵션

-ivh : 패키지 설치

-Uvh : 패키지 업그레이드

-qa : 패키지 설치 여부 확인

-qi : 패키지 인포메이션 확인

-ql : 패키지와 관련된 파일과 디렉터리 확인

-qf [파일명]

-qlp

-e : 패키지 삭제

 

yum (Yellodog Update Modified)

- 인터넷 상의 저장소에서 파일을 다운로드 후 설치

- 주로 배포판 개발 회사들이 관리한다

- 설치가 쉽고, 의존성 문제를 자동으로 해결해준다

- 업그레이드 시 설정 파일이나 데이터 파일의 백업이 불필요하다

- 인터넷을 이용해야 하기 때문에 인터넷 및 DNS가 정상적으로 동작해야 한다

- 최신 버전이 아닌 안정화된 버전이 설치된다

- 설치 위치나 모듈 선택을 customizing 할 수 없다

- 설정 파일의 위치  : /etc/yum.repo.d

 

Binary (Source)

- 설치가 가장 까다롭다

- 의존성 문제가 상당히 많다

- customizing이 가능하기 때문에 많이 사용한다

- 최신 버전 설치가 가능하다

- 업그레이드 시 설정 파일과 데이터 파일 백업 후 패키지 업그레이드를 하고, 백업한 설정 파일과 데이터 파일을 다시 copy해서 사용한다

 

local repository create

1. centos7 everything download -> wiki.centos.org -> download -> 7.9 mirrors

2. vm의 cdrom에 everythong.iso 파일 넣기

3. 디렉터리 /cd 생성 후 /dev/sr0 or /dev/cdrom 으로 마운트

4. local repository 디렉터리 생성 (/local)

5. cdrom의 패키지 파일 복사를 백그라운드 작업으로 진행 (cp /cd/Packages/* /local/ & (&=백그라운드작업 명령어))

6. 기존 repository 정보 파일 이동 (mv /etc/yum.repos.d/* /backup/)

7. local repository 정보파일 작성 (vi /etc/yum.repos.d/local.repo)

[rpm]

reponame=localrepo

baseurl=file:///local

enabled=1

gpgcheck=0

 

 

8. createrepo 설치

rpm -ivh deltarpm

rpm -ivh libxml2-python

rpm -ivh python-deltarpm

rpm -ivh createrepo

 

버전 충돌은 --force를 이용하여 해결했다 (권장 X)

 

9. repository 구성

createrepo /local

 

 

10. 확인

yum repolist

 

 

yum install -y dhcp

 

 


 

웹서버 소스설치

 

httpd

yum으로 httpd를 설치하였다!

 

삭제할 목록

systemctl로 httpd를 시작시켜주면 작동한다

방화벽도 내려주자

 

 

해당 가상머신의 ip로 접속하면 이렇게 아파치 테스트페이지가 뜬다

이걸 소스설치로 해보자

 

 

설치해뒀던걸 지우자

이렇게 한번에 지워줄 수도 있다

 

 

지워지는것 확인

일단 소스설치를 하려면 소스파일의 위치를 알아야한다

apache.org 에 가서 소스를 받으면 된다

 

 

이렇게 가서 소스를 받아오면 되는데...

문제는 리눅스가 CLI이다

그대로 받아와줄수는 없다

이를 해결해주는 패키지를 설치해주자

 

wget 설치

 

이제 아까 본 곳에서 링크 주소를 가져오자

 

 

이렇게 복사해서

 

wget 명령어에 링크를 붙여넣어주면 정상적으로 받아진다

 

 

잘 받아진 파일의 압축을 풀어주면 오케이

 

소스설치는 3단계의 과정을 거친다

 

1. 환경설정

 - 설치 위치 및 필요 lib 구성

 - # .configure --prefix=설치경로

 

설치한 httpd 디렉터리에서 진행한다

 

여기서 의존성 문제가 생긴다

apache 페이지로 돌아가서 아래 파일의 링크를 복사해 web 디렉터리에 설치해준다

디렉터리의 위치를 잘 확인하고 설치하자

설치해보려하면

또 의존성 문제가 뜬다

 

에잇

그냥 yum으로 설치해주자

해주면 이렇게 좍 설정이 된다

이제 컴파일을 해주자

 

2. 컴파일

 - 인간이 인식할 수 있는 프로그래밍 코드로 작성된 파일을 기계어로 번역하는 작업

 - # make

 

make만 쳐주면 이렇게 뜨면서 알아서 좍 된다

 

3. 설치

 - install

 - # make install

 

이렇게하면 아파치를 설치할 수 있다

설치하러 가자

 

 apr-util이 없대
받아오지뭐

의존성 문제가 뜨니 또 링크를 받아와서 아카이브 해제 해주면 된다

소스설치의 의존성의 치명적인 문제이다

 

 

util을 설정하기 전에 이걸 util 디렉터리에 설치해주자

필수임!

 

 

다 하면 설정해주자

아우귀찮지만 해줘야한다

make와 make install도 해주자

나와서 다시 httpd를 설정해보자

 

디렉터리 경로는 꼭 바르게 쓰자

 

이젠 정말 되겠지

안된다

pcre가 필요하다고 한다

 

아 속쓰려

 

 

친절하게 사이트도 알려주니 다운받자

 

 

이 링크를 복사해서 설치하면

 

 

인증서 문제가 뜬다

 

 

이렇게 인증서 확인 무시해주고

pcre 아카이브 해제해주고

configure 해주고

중간에 gcc-c++없다는 말 뜨니 yum으로 install해주고

다시 configure 해주면

된다

 

make가 성공하면 make install도 해주세요

 

해주면

드디어 됨

 

make && make install도 해주자

 

이걸로 apache를 실행시켜주면됨

 

오류같지만 서버네임문제이므로 넘어가면 된다

 

 

이렇게 뜨면 멀쩡하게 실행된거다

소스설치는 이렇게 한다고함

..

....

 

소스설치 제거는 그냥 실행시켜줬던 apache를 명령어로 stop시켜주고 디렉터리와 파일을 제거하면 된다

 

중지
날려날려

 

이제 이 과정을 자동화해보자

 

 

 

스크립트용 디렉터리를 하나 만들어주자

 

 

이렇게 스크립트를 하나 짜주면 끝!

그냥 여태까지 했던 명령어를 한번에 써준다고 생각하면 편하다

 

삭제하는 스크립트도 만들어줄수 있다

 


 

LAMP

-> Linux + Apache + MySQL(Mariadb) + PHP

 

WAMP

-> Windows+ Apache + MySQL(Mariadb) + PHP

 

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

Linux Mail (Thunderbird)  (0) 2022.03.28
Linux NFS  (0) 2022.03.25
Linux ACL  (0) 2022.02.24
Linux 디스크 관리  (0) 2022.02.22
Linux 사용자 및 그룹 관리  (0) 2022.02.18
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함