##rpm软件包管理器
#一种用于互联网下载包&打包&安装软件包的工具,扩展名.rpm。
#是redhat软件包管理工具的缩写。rpm文件在linux系统中安装最为简便。
## rpm命令语法
rpm [选项] (安装软件包的路径)
##选项
#安装
-i 安装 -h 以#显示进度,每个#表示2% -v 显示详细过程 -vv 显示更详细过程信息 rpm -ivh 安装一个软件包,并显示详细的过程信息 --nodeps 忽略依赖关系,例如在安装redis软件时,需要libredis依赖,--dodeps选项则使的安装redis.rpm软件包时不提示需要安装libredis依赖包。 --replacepkgs 重新安装,替换原有已安装的软件包 --force 强行安装,可以实现重装或降级 rpm -ivh --nodeps xxx.rpm
#软件包升级
-U 升级软件包 -F 只升级软件包,如果无需升级或软件之前未安装,则退出 rpm -Uvh xxx.rpm 如果有老版本,则升级;没有,则安装 rpm -Fvh xxx.rpm 如果有老版本,则升级;没有,则退出
#卸载软件包
-e 卸载 rpm -e xxx.rpm ##卸载指定软件包,但是如果已安装包对与其他软件存在依赖关系,则提示无法卸载。相比yum remove,强制卸载,不论是否存在依赖关系。
#查询软件安装信息
-q 查询指定的软件包是否安装 -qa 查询已安装的所有软件包 ##rpm -qa |grep redis 在所有安装的软件包中查找包含redis关键字的软件 -qi 查询指定软件包的说明信息 -qc 查询指定已安装软件包的配置文件 -ql 查询指定已软件包安装后生成的文件列表 -qd 查询指定包安装的帮助文件 -q --scripts xxx.rpm 查询指定的已安装软件包中包含的脚本 -qf /path/to/file 查询指定文件是由哪个软件安装后生成的
## yum软件包管理工具
#yum主要功能是更方便添加/删除/更新rpm包,自动解决rpm包安装时的各种依赖关系,便于管理大量系统的软件更新问题。
#yum优点
#(1)可以同时配置多个资源库,也可以搭建本地yum源。yum源配置简洁
#(2)自动解决rpm包安装/卸载时的依赖关系,自动安装或删除依赖包
##yum更新
yum check-update #检查已安装的软件包中有哪些可以更新 yum -y update MariaDB-client #更新指定的已安装软件包 yum -y update #系统更新,即更新所有已安装软件包中可以更新的rpm包,包括kernel内核。 #该命令谨慎,最好指定软件包进行升级
##yum安装
yum -y install xxx #安装指定软件
##yum卸载
yum remove xxx #卸载指定软件,同时删除与该软件有依赖关系的包 #相比rpm -e xxx,也会卸载软件,但是对依赖包不处理。一般选择rpm -e卸载,放纵其他依赖包被删除 yum deplist xxx #查看xxx软件的依赖情况
##yum本地缓存
yum makecache #将yum源中软件都缓存到本地 yum -C search xxx #在已缓存到本地软件包中查找指定的软件包。相比yum search xxx(在网上的yum查找)速度快很多 yum clean all #清除本地所有缓存,包括缓存的软件包&旧的headers yum clean xxx #清空缓存在本地的xxx软件包 yum clean headers #清空缓存在本地的headers yum clean oldheaders #清空缓存在本地旧的headers
##yum本地源配置
##主要文件
#/etc/yum.conf #为所有仓库提供公共配置
#/etc/yum.repos.d/*.repo #为仓库的指向提供配置
[root@transfor ~]# cat /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=5 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-release
##配置自定义.repo模块
[root@transfor ~]# cat /etc/yum.repos.d/epel.repo [epel] #仓库名称,不能重复 name=Extra Packages for Enterprise Linux 7 - $basearch ##对仓库的描述,此项必须有 #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch #配置仓库的路径,用于指定一个url mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch #指向一个镜像列表,里面有多个url。(一般只保留一个baseurl或者mirrorlist,启用一个,则另一个注释) failovermethod=priority ## enabled=1 ##是否启用当前仓库,值为1/0,默认1(启用) gpgcheck=1 ##是否需要gpg校验,值为1/0,默认1(启用) gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 ##验证rpm包的密钥文件路径,该文件可以在远程服务器上,或者本地。 #以下内容,自定时可以不配置 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source #baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 ##PS:总结 #()*.repo模块必要部分:[]仓库名,name=仓库描述,baseurl=或者mirrorlist=指向源文件的地址,enabled=是否启用该仓库 gpgcheck=是否gpg校验(若gpgcheck=0,则不需gpgkey=;若gpgcheck=1,则需要配置gpgkey=)
##命令行配置yum源仓库 yum-config-manager
#默认不安装yum-config-manager,需要先安装yum-config-manager工具
#yum -y install yum-utils.noarch
yum-config-manager --add-repo=http://10.10.86.43/Centos7_64_x86 #Loaded plugins: fastestmirror #adding repo from: http://10.10.86.43/Centos7_64_x86 #[10.10.86.43_Centos7_64_x86] #name=added from: http://10.10.86.43/Centos7_64_x86 #baseurl=http://10.10.86.43/Centos7_64_x86 #enabled=1 #自动创建以url地址为仓库名的新仓库 ll /etc/yum.repos.d/ total 48 -rw-r--r-- 1 root root 134 Sep 13 15:45 10.10.86.43_Centos7_64_x86.repo ... yum-config-manager --enable "10.10.86.43_Centos7_64_x86" #启用仓库 yum-config-manager --disable "10.10.86.43_Centos7_64_x86" #禁用仓库