서버/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가 제거되어 발생되는 현상 해결 방법
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 : 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 |