맨위로가기

Yum

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Yum은 RPM 기반 리눅스 배포판에서 사용되는 패키지 관리 도구이다. 1999년부터 2001년까지 Yellowdog UPdater(YUP)를 재작성하여 개발되었으며, 레드햇 리눅스 시스템을 업데이트하고 관리하는 데 사용되었다. YUM은 패키지 설치, 삭제, 업그레이드, 조회, 목록 확인 등의 기능을 제공하며, 파이썬으로 확장 프로그램을 프로그래밍할 수 있는 인터페이스와 GUI를 지원한다. YUM은 메타데이터를 사용하여 패키지 간의 종속성을 관리하며, XML 형식의 저장소 메타데이터를 사용한다.

더 읽어볼만한 페이지

  • 소프트웨어 배포 플랫폼 - 앱 스토어
    앱 스토어는 사용자가 소프트웨어와 디지털 미디어를 검색, 구매, 설치할 수 있는 디지털 상점으로, 기능, 장치, 운영 체제별로 앱을 분류하여 제공하며 2008년 애플 앱 스토어 출시 이후 다양한 플랫폼에서 보편화되었다.
  • 소프트웨어 배포 플랫폼 - 마이크로소프트 스토어
    마이크로소프트 스토어는 윈도우 운영체제에서 앱, 게임, 영화, TV 프로그램 등의 디지털 콘텐츠를 다운로드하고 설치할 수 있는 디지털 유통 플랫폼으로, 윈도우 8 개발 초기부터 시작되어 윈도우 10에서 다른 배포 플랫폼들을 통합하고 2017년에 명칭이 변경되었으며, 개발자를 위한 다양한 정책과 도구를 제공하고 윈도우 11에서는 앱 제출 정책을 개선하여 더 개방적인 스토어 환경을 제공한다.
  • 리눅스 패키지 관리 관련 소프트웨어 - 어드밴스트 패키징 툴
    어드밴스트 패키징 툴(APT)은 데비안 계열 리눅스 배포판에서 패키지를 관리하는 도구 모음으로, 패키지 설치, 삭제, 업데이트, 업그레이드 기능을 제공하며, 특히 패키지 간 의존성을 자동 관리하는 특징을 가진다.
  • 리눅스 패키지 관리 관련 소프트웨어 - ZYpp
    ZYpp은 SUSE Linux 배포판의 소프트웨어 관리 엔진으로, YaST 패키지 관리자와 Red Carpet의 통합 필요성에 의해 개발되었으며, libsolv 통합 및 SAT 솔버 도입을 통해 패키지 관리 효율성을 높인 Zypper 명령줄 도구를 제공한다.
  • 자유 패키지 관리 시스템 - F-Droid
    F-Droid는 2010년 키어런 걸트니엑스가 설립한 안드로이드용 자유 소프트웨어 앱 저장소로, 구글 플레이 스토어에 없는 자유/오픈 소스 소프트웨어 앱을 제공하며 감시, 검열 저항, 개인 정보 보호에 중점을 둔 클라이언트 앱, 저장소 관리 도구, 웹사이트 생성기 등의 하위 프로젝트로 구성된다.
  • 자유 패키지 관리 시스템 - 어드밴스트 패키징 툴
    어드밴스트 패키징 툴(APT)은 데비안 계열 리눅스 배포판에서 패키지를 관리하는 도구 모음으로, 패키지 설치, 삭제, 업데이트, 업그레이드 기능을 제공하며, 특히 패키지 간 의존성을 자동 관리하는 특징을 가진다.
Yum - [IT 관련 정보]에 관한 문서
일반 정보
이름Yellowdog Updater, Modified (YUM)
유형패키지 관리 시스템
라이선스GNU 일반 공중 사용 허가서 버전 2
웹사이트YUM 공식 웹사이트
개발
개발자세스 비달
프로그래밍 언어파이썬
출시 정보
최초 출시2002년 6월
안정화 버전 출시일}}
지원 환경
운영 체제리눅스, AIX, IBM i, ArcaOS
플랫폼RPM
기타
상태페도라에서 DNF로 대체됨

2. 역사

Yum은 초기에 옐로 도그 리눅스의 패키지 관리 시스템인 Yellowdog UPdater|옐로도그 업데이터영어(YUP)로 시작되었다.[37][4] 이후 듀크 대학교 연구진을 중심으로 YUP을 재작성하여 개발되었으며,[11][12] 레드햇 리눅스 계열 시스템 관리를 위한 주요 도구로 발전했다. YUM은 페도라, CentOS 등 다수의 RPM 기반 리눅스 배포판에서 널리 채택되었고,[15] 기존 패키지 관리 도구의 한계를 개선하며 사실상의 표준으로 자리 잡았다.[16][18] 리눅스 외에 AIX, IBM i 등 다른 운영 체제에도 이식되었다.[21][22][23]

2. 1. 듀크 대학교의 역할

YUM은 원래 옐로 도그 리눅스의 패키지 관리자인 옐로도그 업데이터(Yellowdog UPdater, YUP)를 완전히 재작성한 결과물이다. 이 재작업은 주로 듀크 대학교 물리학과의 Seth Vidal과 Michael Stenner가 주도했으며, 그 목적은 듀크 대학교에서 사용하는 레드햇 리눅스 시스템을 보다 효과적으로 업데이트하고 관리하기 위함이었다. Seth Vidal은 YUM 개발에 핵심적인 역할을 했으며, 2013년 7월 8일 노스캐롤라이나주 더럼에서 발생한 안타까운 자전거 사고로 사망하기 전까지 프로젝트에 지속적으로 기여했다.[11][12][13]

또한, 2003년에는 같은 듀크 대학교의 Robert G. Brown이 YUM에 대한 문서를 발표하여 기술의 이해와 확산에 기여했다.[14]

2. 2. 널리 채택되기까지

최초의 패키지 관리자인 옐로도그 업데이터(Yellowdog UPdater|옐로도그 업데이터eng, YUP)는 1999년부터 2001년까지 Terra Soft Solutions의 Dan Burcaw, Bryan Stillwell, Stephen Edie, Troy Bengegerdes에 의해 옐로 도그 리눅스의 그래픽 설치 프로그램의 백엔드 엔진으로 개발되었다.[37][4]

YUP을 완전히 재작성하여 YUM이 개발되었는데, 이는 주로 듀크 대학교 물리학과의 Seth Vidal과 Michael Stenner가 사용하던 레드햇 리눅스 시스템을 업데이트하고 관리하기 위한 목적이었다. Vidal은 2013년 7월 8일 노스캐롤라이나주 더럼에서 자전거 사고로 사망할 때까지 YUM 개발에 기여했다.[11][12][13]

2003년에는 듀크 대학교의 Robert G. Brown이 YUM에 대한 문서를 발표했다.[14] 이후 페도라, 로키 리눅스, 알마리눅스, CentOS 등 여러 RPM 기반 리눅스 배포판과, YUM이 기존 YUP 유틸리티를 대체한 Yellow Dog Linux 자체에서 YUM을 채택했다. YUP의 마지막 업데이트는 2001년 SourceForge에서 이루어졌다.[15] 2005년까지 YUM은 리눅스 시장의 절반 이상에서 사용되는 것으로 추정되었으며,[3] 2007년에는 RPM 기반 리눅스 배포판의 "선택 도구"로 여겨졌다.[16]

YUM은 이전 APT-RPM에서 인지된 단점과 레드햇의 up2date 패키지 관리 도구의 한계를 모두 해결하는 것을 목표로 했다. YUM은 Red Hat Enterprise Linux 5 버전부터 up2date를 대체했다.[18] 일부에서는 YUM을 Yellowdog Update Managereng라고 부르거나 "Your Update Managereng"가 더 적절하다고 제안하기도 한다.[19][20] YUM에 대한 기본적인 지식은 종종 리눅스 시스템 관리자 인증 시험의 요구 사항에 포함된다.[5] YUM은 GNU 일반 공중 사용 허가서에 따라 라이선스의 다른 조항을 준수한다면 로열티 없이 자유-오픈 소스 소프트웨어로서 자유롭게 배포하고 수정할 수 있다.[4]

YUM은 원래 리눅스를 위해 만들어졌지만, AIX,[21] IBM i,[22] ArcaOS를 포함한 여러 다른 운영 체제에도 이식되었다.[23]

3. 기본 사용법

YUM은 다음과 같은 작업을 수행할 수 있다.


  • 패키지 설치
  • 패키지 삭제
  • 기존 설치된 패키지 업데이트
  • 사용 가능한 패키지 나열[24]
  • 설치된 패키지 나열[24]


주요 명령어는 다음과 같다.

기능명령어
패키지 설치'yum install 패키지명'
패키지 삭제'yum remove 패키지명'
패키지 업그레이드'yum update 패키지명'
패키지 조회'yum search 패키지명'
패키지 목록'yum list 패키지명'
yum 데이터베이스 동기화 업데이트'yum update'


4. 확장 기능

Yum Extender (yumex) 스크린샷


YUM의 2.x 버전은 YUM의 동작을 변경할 수 있는 Python으로 확장 프로그램을 프로그래밍할 수 있는 추가 인터페이스를 제공한다. 특정 플러그인은 기본적으로 설치된다.[25] 일반적으로 설치되는[26] `yum-utils` 패키지에는 YUM API와 많은 플러그인을 사용하는 명령어가 포함되어 있다.

"프론트 엔드"라고 알려진 그래픽 사용자 인터페이스는 YUM을 더 쉽게 사용할 수 있도록 해준다. PackageKit과 Yum Extender(yumex)가 두 가지 예이다.[27] Yum Extender는 Fedora가 DNF로 마이그레이션되면서 한동안 사용이 중단되었지만,[28] Python 3와 Gtk 3으로 다시 작성되었으며 개발이 진행 중이다. 이 새로운 Yum Extender는 Fedora 34 이상에서 사용할 수 있다.[29]

5. 그래픽 사용자 인터페이스 (GUI)



YUM을 더 쉽게 사용할 수 있도록 도와주는 그래픽 사용자 인터페이스(GUI) "프론트 엔드"들이 있다. 대표적인 예로는 PackageKit과 Yum Extender(yumex)가 있다.[27]

PackageKit은 Fedora 9 버전부터 기본으로 포함된 프론트 엔드이다. Yum Extender는 Fedora가 DNF로 전환하면서 한동안 사용이 중단되었으나,[28] Python 3와 Gtk 3으로 다시 작성되어 개발이 계속되고 있다. 새로운 Yum Extender는 Fedora 34 이상 버전에서 사용할 수 있다.[29]

다음은 YUM을 위한 그래픽 사용자 인터페이스 목록이다.

이름설명
PackageKitFedora 9부터의 기본 프론트 엔드
Pup이전 Fedora 버전에서 사용되던 인터페이스
[http://www.yum-extender.org/ Yum Extender]Fedora용 GUI, 현재도 개발 중
[http://kde-apps.org/content/show.php?content=22185 KYum]KDE 환경을 위한 YUM GUI
PirutFedora Core 5부터 Fedora 8까지 사용된 기본 프론트 엔드


6. 메타데이터

패키지 자체에 대한 정보가 아닌, 패키지에 관한 정보를 메타데이터라고 한다. 이 메타데이터는 각 패키지의 정보와 결합되어 패키지 간의 의존성을 파악하고 해결하는 데 사용되며, 이를 통해 종속성 지옥(dependency hell)으로 알려진 문제를 방지할 수 있다. `createrepo`라는 별도의 도구는 YUM 소프트웨어 저장소를 설정하여 필요한 메타데이터를 표준 XML 형식(그리고 `-d` 옵션을 사용하면 SQLite 메타데이터 형식)으로 생성한다.[30][32] `mrepo` 도구(이전 이름은 Yam)는 저장소 생성 및 유지 관리를 지원한다.[31]

YUM의 XML 저장소 형식은 많은 개발자들의 기여를 통해 RPM 기반 저장소의 표준으로 자리 잡았다.[32] YUM을 직접 사용하는 배포판 외에도, SUSE 리눅스 10.1 버전은[33] YaST에서 YUM 저장소에 대한 지원을 추가했으며, 오픈 빌드 서비스 저장소 역시 YUM XML 저장소 형식의 메타데이터를 사용한다.[32]

YUM은 원격 메타데이터를 로컬 클라이언트에 자동으로 동기화하는 특징이 있다. 반면 다른 도구들은 사용자가 요청할 때만 동기화를 수행하도록 선택하는 경우가 많다. 자동 동기화 기능은 사용자가 적절한 시점에 동기화 명령을 실행하지 못해 발생할 수 있는 오류를 방지하는 데 도움을 준다.[34][35]

참조

[1] 웹사이트 Initial Commit https://github.com/r[...] Seth Vidal 2002-06-07
[2] 웹사이트 Oldest Mailing List Message http://lists.baseurl[...] Grigory Bakunov 2002-06-11
[3] 서적 Linux Patch Management: Keeping Linux Systems Up to Date https://ptgmedia.pea[...] Prentice Hall Professional 2005-12-14
[4] 웹사이트 YUM (Yellowdog Updater, Modified) HOWTO - Introduction http://www.phy.duke.[...] Duke Physics
[5] 웹사이트 RPM and YUM package management http://www.ibm.com/d[...] IBM 2010-05-11
[6] 웹사이트 Creating a Local YUM Repository Using an ISO Image http://docs.oracle.c[...] Oracle
[7] 웹사이트 Board Meeting, Rawhide Rebuilt, Firewall Debate, ARM 64, and DNF as Yum Replacement (5tFTW 2014-06-10) https://fedoramagazi[...] Fedora Magazine 2014-06-11
[8] 웹사이트 What You Need to Know About Fedora's Switch From Yum to DNF https://www.linux.co[...] 2015-07-02
[9] 웹사이트 DNF and Yum in Fedora https://lwn.net/Arti[...] LWN.net 2014-01-15
[10] 웹사이트 What's new with Red Hat Enterprise Linux 8 and Red Hat Virtualization https://www.techrepu[...] TechRepublic 2019-03-30
[11] 웹사이트 Seth Vidal, creator of "yum" open source software, killed in bike accident off Hillandale Rd. http://durham.io/201[...] 2013-07-09
[12] 웹사이트 Thank you, Seth Vidal http://www.redhat.co[...] Red Hat 2013-07-10
[13] 웹사이트 36-Year-Old Open Source Guru Seth Vidal Has Been Tragically Killed http://www.businessi[...] 2013-07-09
[14] 웹사이트 YUM: Yellowdog Updater, Modified http://www.phy.duke.[...] 2003-12-17
[15] 웹사이트 Yellow Dog Update Program http://sourceforge.n[...]
[16] 서적 The Linux Programmer's Toolbox https://books.google[...] Pearson Education 2007-03-06
[17] 웹사이트 How to run your own yum repository http://archive09.lin[...] Linux Foundation 2004-07-23
[18] 웹사이트 What are the yum equivalents of up2date and rpm common tasks on Red Hat Enterprise Linux? https://access.redha[...] Red Hat
[19] 서적 Network Security Using Linux https://books.google[...] Lulu.com
[20] 서적 Linux Bible https://books.google[...] John Wiley & Sons
[21] 웹사이트 Configuring YUM and creating local repositories on IBM AIX https://developer.ib[...] 2018-10-24
[22] 웹사이트 RPM and Yum are a big deal for IBM i. Here's why https://www.itjungle[...] 2018-07-18
[23] 웹사이트 Package Manager https://www.arcanoae[...]
[24] 서적 Linux Patch Management: Keeping Linux Systems Up to Date https://books.google[...] Prentice Hall Professional
[25] 웹사이트 Yum Plug-ins https://access.redha[...] Red Hat
[26] 웹사이트 Maintaining yum http://www.centos.or[...] CentOS
[27] 웹사이트 Yum Extender http://www.yumex.dk/
[28] 웹사이트 dnf replacing yum and dnf-yum - devel - Fedora Mailing-Lists https://lists.fedora[...]
[29] 간행물 Yum Extender (yumex-dnf) https://github.com/t[...] 2021-09-20
[30] 웹사이트 createrepo(8) http://linux.die.net[...]
[31] 웹사이트 mrepo http://freecode.com/[...] Freecode
[32] 웹사이트 Standards Rpm Metadata http://en.opensuse.o[...] openSUSE
[33] 웹사이트 SUSE Linux 10.1 Alpha 2 is ready http://lists.opensus[...]
[34] 웹사이트 YUM vs. APT: Which is Best? http://www.linuxadvo[...]
[35] 웹사이트 'Linux Advocates' Throws in the Towel i.e. previous link is dead http://fossforce.com[...] FOSS Force
[36] 웹사이트 Fedora 22で「Yum」は公式に死亡し、これからは「DNF」で! http://www.softanten[...] ソフトアンテナブログ 2015-05-18
[37] 웹인용 YUM (Yellowdog Updater, Modified) HOWTO - Introduction http://www.phy.duke.[...] Duke Physics 2013-07-12



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com