Linux命令之yum详解程序员

yum [选项] [命令] [包]

  yum命令是RedHat和SUSE基于rpm的软件管理器。能够从指定的服务器自动下载rpm包并安装,可以自动处理依赖关系,并且可以一次安装所有依赖关系。

  (扩展:域yum结局依赖关系,自动下载软件包,是基于C(client)/S(ftp/http/file)架构)

(1).常用选项

-h 显示帮助信息(基本每个命令不是-h就是- -help) 
-t 容忍错误(忽略错误) 
-c 配置文件路径 
-R设置命令最长等待时间 
-q 安静的操作 
-v 详细的操作 
-y回答所有问题都为”yes”

(2).常用命令

check-update 检查是否有软件包更新 
clean 清除缓存数据 
erase或remove 移除一个或多个软件包 
deplist 列出软件包的依赖关系 
info 显示关于软件包或组的详细信息 
install 安装一个或多个软件包 
list 列出一个或一组软件包 
provides 查看指定内容的所属包 
search 关键字搜索软件包 
update 更新一个或多个软件包,改变软件设置和系统设置,系统版本和内核都升级 
upgrade 更新一个或多个软件包,不改变软件设置和系统设置,系统版本升级,内核不变

(3).实例

注意:CentOS自带yum-*.Noarch.rpm。Ubuntu需要自行添加

clean的相关实例

[[email protected] 桌面]# yum clean all            //清除全部 
已加载插件:fastestmirror,refresh-packagekit,security 
Cleaning repos:base extras updates 
清理一切 
[[email protected] 桌面]# yum clean packages       //清除临时包文件(/var/cache/yum下文件) 
已加载插件:fastestmirror,refresh-packagekit,security 
Cleaning repos:base extras updates 
0 package 文件已删除 
[[email protected] 桌面]# yum clean headers         //清除rpm头文件 
已加载插件:fastestmirror,refresh-packagekit,security 
Cleaning repos:base extras updates 
0 header 文件已删除

list的相关实例

yum list            //列出可以安装或更新和已经安装的rpm包,并且进行缓存。可以使用yum clean all清除缓存。 
yum list installed  //已安装的包 
yum list extras     //已安装且不在资源库的包

 看一下yum list的操作截图

Linux命令之yum详解程序员

设置下yum源,不然操作不下去了

[[email protected] 桌面]#rpm –Uvh http://repo.mysql.com/mysql-community-release-el5.rpm

install的相关实例

yum install *     //全部安装或升级,我看有些作者只要yum install不知道是怎么做到了 
yum install mysql  //只安装mysql,这里可以替换包名,也可以使用mysql*,表示以mysql为开头的所有安装包

erase,remove,deplist的相关实例

yum deplist mysql//查看软件包的依赖关系,包名越详细输出越少。像我只输入mysql会列出所有以mysql开头的软件包,以及其依赖关系 
yum erase mysql*//删除软件包及其依赖关系,mysql*删除的是以mysql为开头的所有软件包,所以后面跟随的软件包名越详细越好。 
          //如果包名为mysql-libs,那只会删除mysql-libs与其依赖关系 
yum remove mysql*//和erase一样

另外yum还有grouplist、groupinstall是对软件包组操作

[[email protected] ~]# yum grouplist 
[[email protected] ~]# yum groupinstall "开发工具"

(4).扩展

1)配置本地yum源

2)配置网络yum源

在配置网络yum源之前,请自行备份。

[[email protected] yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo 
--2019-01-10 20:12:37--  http://mirrors.aliyun.com/repo/Centos-7.repo 
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 61.155.222.95, 61.155.222.97, 61.155.222.98, ... 
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|61.155.222.95|:80... 已连接。 
已发出 HTTP 请求,正在等待回应... 200 OK 
长度:2523 (2.5K) [application/octet-stream] 
正在保存至: “/etc/yum.repos.d/CentOS-Base.repo” 
 
100%[===================================================>] 2,523       --.-K/s 用时 0s       
 
2019-01-10 20:12:37 (63.3 MB/s) - 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])

wget下载文件

-O 把下载的文件保存到另一个文件中

阿里yum配置文件地址:http://mirrors.aliyun.com/repo/Centos-7.repo

  注意:为什么需要备份呢?因为通过网络配置的yum源有可能是无法使用的。以阿里yum源为例,在/etc/yum.repo.d/CentOS-Base.repo中有”baseurl=[URL]”一项,此项中有两个变量$releasever和$basearch。根据以下两个命令代入,只有当完整的URL有效时,yum源才能使用。

[[email protected] yum.repos.d]# cat /etc/centos-release 
CentOS Linux release 7.6.1810 (Core)    //$releasever对应7.6.1810 
[[email protected] yum.repos.d]# uname -r 
3.10.0-957.1.3.el7.x86_64    //$basearch对应x86_64 

  如果网络yum源下载下载后不能使用,可以到相应的网站找到合适的版本(或大版本号内最新的版本),替换yum源中的变量(可以使用sed命令)。

  一样以阿里网络yum源为例:

[[email protected] yum.repos.d]# sed -i 's/$releasever/7.6.1810/g' /etc/yum.repos.d/CentOS-Base.repo 
[[email protected] yum.repos.d]# sed -i 's/$basearch/x86_64/g' /etc/yum.repos.d/CentOS-Base.repo 
[[email protected] yum.repos.d]# yum clean all    //清空一下yum缓存 
已加载插件:fastestmirror, langpacks 
正在清理软件源: CentOS7 base extras updates 
Cleaning up list of fastest mirrors 

3)如果yum报错,请优先检查以下几个地方

1.有本地yum源时,检查光盘是否链接,是否挂载

2. 网络是否连接

3.配置文件中格式是否正确,字母、符号有没有少写,挂载点和配置文件中设置的是否一致。

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/2834.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论