软件包管理
CentOS下安装软件经常使用的软件包管理器为RPM和YUM
RPM
RPM:Red Hat Package Manager(Red Hat软件包管理工具)
RPM软件包是将程序源代码进行编译和封装以后形成的包文件,在软件包里面会封装软件的二进制程序、配置文件、帮助手册、库文件以及头文件等
安装注意事项:
1.安装的环境必须与编译时的环境一致或者相当;
2.包与包之间可能存在着相互依赖的情况;
3.卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。
注:os可以省略不写
1.安装软件包(install)
rpm -ivh rpm
软件包全名
其中:
-i:安装一个新的软件包
-v:显示详细信息
-h:显示安装进度条
例如:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom/Packages
rpm –ivh gconf-editor-2.28.03.el6.i686.rpm
2.查询已安装的软件包(query)
rpm –qa
//查询出本机所有已经安装的软件
rpm –q httpd
//查询httpd软件包是否已经安装
rpm -q【i l c d R】 vsftpd
rpm -qf /etc/inittab
查询未安装的软件包信息:
rpm -qp 【i l c d R】 gconf-editor-2.28.0-3.el6.i686.rpm
3.升级与更新(upgrade/freshen)
rpm -Uvh 软件包名称
//原来没有安装过的,直接安装;如果已安装过,则更新至新版
rpm -Fvh 软件包名称
//原来没有安装过的,不安装;如果已安装过,则更新至新版
4.卸载RPM包(erase)
rpm -e vsftpd
注意:卸载时只需要给出软件包名称vsftpd,而不需要给出软件包的全部名称信息vsftpd-2.2.2-6.el6.i686.rpm。
5.重建RPM数据库(rebuilddb)
rpm --rebuilddb
注意:数据库的位置在/var/lib/rpm下面。
6.RPM验证(Verify)----自学部分
使用/var/lib/rpm中的数据库内容来比对目前Linux系统的环境下的所有软件文件。
[root@www ~]#rpm –Va
[root@www ~]#rpm -V 已安装的软件名称
[root@www ~]#rpm -Vp 某个RPM文件的文档名
[root@www ~]#rpm -Vf 在系统上面的某个文件
举例1:[root@www~]#rpm -V logrotate
举例2:[root@www~]#rpm -Vf /etc/inittab
7.RPM数字证书(Signature)—自学部分
我们RHEL或者CentOS使用的数码签章系统为GNU设计的GnuPG(GNU Privacy Guard, GPG)
[root@www~]#cat/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@www~]#rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
导入该文件之后,系统会生成一个名为gpg- pubkey的软件
[root@www~]# rpm -qa | greppubkey gpg-pubkey-e8562897-459f07a4
[root@www~]#rpm -qi gpg-pubkey-e8562897-459f07a4
操作示例:
先在Linux虚拟机上下载安装jdk:
下载地址:
https://www.oracle.com/java/technologies/javase/javase9-archive-downloads.html
下载:jdk-9.0.4_linux-x64_bin.rpm
安装:
查询安装情况:rpm -qa
//表示查询出本机所有已经安装的软件
查询已安装的jdk的信息:rpm -qi
列出jdk所安装的文件:rpm -ql
卸载jdk:rpm -e
YUM
YUM:Yellow dog Updater, Modified
宗旨:自动化地升级,安装/移除RPM包,收集RPM包的相关信息,检查依赖性并自动提示用户解决
关键之处:要有可靠的repository,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池
1.yum在线升级机制
安装软件 yum install vsftpd
删除软件 yum remove vsftpd
查询软件:
举例一:搜寻与磁盘阵列(raid)相关的软件有哪些?
[root@www ~]# yum search raid
举例二:找出mdadm这个软件的功能为何?
[root@www ~]# yum info mdadm
举例三:列出yum 服务器上面提供的所有软件名称
[root@www ~]# yum list
举例四:列出目前服务器上可供本机进行升级的软件有哪些?
[root@www ~]# yum list updates
举例五:列出提供passwd这个文件的软件有哪些
[root@www ~]# yum provides passwd
2.yum的软件组功能
查询软件组:yum grouplist
(查阅目前容器与本机上面的可用与安装过的软件群组有哪些?)
yum groupinfo Eclipse
(查询Eclipse软件组的相关信息)
安装软件组: yum groupinstall Eclipse
删除软件组: yum groupremove Eclipse
操作示例:
yum可以联网下载软件:
输入yum list
,回车,查看可联网下载的软件包有哪些:
用grep过滤,以下查看可以安装的vsftpd软件:
搜索一个软件:yum search
,以下搜索git软件:
安装一个软件:yum install
,以下安装git软件:
更新一个软件:yum update
,以下更新git软件(显示目前没有更新):
卸载一个软件:yum remove
,以下卸载git软件: