0부터 시작하는 Linux 공부 - 패키지 설치 명령어

Jaehong Lee·2022년 7월 21일
0
post-thumbnail

1. RPM

p. 203

  • 리눅스는 설치를 위한 모든 코드를 외부에 공개한다. 따라서, 특정 애플리케이션을 설치하고자 한다면, 소스 코드를 다운로드 하고, 파일을 컴파일 한 뒤 이를 설치하는 과정을 거쳐야 한다. 컴파일을 위해서는 설치 위치 , 필요한 옵션 등을 수동으로 지정할 수 있어 전문가나 익숙한 사람들에게는 좋은 방법이 될 수 있으나 초보자나 클라우드 환경과 같이 빠른 설치가 필요한 곳에서는 어려운 어려운 일이 될 수 있다. 이를 해결하기 위해 윈도우의 install.exe 와 비슷한 파일을 RedHat 에서 만들었는데, 이를 RPM 또는 패키지 라고 한다

2. RPM 실습

gedit 설치

  • rpm -e 는 삭제 명령어다
  • gedit 를 삭제하자
  • gedit 를 rpm 파일로 다운 받아 설치해보자. https://www.rpmfind.net/ 에 접속하자
  • gedit 를 검색하고, 맨 마지막 파일의 링크 주소를 복사하자
  • wget으로 rpm 파일을 다운 받자
  • 다운 받아졌는지 확인하자
  • 패키지를 Uvh를 통해 설치하자
    • rpm -ivh 패키지이름.rpm : install 한다. 단, 동일 패키지가 설치되어 있다면 오류가 발생한다
    • rpm Uvh 패키지이름.rpm : 기존에 설치된 것이 있는지 확인하고, 기존 설치된 버전보다 지금 설치하고자 하는 버전이 최근 버전이라면 업그레이드 설치를 하고, 만약, 설치되어 있지 않는다면 정상적인 install을 진행한다
    • v : 설치 과정 확인
    • h : # 기호를 통해 설치 과정 확인

  • 잘 설치가 되었고, 잘 실행이 된다
  • gedit 는 그래픽 환경에 의존성을 갖는다

wireshark 설치

  • wireshark-gnome 는 wireshark의 linux 버전 이다
  • 검색해서 wget으로 다운 받아 오자
  • 설치하고자 하지만 실패한다. 이는 의존성 문제이다. wireshark 설치를 위해 필요한 패키지들이 없기에 오류가 뜬다. 이를 다 설치해야 한다
  • 너무 많다. 이처럼 rpm 의 단점은 의존성이다. 이 문제를 해결한 것이 dnf 명령이다. dnf는 yum의 발전형이다

3. yum

p. 210

  • yum 은 인터넷이나 회사 내에 다수의 패키지를 저장소에 보관하고, 사용자가 필요한 패키지를 요청했을 때 해당 패키지, 의존성 해결을 위한 패키지를 묶어 사용자에게 전달해 주는 방식이다
  • 따라서, 저장소 ( 레포지터리 ) 가 필요하다
  • centos 에서 제공해주는 저장소를 확인하자. 해당 저장소들에는 링크가 있다. 패키지를 요청하면 저장소에서 파일에 대한 링크가 있는지 확인하고, 파일에 대한 링크를 타고 들어가 가져온다
    • 만약 패키지가 epel 에서 제공하는 패키지라면 CentOS 에서는 설치할 수 없다. 이 경우에는 epel 목록을 설치하여 해결할 수 있다

  • epel-release 를 다운 받자. -y 는 설치 과정 중에 yes / no 라는 질문에 대해 무조건 yes 로 하겠다는 것 이다

  • epel 에서 제공해주는 패키지에 대한 저장소가 추가됬다

  • yum 에서 rpm 파일을 설치하면, 해결해야할 의존성 패키지를 yum 으로 연결하여 다운로드 하고, 설치 한다. 저장소에는 무조건 최신 버전의 패키지가 있는 것이 아니므로, 최신 버전이 설치되지 않을 수 있다

  • 설치할 때 패키지 이름을 적어야 한다. 만약, 패키지 파일 이름을 적게되면 로컬에 있는 파일로 설치한다 ( gedit ( 저장소에서 링크 타고 설치 ) / gedit.rpm ( 로컬에 있는 파일 설치 ) )

  • yum 관련 임시 파일들을 삭제한다

  • 업데이트 가능한 패키지들을 살펴본다

  • yum update && init 0 을 통해 업데이트가 성공적으로 끝나면, 리눅스가 종료되게 한다

4. DNF 와 YUM

  • dnf는 yum의 발전형이다

  • dnf 는 yum 보다 성능이 좋으며, 적은 메모리를 사용한다
  • 패키지나 종속성 패키지가 부적절하면 업데이트를 하지 않으며, 패키지 제거시 해당 패키지의 종속성 패키지들도 자동으로 제거 한다

php 설치

  • dnf 로 설치해보자
  • 설치한 php 의 버전을 확인하자
  • dnf 저장소의 설치할 수 있는 버전을 확인하자. 기본 값이 7.2 버전이라고 한다. 이를 업데이트를 해보자. 만약 yum 으로 업데이트하면 구버전에서 멈춘다. 하지만 dnf에서는 버전 하나하나 관리하기에 최신 버전으로 업데이트가 가능하다
  • dnf 로 삭제하면 종속성 패키지들도 자동으로 다 삭제된다
  • 최신 버전 php 를 설치해보자
  • dnf 의 php 모듈의 enable 설정을 초기화하자. reset 하면 enable 설정이 초기화 된다
  • 7.4 버전을 enable로 설정한다. 7.4 버전이 활성화 된다
    • default 는 모듈의 기본 설정이다
    • enable 은 활성화다. 만약 해당 패키지를 설치하면 enable 이 된 버전을 설치한다

  • 7.4 버전이 enable 이 됬다
  • 다시 설치해보자
  • 7.4 버전이 잘 설치됬다

5. 과제

5.1 cron 이란

  • 특정한 시간에 또는 특정 시간 마다 어떤 작업을 자동으로 수행하게 해주는 시간 기반 잡 스케줄러 성격의 데몬 프로세스

5.2 date 명령을 실행했을 때, 아래와 같은 형식으로 출력되도록 2207211750 로 나오도록 연월일시분 로 나오도록 하기

  • date '+%y%m%d%H%m'
profile
멋진 엔지니어가 될 때까지

0개의 댓글