IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux搭建YUM仓库安装软件(Centos 7.5) -> 正文阅读

[系统运维]Linux搭建YUM仓库安装软件(Centos 7.5)

简介:在搭建yum仓库前,应先对Linux系统有一个简单的认识,要理解挂载的概念,对Linux系统的文件对应的目录有一定的认识。

在工作中,我们通过rpm安装软件,经常会出现不能一步到位,还需要好多的依赖软件,安装软件比较麻烦,为了提高效率采用yum安装软件。

1.什么是yum?

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

2.yum运行机制

我们在Linux系统上安装处理软件,一般是使用RPM,它是通过预先编译完成并且把软件打包为RPM文件格式后,再加以安装的一种方式,使用者只要拿到这个打包好的软件,然后将里头的文件放置到应该摆放的目录,这样就完成了安装。但是,由于有些软件是有依赖于其他软件的,当你要安装某个RPM类型的软件时,RPM会检验RPM软件数据库,它所依赖的相关软件包是否都已存在,如果没有检索到,那么这个RPM文件默认就不能安装。甚至是有些包之间还会存在循环依赖,这时RPM就不能快速有效的进行软件安装了。
对于RPM的上述局限性,yum的出现就解决了包之间的依赖性的问题。RPM是把软件依赖关系储存在本地数据库里。那我们在安装软件的时候,如果先到数据库里找到所有依赖包的列表,再检索哪些已经安装到本地,然后把剩下没安装的一起安装,这样就可以解决包依赖性的问题了,这就是yum机制的由来。

3.yum执行流程

各版本发行商都会释放出软件并放置于yum服务器上,所以yum服务器储存有我们各种所需的软件。yum服务器不仅存储了各种RPM包,还有包的相关的元数据文件(放置于特定目录repodata下),前面提到的包的依赖性关系就储存在元数据文件中。这些文件与RPM软件包所在的本地或网络位置就被称为yum仓库(yum repo)。当用户端有软件安装或升级的需求时,用户端会访问yum服务器下载或更新RPM软件列表并存在本机缓存列表中,然后通过缓存列表与本地RPM数据库相比对,筛选出缺少哪些RPM软件包并根据yum仓库储存的路径下载(可以是本地,也可以是网络),最后通过RPM机制一并进行安装。

?3.搭建yum仓库的命令以及一些文件

/etc/yum.conf:为所有仓库提供公共配置

/etc/yum.repos.d/*.repo:为仓库的指向提供配置

搭建yum仓库需要的一些命令和参数

* [repositoryID]
? ? ? ? #仓库的名字,具有唯一性,标识repo的指向
? ? ? * name=Some name for this repository
? ? ? ? #仓库描述信息
? ? ? * baseurl=url://path/to/repository/
? ? ? ? #指明repo的访问路径,通常为一个文件服务器上输出的某repo
? ? ? ? #文件服务器类型
????????????????http://SEVER/PATH/TO/REPOSITORY
????????????????https://SEVER/PATH/TO/REPOSITORY
????????????????ftp://SEVER/PATH/TO/REPOSITORY
????????????????file:///PATH/TO/REPOSITORY
? ? ? * enabled={1|0}
? ? ? ? #此仓库是否可被使用
? ? ? * gpgcheck={1|0}
? ? ? ? #是否对RPM包做检验
? ? ? * gpgkey=url://path/to/keyfile/
? ? ? ? #指明gpgkey文件路径
? ? ? * enablegroups={1|0}
? ? ? ? #是否启用包组
? ? ? * failovermethod={roundrobin|priority}

? ? ? ? #设置baseurl有多个时的优先级
????????????????? roundrobin:随机挑选,默认值
? ?????????????????priority:按顺序访问
? ? ? * cost=?
? ? ? ? #指明仓库的访问开销,默认为1000

4.搭建yum仓库

/etc/yum.conf? 不需要更改配置,默认就可以

只需要在/etc/yum.repos.d/目录下创建newbase.repo的配置文件

本地YUM源搭建

1.先将/etc/yum.repos.d/目录下的东西备份一下,防止出错后的回退

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@localhost yum.repos.d]# mkdir /etc/yum.repos.d.bak
[root@localhost yum.repos.d]# cp * /etc/yum.repos.d.bak

2.创建一个新的.repo的配置文件

[root@localhost yum.repos.d]# vi centos.repo 
[root@localhost yum.repos.d]# cat centos.repo
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enable=1

?3.将本地镜像挂载到/mnt目录下

[root@localhost yum.repos.d]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost yum.repos.d]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   36G  7.9G   28G   23% /
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G   13M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1               1014M  170M  845M   17% /boot
tmpfs                    378M  4.0K  378M    1% /run/user/42
tmpfs                    378M   32K  378M    1% /run/user/0
/dev/sr0                 4.2G  4.2G     0  100% /mnt

备注1:以光盘方式挂载。

备注2:/dev/cdrom挂载不上可以用/dev/sr0挂载

[root@localhost ~]# mount /data/CentOS-7-x86_64-DVD-1804.iso /mnt -o loop
mount: /dev/loop0 写保护,将以只读方式挂载

备注3:以本地磁盘方式挂载

备注4:多用这种方式mount -o loop -t iso9660 /data/CentOS-7-x86_64-DVD-1804.iso ?/mnt

4.yum测试

[root@localhost yum.repos.d]# yum repolist 
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识                                                                                      源名称                                                                                      状态
centos                                                                                      centos                                                                                      3,971
repolist: 3,971

5.yum命令用法

yum repolist: 列出已经配置的所有yum仓库

1 安装
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1

2 更新和升级
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1

3 查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包

4 删除程序
yum remove/erase package1 删除程序包package1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况

5 清除缓存
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-16 11:42:51  更:2021-07-16 11:45:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 12:41:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码