Linux-rpm包的yum管理使用

参考B站 史上最牛的Linux视频教程—兄弟连  P34学习

 

CentOS7 的setup 无法配置网卡信息,可以使用nmtui来配置网卡信息


注意:默认网卡是关闭的状态,需要启动网卡

vim /etc/sysconfig/network-scripts/ifcfg-eth0(或ens33)

把ONBOOT="no" 改为  ONBOOT="yes"

重启网络服务

service network restart

 

yum 源的位置

vim /etc/yum.repos.d/CentOS-Base.repo

[base]            容器名称,一定要放在[]中
name             容器说明,可以自己随便写
mirrorlist        镜像站点,这个可以注释掉
baseurl          我们的yum 源服务器的地址.默认是CentOS 官方yum源服务器,速度还是可以的.
enable           此容器是否生效,如果不写或者写成enable=1都是生效,写成enable=0就是不生效
gpgcheck      如果是1指的是RPM的数字证书生效,如果是0则表示不生效 .(默认即可)
gpgkey          数字证书的公钥文件保存位置.(默认即可,不用修改)

 

一、常用yum 命令

1.查询 ,查询yum 源服务器中所有可用软件包的列表

yum list


2.搜索 ,搜索yum 源服务器上所有和关键字相关的包

yum search 关键字


3.安装 

yum -y install 包名

选项:
-y 自动回答yes(如果不加此选项,则每次安装依赖包都会提示,是否安装,需要手动输入y安装,n不安装)

为了接下来实现源码安装,需要在机器中安装gcc 

yum -y gcc

 

4.升级

 yum -y update 关键字(包名)

注意:CentOS5 如果后面不跟关键字(包名),则默认会升级设备上所有的软件包,包括系统内核版本,但是内核升级后,需要在本地做一些配置才能使用,也就是说,如果你是远程到服务器上进行的该命令,那么该服务器将永远无法启动,除非在本地做一些该做的配置,所以慎用.
CentOS7.8 虚拟机在拍完快照后,使用该命令,确实升级了内核,但是并不影响使用.

如下,确实升级了内核

 

 

 

 


5.卸载 

yum -y remove 包名

 

注意:CentOS 5 如果选择-y 删除,则会自动将一些依赖包卸载掉,会导致其他包如果跟那些依赖包有依赖关系的话,将导致其他包不可用,即:a->b->c,如果安装a的时候是a依赖b,b依赖c,则会先装c,再装b,最后装a,反之,选择yum -y remove 卸载的时候(CentOS 5版本),会先卸载a,再卸载b,最后卸载c.假如有一个d 依赖b 或者依赖c,则在卸载a后,将导致d无法使用.
目前由于笔者暂时不知道哪两个包会有这样的依赖关系,所以无法进行测试,建议使用该功能的时候先在测试环境测试一下你们使用的版本,是否会有这样自动卸载依赖关系的问题.

二、yum 软件组管理命令
1.列出所有可用的软件组列表

yum grouplist

 

 

如图,这些软件组,和我们最早装系统所选择的版本很类似,选择相应的软件组名来安装,则可以安装相应组名所包含的一些安装包,如上图,笔者当时装的版本是上图中的"Basic Web Server",是不包含有图形界面的,如果使用下面的命令安装"Server with GUI"及以下的软件组版本,那么通过安装,笔者的CentOS则可以使用图形界面操作.

 

2.安装指定软件组,组名可以用grouplist 查询,如果组名有空格,需要在软件组名加上双引号,如:

yum groupinstall "Server with GUI"

如果不加双引号,系统则会认为你是要安装组名是Server、组名是with及组名是GUI的三个软件组.

 

3.卸载指定软件组

yum groupremove 软件组名

 

三、光盘yum 源搭建
1.挂载光盘

mount /dev/sr0 /mnt/cdrom

2.让网络yum 源文件失效

cd /etc/yum.repos.d/
ls

 

由于有8个repo文件,按照视频中沈超老师说的,将每个改名太过麻烦了.考虑到目前生效的只有CentOS-Base.repo,且里面没有enable这个键值,而其他七个repo文件为了使之不生效,文件内部都有enable=0这个键值.综上,笔者决定这里只备份CentOS-Base.repo这个文件,然后修改CentOS-Media.repo这个文件即可.

mv CentOS-Base.repo CentOS-Base.repo.bak
ls

 编辑 CentOS.Media.repo

vim CentOS.Media.repo

 

如上图,
1.将CentOS-Media.repo 这个文件中的第16行改为光盘/U盘的挂载点,即是第17行的内容
2.将另外两个baseurl,即第18行,19行(可能是你的第17行,18行)注释掉,如果不注释掉,也不影响使用,只是会报两个找不到该路径的错误.
3.将第21行(可能是你的第20行)的0改为1,即是第22行的内容,是该文件生效.
这里注释以下该文件的容器名是[c7-media]
通过yum list 可以查看到列表中的容器名称正是[c7-media],本地yum源代表替换成功


 

注意: 有的程序员包括我在内,喜欢在一行代码后面注释,或者喜欢在代码前(非该行行首)添加#,如下图

 

注意,如果是这样注释的话,通过yum list 可以查看到,容器的名称已经发生了变化,同时,可以尝试一下安装

尝试使用yum install 安装一下zlib.x86_64

yum -y install zlib

 

 可以看到报了一些错误,现在让我们把注释给改回来.

 

 再次使用yum list  查看一下,容器名变回 CentOS.Media.repo 里面定义的容器名

 

再次使用yum install 安装一下zlib 提示已经安装过了,询问是否需要更新

 

 

 

posted @ 2021-11-11 11:03  Gnbp  阅读(109)  评论(0编辑  收藏  举报