Computer >> 컴퓨터 >  >> 체계 >> Linux

CentOS 및 RHEL에서 YUM 패키지 관리자 사용

이 문서에서는 YUM 프로그램(RPM 패키지) 설치, 제거 및 업데이트를 관리하고 종속성을 자동으로 해결하고 추가 저장소를 관리할 수 있는 패키지 관리자. 이 기사는 yum 치트 시트로 시작하는 Linux 관리자에게 유용할 것입니다.

(Yellowdog Updater Modified)는 RPM 패키지(RedHat 패키지 관리자)를 기반으로 하는 Linux 배포판용 콘솔 패키지 관리자입니다. 여기에는 RedHat, CentOS, Fedora, Oracle Linux, Scientific Linux와 같은 인기 있는 OS가 포함됩니다.

YUM을 사용하여 패키지 설치, 업데이트 및 제거

무엇부터 시작할까요? 다른 경우와 마찬가지로 도움말부터 시작하겠습니다.

yum help – yum에 대한 전체 도움말

가장 인기 있는 yum 명령을 강조 표시하겠습니다.

yum clean all – 모든 패키지의 캐시를 정리합니다(일반적으로 yum에 문제가 발생할 경우 사용)

yum makecache – 패키지 캐시 재생성

yum repolist – 연결된 모든 리포지토리의 목록을 표시합니다. 출력은 다음과 같습니다.

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base:
* extras:
* updates:
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,019
extras/7/x86_64 CentOS-7 - Extras 435
updates/7/x86_64 CentOS-7 - Updates 2,500
repolist: 12,954

내 시스템에는 기본, 추가 및 업데이트와 같은 표준 CentOS 7 리포지토리만 설치되어 있습니다.

yum list available – 설치할 수 있는 모든 패키지 목록을 표시합니다.

yum list installed – 시스템에 설치된 모든 패키지 목록을 보여줍니다.

yum list kernel – Linux 커널과 관련된 패키지 목록을 표시합니다.

CentOS 서버에 특정 패키지가 설치되어 있는지 확인할 수 있습니다(예:아파치 패키지 상태 확인):

yum list installed httpd

Installed Packages
httpd.x86_64 2.4.6-89.el7.centos.1 @updates

특정 패키지에 대한 자세한 정보를 얻을 수 있습니다. 예를 들어 MariaDB 패키지에 대한 자세한 정보를 살펴보겠습니다.

yum info mariadb

CentOS 및 RHEL에서 YUM 패키지 관리자 사용

패키지를 설치하려면 yum install 사용. Apache 웹 서버를 설치하려면 다음 명령을 실행하십시오.

yum install httpd

"추적(가장 최근 호출 마지막):thread.error:새 스레드를 시작할 수 없음이 표시되는 경우 " yum 명령을 실행할 때 오류가 발생하면 서버에 RAM이 충분하지 않을 수 있습니다. RAM을 추가하거나 yum 플러그인을 비활성화하십시오(plugins=0 지정). /etc/yum.conf에서 ).

패키지를 설치하기 전에 다음 명령을 사용하여 패키지의 종속성을 확인할 수 있습니다.

yum deplist httpd

패키지를 설치하고 싶지만 전체 이름을 잊어버린 경우 *를 사용할 수 있습니다. 와일드카드. 예:

yum install epel-*

Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be installed
--> Finished Dependency Resolution
Install 1 Package
Total download size: 15 k
Installed size: 24 k
Is this ok [y/d/N]:

입력하면:

yum install epel

No package epel available.
Error: Nothing to do

사용 가능한 패키지가 표시되지 않습니다.

Yum은 한 번에 여러 패키지를 설치할 수 있습니다.

yum install httpd php wget rsyslog

패키지를 다시 설치하려면:

yum reinstall proftpd

yum으로 설치된 패키지를 제거하려면 remove 매개변수가 사용됩니다.

yum remove httpd

패키지를 제거하기 전에 종속성을 확인하는 것이 좋습니다(제거하려고 할 때 일부 다른 패키지를 제거하는 패키지가 있음).

yum deplist proftpd

CentOS 및 RHEL에서 YUM 패키지 관리자 사용

이름이나 설명으로 패키지를 찾으려면:

yum search nginx

제공 옵션을 사용하여 특정 파일이 포함된 패키지를 찾을 수 있습니다. 예:

yum provides */squid.conf

설치된 모든 패키지를 업데이트하려면 다음 명령을 실행하십시오.

yum update

이름으로 패키지를 업데이트할 수 있습니다.

yum update php

다음 명령을 사용하여 시스템에 사용 가능한 업데이트가 있는지 확인할 수 있습니다.

yum check-update

사용 가능한 보안 업데이트에 대한 정보를 얻으려면:

yum updateinfo list security

경우에 따라 패키지 또는 서비스를 업데이트한 후 문제가 발생할 수 있습니다. 예를 들어, PHP 버전을 업데이트한 후 사이트가 작동을 멈췄습니다. yum을 사용하여 이전 패키지 버전으로 롤백할 수 있습니다.

yum downgrade php

grouplist를 사용하여 패키지의 그룹 설치를 사용할 수도 있습니다. . 리포지토리에 서로 다른 프로그램 세트가 있는 미리 정의된 패키지 그룹이 있습니다. 다음 그룹 목록을 표시할 수 있습니다.

yum grouplist

"기본 웹 서버" 목록의 예에서 어떻게 작동하는지 봅시다. 그룹 및 패키지에 대해 자세히 알아보려면:

yum groupinfo "Basic Web Server"

CentOS 및 RHEL에서 YUM 패키지 관리자 사용

확인 후 웹 서버용 패키지 및 서비스 세트가 설치될 것임을 알 수 있습니다.

다음은 또 다른 유용한 그룹 목록인 "시스템 관리 도구"입니다.

yum groupinfo "System Administration Tools”

CentOS 및 RHEL에서 YUM 패키지 관리자 사용

보시다시피 목록에는 모니터링 및 디버깅 도구가 포함되어 있습니다.

다음 명령을 사용하여 그룹 목록을 설치할 수 있습니다.

yum groupinstall "System Administration Tools"

설치된 패키지는 별도의 블록("설치된 그룹")에 나타납니다.

CentOS 및 RHEL에서 YUM 패키지 관리자 사용

YUN 히스토리 명령 사용

다음을 사용하여 yum 설치 기록(트랜잭션 목록)을 표시할 수 있습니다.

yum history list

출력은 5개의 열로 구성되며 첫 번째 열은 트랜잭션 세부 정보(설치된 패키지, 종속성)를 보는 데 사용할 수 있는 트랜잭션 ID를 보여줍니다.

예:

yum history info 10

CentOS 및 RHEL에서 YUM 패키지 관리자 사용

또한 다음 명령을 사용하여 트랜잭션을 취소할 수 있습니다.

yum history undo 10

제 경우에는 4개의 패키지가 제거되었을 것입니다:

CentOS 및 RHEL에서 YUM 패키지 관리자 사용

/var/log/yum.log에서 yum 패키지 설치/제거에 대한 정보를 볼 수 있습니다. :

cat /var/log/yum.log

유용한 YUM 명령 옵션

Yum에는 종종 패키지를 관리하는 데 필요할 수 있는 몇 가지 유용한 옵션이 있습니다. -y 사용 오류를 제외한 모든 yum 출력을 억제하는 옵션입니다. 예:

yum update -y yum install httpd -y

아니요라고 말하려면 요청에 다음 옵션을 사용하십시오.

--assumeno

플러그인 없이 yum을 사용하거나 플러그인 중 하나를 비활성화하려면 다음 매개변수를 사용하세요.

--noplugins
--disableplugin=fastestmirror

비활성화된 플러그인을 활성화하려면:

--enableplugin=fastestmirror

비활성화된 저장소를 사용하려면:

yum update –enablerepo=atomic

yum에서 특정 저장소를 비활성화하려면:

yum update –disablerepo=atomic

YUM 구성 파일 /etc/yum.conf

YUM 구성 파일은 /etc/yum.conf입니다. .

주요 구성 파일 매개변수는 다음과 같습니다.

  • 캐디어 – 로컬 패키지 캐시(기본적으로 /var/cache/yum)
  • 로그 파일 — yum 로그 파일의 경로
  • 구식 — 사용되지 않는 패키지 업데이트 여부(1 — 예, 0 — 아니요)
  • gpgcheck — 설치 전에 패키지 확인(1 — 예, 0 — 아니요)
  • 캐시 유지 — 캐시 유지 여부(1 — 예, 0 — 아니요)
  • 캐디어 — yum 캐시를 저장할 디렉토리(기본적으로 /var/cache/yum)
  • 디버그 수준 – 디버그 레벨 1-10
  • 플러그인 —yum 플러그인 활성화(1 — 예, 0 — 아니요)
  • bugtracker_url – yum 오류가 등록될 위치에 대한 링크
  • installonly_limit – 하나의 패키지에 설치할 수 있는 최대 버전 수

유용한 YUM 플러그인

yum에 플러그인이 필요한 이유는 무엇입니까? 여느 곳과 마찬가지로, 우리의 작업을 더 쉽게 만들어줍니다.

다음은 몇 가지 인기 있는 플러그인과 설명입니다.

yum-plugin-fastestmirror – 미러 속도를 측정하고 가장 빠른 패키지 설치를 제공합니다.

yum-plugin-security — 보안 업데이트 목록만 제공합니다.

yum-플러그인 키 — 키, 키 정보, 키 데이터, 키 제거 매개변수 사용 허용

모든 플러그인이 저장되는 디렉토리는 /etc/yum/입니다. .

yum-plugin-versionlock – 선택한 패키지가 업데이트되지 않도록 방지

사용 가능한 yum 플러그인 목록을 표시하려면 다음 명령을 실행하십시오.

yum search yum-plugin

======================================================================= N/S matched: yum-plugin =======================================================================
PackageKit-yum-plugin.x86_64 : Tell PackageKit to check for updates when yum exits
fusioninventory-agent-yum-plugin.noarch : Ask FusionInventory agent to send an inventory when yum exits
kabi-yum-plugins.noarch : The CentOS Linux kernel ABI yum plugin
yum-plugin-aliases.noarch : Yum plugin to enable aliases filters
yum-plugin-auto-update-debug-info.noarch : Yum plugin to enable automatic updates to installed debuginfo packages
yum-plugin-changelog.noarch : Yum plugin for viewing package changelogs before/after updating
yum-plugin-copr.noarch : Yum plugin to add copr command
yum-plugin-fastestmirror.noarch : Yum plugin which chooses fastest repository from a mirrorlist
yum-plugin-filter-data.noarch : Yum plugin to list filter based on package data
yum-plugin-fs-snapshot.noarch : Yum plugin to automatically snapshot your filesystems during updates
yum-plugin-keys.noarch : Yum plugin to deal with signing keys
yum-plugin-list-data.noarch : Yum plugin to list aggregate package data
yum-plugin-local.noarch : Yum plugin to automatically manage a local repo. of downloaded packages
yum-plugin-merge-conf.noarch : Yum plugin to merge configuration changes when installing packages
yum-plugin-ovl.noarch : Yum plugin to work around overlayfs issues
yum-plugin-post-transaction-actions.noarch : Yum plugin to run arbitrary commands when certain pkgs are acted on
yum-plugin-pre-transaction-actions.noarch : Yum plugin to run arbitrary commands when certain pkgs are acted on
yum-plugin-priorities.noarch : plugin to give priorities to packages from different repos
yum-plugin-protectbase.noarch : Yum plugin to protect packages from certain repositories.
yum-plugin-ps.noarch : Yum plugin to look at processes, with respect to packages
yum-plugin-remove-with-leaves.noarch : Yum plugin to remove dependencies which are no longer used because of a removal
yum-plugin-rpm-warm-cache.noarch : Yum plugin to access the rpmdb files early to warm up access to the db
yum-plugin-show-leaves.noarch : Yum plugin which shows newly installed leaf packages
yum-plugin-tmprepo.noarch : Yum plugin to add temporary repositories
yum-plugin-tsflags.noarch : Yum plugin to add tsflags by a commandline option
yum-plugin-upgrade-helper.noarch : Yum plugin to help upgrades to the next distribution version
yum-plugin-verify.noarch : Yum plugin to add verify command, and options
yum-plugin-versionlock.noarch : Yum plugin to lock specified packages from being updated

yum install을 사용하여 플러그인을 설치할 수 있습니다. 다른 패키지와 마찬가지로:

yum install yum-plugin-changelog
yum -y install yum-versionlock

플러그인을 사용하여 패키지 업데이트를 차단하려면 다음 명령을 실행하십시오.

yum versionlock nginx

차단된 패키지 목록을 표시하려면:

yum versionlock list

차단 목록에서 패키지를 제거하려면:

yum versionlock delete nginx

CentOS 및 RHEL에서 YUM 패키지 관리자 사용

플러그인을 사용하지 않으려면 yum 명령에 다음 옵션을 추가하여 비활성화할 수 있습니다.

--disableplugin=fastestmirror

또는 모든 yum 플러그인을 비활성화할 수 있습니다.

--noplugins

YUM용 프록시를 구성하는 방법

Yum은 HTTP/1.1 프로토콜을 사용하여 패키지 저장소와 상호 작용합니다. Linux 서버가 HTTP 프록시 서버를 통해서만 인터넷에 액세스할 수 있는 경우 [main]에서 프록시 서버의 이름을 지정할 수 있습니다. /etc/yum.conf 파일의 섹션:

proxy=https://proxy_server_name:3128

프록시 서버에 인증이 필요한 경우 다음 행도 추가하십시오.

proxy_proxy_username=proxy_user
proxy_password=proxy_user_passw0rd

yum이 프록시 서버를 통해 작동하는지 확인하려면 다음 명령을 사용하십시오.

yum clean all && yum search nginx

이를 확인하기 위해 독일 공용 프록시 서버 주소를 지정했고 설치 중에 가장 빠른 미러 플러그인이 트리거되었으며 가장 빠른 속도로 미러를 찾았습니다.

CentOS 및 RHEL에서 YUM 패키지 관리자 사용

일부 저장소에만 프록시를 사용하려면 /etc/yum.conf 파일을 변경할 필요가 없습니다. 저장소 구성 파일 /etc/yum.repos.d/your_config.repo에서 프록시 서버 설정을 지정할 수 있습니다. 대신.

그래서 Linux CentOS/RHEL에서 RPM 패키지 관리자인 yum의 기본 기능을 고려했습니다. 다음 글에서는 YUM/DNF 리포지토리를 관리하는 방법에 대해 자세히 알아보겠습니다.