Linux操作系统对于我们技术人员,不管是开发,测试还是运维都应该是耳熟能详的一个操作系统。既然如此,那么就绕不开在Linux操作系统下安装软件包。在Linux下安装软件包的方式有三种,分别是rpm安装、源码编译安装、yum安装。接下来我们就重点介绍一下最常用、最好用的一种安装方式,即yum方式安装,因为它能够帮助我们解决软件包之间的依赖关系来提高工作效率哦
一、yum知多少1. yum是如何安装软件的yum仓库(也称yum源)用于存放各种rpm的软件包以及软件包之间的依赖关系(repodata目录)需要安装软件的计算机连接到指定yum仓库来安装软件包2. yum源作用
软件包管理器,类似Windows下的软件管家。
3. yum源优势
解决软件包之间的依赖关系,提高运维人员的工作效率。
4. yum源分类① 本地yum源
所谓本地yum源是指yum仓库在本地,一般是本地系统光盘或镜像文件。
② 网络yum源
所谓网络yum源是指yum仓库在远程(不在本地),需要联网才能安装。
国内较知名的网络源(aliyun源,163源,sohu源,知名大学开源镜像等)国外较知名的网络源(centos源、redhat源、红帽扩展epel源等)特定软件相关的网络源(Nginx、MySQL、Zabbix等)二、yum源配置
说明:以下操作系统以Centos 6.5为例,其他Linux系统类似。
1. 本地yum源配置① 挂载镜像到本地操作系统
手动挂载光盘到指定目录[[email protected] ~]# mount -o ro /dev/sr0 /mnt开机自动挂载[[email protected] ~]# echo “mount -o ro /dev/sr0 /mnt” >> /etc/rc.local或者[[email protected] ~]# echo “/dev/sr0 /mnt iso9660 defaults,ro 0 0” >> /etc/fstab
说明:
1. /etc/rc.local文件是操作系统开机最后读取的一个文件,该文件需要有可执行权限,开机时系统会帮你自动挂载,建议使用该方式。
2. /etc/fstab文件也可以,但是如果修改错误可能会导致系统起不来。
② 通过配置文件指定yum仓库
进入到指定目录里,清空操作系统默认的Centos源[[email protected] ~]# cd /etc/yum.repos.d/[[email protected] yum.repos.d]# rm -f ./*在该目录下创建以.repo结尾的文件[[email protected] yum.repos.d]# vim local.repo [local]仓库的名字,不要有特殊符号(自定义)name=local yum仓库描述,可以不写baseurl=file:///mnt指定yum仓库的路径(重要),file://表示本地仓库enabled=1表示启用该仓库,1表示启用;0表示不启用gpgcheck=0不用校验仓库里软件包的签名,0表示不校验;1表示校验2. 网络yum配置① 方法1:
直接通过修改配置文件来指定yum仓库即可。
特定软件的网络源:
[[email protected] yum.repos.d]# cat nginx.repo [nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/6/$basearch/gpgcheck=0enabled=1基本软件的网络源:[[email protected] yum.repos.d]# cat 163.repo [163]name=163 network yumbaseurl=http://mirrors.163.com/centos/6/os/x86_64/enabled=1gpgcheck=1gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6[[email protected] yum.repos.d]# cat aliyun.repo [aliyun]name=aliyunbaseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/enabled=1gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6② 方法2:
通过安装软件包,自动创建.repo文件(自动配置)。
配置epel源为例:
1)下载epel源软件包
[[email protected] ~]# wget -P /tmp https://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm –no-check-certificate–2019-02-20 09:42:41– https://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpmResolving mirrors.aliyun.com… 119.96.206.232, 116.211.153.230, 116.211.153.236, …Connecting to mirrors.aliyun.com|119.96.206.232|:443… connected.WARNING: certificate common name “img.ucdl.pp.uc.cn” doesn’t match requested host name “mirrors.aliyun.com”.HTTP request sent, awaiting response… 200 OKLength: 14540 (14K) [application/x-redhat-package-manager]Saving to: “/tmp/epel-release-6-8.noarch.rpm”100%[================================================================================>] 14,540 –.-K/s in 0.03s 2019-02-20 09:42:41 (538 KB/s) – “/tmp/epel-release-6-8.noarch.rpm” saved [14540/14540]
2)安装软件包
[[email protected] ~]# rpm -ivh /tmp/epel-release-6-8.noarch.rpm warning: /tmp/epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEYPreparing… ########################################### [100%] 1:epel-release ########################################### [100%]
3)检查配置文件
[[email protected] ~]# ls /etc/yum.repos.d/epel*/etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo三、yum工具相关命令
# yum install package -y默认是安装来自仓库里的软件,指定的是软件名字。多个包空格隔开;-y (取消交互)# yum install ./xxx.rpm或者# yum localinstall ./xxx.rpm安装来自本地指定路径下的rpm包,而不是来自仓库# yum remove 或者 erase package卸载软件包# yum update更新仓库里所有比本机已经安装过的软件要的软件# yum update package指定升级的软件# yum search mysql搜索出所有软件名字“mysql”关键字的软件# yum provides “libaudiofile.so.0″找出模块由哪些软件包提供# yum clean all清空之前的yum列表缓存# yum makecache创建新的缓存# yum list列出仓库里的所有软件包# yum repolist列出已配置的软件仓库# yum list |grep 关键字@代表已经安装成功# yum list installed查看已安装的包# yum grouplist查看包组# yum groupinstall “包组”安装包组# yum groupremove “包组”四、总结
1. yum是Linux下用于安装rpm软件包的一个工具,要使用它安装软件包,必须提前配置yum源。
2. yum源分为本地yum源和网络yum源。本地yum源指软件仓库在本地;网络yum源指软件仓库在远程。
3. 软件仓库里既有软件包也要有repodata目录,即存放软件之间的依赖关系
4. yum工具安装rpm软件包的最大优势就是解决软件包的依赖关系,提高工作效率。