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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/181807.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GEE数据集——2019、2020、2021、2022和2023年全球固定宽带和移动(蜂窝)网络性能Shapefile 格式数据集

全球固定宽带和移动(蜂窝)网络性能 全球固定宽带和移动(蜂窝)网络性能,分配给缩放级别 16 网络墨卡托图块(赤道处约 610.8 米 x 610.8 米)。数据以 Shapefile 格式和 Apache Parquet 格式提供&…

3.线性神经网络-3GPT版

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 线性回归基础优化算法一、线性回归1、买房案例2、买房模型简化3、线性模型4、神经网络5、损失函数6、训练数据7、参数学习8、显示解9、总结 二、 基础优化算法1、梯度下降2、学习率3、小批量随机梯度下降4、批量大小5、…

项目实战:通过axios加载水果库存系统的首页数据

1、创建静态页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><link rel"stylesheet" href"style/index.css"><script src"script/axios.mi…

版本控制系统-SVN

SVN Apache Subversion 通常被缩写成 SVN&#xff0c;是一个开放源代码的版本控制系统。 官网&#xff1a;https://subversion.apache.org 资料&#xff1a;https://svnbook.red-bean.com、https://www.runoob.com/svn/svn-tutorial.html 下载&#xff1a;https://sourceforg…

5.数据表基本操作

目录 1.创建数据表 创建数据表的语法格式&#xff1a; 查看当前数据库的表&#xff1a; 主键 1.单字段主键 (1)在定义列的同时指定主键&#xff0c;语法规则如下&#xff1a; (2)在定义完所有列之后指定主键。 2.多字段联合主键 外键&#xff1a; 非空约束&#xff1…

周报4_YMK

FlashAttention 硬件知识 以 A100 (40GB HBM) 为例&#xff0c;下面显示其内存层次结构的粗略图。SRAM内存分布在108个流式多处理器(SMs)上&#xff0c;每个处理器192KB。片上SRAM比HBM快得多&#xff0c;但比HBM小得多&#xff0c;在计算方面&#xff0c;使用Tensor Core的B…

【漏洞复现】Aapache_Tomcat_AJP协议_文件包含漏洞(CVE-2020-1938)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证 说明内容漏洞编号CVE-2020-1938漏洞名称Aapache_Tomcat_AJP文件包含漏洞漏洞评级高…

thinkPHP5怎么打开页面调试,查看网页运行时间

开启trace 在config.php中找到 ‘app_trace’ > false, 修改为&#xff1a; ‘app_trace’ > true,

环形链表和相交链表OJ题

环形链表和相交链表OJ题 这篇博客详细讲解了环形数组和相交数组的问题 文章目录 环形链表和相交链表OJ题一、环形链表e.g.1e.g.2 二、相交链表 一、环形链表 环形列表是指尾结点next不指向NULL了&#xff0c;而是指向包括自己的前面任意一个结点。 e.g.1 题目及要求&#xf…

线程的创建、等待、退出

多线程开发在Linux平台上已经有成熟的pthread库支持&#xff0c;所以使用pthread库在编译时要加上-pthread。其设计的多线程开发的基本概念主要包含3点&#xff1a;线程、互斥锁、条件。其中线程操作又分线程的创建、退出、等待三种。互斥锁包含4种操作&#xff0c;分别是创建、…

【Windows】Google和火狐浏览器禁用更新的操作方式

想必很多网民常用的浏览器是Edge&#xff0c;Google&#xff0c;火狐这三种&#xff0c;但是浏览器都有后台自动更新&#xff0c;更新提示会一直显示&#xff0c;要用户去点击才关掉&#xff0c;有点强迫症的用户就会想要把它一直关掉&#xff0c;可每次打开都关不掉&#xff0…

中期科技:智慧公厕打造智能化城市设施,提升公共厕所管理与服务体验

智慧公厕是利用先进的技术和创新的解决方案来改进公厕的设施和管理。借助物联网、互联网、5G/4G通信、人工智能、大数据、云计算等新兴技术的集成&#xff0c;智慧公厕具备了一系列令人惊叹的应用功能。从监测公厕内部人体活动状态、人体存在状态&#xff0c;到空气质量情况、环…

软件开发项目文档系列之十如何撰写测试用例

目录 1 概述1.1 编写目的1.2 定义1.3 使用范围1.4 参考资料1.5 术语定义 2 测试用例2.1 功能测试2.1.1 用户登录功能2.1.2 商品搜索功能 2.2 性能测试2.2.1 网站响应时间2.2.2 并发用户测试 附件&#xff1a; 测试用例撰写的要素和注意事项附件1 测试用例要素附件2 测试用例的注…

虹科示波器 | 汽车免拆检修 | 2010款江铃陆风X8车发动机怠速抖动、加速无力

一、故障现象 一辆2010款江铃陆风X8车&#xff0c;搭载4G6GS4N发动机&#xff0c;累计行驶里程约为20万km。该车在其他修理厂进行发动机大修&#xff0c;维修后试车&#xff0c;发动机怠速抖动、加速无力。用故障检测仪检测&#xff0c;发动机控制模块&#xff08;ECM&#xff…

时间序列预测模型实战案例(八)(Informer)BestPaper论文模型Informer代码实战讲解

论文地址->Informer论文地址PDF点击即可阅读 代码地址-> 论文官方代码地址点击即可跳转下载GIthub链接 本文介绍 本篇博客带大家看的是Informer模型进行时间序列预测的实战案例&#xff0c;它是在2019年被提出并在ICLR 2020上被评为Best Paper&#xff0c;可以说Inform…

postman做接口测试

之前搞自动化接口测试&#xff0c;由于接口的特性&#xff0c;要验证接口返回xml中的数据&#xff0c;所以没找到合适的轮子&#xff0c;就自己用requests造了个轮子&#xff0c;用着也还行&#xff0c;不过就是case管理有些麻烦&#xff0c;近几天又回头看了看postman也可以玩…

【漏洞复现】Metinfo6.0.0任意文件读取漏洞复现

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现代码审计漏洞点 1.5、深度利用EXP编写 1.6、漏洞挖掘1.7修复建议 1.1、漏洞描述 漏洞名称&#xff1a;MetInfo任意文件…

强大的pdf编辑软件:Acrobat Pro DC 2023中文

Acrobat Pro DC 2023是一款强大的PDF编辑和管理软件&#xff0c;它提供了广泛的功能&#xff0c;使用户能够轻松创建、编辑、转换和共享PDF文档。通过直观的界面和先进的工具&#xff0c;用户可以快速进行文本编辑、图像调整、页面管理等操作&#xff0c;同时支持OCR技术&#…

如何在苹果Mac系统设置中查看Wi-Fi密码?

在 Mac 上查找保存的 Wi-Fi 密码的最简单方法之一是从系统设置内的高级 Wi-Fi 首选项页面。您可以通过下面的方式访问此页面来查找您保存的 Wi-Fi 密码。 1.在 Mac 上&#xff0c;选取「苹果菜单」选择「系统设置」。 2.从侧边栏中选择「Wi-Fi」&#xff0c;单击「高级」。 3.…

OpenCV检测圆(Python版本)

文章目录 示例代码示例结果调参 示例代码 import cv2 import numpy as np# 加载图像 image_path DistanceComparison/test_image/1.png image cv2.imread(image_path, cv2.IMREAD_COLOR)# 将图像转换为灰度 gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 使用高斯模糊消除…