본문 바로가기
카테고리 없음

리눅스 종류 및 yum

by 흰색남자 2023. 12. 14.

[목적]

요즘 회사에서 페도라 계열의 리눅스인 RHEL과 Rocky 리눅스를 많이 사용하고 있다. 공모전을 나가거나, 학부연구생 시절에도 centos, ubuntu, 라즈베리파이만 사용했었는데 다른 리눅스 버전들이 뭐가 있는지 알아두면 좋을 것 같아서 간단히 정리하고 싶다.

 

[ 리눅스 패키지 설치 ]

yum이란?

CentOS, Fedora, Red Hat Enterprise Linux(RHEL)과 같은 RPM(Red Hat Package Manager) 기반 시스템을 위한 명령줄 패키지 관리 유틸리티.
소프트웨어 패키지(rpm)를 설치, 업데이트, 제거 및 관리하는 프로세스를 단순화 함.

기업에서 서버를 설치할 경우, 폐쇄망에서 패키지를 설치해야할 경우가 있다. 폐쇄망에서는 일반적인 yum repo를 사용하지 못하고, 직접 패키지 의존성을 맞추고 패키지 파일을 설치해야한다. 이번에 RHEL9.1 8.9, Rocky 9.1에서 podman 버전을 업그레이드 하는 작업이 있었는데, Tip을 기록해놓는다.

1. https://www.rpmfind.net/

yum install을 하면 rpm파일을 다운받는 것을 볼 수 있는데, /etc/yum.repo.d 에 repo가 존재한다. 폐쇄망인 경우에는 자체 구축한 private repo가 존재할 것이지만, 나는 private repo에 뭐가 있는지 알지 못하므로 패키지 파일을 직접 찾고 의존성을 맞춰서 설치해야했다.

위에 기재한 rpmfind라는 사이트에서는 왠만한 rpm파일을이 갖추어져 있어서 편리하게 사용했다.

2. yum-utils의 yumdownloader

yum을 사용하면 의존성과 해당 repo를 이용할 수 있는 인증 정보, 관련 패키지 업데이트를 자동으로 해준다. 하지만 그냥 yum을 사용하면 해당 파일이 자동으로 다 설치되므로 rpm파일을 또 찾으려면 귀찮아진다.

그래서 사용하는 것이 yumdownloader이고 옵션을 사용하여 rpm파일만 다운받을 수 있고, 의존성 정보까지 모두 같이 다운받을 수 있어서 편리하게 사용했다.

-c, --config=<경로>: 대체 구성 파일을 지정
-x, --exclude=<패키지>: 특정 패키지를 다운로드에서 제외
--resolve: 패키지 및 해당 종속성을 다운로드
--destdir=<디렉터리>: 다운로드한 패키지가 저장될 디렉터리를 설정
-q, --quiet: 자동 모드에서 실행되어 최소한의 출력을 표시
-v, --verbose: 자세한 출력을 표시
--alldeps: 모든 의존성 라이브러리 다운로드

사용 예시

yumdownloader --resolve --destdir=<downloadpath> <package-name>

[ gpg key ]

gpg키란 GNU 프로젝트로 개발되었으며, PGP 대안으로 오픈소스로 구현된 보안 솔루션(암호화 키 알고리즘)이다.

yum을 사용하게 되면 gpg를 활용해서 해당 repo에 인증받고 무결성을 검증한 다음 rpm파일을 내려받게 된다. 

GPG키가 YUM에서 작동하는 방식은 다음과 같다.

1. Key 가져오기. : /etc/yum.repo.d에 저장소를 추가하면 GPG키를 추가하라는 메시지가 표시된다.
2. 검증 : YUM REPO에서 패키지를 설치하기 전에 GPG키와 비교해서 서명을 한다.
3. 신뢰성 검사 : 유요한 GPG키가 서명된 경우, 패키지를 설치하게 된다.

GPG 키가 유효하지 않은 경우.
경고 및 오류를 발생하여 패키지가 설치되지 않음. 

[ 가장 인기있는 리눅스 top 10 ]

해외 자료를 찾아보던 중 가장 많이 사용하고 있는 LINUX OS 10개를 정리해 놓은 글이 있어서 번역한다.

리눅스는 커널별로 부르는 이름이 다르다. 커널별로 특징이 있으며, 사용하는 용도가 서로 다르다.

1. ubuntu
요약 : 초보자들이 가장 사용하기 쉽고, 커뮤니티가 활발

장점

  1. 사용하기 쉽다
  2. 활발한 커뮤니티
  3. 방대한 양의 apt repo
  4. 정기적으로 이루어지는 업데이트
  5. 다양한 환경에서 사용 가능함

단점

  1. 다소 무거운 OS
  2. 다른 배포판에 비해 변형하기 어려움.

2. debian
요약 : 초보자들이 가장 사용하기 쉽고, 커뮤니티가 활발

장점

  1. 보수적인 업데이트로 인해 안정적임
  2. Ubuntu 처럼 repo가 큼
  3. 하드웨어 서포트 받기 쉬움
  4. 멀티 환경에서 사용가능하게 제공함
  5. 고급 기능을 다룰 수 있음

단점

  1. 사용자 친화적이지 않음
  2. 업데이트 주기 느림

3. fedora
요약 : 개발자를 위한 여러 도구가 존재함.

장점

  1. 최신의 소프트웨어를 사용할 수 있음
  2. 업데이트 주기 빠름
  3. 다양한 환경에서 사용가능함
  4. 서포트 잘해줌

단점

  1. 안정적이지 않음
  2. 서포트 주기 짧음
  3. 사용자 친화적이지 않음

4. arch
요약 : 고인물들을 위한 배포판.

장점

  1. 모든걸 커스터마이징할 수 있음
  2. 가볍고 빠름
  3. 항상 최신 기술이 적용할 수 있음

단점

  1. 러닝 커브가 높음
  2. 안정적이지 않음.
  3. 그래픽 없음

5. centos stream
요약 : 기업 사용자들을 위한 배포판

장점

  1. 보안 철저
  2. 안정적임
  3. lts 버전
  4. 서버용으로 좋음

단점

  1. 다소 무거운 OS
  2. 패키지에 한계가 있음
  3. 업데이트 느림

6. kali
요약 : 보안에 종사하는 사람들이 사용함

장점

  1. 보안 도구가 많음
  2. 하드웨어 서포트가 잘 이루어짐
  3. 방대한 양의 apt repo
  4. 정기적으로 이루어지는 업데이트
  5. 다양한 환경에서 사용 가능함

단점

  1. 사용하기 복잡함
  2. 경험과 기술이 필요함

7. linux mint
요약 : 사용자 친화적인 배포판

장점

  1. 그래픽이 좋음
  2. 안정적임
  3. UX/UI가 좋음
  4. 데스크탑 사용자들을 위함
  5. 일반적인 용도로 사용하기 좋음

단점

  1. 업데이트가 느림
  2. 한정적인 소프트웨어
  3. 리소스 많이 잡아먹음

8. manjaro
요약 : mint랑 비슷함

장점

  1. 우분투 기반으로 소프트웨어가 많음
  2. 아크 리눅스의 기능을 활용할 수 있음
  3. 사용자가 커스터마이징하기 좋음

단점

  1. 다소 불안정함
  2. 몇몇 하드웨어랑 안맞음
  3.  

9. openSUSE
요약 : 기업을 위한 배포판이며 환경에 따라 소프트웨어를 구성하기 쉽고 안정적임

장점

  1. 안정적
  2. 신뢰적
  3. 데스크톱에서 사용하기 좋음
  4. 환경에 맞춰 구성하기 좋음
  5. 커뮤티니가 활발

단점

  1. 자원 많이 먹음
  2. 업데이트 느림
  3. repo 작음 (rpm)

10. Elementary OS
요약 : 맥OS같음 사용자 친화적임

장점

  1. 사용자 친화적
  2. 일반적인 용도로 사용함
  3. 맥OS 사용하는 사람들에게 사용하기 좋음
  4. 초기 세팅하기 좋음
  5. 안정적임

단점

  1. 자원 많이 먹음
  2. 커스터마이징이 어려움
  3. REPO가 작음

 

원문 링크

https://tecadmin.net/top-linux-distros-for-different-use-cases/

 

The Top 10 Linux Distros for Different Use Cases – TecAdmin

Linux is an open-source operating system that offers a wide range of choices for users based on their needs and preferences. The beauty of Linux is that it is highly customizable, which means users can tweak the OS to fit their specific requirements. Howev

tecadmin.net

아래 링크를 들어가보면 리눅스의 자세한 족보를 볼 수 있다

https://en.m.wikipedia.org/wiki/File:Linux_Distribution_Timeline.svg

 

File:Linux Distribution Timeline.svg - Wikipedia

Original file ‎(SVG file, nominally 3,320 × 12,510 pixels, file size: 526 KB) Summary When updating the timeline, please upload a new version of this file, rather than creating a new file. This will allow all wikis get the new version immediately. You a

en.m.wikipedia.org