linux基础-第十五单元 软件包的管理
使用RPM安装及移除软件
什么是RPM
rpm的文件名
rpm软件安装与移除工作中经常使用的选项
查看RPM软件包中的信息
查询已安装的软件包信息
RPM包的属性依赖性问题
什么是RPM包的属性依赖性问题
RPM包的属性依赖性问题解决方法
将nginx编译为rpm包
课后作业
【本节内容】
1. 使用RPM安装及移除软件(详见linux系统管理P374)
1) 掌握RPM的定义:RPM就是Red Hat Package Manger(红帽软件包管理工具)的缩写。
2) 了解rpm的文件名分为5部分,其中:
第1部分是name,表示这个rpm软件包的名称;
第2部分是version,表示这个rpm软件包的版本编号;
第3部分是release,表示这个rpm软件包的版本发布次数(修正号码);
第4部分是architectures,表示这个rpm软件包适用于哪些平台;
最后一部分是rpm,表示这个rpm软件包的文件扩展名。
3) 掌握rpm软件安装与移除工作中经常使用的选项:
a) –i:安装(Install)软件。
b) –U:升级(Upgrade)旧版本的软件。
c) –e:移除/删除(Erase)软件。
d) –v:显示详细的处理信息。
e) –h:显示安装进度。卸载不能用
2. 查看RPM软件包中的信息(详见linux系统管理P379)
1) 掌握常用的查询已安装的软件包信息的命令:
a) rpm –qa:显示目前操作系统上安装的全部软件包,其中q是query(查询)的第1个字母,a是all(全部)的第1个字母。
Rpm –qa | grep dhcp
b) rpm –qf 文件名:显示这个文件是由哪个软件包安装的,f是file(文件)的第1个字母。
例如:列出安装/bin/tar文件的软件包的命令为:rpm –qf /bin/tar
c) rpm –qi 软件包名:显示这个软件包的信息,i是information(信息)的第1个字母。
例如:列出tar-1.14-10.RHEL4这个软件包的详细信息的命令:rpm –qi tar-1.14-10.RHEL4
d) rpm –ql 软件包名:列出这个软件包中所包含的全部文件,其中l是list的第1个字母。
例如:列出tar-1.14-10.RHEL4这个软件包中所包含的全部文件的命令:rpm –ql tar
p数据包
3. RPM包的属性依赖性问题(详见linux系统管理P388)
1) 掌握RPM软件包的属性依赖性问题的定义:所谓的RPM软件包的属性依赖性问题,即这个软件包的安装依赖于其他软件包的安装。
4. 课后作业(用时40分钟)
1) 挂载光盘文件到/media目录
2) 进去/media目录下的Packages目录
3) 查看系统已安装的所有rpm包
4) 查看系统是否安装dhcp软件包
5) 安装dhcp软件包
6) 查看dhcp软件包的信息
7) 查看dhcp软件包中所包含的所有文件
8) 查看/bin/ls文件是由哪个软件包产生
9) 卸载dhcp软件包
rpm包管理课程笔记
[root@study ~]# qq.tar.qz #编译安装
[root@study ~]# 编译 (源码翻译成二进制)====》安装
root@study ~]# rpm ====>直接安装
rpm包的功能:
增加 、删除、查找
[root@study ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 10035836 3658812 5860572 39% /
tmpfs 1019504 76 1019428 1% /dev/shm
/dev/sda1 194241 41004 142997 23% /boot
/dev/sr0 3803432 3803432 0 100% /media/CentOS_6.7_Final
[root@study ~]# cd /media/CentOS_6.7_Final/
[root@study CentOS_6.7_Final]# ll
总用量 558
-r--r--r--. 2 root root 14 8月 5 2015 CentOS_BuildTag
dr-xr-xr-x. 3 root root 2048 8月 5 2015 EFI
-r--r--r--. 2 root root 212 11月 27 2013 EULA
-r--r--r--. 2 root root 18009 11月 27 2013 GPL
dr-xr-xr-x. 3 root root 2048 8月 5 2015 images
dr-xr-xr-x. 2 root root 2048 8月 5 2015 isolinux
dr-xr-xr-x. 2 root root 528384 8月 5 2015 Packages
-r--r--r--. 2 root root 1354 7月 25 2015 RELEASE-NOTES-en-US.html
dr-xr-xr-x. 2 root root 4096 8月 5 2015 repodata
-r--r--r--. 2 root root 1706 11月 27 2013 RPM-GPG-KEY-CentOS-6
-r--r--r--. 2 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Debug-6
-r--r--r--. 2 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Security-6
-r--r--r--. 2 root root 1734 11月 27 2013 RPM-GPG-KEY-CentOS-Testing-6
-r--r--r--. 1 root root 3380 8月 5 2015 TRANS.TBL
[root@study Packages]# ls | less
389-ds-base-1.2.11.15-60.el6.x86_64.rpm
389-ds-base-libs-1.2.11.15-60.el6.x86_64.rpm
abrt-2.0.8-34.el6.centos.x86_64.rpm
abrt-addon-ccpp-2.0.8-34.el6.centos.x86_64.rpm
abrt-addon-kerneloops-2.0.8-34.el6.centos.x86_64.rpm
abrt-addon-python-2.0.8-34.el6.centos.x86_64.rpm
abrt-cli-2.0.8-34.el6.centos.x86_64.rpm
abrt-desktop-2.0.8-34.el6.centos.x86_64.rpm
abrt-gui-2.0.8-34.el6.centos.x86_64.rpm
abrt-libs-2.0.8-34.el6.centos.x86_64.rpm
abrt-python-2.0.8-34.el6.centos.x86_64.rpm
abrt-tui-2.0.8-34.el6.centos.x86_64.rpm
abyssinica-fonts-1.0-5.1.el6.noarch.rpm
acl-2.2.49-6.el6.x86_64.rpm
acpid-1.0.10-2..1el6.x86_64.rpm
aic94xx-firmware-30-2.el6.noarch.rpm
注意事项:
软件包是奇数是不稳定版本,软件包是偶数是稳定版本
说明:
rpm的文件名分为5部分,其中:
第1部分是name,表示这个rpm软件包的名称;
第2部分是version,表示这个rpm软件包的版本编号;
第3部分是release,表示这个rpm软件包的版本发布次数(修正号码);
第4部分是architectures,表示这个rpm软件包适用于哪些平台;
最后一部分是rpm,表示这个rpm软件包的文件扩展名。
#安装rpm软件包
[root@study Packages]# rpm -ivh dhcp-4.1.1-49.P1.el6.centos.x86_64.rpm
warning: dhcp-4.1.1-49.P1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:dhcp ########################################### [100%]
#同时安装多个rpm软件包
[root@study Packages]# rpm -ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm zip-3.0-1.el6.x86_64.rpm
warning: lrzsz-0.12.20-27.1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
package zip-3.0-1.el6.x86_64 is already installed
#查看已经安装的软件包
[root@study Packages]# rpm -qa |grep 'dhc'
dhclient-4.1.1-49.P1.el6.centos.x86_64
dhcp-4.1.1-49.P1.el6.centos.x86_64
dhcp-common-4.1.1-49.P1.el6.centos.x86_64
or
[root@study Packages]# rpm -q dhcp
dhcp-4.1.1-49.P1.el6.centos.x86_64
#卸载rpm包
[root@study Packages]# rpm -e dhcp
#再卸载一次就会显示,找不到这个包
[root@study Packages]# rpm -e dhcp
error: package dhcp is not installed
or
[root@study Packages]# rpm -e dhcp-4.1.1-49.P1.el6.centos.x86_64
#强制安装
[root@study Packages]# rpm -ivh dhcp-4.1.1-49.P1.el6.centos.x86_64.rpm --force
warning: dhcp-4.1.1-49.P1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:dhcp ########################################### [100%]
#忽略依赖性删除
[root@study Packages]# rpm -e dhcp-common --nodeps
#查看dhcp 与 dhclient
[root@study Packages]# rpm -qa|grep dhcp
dhcp-4.1.1-49.P1.el6.centos.x86_64
[root@study Packages]# rpm -qa|grep dhclient
dhclient-4.1.1-49.P1.el6.centos.x86_64
#安装dhclient
[root@study Packages]# rpm -ivh dhclient-4.1.1-49.P1.el6.centos.x86_64.rpm
warning: dhclient-4.1.1-49.P1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
dhcp-common = 12:4.1.1-49.P1.el6.centos is needed by dhclient-12:4.1.1-49.P1.el6.centos.x86_64
[root@study Packages]# rpm -ivh dhcp-common-4.1.1-49.P1.el6.centos.x86_64.rpm
warning: dhcp-common-4.1.1-49.P1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:dhcp-common ########################################### [100%]
[root@study Packages]# rpm -ivh dhclient-4.1.1-49.P1.el6.centos.x86_64.rpm
warning: dhclient-4.1.1-49.P1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
package dhclient-12:4.1.1-49.P1.el6.centos.x86_64 is already installed
#在线安装rpm包
地址:
http://mirror.centos.org/centos-6/6.8/extras/x86_64/Packages/
[root@study Packages]# rpm -ivh http://mirror.centos.org/centos-6/6.8/extras/x86_64/Packages/python-empy-3.3-5.el6.centos.noarch.rpm
Retrieving http://mirror.centos.org/centos-6/6.8/extras/x86_64/Packages/python-empy-3.3-5.el6.centos.noarch.rpm
warning: /var/tmp/rpm-tmp.aIvyBz: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:python-empy ########################################### [100%]
[root@study Packages]# pwd
/media/CentOS_6.7_Final/Packages
[root@study Packages]# cd
[root@study ~]# cd /tmp
[root@study tmp]# mkdir -p /service/scripts
[root@study tmp]# cd /service/scripts/
[root@study scripts]# wget http://mirror.centos.org/centos-6/6.8/extras/x86_64/Packages/python-boto-2.32.1-1.el6.centos.noarch.rpm
--2016-11-18 11:04:31-- http://mirror.centos.org/centos-6/6.8/extras/x86_64/Packages/python-boto-2.32.1-1.el6.centos.noarch.rpm
正在解析主机 mirror.centos.org... 202.76.233.2, 2605:9000:401:102::2
正在连接 mirror.centos.org|202.76.233.2|:80... 已连接。
[root@study scripts]# ll
总用量 1684
-rw-r--r--. 1 root root 1722164 11月 4 2014 python-boto-2.32.1-1.el6.centos.noarch.rpm
#安装软件包
[root@study scripts]# rpm -ivh python-boto-2.32.1-1.el6.centos.noarch.rpm
warning: python-boto-2.32.1-1.el6.centos.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:python-boto ########################################### [100%]
#查看安装在什么位置
[root@study tmp]# rpm -ql python-boto-2.32.1-1.el6.centos.noarch
/usr/bin/asadmin
/usr/bin/bundle_image
/usr/bin/cfadmin
/usr/bin/cq
/usr/bin/cwutil
/usr/bin/dynamodb_dump
/usr/bin/dynamodb_load
/usr/bin/elbadmin
/usr/bin/fetch_file
/usr/bin/glacier
/usr/bin/instance_events
/usr/bin/kill_instance
/usr/bin/launch_instance
/usr/bin/list_instances
/usr/bin/lss3
/usr/bin/mturk
/usr/bin/pyami_sendmail
/usr/bin/route53
/usr/bin/s3put
/usr/bin/sdbadmin
/usr/bin/taskadmin
/usr/lib/python2.6/site-packages/boto
/usr/lib/python2.6/site-packages/boto-2.32.1-py2.6.egg-info
/usr/lib/python2.6/site-packages/boto-2.32.1-py2.6.egg-info/PKG-INFO
/usr/lib/python2.6/site-packages/boto-2.32.1-py2.6.egg-info/SOURCES.txt
/usr/lib/python2.6/site-packages/boto-2.32.1-py2.6.egg-info/dependency_links.txt
/usr/lib/python2.6/site-packages/boto-2.32.1-py2.6.egg-info/top_level.txt
#查看软件包详细信息
[root@study scripts]# rpm -qi python-boto
Name : python-boto Relocations: (not relocatable)
Version : 2.32.1 Vendor: CentOS
Release : 1.el6.centos Build Date: 2014年11月01日 星期六 00时47分37秒
Install Date: 2016年11月18日 星期五 11时10分31秒 Build Host: c6b8.bsys.dev.centos.org
Group : Development/Languages Source RPM: python-boto-2.32.1-1.el6.centos.src.rpm
Size : 8846304 License: MIT
Signature : RSA/SHA1, 2014年11月04日 星期二 02时54分24秒, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : https://github.com/boto/boto
Summary : A simple, lightweight interface to Amazon Web Services
Description :
Boto is a Python package that provides interfaces to Amazon Web Services.
It supports over thirty services, such as S3 (Simple Storage Service),
SQS (Simple Queue Service), and EC2 (Elastic Compute Cloud) via their
REST and Query APIs. The goal of boto is to support the full breadth
and depth of Amazon Web Services. In addition, boto provides support
for other public services such as Google Storage in addition to private
cloud systems like Eucalyptus, OpenStack and Open Nebula.