linux软件管理
一、rpm工具
rpm 是linux下软件包管理工具。rpm 也是一种打包格式,使用rpm工具进行管理,但是rpm包与包之间存在依赖,可能会出现升级某个包导致依赖的其他包版本不匹配。而yum 工具可以帮我们解决这个问题。
1 2 3 4 5 6 7 8 9
| mysql-community-common-5.6.49-2.el7.x86_64 mysql: 软件名称部分 community-common: 软件组件部分 5: 主版本号 6: 次版本号 49: 修订号 2: 发布次数 el7: 平台名称,表示适用于哪种发行版 x86_64: 系统位数,i386 等表示适用于32位,x86_64 表示适用于64位,noarch 表示通用
|
rpm 命令参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| -q: 查询已安装的软件名称 -qa: 显示已安装的所有的软件列表 -qi: 查询指定安装软件的详细信息 -ql: 查看指定的软件包在系统中对应的目录和文件列表 -qf: 查看当前指定的文件或目录对应的软件包,比如:rpm -qf /usr/bin/vim -qpi: 查询未安装软件的详细信息,比如:rpm -qpi tomcat-7.0.94-1.el6.noarch.rpm -qpl: 查询未安装软件的安装路径,比如:rpm -qpl tomcat-7.0.94-1.el6.noarch.rpm -V: 校验软件包的正确性,比如:rpm -V tomcat-7.0.94-1.el6.noarch.rpm -Va: 校验所有软件包的正确性 -e: 需要root权限,卸载软件包。其他软件可能依赖此软件,卸载此软件之后导致其他软件不可用,如果存在依赖关系,则会显示依赖信息,如果执意要删除,可以使用忽略依赖的选项: --nodeps。例如:rpm -e --nodeps vim-enhanced -i: 安装,需要root权限,安装前会查询已安装的相关软件,并卸载与之冲突的软件。在进行软件安装时,可能系统当中缺少某个依赖,导致无法正常安装,可以使用 --force 选项进行强制安装,但无法保证安装后能够正常使用。常规的解决办法是先安装需要的依赖软件包,再安装该软件,或者使用yum工具 -ivh: 安装一个软件。例如: rpm -ivh tomcat-7.0.94-1.el6.noarch.rpm -U: 升级软件,如果对应的软件包原来未安装,则直接安装,和 -i 的效果相同 -F: 升级软件,如果对应的软件原来未安装,则放弃安装
|
二、yum工具
yum工具是一个软件包管理器,基于 rpm 包管理,能够从指定的服务器自动下载 rpm 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
1 2 3 4
| yum [options] [command] [package ...] options: 可选,选项包括 -h(help), -y(当安装过程提示选择全部为yes), -q(不显示安装过程) command: 要进行的操作 package: 安装的包名
|
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13
| yum check-update: 列出所有可更新的软件清单 yum update: 更新所有软件命令 yum install <package_name>: 仅安装指定的软件 yum update <package_name>: 仅更新指定的软件 yum list: 列出所有可安装的软件清单 yum remove <package_name>: 删除软件包 yum search <keyword>: 查找软件包
清除缓存: yum clean packages: 清除缓存目录下的软件包 yum clean headers: 清除缓存目录下的headers yum clean oldheaders: 清除缓存目录下旧的 headers yum clean, yum clean all (= yum clean packages; yum clean oldheaders): 清除缓存目录下软件包及旧的 headers
|
更换yum源
1 2 3 4 5 6 7 8
| 首先备份 /etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载yum源放在 /etc/yum.repos.d/下 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo mv CentOS6-Base-163.repo CentOS-Base.repo 运行命令生成缓存 yum clean all yum makecache
|