Linux下yum源配置实战
一、Linux下软件包的管理
1、软件安装方式
① RPM包管理(需要单独解决依赖问题)
② YUM包管理(需要有网络及YUM仓库的支持,会自动从互联网下载软件,自动解决依赖)
③ 源码安装(安装过程比较复杂,源码安装三步走。优点:定制性很强)
软件:主线版(mainline),稳定版(stable)
2、源码安装的配置过程
在Linux系统中,源码安装一共分为三步(三步走):
第一步:配置过程(配置软件的安装路径)
第二步:编译过程(把软件由源代码编译成可以安装的程序)
第三步:安装过程(把编译后的程序进行安装)
# ./configure && make && make install
3、详解源码安装的配置过程(定制)
# cd 软件源码包
# ./configure [选项]
# ./configure --help
--prefix=... Directories to put files in /usr/local 软件家目录
--bindir=... $prefix/bin 命令的目录
--etcdir=... $prefix/etc 配置文件的目录 httpd => /etc/httpd/httpd.conf
--mandir=... $prefix/share/man man 文档路径
--locale=... $prefix/share/locale 语言编码
...
4、详解编译过程
# make
在Linux操作系统中,make主要功能就是将其他语言的源代码打包成Linux可以识别安装的程序。编译过程需要一个gcc软件(开发工具)的支持!
5、安装过程
# make install
6、axel多线程下载软件源码安装
第一步:获取axel多线程下载软件
第二步:上传axel软件包到Linux系统中
第三步:安装axel软件(源码安装三步走=>配置+编译+安装)
① 对软件进行解压缩操作
# tar -zxf axel-2.4.tar.gz 或 # tar -xf axel-2.4.tar.gz
② 使用cd命令切换到axel目录中
# cd axel-2.4
③ 对axel软件进行配置(不采用默认配置)
# ./configure --help Usage: ./configure [OPTIONS] Option Description Default --prefix=... Directories to put files in /usr/local --bindir=... $prefix/bin --etcdir=... $prefix/etc --mandir=... $sharedir/man --locale=... $sharedir/locale
设置axel软件的安装路径为/opt/axel
# ./configure --prefix=/opt/axel
④ 对axel软件进行编译与安装
# make # make install 或 # make && make install && :逻辑与,如果make编译成功会立即执行右边的make install安装程序,如果make编译失败,则以上程序会停止执行,然后抛出错误。
第四步:测试与使用
[root@yunwei ~]# axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7 bash: axel: command not found...
出现以上问题的主要原因在于:我们没有采用默认的安装方式,所以导致当我们执行axel命令时,其找不到对应的软件。
第五步:解决命令无法访问问题
第一种方式:采用软链接形式(类似Windows中的快捷方式) 第二种方式:使用环境变量(重要,Linux中的环境变量)
7、使用软链接解决command not found
# which axel /usr/bin/which: no axel in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) # ll /opt/axel/bin axel 解决方案:给/opt/axel/bin/axel创建一个快捷方式到/usr/local/bin # ln -s /opt/axel/bin/axel /usr/local/bin/axel 基本语法: # ln -s 源文件路径 软链接路径 # axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
8、使用环境变量解决command not found
环境变量
终端 => 命令 => 系统的环境变量(PATH => /etc/profile) => 一些命令的存放路径
axel多线程下载软件,通过源码的方式安装成功后,由于没有使用默认的安装路径,导致axel这个命令没有出现在系统的环境变量中,所以其会出现command not found。
第一步:查询当前系统的环境变量
# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
第二步:把axel所在目录添加到环境变量
① 使用vim编辑/etc/profile文件,追加到最后一行 # vim /etc/profile ... export PATH=$PATH:/opt/axel/bin # source /etc/profile => 代表让以上配置立即生效 ② 使用echo命令向/etc/profile文件中追加一行 # echo 'export PATH=$PATH:/opt/axel/bin' >> /etc/profile # source /etc/profile
第三步:测试axel命令是否可以使用
# axel http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
9、解决源码安装软件手册找不到问题
问题重现:
[root@localhost axel]# man axel No manual entry for axel 原因:找不到指定的man文档
解决方案:
[root@localhost axel]# vim /etc/man.config ... 增加如下内容: MANPATH /opt/axel/share/man
10、卸载源码安装的软件
第一步:进入到源码的安装包中 # cd axel-2.4 # make uninstall => 安装软件的安装包等程序 # make distclean => 卸载编译与配置过程 第二步:删除软件的目录 # rm -rf /opt/axel
二、YUM源概述
1、yum源作用
==软件包管理器==,类似360的软件管家

2、yum源优点
RPM安装(下载软件、单独安装、需要解决依赖关系)
源码安装(下载软件的源码包,解压,进入目录=>配置+编译+安装)
yum源:相当于rpm软件包管理的升级版
能够==解决软件包之间的依赖关系==,提高运维人员的工作效率。
yum源底层还是基于RPM进行软件安装操作的,所以yum安装软件后,我们也可以通过rpm -qa |grep 软件名称
3、yum源分类
☆ 本地yum源
yum仓库在==本地==(系统光盘/镜像文件) => 不需要网络的支持
☆ 网络yum源
yum仓库不在本地,在==远程==
-
国内较知名的网络源(aliyun源,163源,sohu源,知名大学开源镜像等)
阿里源:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
网易源:欢迎访问网易开源镜像站
搜狐源:Index of /
清华源:清华大学开源软件镜像站 | Tsinghua Open Source Mirror
-
国外较知名的网络源(centos源、redhat源、扩展epel源等)
-
==特定软件==相关的网络源(Nginx、MySQL、Zabbix等)
4、本机yum源备份(重要)
第一步:使用cd命令切换到/etc/yum.repos.d目录
# cd /etc/yum.repos.d/
第二步:对所有的仓库文件进行备份
# tar -zcf repo.tar.gz *.repo
第三步:删除所有的以.repo结尾的仓库文件
# rm -rf *.repo
三、本地YUM源配置
1、本地YUM配置
① 使用光盘镜像作为YUM源仓库
② 下载很多软件,使用软件包作为YUM源仓库
2、使用光盘镜像作为YUM源仓库
第一步:在VMware系统中装在CentOS7.6系统的光盘镜像

第二步:把光盘挂载到某个目录下
# cd ~ # rm -rf /mnt/* # mount -o ro /dev/sr0 /mnt 选项说明: -o :挂载方式,ro代表以readonly=>只读的方式进行挂载rw代表以read/write=>读写的方式进行挂载 # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP] sr0 11:0 1 4.3G 0 rom /mnt
卸载或解挂可以使用umount /mnt
第三步:把光盘挂载添加到开机启动文件中
# chmod +x /etc/rc.local # echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local
/etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行这个文件
第四步:编写本地YUM仓库文件
# cd /etc/yum.repos.d/ 创建一个以*.repo结尾的文件,名称任意 # vim local.repo [local] name=local yum baseurl=file:///mnt gpgcheck=0 enabled=1 # yum clean all # yum makecache # yum repolist all 注:file://本地协议路径,后面跟仓库的具体路径
yum仓库的标准格式
[仓库标识名称],名称任意,在一个文件中可以拥有多个标识
name=仓库名称
baseurl=仓库的路径,支持多种格式,file://本地路径,ftp://,http://或https://
gpgcheck=gpg密钥,值可以是0(代表不检测),1(代表检测,如果是1,下方还要定义一个gpgkey=密钥连接)
enabled=是否启动当前仓库,值可以0,也可以是1,默认为1,代表启动仓库
第五步:测试本地YUM仓库是否可用
# yum install httpd -y
3、扩展man 5
在Linux系统中,给定我们一个配置文件,怎么查询这个文件中每一个选项的作用呢?
# man 命令
扩展:man 5 配置文件名称
# man 5 yum.conf
四、网络YUM源配置
1、网络YUM源的分类
① 使用比较知名平台的YUM源(阿里云、腾讯、清华)
② 有些特定软件(如Nginx、MySQL、Zabbix等等)需要根据官网文档自定义网络YUM源
2、使用知名平台的YUM源
阿里源:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
网易源:欢迎访问网易开源镜像站
搜狐源:Index of /
清华源:清华大学开源软件镜像站 | Tsinghua Open Source Mirror
腾讯源、华为源...
百度搜索 => 华为 mirror镜像源
案例:配置阿里云的yum源
第一步:百度,搜索你想要的YUM源,进入官网,找到CentOS

第二步:根据官网提示,配置阿里云的YUM源
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # yum clean all # yum makecache
3、扩展:EPEL源配置
什么是EPEL源?
答:EPEL是对官网源的一个扩展。
CentOS-Base.repo文件 => 基础源(官方在带的YUM源)
epel.repo文件 => 扩展源,是对官方YUM源的一个补充
# yum install epel-release -y
比如:会跑的小火车就是在epel源中
# yum install sl -y # sl
4、特定软件的YUM源配置
比如特殊的几个软件,如Nginx、MySQL、Zabbix
Nginx:nginx news
MySQL:MySQL
Zabbix:Zabbix :: The Enterprise-Class Open Source Network Monitoring Solution
找到官方文档,把YUM源配置,写入到一下文件中(repo文件)
# cd /etc/yum.repos.d # vim nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
清理缓存:
# yum clean all # yum makecache
安装Nginx:
# yum install nginx -y
五、自建YUM源仓库
1、缓存安装软件包
什么时候需要缓存软件?
-
下次还需要安装相同版本的软件包
-
由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库
2、如何缓存软件安装包
# vim /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever 定义软件包的缓存路径 keepcache=1 1开启缓存;0关闭 debuglevel=2 logfile=/var/log/yum.log ...
3、把软件及依赖软件全部下载到某个路径
只下载不安装软件:
# yum install --downloadonly --downloaddir=保存路径 软件名称
案例:下载samba软件及依赖软件
# mkdir /soft # yum install --downloadonly --downloaddir=/soft samba
4、自定义YUM仓库
第一步:在系统中安装createrepo制作仓库的软件
# yum install createrepo -y
第二步:把/soft文件夹做成一个本地的自建仓库
# createrepo /soft
第三步:在/etc/yum.repos.d目录中创建一个soft.repo的仓库
# cd /etc/yum.repos.d/ # vim soft.repo [soft] name=soft yum baseurl=file:///soft gpgcheck=0 enabled=1
清理缓存+重建缓存:
# yum clean all # yum makecache
相关文章:
Linux下yum源配置实战
一、Linux下软件包的管理 1、软件安装方式 ① RPM包管理(需要单独解决依赖问题) ② YUM包管理(需要有网络及YUM仓库的支持,会自动从互联网下载软件,自动解决依赖) ③ 源码安装(安装过程比较…...
JSONP 跨域访问(2), JSONP劫持
JSONP 跨域访问(2), JSONP劫持 一, 利用 XSS 漏洞执行jsonp 1. 利用过程 发现有jsonp的请求: <script type"text/javascript" src"http://192.168.112.200/security/jsonp.php?callbackjsonpCallback"></script>向xss漏洞的位置注入代码…...
【java】实现自定义注解校验——方法一
自定义注解校验的实现步骤: 1.创建注解类,编写校验注解,即类似NotEmpty注解 2.编写自定义校验的逻辑实体类,编写具体的校验逻辑。(这个类可以实现ConstraintValidator这个接口,让注解用来校验) 3.开启使用自定义注解进…...
JavaScript基础入门03
目录 1.条件语句 1.1if 语句 1.1.1基本语法格式 1.1.2练习案例 1.2三元表达式 1.3switch 2.循环语句 2.1while 循环 2.2continue 2.3break 2.4for 循环 3.数组 3.1创建数组 3.2获取数组元素 3.3新增数组元素 3.3.1. 通过修改 length 新增 3.3.2. 通过下标新增 …...
P1903 [国家集训队] 数颜色 / 维护队列
带修改的莫队 带修改的莫队就是在基础莫队的基础上增加了一维属性,之前只需要维护l,r现在还需要维护一下时间t,排序还是先按照左端点块儿号排序,然后右端点块儿号排序,最后按时间排序。其它的都是差不多的。 #include…...
uniapp 请求接口的方式
在UniApp中,我们可以使用多种方式来发送请求接口。以下是几种常用的方式: 1、使用unmireuest方法:uni.reuest是uniApp提供的原生AP,可以发送HTTP请,我们可以通过传递一个图对象来设置请求的参数,RL、请求方法GET/POST…...
怎么查看当前vue项目,要求的node.js版本
要查看当前 Vue 项目所需的 Node.js 版本,你可以查看项目根目录下的 package.json 文件中的 engines 属性。该属性定义了项目所需的 Node.js 版本范围。 例如,以下是一个示例 package.json 文件: {"name": "my-vue-project&…...
QT5自适应
//集成屏幕自适应功能 QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); DEVMODE NewDevMode; //获取屏幕设置中的分辨率 EnumDisplaySettings(0, ENUM_CURRENT_SETTINGS, &NewDevMo…...
蓝桥杯官网练习题(日期问题)
题目描述 小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在 1960 年 1 月 1 日至 2059 年 12 月 31 日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采…...
PDF文件解析
一、PDF文件介绍 PDF是英文Portable Document Format缩写,就是可移植的意思,它是以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,PostScript咱也不懂,估计和SVG的原理差不多吧…...
初识微服务技术栈
认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构,这些架构之间有怎样的差别呢? 导学: 了解微服务的优缺点;了解微服务架构的演变过程&am…...
windows 下运行正常,但是linux下报错 : Could not find or load main class
使用指令 "sed -i s/\r$// xxxxxxx.sh",将 .sh 文件中的 "\r" 全部替换成空白符,即可解决问题 转转:https://www.cnblogs.com/cmxbky1314/p/12096611.html...
MySQL 数据目录和 InnoDB 表空间补充知识:详细结构
1. 数据目录 在Ubuntu下,MySQL的数据目录为/var/lib/mysql 1.1 数据库在文件系统中的表示 (1)创建数据库时,会在数据目录下创建一个与数据库名同名的子目录。(除了information_schema这个系统数据外) &…...
移远EC600U-CN开发板 day02
1.QuecPythonLVGL显示图片 由于官方提供的显示图片函数使用失败,为了能在屏幕上显示图片,通过对出厂脚本的分析,成功使用LVGL显示图片 (1)代码 import lvgl as lv from tp import gt9xx from machine import LCD from machine import Pin …...
visual studio Python 配置QGIS(qgis)教程
visual studio Python 配置QGIS(qgis)教程 这个教程全网独一份啊,博主是自己摸索出来的。 visual studio Python 配置QGIS(qgis)环境一共分为两部: 第一步安装QGIS: 下载链接如下 https://www…...
第二证券:消费电子概念活跃,博硕科技“20cm”涨停,天龙股份斩获10连板
消费电子概念7日盘中再度拉升,到发稿,博硕科技“20cm”涨停,光大同创、波长光电涨超10%,易德龙、向阳科技、得润电子、天龙股份、同兴达等涨停。 博硕科技强势涨停,公司昨日在接受安排调研时表明,公司从上…...
petalinux 2022.2 在 ubantu18.04 下的安装
下载 Ubuntu下载: https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso petalinux 下载: https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2022-2.html 安装虚拟机 安装…...
【进程与线程】进程与线程 QA
进程与线程常见知识点: 1、什么是进程、线程,有什么区别? 进程是资源(CPU、内存等)分配的基本单位,线程是CPU调度和分配的基本单位程序执行的最小单位)。同一时间,如果CPU是单核,只有一个进程在执行,所谓…...
电脑风扇控制软件 Macs Fan Control Pro mac中文版功能介绍
Macs Fan Control mac是一款专门为 Mac 用户设计的软件,它可以帮助用户控制和监控 Mac 设备的风扇速度和温度。这款软件允许用户手动调整风扇速度,以提高设备的散热效果,减少过热造成的风险。 Macs Fan Control 可以在菜单栏上显示当前系统温…...
【13】c++11新特性 —>call_once
在某些特定情况下,某些函数只能在多线程环境下调用一次,比如:要初始化某个对象,而这个对象只能被初始化一次,就可以使用std::call_once()来保证函数在多线程环境下只能被调用一次。使用call_once()的时候,需…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
