서버/Linux II 2016. 3. 4. 18:26

Linux II - 12. RPM 패키지 관리

 

 

 

login as: root
root@192.168.1.7's password:
Last login: Fri Mar  4 11:46:43 2016 from 192.168.1.1
[root@CentOS2 /root]#

 

 

 

 

1. RPM 패키지

 

패키지는 배포하기 위한 목적으로 제작된 관련있는 파일이나 프로그램의 집합을 의미하며, RPM(Redhat Package Manager)은 레드헷에서 제공하는 패케지를 의미한다. 참고로 CentOS는 레드헷 계열의 리눅스이다.

 

현재 CentOS2에서 패키지를 확인하려면, Xwindow를 이용하여 CentOS DVD1(CentOS-6.6-x86_64-bin-DVD1)마운트해야 한다.

 

 

 

 

 


[root@CentOS2 /root]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        13G  4.4G  7.3G  38% /
tmpfs           495M   80K  495M   1% /dev/shm
/dev/sda3       477M  2.3M  449M   1% /home
/dev/sr0        4.4G  4.4G     0 100% /media/CentOS_6.6_Final

 

 

 - 현재 설치된 패키지를 확인하려면 'rpm -q' 명령어를 이용하면 된다.


[root@CentOS2 /root]# rpm -qa

 


[root@CentOS2 /root]# rpm -qa | wc -l
1351

 

[root@CentOS2 /root]# rpm -qa | grep http
httpd-tools-2.2.15-39.el6.centos.x86_64
jakarta-commons-httpclient-3.1-0.9.el6_5.x86_64
httpd-2.2.15-39.el6.centos.x86_64

 

 

[root@CentOS2 /root]# rpm -q httpd
httpd-2.2.15-39.el6.centos.x86_64

 

 

[root@CentOS2 /root]# rpm -qi httpd
Name        : httpd                        Relocations: (not relocatable)
Version     : 2.2.15                            Vendor: CentOS
Release     : 39.el6.centos                 Build Date:
Install Date:                                  Build Host: c6b9.bsys.dev.centos.org
Group       : System Environment/Daemons    Source RPM: httpd-2.2.15-39.el6.centos.src.rpm
Size        : 3085394                          License: ASL 2.0
Signature   : RSA/SHA1, 2014년 10월 18일 (토) 오전 05시 02분 19초, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://httpd.apache.org/
Summary     : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.

 

 

 

 - RPM 파일 확인

 

[root@CentOS2 /root]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        13G  4.4G  7.3G  38% /
tmpfs           495M   80K  495M   1% /dev/shm
/dev/sda3       477M  2.3M  449M   1% /home
/dev/sr0        4.4G  4.4G     0 100% /media/CentOS_6.6_Final

 


[root@CentOS2 /root]# cd /dev/sr0
-bash: cd: /dev/sr0: 디렉터리가 아닙니다

 

[root@CentOS2 /root]# cd /media/CentOS_6.6_Final/
[root@CentOS2 /media/CentOS_6.6_Final]# ls
CentOS_BuildTag  RELEASE-NOTES-en-US.html       TRANS.TBL
EFI              RPM-GPG-KEY-CentOS-6           images
EULA             RPM-GPG-KEY-CentOS-Debug-6     isolinux
GPL              RPM-GPG-KEY-CentOS-Security-6  repodata
Packages         RPM-GPG-KEY-CentOS-Testing-6

 

[root@CentOS2 /media/CentOS_6.6_Final]# cd Packages
[root@CentOS2 /media/CentOS_6.6_Final/Packages]# ls



[root@CentOS2 /media/CentOS_6.6_Final/Packages]# ls httpd*
httpd-2.2.15-39.el6.centos.x86_64.rpm
httpd-devel-2.2.15-39.el6.centos.i686.rpm
httpd-devel-2.2.15-39.el6.centos.x86_64.rpm
httpd-manual-2.2.15-39.el6.centos.noarch.rpm
httpd-tools-2.2.15-39.el6.centos.x86_64.rpm

 

 httpd

 패키지 이름

 2.2.15-45.el6.centos

 패키지 버전

 x86_64

CPU 아키텍처 (X86계열 64bit)

 rpm

 확장자

 

 

[참고] CPU 아키텍처

 

 - i386 ~ i686 : Intel 호환 CPU, 32bit 패키지
 - x86_64 : Intel 호환 CPU, 64비트 패키지

 

 

 - 해당 파일이 어떤 패키지에 포함되었는지 확인하려면 다음과 같다.

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -qf /bin/mkdir
coreutils-8.4-37.el6.x86_64

 

 

 


Ex1) FTP 파일 삭제 및 패키지 재설치 I


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# cd


 

[root@CentOS2 /root]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

 

[root@CentOS2 /root]# rm /usr/sbin/vsftpd
rm: remove 일반 파일 `/usr/sbin/vsftpd'? y

 

 

 - vsftpd 파일이 삭제됬기 때문에, FTP 서비스를 시작하면, 메모리에 서비스가 올라가지 않는다.

 

[root@CentOS2 /root]# service vsftpd start
[root@CentOS2 /root]#


[root@CentOS2 /root]# pgrep -fl vsftpd

 

 

 - FTP 패키지를 다시 설치하도록 한다.

 

[root@CentOS2 /root]# cd /media/CentOS_6.6_Final/Packages/
[root@CentOS2 /media/CentOS_6.6_Final/Packages]#
[root@CentOS2 /media/CentOS_6.6_Final/Packages]# ls vsftpd*
vsftpd-2.2.2-12.el6_5.1.x86_64.rpm

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -i vsftpd-2.2.2-12.el6_5.1.x86_64.rpm
        vsftpd-2.2.2-12.el6_5.1.x86_64 패키지는 이미 설치되어 있습니다   <- FTP 파일만 삭제했기 때문에, 패키지는 남아있음

 

 

 - FTP 패키지 확인은 파일명을 적으면 안된다. (설차할때만 파일명 전체를 적어야 한다.)

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -q vsftpd-2.2.2-12.el6_5.1.x86_64.rpm
vsftpd-2.2.2-12.el6_5.1.x86_64.rpm 패키지가 설치되어 있지 않습니다

 

 

 - FTP 패키지 확인은 다음과 같이 패키지 이름만 적어야 한다.


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -q vsftpd
vsftpd-2.2.2-12.el6_5.1.x86_64

 

 

 - vsftpd 패키지를 제대로 삭제하도록 한다. 삭제할때도 패키지 이름만 적어야 한다.


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -e vsftpd

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -q vsftpd
vsftpd 패키지가 설치되어 있지 않습니다

 

 

 - vsftpd 패키지를 재설치하도록 한다.


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -i vsftpd-2.2.2-12.el6_5.1.x86_64.rpm


 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -q vsftpd
vsftpd-2.2.2-12.el6_5.1.x86_64

 

 

 - vsftpd 서비스를 시작한다.


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# service vsftpd start
vsftpd에 대한 vsftpd을 시작 중:                            [  OK  ]

 

 

 

Ex2) FTP 파일 삭제 및 패키지 재설치 II

 


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# service vsftpd start
vsftpd에 대한 vsftpd을 시작 중:                            [  OK  ]

 

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rm /usr/sbin/vsftpd
rm: remove 일반 파일 `/usr/sbin/vsftpd'? y

 

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -i vsftpd-2.2.2-12.el6_5.1.x86_64.rpm
        vsftpd-2.2.2-12.el6_5.1.x86_64 패키지는 이미 설치되어 있습니다

 

 

 - 덮어씌우기로 FTP 패키지를 설치하도록 한다.

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -i --replacepkgs vsftpd-2.2.2-12.el6_5.1.x86_64.rpm


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# service vsftpd stop
vsftpd 종료 중:                                            [  OK  ]

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# service vsftpd start
vsftpd에 대한 vsftpd을 시작 중:                            [  OK  ]

 

 

 

 

Ex3) Telnet-Server 패키지 설치

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -qi telnet
telnet 패키지가 설치되어 있지 않습니다

 

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# ls telnet*
telnet-0.17-48.el6.x86_64.rpm  telnet-server-0.17-48.el6.x86_64.rpm

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -ivh telnet-server-0.17-48.el6.x86_64.rpm         

준비 중...               ########################################### [100%]
   1:telnet-server          ########################################### [100%]

 

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -q telnet-server
telnet-server-0.17-48.el6.x86_64

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -ql telnet-server
/etc/xinetd.d/telnet
/usr/sbin/in.telnetd
/usr/share/man/man5/issue.net.5.gz
/usr/share/man/man8/in.telnetd.8.gz
/usr/share/man/man8/telnetd.8.gz

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -qi telnet-server
Name        : telnet-server                Relocations: (not relocatable)
Version     : 0.17                              Vendor: CentOS
Release     : 48.el6                        Build Date:
Install Date:                                  Build Host: c6b8.bsys.dev.centos.org
Group       : System Environment/Daemons    Source RPM: telnet-0.17-48.el6.src.rpm
Size        : 55362                            License: BSD
Signature   : RSA/SHA1, 2014년 07월 10일 (목) 오후 05시 29분 36초, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Summary     : The server program for the Telnet remote login protocol
Description :
Telnet is a popular protocol for logging into remote systems over the
Internet. The package includes a daemon that supports Telnet remote
logins into the host machine. The daemon is disabled by default.
You may enable the daemon by editing /etc/xinetd.d/telnet


 

 

 

Ex4) Ping 파일 손상 및 패키지 재설치

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# whereis ping
ping: /bin/ping /usr/share/man/man8/ping.8.gz

 

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# cp /dev/null /bin/ping
cp: overwrite `/bin/ping'? y

 


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# ping localhost

 

 

 - ping이 어떤 패키지안에 포함되어 있는지 확인하고 재설치해야 한다.

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -qf /bin/ping
iputils-20071127-17.el6_4.2.x86_64


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -ivh --replacepkgs iputils-20071127-17.el6_4.2.x86_64.rpm
준비 중...               ########################################### [100%]
   1:iputils                ########################################### [100%]


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.244 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.055 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.052 ms
Ctrl+C
--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2945ms
rtt min/avg/max/mdev = 0.052/0.117/0.244/0.089 ms
[root@CentOS2 /media/CentOS_6.6_Final/Packages]#

 


 

 

Ex5) 의존성 패키지 삭제 및 재설치

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -e telnet-server


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -q telnet-server
telnet-server 패키지가 설치되어 있지 않습니다
 

 

[참고] xinetd

 

네트워크 슈퍼데몬으로 네트워크 관련 작업을 대신 처리하는 기능을 담당한다. 즉, 네트워크 접속이 완료되면, 실제 서비스를 하는 데몬에게 작업을 인계해주는 역할을 수행한다.

 

 

 - 'xinetd' 패키지를 삭제하면, 다른 패키지가 속해있기 때문에 삭제가 안된다. 이것을 의존성이 걸려있는 패키지라고 한다.


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -e xinetd
오류: Failed dependencies:  <--- 의존성 패키지이기 때문에 오류 발생
        xinetd is needed by (installed) amanda-2.6.1p2-8.el6.x86_64  

 

 

 - 그래서 'amanda' 패키지를 삭제하면, 또 의존성이 걸려있는 패키지들이 있기 때문에 삭제가 안된다.

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -e amanda
오류: Failed dependencies:
        libamanda-2.6.1p2.so()(64bit) is needed by (installed) amanda-client-2.6.1p2-8.el6.x86_64
        libamanda-2.6.1p2.so()(64bit) is needed by (installed) amanda-server-2.6.1p2-8.el6.x86_64
~ 중간 생략 ~

 

 

  - 이런 경우, 다음과 같이 패키지를 삭제하면 된다.

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -e --nodeps xinetd

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -q xinetd
xinetd 패키지가 설치되어 있지 않습니다

 

 - telnet-server 패키지를 설치하면, xinetd 의존성이 걸려 있기 때문에 설치가 실패된다.

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -i telnet-server-0.17-48.el6.x86_64.rpm
오류: Failed dependencies:
        xinetd is needed by telnet-server-1:0.17-48.el6.x86_64

 

 

 - 먼저 xinetd 패키지를 설치해야지만, telnet-server 패키지를 설치할 수 있다.

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -i xinetd-2.3.14-39.el6_4.x86_64.rpm


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -q xinetd
xinetd-2.3.14-39.el6_4.x86_64

 

[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -i telnet-server-0.17-48.el6.x86_64.rpm


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# rpm -q telnet-server
telnet-server-0.17-48.el6.x86_64

 

 

 - RPM은 의존성이 연계된 파일들을 삭제 및 설치를 관리자가 직접 실시해야 하는 단점을 갖고 있다.

 - 이 단점은 'yum' 패케지 관리 도구를 사용하면 해결할 수 있다.

 

 

 

 

2. yum 패키지

 

[참고] 2020-11-30에 FastMirror Site에서 CentOS6 Package가 제거되어 발생되는 현상 해결 방법


@CentOS6 yum repo.txt



sed -i -e "s/^mirrorlist=http:\/\/mirrorlist.centos.org/#mirrorlist=http:\/\/mirrorlist.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo

sed -i -e "s/^#baseurl=http:\/\/mirror.centos.org/baseurl=https:\/\/vault.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo



yum(yellowdog updater modified)는 CentOS DVD 없이 인터넷을 통해서 RPM 파일이 저장된 저장소(Repository)로부터 특정 패키지를 다운로드하여 설치할 수 있으며, RPM 의존성 관계에 있는 패키지을 자동으로 먼저 설치한다.

 


[root@CentOS2 /media/CentOS_6.6_Final/Packages]# cd /etc
[root@CentOS2 /etc]#
[root@CentOS2 /etc]# cd yum.repos.d
[root@CentOS2 /etc/yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-Vault.repo  CentOS-fasttrack.repo

 

 

 - 'yum'을 이용하면 'CentOS-Base.repo'에 있는 URL 정보를 이용하여 패키지를 설치한다.

 

[root@CentOS2 /etc/yum.repos.d]# vi CentOS-Base.repo

 

  1 # CentOS-Base.repo
  2 #
  3 # The mirror system uses the connecting IP address of the client and the
  4 # update status of each mirror to pick mirrors that are updated to and
  5 # geographically close to the client.  You should use this for CentOS updates
  6 # unless you are manually picking other mirrors.
  7 #
  8 # If the mirrorlist= does not work for you, as a fall back you can try the
  9 # remarked out baseurl= line instead.
 10 #
 11 #
 12
 13 [base]
 14 name=CentOS-$releasever - Base
 15 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
 16 #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
 17 gpgcheck=1
 18 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
 19
 20 #released updates
 21 [updates]
 22 name=CentOS-$releasever - Updates
 23 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
 24 #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
 25 gpgcheck=1
 26 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
 27
 28 #additional packages that may be useful
 29 [extras]
 30 name=CentOS-$releasever - Extras
 31 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
 32 #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
 33 gpgcheck=1
 34 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
 35
 36 #additional packages that extend functionality of existing packages
 37 [centosplus]
 38 name=CentOS-$releasever - Plus
 39 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
 40 #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
 41 gpgcheck=1
 42 enabled=0
 43 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
 44
 45 #contrib - packages by Centos Users
 46 [contrib]
 47 name=CentOS-$releasever - Contrib
 48 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
 49 #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
 50 gpgcheck=1
 51 enabled=0
 52 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
                                                                  

: q!

 

 

[참고] mirror 사이트

 

 - 동일한 데이터를 여러개의 사이트로 분산 저장하여 관리하는 사이트를 의미한다.

 

 

 

Ex1) 'yum'을 이용한 Telnet-Server & xinetd 패키지 삭제 및 설치

 


[root@CentOS2 /etc/yum.repos.d]# rpm -e telnet-server
[root@CentOS2 /etc/yum.repos.d]# rpm -e --nodeps xinetd

[root@CentOS2 /etc/yum.repos.d]# rpm -q telnet-server
telet-server 패키지가 설치되어 있지 않습니다

[root@CentOS2 /etc/yum.repos.d]# rpm -q xinetd
xinetd 패키지가 설치되어 있지 않습니다

 

 

 - 'yum'을 이용하여 telnet-server 패키지를 설치하면, xinetd 패키지까지 찾아서 설치해준다.

 

[root@CentOS2 /etc/yum.repos.d]# yum install telnet-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirror.oasis.onnetcorp.com
 * extras: mirror.fairway.ne.jp
 * updates: mirror.oasis.onnetcorp.com
base                                                                             | 3.7 kB     00:00
extras                                                                           | 3.4 kB     00:00
updates                                                                          | 3.4 kB     00:00
Resolving Dependencies
--> Running transaction check
---> Package telnet-server.x86_64 1:0.17-48.el6 will be installed
--> Processing Dependency: xinetd for package: 1:telnet-server-0.17-48.el6.x86_64
--> Running transaction check
---> Package xinetd.x86_64 2:2.3.14-39.el6_4 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================
 Package                    Arch                Version                         Repository         Size
========================================================================================================
Installing:
 telnet-server              x86_64              1:0.17-48.el6                   base               37 k
Installing for dependencies:
 xinetd                     x86_64              2:2.3.14-39.el6_4               base              121 k

Transaction Summary
========================================================================================================
Install       2 Package(s)

Total download size: 159 k
Installed size: 313 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): telnet-server-0.17-48.el6.x86_64.rpm                                      |  37 kB     00:00
(2/2): xinetd-2.3.14-39.el6_4.x86_64.rpm                                         | 121 kB     00:00
--------------------------------------------------------------------------------------------------------
Total                                                                   3.0 MB/s | 159 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
amanda-2.6.1p2-8.el6.x86_64 has missing requires of xinetd
  Installing : 2:xinetd-2.3.14-39.el6_4.x86_64                                                      1/2
  Installing : 1:telnet-server-0.17-48.el6.x86_64                                                   2/2
  Verifying  : 1:telnet-server-0.17-48.el6.x86_64                                                   1/2
  Verifying  : 2:xinetd-2.3.14-39.el6_4.x86_64                                                      2/2

Installed:
  telnet-server.x86_64 1:0.17-48.el6

Dependency Installed:
  xinetd.x86_64 2:2.3.14-39.el6_4

Complete!

 

 

 - telnet-server & xinetd 패키지가 설치된것을 확인할 수 있다.

 

[root@CentOS2 /etc/yum.repos.d]# rpm -q telnet-server
telnet-server-0.17-48.el6.x86_64

[root@CentOS2 /etc/yum.repos.d]# rpm -q xinetd
xinetd-2.3.14-39.el6_4.x86_64

 

 - xinetd 패키지를 삭제하면, 의존성이 걸려있는 패키지를 검색하여 삭제할 수 있다.

 

[root@CentOS2 /etc/yum.repos.d]# yum erase xinetd
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package xinetd.x86_64 2:2.3.14-39.el6_4 will be erased
--> Processing Dependency: xinetd for package: amanda-2.6.1p2-8.el6.x86_64
--> Processing Dependency: xinetd for package: 1:telnet-server-0.17-48.el6.x86_64
--> Running transaction check
---> Package amanda.x86_64 0:2.6.1p2-8.el6 will be erased
--> Processing Dependency: libamanda-2.6.1p2.so()(64bit) for package: amanda-client-2.6.1p2-8.el6.x86_64
--> Processing Dependency: libamanda-2.6.1p2.so()(64bit) for package: amanda-server-2.6.1p2-8.el6.x86_64
--> Processing Dependency: libamandad-2.6.1p2.so()(64bit) for package: amanda-client-2.6.1p2-8.el6.x86_64
--> Processing Dependency: libamandad-2.6.1p2.so()(64bit) for package: amanda-server-2.6.1p2-8.el6.x86_64
~ 중간 생략 ~

 

Dependencies Resolved

========================================================================================================
 Package           Arch       Version                Repository                                    Size
========================================================================================================
Removing:
 xinetd            x86_64     2:2.3.14-39.el6_4      @base                                        259 k
Removing for dependencies:
 amanda            x86_64     2.6.1p2-8.el6          @anaconda-CentOS-201410241409.x86_64/6.6     1.7 M
 amanda-client     x86_64     2.6.1p2-8.el6          @anaconda-CentOS-201410241409.x86_64/6.6     604 k
 amanda-server     x86_64     2.6.1p2-8.el6          @anaconda-CentOS-201410241409.x86_64/6.6     1.3 M
 telnet-server     x86_64     1:0.17-48.el6          @base                                         54 k

Transaction Summary
========================================================================================================
Remove        5 Package(s)

Installed size: 4.0 M
Is this ok [y/N]: y

Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : amanda-server-2.6.1p2-8.el6.x86_64                                                   1/5
  Erasing    : amanda-client-2.6.1p2-8.el6.x86_64                                                   2/5
  Erasing    : amanda-2.6.1p2-8.el6.x86_64                                                          3/5
  Erasing    : 1:telnet-server-0.17-48.el6.x86_64                                                   4/5
  Erasing    : 2:xinetd-2.3.14-39.el6_4.x86_64                                                      5/5
  Verifying  : 1:telnet-server-0.17-48.el6.x86_64                                                   1/5
  Verifying  : amanda-server-2.6.1p2-8.el6.x86_64                                                   2/5
  Verifying  : 2:xinetd-2.3.14-39.el6_4.x86_64                                                      3/5
  Verifying  : amanda-client-2.6.1p2-8.el6.x86_64                                                   4/5
  Verifying  : amanda-2.6.1p2-8.el6.x86_64                                                          5/5

Removed:
  xinetd.x86_64 2:2.3.14-39.el6_4

Dependency Removed:
  amanda.x86_64 0:2.6.1p2-8.el6                      amanda-client.x86_64 0:2.6.1p2-8.el6
  amanda-server.x86_64 0:2.6.1p2-8.el6               telnet-server.x86_64 1:0.17-48.el6

Complete!

 

 

[root@CentOS2 /etc/yum.repos.d]# yum list xinetd
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirror.oasis.onnetcorp.com
 * extras: mirror.fairway.ne.jp
 * updates: mirror.oasis.onnetcorp.com
Available Packages
xinetd.x86_64                                   2:2.3.14-39.el6_4                                   base

 

 

 - xinetd 패키지를 다시 설치하도록 한다.


[root@CentOS2 /etc/yum.repos.d]# yum install xinetd

 

 

 - 'yum' 설정 파일 확인

[root@CentOS2 /etc/yum.repos.d]# cd /etc
[root@CentOS2 /etc]# cat yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever     패키지를 다운로드 받는 디렉토리
keepcache=0
debuglevel=2
logfile=/var/log/yum.log                                           yum 로그 저장
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

#  This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

 

 

 - 'yum' 로그 정보 확인

 

[root@CentOS2 /etc]# cat /var/log/yum.log
Feb 03 13:14:17 Installed: ttf-nanum-coding-2.0-2.noarch
Feb 26 16:05:43 Updated: 1:quota-3.17-23.el6.x86_64
Feb 29 18:17:10 Installed: ksh-20120801-28.el6_7.3.x86_64
Mar 08 16:17:41 Installed: 2:xinetd-2.3.14-39.el6_4.x86_64
Mar 08 16:17:41 Installed: 1:telnet-server-0.17-48.el6.x86_64
Mar 08 16:20:41 Erased: amanda-server
Mar 08 16:20:44 Erased: amanda-client
Mar 08 16:20:45 Erased: amanda
Mar 08 16:20:46 Erased: telnet-server
Mar 08 16:20:46 Erased: xinetd
Mar 08 16:23:38 Installed: 2:xinetd-2.3.14-39.el6_4.x86_64

 

 

 - 'yum' 패키지 다운로드 디렉토리 확인

 

[root@CentOS2 /etc]# cd /var/cache/yum
[root@CentOS2 /var/cache/yum]# ls
x86_64

 


[root@CentOS2 /var/cache/yum]# cd x86_64/
[root@CentOS2 /var/cache/yum/x86_64]# ls
6

 


[root@CentOS2 /var/cache/yum/x86_64]# cd 6
[root@CentOS2 /var/cache/yum/x86_64/6]# ls
base  extras  timedhosts.txt  updates

 


[root@CentOS2 /var/cache/yum/x86_64/6]# cd base
[root@CentOS2 /var/cache/yum/x86_64/6/base]# ls
0bd8768166bc742b8ba814f3580b3d7121605662bfd2d05828d25f3c3aa5a197-filelists.sqlite        gen
11bcf3233241e37e1a0e04d2fde8a609215059b5b0319fd660f796d462bbe6a8-primary.sqlite          mirrorlist.txt
2b165aac44ec8951578c7b2a29a5d391f1c66e033d79923ebd60ccc285d21c12-other.sqlite            packages
486d3ee62873814293a1be370640ae9c71863a35c7299eb76739e03369ad0c3f-c6-x86_64-comps.xml.gz  repomd.xml
cachecookie

 


[root@CentOS2 /var/cache/yum/x86_64/6/base]# cd packages/
[root@CentOS2 /var/cache/yum/x86_64/6/base/packages]# ls
[root@CentOS2 /var/cache/yum/x86_64/6/base/packages]#        (설치가 완료되면, 다운로드 파일은 삭제됨)

[root@CentOS2 /var/cache/yum/x86_64/6/base/packages]# cd
[root@CentOS2 /root]#

 

 

 

Ex2) 패키지 이름을 모를 경우, 설치하는 방법

 

[root@CentOS2 /root]# yum list
~ 중간 생략 ~

 

 

[root@CentOS2 /root]# mkdir /test
[root@CentOS2 /root]# yum list > /test/yum.list

 

 

[root@CentOS2 /root]# cat /test/yum.list | more

~ 중간 생략 ~

 

 

[root@CentOS2 /root]# cat /test/yum.list | grep telnet
telnet.x86_64                             1:0.17-48.el6                  base
telnet-server.x86_64                   1:0.17-48.el6                  base


 

[root@CentOS2 /root]# yum install telnet-server

 


[root@CentOS2 /root]# yum list telnet-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirror.oasis.onnetcorp.com
 * extras: mirror.fairway.ne.jp
 * updates: mirror.oasis.onnetcorp.com
Installed Packages
telnet-server.x86_64                                 1:0.17-48.el6  
 

 

 

Ex3) 패키지 업데이트하는 방법


[root@CentOS2 /root]# rpm -q httpd
httpd-2.2.15-39.el6.centos.x86_64

 

[root@CentOS2 /root]# yum list httpd
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirror.oasis.onnetcorp.com
 * extras: mirror.fairway.ne.jp
 * updates: mirror.oasis.onnetcorp.com
Installed Packages
httpd.x86_64               2.2.15-39.el6.centos                 @anaconda-CentOS-201410241409.x86_64/6.6
Available Packages
httpd.x86_64               2.2.15-47.el6.centos.3               updates

 

 

[root@CentOS2 /root]# yum install httpd
~ 중간 생략 ~

 

Dependencies Resolved

========================================================================================================
 Package                Arch              Version                              Repository          Size
========================================================================================================
Updating:
 httpd                  x86_64            2.2.15-47.el6.centos.3               updates            831 k
Updating for dependencies:
 httpd-tools            x86_64            2.2.15-47.el6.centos.3               updates             77 k

Transaction Summary
========================================================================================================
Upgrade       2 Package(s)

Total download size: 908 k
Is this ok [y/N]: y

Downloading Packages:
(1/2): httpd-2.2.15-47.el6.centos.3.x86_64.rpm                                   | 831 kB     00:00
(2/2): httpd-tools-2.2.15-47.el6.centos.3.x86_64.rpm                             |  77 kB     00:00
--------------------------------------------------------------------------------------------------------
Total                                                                   4.0 MB/s | 908 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : httpd-tools-2.2.15-47.el6.centos.3.x86_64                                            1/4
  Updating   : httpd-2.2.15-47.el6.centos.3.x86_64                                                  2/4
  Cleanup    : httpd-2.2.15-39.el6.centos.x86_64                                                    3/4
  Cleanup    : httpd-tools-2.2.15-39.el6.centos.x86_64                                              4/4
  Verifying  : httpd-tools-2.2.15-47.el6.centos.3.x86_64                                            1/4
  Verifying  : httpd-2.2.15-47.el6.centos.3.x86_64                                                  2/4
  Verifying  : httpd-2.2.15-39.el6.centos.x86_64                                                    3/4
  Verifying  : httpd-tools-2.2.15-39.el6.centos.x86_64                                              4/4

Updated:
  httpd.x86_64 0:2.2.15-47.el6.centos.3

Dependency Updated:
  httpd-tools.x86_64 0:2.2.15-47.el6.centos.3

Complete!


[root@CentOS2 /root]# yum list httpd
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirror.oasis.onnetcorp.com
 * extras: mirror.fairway.ne.jp
 * updates: mirror.oasis.onnetcorp.com
Installed Packages
httpd.x86_64                               2.2.15-47.el6.centos.3 

 


[root@CentOS2 /root]# rpm -q httpd
httpd-2.2.15-47.el6.centos.3.x86_64

 

 

 

Ex4) 업데이트 가능한 패키지 확인

 

[root@CentOS2 /root]# yum check-update
~ 중간 생략 ~

 

 

[root@CentOS2 /root]# yum check-update > /test/yum.update

 

 

[root@CentOS2 /root]# cat /test/yum.update | more
~ 중간 생략 ~

 

 

[root@CentOS2 /root]# cat /test/yum.update | wc -l
407

 

 

[root@CentOS2 /root]# cat /test/yum.update | grep dovecot    <- 메일 서버와 관련된 패키지
dovecot.x86_64                         1:2.0.9-19.el6_7.2                updates

 

[root@CentOS2 /root]# rpm -q dovecot
dovecot-2.0.9-7.el6_5.1.x86_64


[root@CentOS2 /root]# yum list dovecot
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirror.oasis.onnetcorp.com
 * extras: mirror.fairway.ne.jp
 * updates: mirror.oasis.onnetcorp.com
Installed Packages
dovecot.x86_64                1:2.0.9-7.el6_5.1                 @anaconda-CentOS-201410241409.x86_64/6.6
Available Packages
dovecot.i686                  1:2.0.9-19.el6_7.2                updates
dovecot.x86_64                1:2.0.9-19.el6_7.2                updates

 

 

[root@CentOS2 /root]# yum update dovecot

~ 중간 생략 ~

 

Dependencies Resolved

========================================================================================================
 Package              Arch                Version                            Repository            Size
========================================================================================================
Updating:
 dovecot              x86_64              1:2.0.9-19.el6_7.2                 updates              1.9 M

Transaction Summary
========================================================================================================
Upgrade       1 Package(s)

Total download size: 1.9 M
Is this ok [y/N]: y

Downloading Packages:
dovecot-2.0.9-19.el6_7.2.x86_64.rpm                                              | 1.9 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : 1:dovecot-2.0.9-19.el6_7.2.x86_64                                                    1/2
  Cleanup    : 1:dovecot-2.0.9-7.el6_5.1.x86_64                                                     2/2
  Verifying  : 1:dovecot-2.0.9-19.el6_7.2.x86_64                                                    1/2
  Verifying  : 1:dovecot-2.0.9-7.el6_5.1.x86_64                                                     2/2

Updated:
  dovecot.x86_64 1:2.0.9-19.el6_7.2

Complete!

 

[root@CentOS2 /root]# rpm -q dovecot
dovecot-2.0.9-19.el6_7.2.x86_64

 

 

Ex5) 모든 패키지를 업데이트하는 방법

 

[root@CentOS2 /root]# yum update    <- 시간이 오래걸리니깐, 실행 X

 

 

 

Ex6) Xwindow에서 패키지를 업데이트하는 방법

 

 

 

 

클릭 -> '무조건 계속하기' 클릭

 

 

 

패키지 업데이트 윈도우

 

 

 

 

 

Ex7) 패키지 그룹 단위로 패키지 확인 및 설치하는 방법

 

 - 패키지를 통으로 설치할 경우, 패키지 그룹 단위를 확인하여 패키지 그룹을 설치하면 된다.

 

[root@CentOS2 /root]# yum grouplist
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Group Process
Loading mirror speeds from cached hostfile
 * base: mirror.oasis.onnetcorp.com
 * extras: mirror.fairway.ne.jp
 * updates: mirror.oasis.onnetcorp.com
Installed Groups:
   CIFS 파일 서버
   Eclipse
   FTP 서버
   ID 관리 서버
   NFS 파일 서버
   Perl 지원
   SNMP 지원
   X 윈도우 시스템
~ 중간 생략 ~

 

 

[root@CentOS2 /root]# yum groupinfo "X 윈도우 시스템"
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Group Process
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.tsukuba.wide.ad.jp

Group: X 윈도우 시스템
 Description: X 윈도우 지원.
 Mandatory Packages:
~ 중간 생략 ~

 

 

[root@CentOS2 /root]# yum groupinstall "X 윈도우 시스템"  <- 시간이 오래걸리니깐, 실행 X
~ 중간 생략 ~

 

Dependencies Resolved

========================================================================================================
 Package                          Arch             Version                         Repository      Size
========================================================================================================
Updating:
 glx-utils                        x86_64           10.4.3-1.el6                    base            25 k
 spice-vdagent                    x86_64           0.14.0-9.el6                    base            63 k
 xorg-x11-server-Xorg             x86_64           1.15.0-36.el6.centos            base           1.3 M
Updating for dependencies:
 xorg-x11-server-common           x86_64           1.15.0-36.el6.centos            base            50 k

Transaction Summary
========================================================================================================
Upgrade       4 Package(s)

Total download size: 1.4 M
Is this ok [y/N]: y

~ 중간 생략 ~

Updated:
  glx-utils.x86_64 0:10.4.3-1.el6                            spice-vdagent.x86_64 0:0.14.0-9.el6
  xorg-x11-server-Xorg.x86_64 0:1.15.0-36.el6.centos

Dependency Updated:
  xorg-x11-server-common.x86_64 0:1.15.0-36.el6.centos

Complete!


 

 

[root@CentOS2 /root]# rm -rf /test

 

'서버 > Linux II' 카테고리의 다른 글

Linux II - 11. 백업 & 복구  (0) 2016.03.04
Linux II - 10. Linux 부팅 과정  (0) 2016.03.03
Linux II - 09. Linux Shell  (0) 2016.02.26
Linux II - 08. 디스크 Quota  (0) 2016.02.23
Linux II - 07. RAID 관리  (0) 2016.02.23
Posted by 김정우 강사(카카오톡 : kim10322)
,


Q