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()的时候,需…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...

云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...