yum 仓库

简介: yum 仓库

一,yum仓库

(一)yum简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间

(二)yum 实现过程

要有安装包

安装包来源:

1.光驱里自带挂载提供软件包

2.网络下载到本地

3.直接通过网络

Packages文件夹       repodata文件夹(元数据    软件的依赖关系,软件的位置   )

(三),yum 配置文件

1,主配置文件

位置:/etc/yum.conf

基本不需要动 默认就好

[root@localhost]# /etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7

keepcache=0                                   //是否保存缓存  0代表不保存,1代表保存

debuglevel=2                                  //调试级别了解即可

logfile=/var/log/yum.log                     // 日志文件位置

exactarch=1                                     //是否允许不同版本的rpm安装

obsoletes=1                                    //update 的一个参数是否可以允许旧版本的运行    

gpgcheck=1                                  //验证秘钥

plugins=1                                   //是否允许插件1代表可以

installonly_limit=5                         //保存几个内核 5代表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

yum的repo配置文件中可用的变量:

$releasever: 当前OS的发行版的主版本号,如:8,7,6

$arch: CPU架构,如:aarch64, i586, i686,x86_64等

$basearch:系统基础平台;i386, x86_64

$contentdir:表示目录,比如:centos-8,centos-7

$YUM0-$YUM9:自定义变量

2,仓库配置文件

位置:/etc/yum.repos.d/*.repo

一定是 .repo 结尾

3,日志文件

位置:/var/log/yum.log

(四)yum 命令详细解释

命令 不加关键字 加入关键词、软件包、软件包组
yum list 显示所有可用包 单个的可安装包
yum info 显示所有可用包的信息 单个具体的信息
yum search \ 模糊查找所有的相关信息
yum provides \ 精确查找
yum grouplist 显示所有可用包组 显示具体的包组
yum groupinfo 显示所有的包组具体信息 显示具体的包组的具体信息
yum install \ 安装具体软件包
yum groupinstall \ 安装具体软件包组
yum update 所有软件升级 具体软件升级
命令 不加关键字 加入关键词、软件包、软件包组
yum group update 所有包组升级 具体包组升级
yum remove \ 卸载具体软件
yum groupremove \ 卸载具体包组软件
yum history 查看当前yum操作历史 \
yum history undo 加入序号卸载序号里安装的软件 \
yum history redo 加入序号重新执行序号里的操作 \

1,yum 查询相关命令

1.1 yum list [软件名]

显示可用的安装包,如不加软件名是显示所有的可用包

[root@localhost ~]# yum list httpd

[root@localhost ~]# yum list *httpd*

#包含httpd 的软件包

1.2 yum info [软件名]

可以理解为rpm -qi(已安装)

显示安装包详细信息,详情如下

[root@localhost ~]# yum info httpd

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

可安装的软件包

名称    :httpd

架构    :x86_64

版本    :2.4.6

发布    :67.el7.centos

大小    :2.7 M

源    :abc

简介    : Apache HTTP Server

网址    :http://httpd.apache.org/

协议    : ASL 2.0

描述    : The Apache HTTP Server is a powerful, efficient, and

           : extensible web server.

(如不加软件名是显示所有包的详细信息  )

1.3 yum search <关键词>

根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来

[root@localhost ~]# yum search ftp

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

========================= N/S matched: ftp =========================

ftp.x86_64 : The standard UNIX FTP (File Transfer Protocol) client

tftp.x86_64 : The client for the Trivial File Transfer Protocol

           : (TFTP)

tftp-server.x86_64 : The server for the Trivial File Transfer

                  : Protocol (TFTP)

vsftpd.x86_64 : Very Secure Ftp Daemon

curl.x86_64 : A utility for getting files from remote servers (FTP,

           : HTTP, and others)

lftp.x86_64 : A sophisticated file transfer program

1.4 yum provides <关键词>

你知道某个命令却不知道具体的包可以用此命令查找

写绝对路径

当不知道绝对路径 前面写*

1.5 yum grouplist [包组名]

安装包组的查询 不加包组名 就是显示所有

1.6 yum groupinfo <包组名>

不加包组名显示全部

2, yum 安装升级相关命令

2,1 yum install [软件名]

安装软件包,如例子yum install安装http服务    加  -y

2.2 yum groupinstall <包组名>

包组安装同yum install

yum group install gnome desktop -y

2.3  yum update

更新包组,可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新。

2.4 yum groupupdate

组包更新和单个安装包更新差不多

3,yum软件卸载

3.1yum remove <软件名>

卸载已安装的软件必须加软件名

3.2yum groupremove <包组名>

同软件包卸载不做赘述

3.3 yum history

查看历史的使用记录

具体使用环境:

① 直接卸载,只能卸载主包,载不了依赖关系

②  找到 history

yum history info 7

  再undo

可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除

yum history redo 4 (再来一次)

yum history undo 6 (取消操作)

(五)搭建仓库的方式

1,搭建阿里云仓库 (http方式外网环境)

1.1 目的:国外云仓库比较慢,可以使用阿里云仓库代替

1.2切换到 yum.repo.d 目录 将自带的仓库移走

[root@localhost ~]# cd /etc/yum.repos.d/

[root@localhost yum.repos.d]# mkdir bak

[root@localhost yum.repos.d]# mv *.repo bak/

[root@localhost yum.repos.d]# ls

bak

1.3   手搓阿里云仓库

[ali]

name=aliyun

#baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/                  

gpgcheck=0

1.4 手搓额外元仓库

[epel]                                                                //epel源仓库

name=epel

baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/

gpgcheck=0

1.5 手搓更新包仓库

[update]                                                             //更新包仓库

name=update

baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/

gpgcheck=0

注意:1,baseurl=后面可接多条地址

          2,这个地址一定要到   能看到元数据和安装包的页面

2,ftp方式搭建云仓库

2.1  实验目的:

生产环境中,让一台机器(服务机)单独作为软件安装存储机器,其他机器可省下更多的空间

服务机:

2.2 服务机下载 vsftpd

2.3 服务机  启动vsftpd 程序

2.4  在  /var/ftp/   新建一个ccc文件夹    并将光盘挂载到这个文件里

这样我们使用ccc  这个文件夹等于使用  光盘了(光盘里有packages  和元数据)

2.5   去到客户机

把有干扰的网络元全部移走

2.6  手搓一个  本地元

3,http 方式搭建云仓库

3.1  实验目的:

生产环境中,让一台机器(服务机)单独作为软件安装存储机器,其他机器可省下更多的空间

步骤与ftp方式搭建云仓库 基本一致

2通过httpd 协议搭建内网yum仓库服务器

服务端:

systemctl   stop  firewalld

seteforce   0

yum  install  httpd
systemctl  stop  nginx

systemctl  start   httpd

cd  /var/www/html

mkdir   centos7

mount /dev/sr0      /var/www/html/centos7

客户端

systemctl   stop  firewalld

seteforce   0

cd  /etc/yum.repos.d

mkdir  bak

mv *.repo   bak

vim  http.repo

[http]

name=http

baseurl=http://192.168.91.100/centos7  

gpgcheck=0

5,把 epl源下载到本地    使用

5.1 实验目的:防止以后没网,也要下载网络元的软件,服务机先把网络仓库下到本地,

5.2  此项实验和    实验6相似

5.3   先下载额外元

[root@localhost ~]#yum install epel-release

#安装epel源    生成epel仓库文件

5,4   同步epl 元   到指定文件夹

[root@localhost ~]# reposync -r epel -p /root/

#下载同步epel源  根据epel仓库文件去找目录

5.5   此时我们现在只有安装包(packages)                   所以我们需要安装     建立元数据的命令

[root@localhost ~]# yum -y install createrepo

#安装建立元数据命令

5.6  建立元数据   这样   /root/ 有安装包也有元数据了

[root@localhost ~]# createrepo -v /root/epel

#建立元数据    软件目录  依赖关系  

6,自行打包后建立元数据yum仓库

6.1 实验目的:自研公司小软件 想要用yum安装

原理,要到该软件所有的安装包和依赖关系,手搓一个本地元    本地安装

6.2  假如tree  是我们自研的小软件,想要用yum安装

6.3  将安装包  挪到我们新建的 /data/test/packages/    

6.4  createrepo    -v   /data/test/

在/data/test/   生成元信息

6.5   我们看到  /data/test/        有我们安装软件不可缺少的两项   安装包和元数据了

6.6  避免干扰,将网络元移走,手搓一个本地元

6.7  清除缓存,重新下载元数据

6.8 安装成功

7,离线安装软件

7.1实验目的:客户机没有任何网 ,服务机只下载不安装,再把安装包一个一个拷给客户机

7.2  --downloadonly #只下载不安装

       --downloaddir=绝对目录路径  #下载到某一目录  

7.3  ls  /opt     然后再导给客户机就好

 

 

二,误删rpm 命令补救方法

1,rpm -e rpm

直接删除   是删除不掉的

2,rpm -e rpm --nodeps

需要强制删除        (--nodeps #忽略依赖关系)

3,关机重启   321  进入急救模式

4, 把rpm 从光驱 装进根

三, 将文件制作成镜像(光盘)

mkisofs -r -o  /root/xxx.iso  /data/centos7/epel

制作成镜像

四,升级内核

分为编译安装内核       和yum安装内核

此次展示yum安装内核

1, 安装   yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

2, 会新增一个元

3,改 元配置文件

4, 找到  内核 5, 看本机目前的内核

6,找到  lt 版本的主包

7, 升级内核

8,升级内核后,并不会覆盖原来的内核   开机界面可选

相关文章
|
6月前
|
缓存
详解CentOS8更换yum源后出现同步仓库缓存失败的问题
详解CentOS8更换yum源后出现同步仓库缓存失败的问题
360 0
|
Linux 应用服务中间件 nginx
CentOS7搭建yum源仓库(阿里源)
CentOS7搭建yum源仓库(阿里源)
1949 0
|
存储 Linux 索引
CentOS7下同步阿里云CentOS7镜像并自建本地yum仓库
CentOS7下同步阿里云CentOS7镜像并自建本地yum仓库
2165 0
CentOS7下同步阿里云CentOS7镜像并自建本地yum仓库
|
3月前
|
缓存 Linux 网络安全
解决 CentOS 7 官方 yum 仓库无法使用的最佳实践
【8月更文挑战第18天】若 CentOS 7 的官方 YUM 仓库无法使用,可按以下步骤解决: 1. **检查网络连接**: - 确认服务器能正常上网,可通过访问外部网站或网络诊断测试。 - 检查防火墙设置,避免其阻挡 YUM 的网络访问。 2. **检查 YUM 配置**: - 核实 `/etc/yum.repos.d/` 下的 `CentOS-Base.repo` 文件中仓库地址正确无误。 - 确认配置文件内的 `enabled` 选项设为 `1` 以启用仓库。
1533 0
|
5月前
|
Ubuntu Python
银河麒麟-麒麟软件操作系统 kylin 搭建yum源 ubuntu搭建yum源 yum软件仓库搭建ftp源、python源、硬盘源
银河麒麟-麒麟软件操作系统 kylin 搭建yum源 ubuntu搭建yum源 yum软件仓库搭建ftp源、python源、硬盘源
695 1
|
6月前
|
缓存 Linux 测试技术
搭建本地YUM仓库
在Redhat 9系统中,通过挂载系统安装盘到/mnt,然后创建本地YUM仓库以实现软件包管理。首先查看磁盘挂载情况,将ISO镜像挂载到/mnt。接着,备份`/etc/yum.repos.d/`目录内容,删除原有仓库,创建`loaclhost.repo`文件并配置指向/mnt中的Package目录。运行`yum clean all`清除缓存,`yum makecache`建立元数据。最后,成功通过新配置的本地仓库安装了bind软件及其依赖。
241 3
|
6月前
|
缓存
简易yum仓库搭建
简易yum仓库搭建,实验准备,获取yum仓库、安装httpd,客户机配置yum源,测试、验证
132 0
|
缓存 安全 网络协议
部署YUM仓库及NFS共享服务
部署YUM仓库及NFS共享服务
226 0
|
缓存 运维
【运维知识进阶篇】一键部署yum本地仓库
【运维知识进阶篇】一键部署yum本地仓库
440 0
|
分布式计算 Linux 5G
YUM仓库服务
YUM仓库服务
368 0

热门文章

最新文章