yum简介
安装的软件(linux):
1.rpm:安装和卸载都需要依赖包
2.编译安装:将源码编译后可以使用,自由度高,
3.yum:升级版的rpm安装,底层原理还是rpm,需要客户端和服务端配合使用
4.二进制安装:省去了编译安装的步骤,直接将包拷贝过来就可以了
yum配置文件位置
位置:/etc/yum.conf #主配置文件
位置:/etc/yum.repos.d/*.repo #yum仓库文件位置
位置:/var/log/yum.log #日志文件(直接cat查看)
yum仓库配置文件说明
位置:/etc/yum.repos.d/*.repo
系统内默认的yum仓库,是centos官方的yum源(国外源),需要连通外网才可以使用。
vim hyh.repo #本地yum仓库配置文件格式 [hyh] name=hyh #设置名称 baseurl=file:///mnt #设置链接地址,file://是本地源的固定格式 gpgcheck=0 #是否验证公钥,0表示无需验证
yum仓库配置文件中baseurl的几种形式:
本地源 本地目录: file:// FTP源 FTP服务: ftp:// 网络源 http:// https://
yum源
舍弃官方源,使用国内源 base:基础源 安装包是有限的 nginx 不在base
extra:额外源
epel:第三方源 先要配置 epel 源才可以装nginx
update:更新源
yum命令详解
命令 | 不加关键字 | 加入关键词,软件包,包组 | 例子 |
---|---|---|---|
yum list | 显示所有可用包 | 单个的可安装包(支持通配符) | yum list httpd yum list * http * #包含httpd的软件包 |
yum info | 显示所有可用包的信息 | 单个具体的信息 | yum info httpd #查看httpd的详细信息 |
yum search | \ | 模糊查找包含该字符所有的相关安装包 | yum search ftp #显示所有软件包里包含ftp的软件包 |
yum provides | \ | 精确查找该命令来源于哪个包(加路径) | #yum provides */mime.types #加上通配符 |
yum groupinfo | 显示所有的包组具体信息 | 显示具体的包组的具体信息 | yum grouplistyum grouplist [包组名] |
yum install | \ | 安装具体软件包 | yum install httpd |
yum group install | \ | 安装具体软件包组 | yum group install [包组名] |
yum update | 所有软件升级 | 指定软件升级 | yum upgrade |
yum group update | 所有包组升级 | 具体包组升级 | yum groupupdate |
yum remove | \ | 卸载具体软件,只能卸载一个 | yum remove httpd |
yum groupremove | \ | 卸载具体包组软件 | yum groupremove <包组名> |
yum history | 查看当前yum操作历史 | \ | |
yum history undo | 加入序号卸载序号里安装的软件 | \ | |
yum history redo | 加入序号重新执行序号里的操作 | \ | |
yum history info | \ | 查看具体的信息 |
安装图形化
#如无法使用请先升级
yum -y upgrade
#再安装
yum -y groups install "GNOME Desktop"
yum 内核升级
内核一般不升级,当出现重大bug 的时候才会升级
编译难度过大,建议使用yum
yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
生成仓库文件 内核库默认关闭打开就可以了(在etc/yum.repos/elrepo.repo)
yum repolist all
vim elrepo.repo yum list kernel yum install kernel-lt.x86_64 -y
验证文件:/etc/pki/rpm-gpg/下
下载依赖包到本地(但不安装)离线使用yum
当内网的一台主机安装某个软件包却缺少依赖包时,可以先由一台可连接外网的服务器下载依赖包,之后共享给这台主机。
这时可以使用“yum install --downloadonly”命令,该命令可以仅下载所需软件及其依赖包、而不安装软件,大大减少了无外网安装时找依赖包的问题。命令格式如下:
yum install --downloadonly +软件名称 --downloaddir=指定rpm包存放路径
例如,下载nginx所需要的依赖包到/data/目录下:
yum install nginx --downloadonly --downloaddir=/data/
搭建本地epel源仓库
本地epel源仓库的应用场景:
-
没有外网又想使用这个epel源,可以提前搭建本地epel源仓库。
-
在一台可连通外网的服务器中提前下好epel源的所有软件包,编好仓库文件后,在离线的情况下也可以使用yum安装软件包。
-
之后其他主机可以通过http方式或ftp方式使用服务端的epel源仓库
操作步骤:
1.安装epel源,并下载epel源的所有软件包
yum install epel -release
#安装epel源
mkdir hhh
#新建hhh目录
reposync -r epel -p /hhh/&
#下载同步epel源软件包,下载到/hhh/目录下,&表示放到后台下载
2.安装createrepo命令(建立元数据的命令),之后使用createrepo命令建立元数据。
yum -y install createrepo
#安装createrepo命令
createrepo -v /hhh/epel
#建立元数据(软件目录、依赖关系)
cd /hhh/epel
#切换到hhh/epel的目录下
ls #查看软件包和元数据
packages repodata
3.切换到/etc/yum.repos.d目录,移走默认仓库文件,编写新的仓库文件。
cd /etc/yum.repos.d/
#切换至/etc/yum.repos.d/目录
mkdir hyh
#创建一个名为aaa的新目录
mv *.repo hyh
#将yum仓库中以.repo结尾的文件移动到aaa中
vim hyh.repo
#新建yum仓库文件
[hyh]
name=hyh #设置名称
baseurl=file:///hhh/epel #设置链接地址,路径指向/hhh/epel目录
gpgcheck=0 #无需验证
其他主机如果想使用这台机器中的epel仓库,可以在本地使用http或ftp方式搭建:
baseurl=http://192.168.72.10/hhh/epel #http方式
baseurl=ftp://192.168.72.10/hhh/epel #ftp方式
误将rpm删除
光盘里有rpm
重启进入急救模式,3,2,1
rpm -ivh /run/install/repo/Packages/rpm-4.11.3-25.c17.x86_64.rpm --/root/mnt/sysimage/
自建元信息
mount /dev/sr0 /mnt/
cp /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
mkdir test
mv tree-1.6.0-10.el7.x86_64.rpm test/
cd test
mkdir packages
mv tree-1.6.0-10.el7.x86_64.rpm packages/
createrepo -v test
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak/
vim tree.repo
[tree]
name=tree
baseurl=file:///data/test
gpgcheck=0
yum clean all
yum makecache
yum install tree -y