Linux CentOS7 yum仓库

news2024/11/25 18:58:50

        在windows下安装一个软件很轻松,只要双击setup或者.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松,因为我们不是在图形界面下。

本文我们将讨论如何在linux下安装一个软件。

一、linux软件安装方式

linux安装软件的三种方式:

使用rpm工具安装;使用yum工具安装;安装源码包

1.rpm

RPM是“Redhat Package Manager”的缩写,这是Redhat公司开发出来的。RPM是以一种数据库记录的方式来将你所需要的套件安装到你的Linux主机中的一套管理程序。也就是说,你的linux系统中存在着一个关于RPM的数据库,它记录了安装包以及包之间依赖相关性。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包之间存在着相互依赖的情况;卸载包时需要先把依赖包卸载掉,如果依赖包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。

每一个rpm包的名称都由“-”和“.”分成了若干部分。就拿a2ps-4.13b-57.2.el5.i386.rpm这个包来解释一下,a2ps为包名;4.13b则为版本信息;57.2.el5为发布版本号;i386为运行平台。其中运行平台常见的有i386,i586,i686,x86_64,需要注意的是cpu目前是分32位和64位的,i386,i586和i686都为32位平台,x86_64则代表为64位平台。另外有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。例如alacarte-0.10.0-1.fc6.noarch.rpm。

a.使用rpm命令安装扩展名为".rpm"的软件包

        格式:rpm [选项] RPM包文件

常用选项:

        -i:安装一个新的rpm软件包

        -h:以“#”号显示安装的进度

        -v:显示安装过程中的详细信息

        --force:强制安装所指定的rpm软件包

        --nodeps:安装软件时,忽略依赖关系

在安装软件时,一般选项-ivh,这样可以看到安装进度与安装信息。

.rpm包的一般格式:

https://img-blog.csdnimg.cn/2019042218251786.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0Mzk0MDkz,size_16,color_FFFFFF,t_70

b.升级或更新.rpm软件包

        格式:rpm [选项] RPM包文件

常用选项:

        -U:升级某个rpm软件,若原本未装,则进行安装

        -F:更新某个rpm软件,若原本未装,则放弃安装

        --nodeps:升级软件时,忽略依赖关系

c.卸载指定的.rpm软件包

        格式:rpm -e 软件名

        --nodeps:卸载软件时,忽略依赖关系

d.查询已安装的.rpm软件包

        格式:rpm  -q[子选项] [软件名]

常用子选项命令:

        -qa:查看系统中已安装的所有RPM软件包列表

        -qi:查看指定软件的详细信息

        -ql:查询指定软件包所安装的目录、文件列表

        -qc:仅显示指定软件包安装的配置文件

        -qd:仅显示指定软件包安装的文档文件

2.yum

yum是软件包管理器,是Linux环境安装软件包的方式之一。yum可以方便地进行rpm包的安装、升级、査询和卸载,而且可以自动解决依赖性问题,非常方便和快捷。

对于安装有依赖包的软件,用yum命令特别方便,如果用rpm命令,就必须要先装依赖包再装软件包,而yum命令会直接匹配依赖包然后直接安装。

3.源码编译

首先说一下使用源代码安装软件的优点:

可以获得最新的软件,及时修复bug;根据用户的需求,灵活定制软件功能。

编译安装源包必须要有源代码编译环境。

编译源代码步骤:

https://img-blog.csdnimg.cn/20190421141838279.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI0Mzk0MDkz,size_16,color_FFFFFF,t_70

configure、Makefile一般是项目管理器自动生成的,而gcc编译器需要安装。

二、yum仓库

Linux系统各发行版本采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放在软件仓库中,进行有效地组织和管理。然后,将软件仓库置于许许多多的镜像服务器中,并保持基本一致。这样,所有的Linux用户随时都能获得最新版本的安装软件包。因此,对于用户,这些镜像服务器就是他们的软件源(Reposity)。然而,由于用户所处的网络环境不同,不可能随意地访问各镜像站点。为了能够有选择地访问,在Linux各发行版本中,使用软件源配置文件列出最合适访问的镜像站点地址。

Yum(全称为Yellow dog Updater Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

1.yum配置文件

/etc/yum.conf配置文件

yum.conf文件是用来存储yum配置信息的文件,虽然yum.conf文件通常都比较简洁,却是yum软件管理器的重要组成部分。

etc/yum.repos.d/目录下*.repo文件

repo文件是yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用。

2.yum工作原理

执行yum命令时,会首先从“/etc/yum.repo.d”目录下的众多repo文件中取得软件仓库的地址并下载“元数据”,“元数据”包含注册于该软件仓库内所有软件包的包名及其所需的依赖环境等信息,yum得到这些信息后会和本地环境做对比,进而列出确认需要安装哪些包,并在用户确认后开始安装。

“元数据”由位于yum源服务器相关路径的repodata目录下的repomd.xml做索引。

3.yum工作流程

服务器端:在服务器上面存放了所有的rpm软件包,然后以相关的功能去分析每个rpm文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。

客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的记录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

三、配置仓库源

yum仓库可以是本地的,也可以是http(超文本传输协议)、ftp(文件传输协议)、nfs(网络文件系统)形式的网络仓库 ,要使用网络yum源,你的主机必须是正常联网的。

默认情况yum源的配置文件是在/etc/yum.repos.d目录下,打开/etc/yum.repos.d,可以看到yum源默认用的是CentOS官网的。

配置yum就是把原来的/etc/yum.repos.d/下的所有*.repo文件备份(或删除),再创建同名的*.repo文件。

其中CentOS-Base.repo是基础源文件,而epel.repo是扩展源文件。配置yum源的目的主要就是修改这两个文件。

1.本地源

以linux程序源为基础,在系统中设置“.iso源”挂载连接,以安装其他软件。

主要原理与过程:

a.首先进行“虚拟机设置”

b.在系统根目录下新建一个目录,如/repo/

c.将系统安装光盘挂到根/repo/目录下

        mount /dev/cdrom/ /repo

d.全部删除(或备份到其他目录下,如backup/)在/etc/yum.repos.d/目录下的*.repo文件

e.在/etc/yum.repos.d/目录下新建一个xxx.repo的yum源文件,如新建yum源文件名称为local.repo,并在文件中输入下面的内容:

        [local_server]   #yum源名称

        name=This is a local repo  #yum源名称可以自定义

        baseurl=file:///repo

        # 上面一行后面不能跟着添加注释

        # yum源所在的本地路径,file://是指本地硬盘上

        enabled=1

        gpgcheck=1

        gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

        # gpgcheck=0   # =0 不校验软件包是不是官方发布的;=1 校验

f.文件保存

文件输入完成后保存并退出,查看/etc/yum.repos.d目录下已生成一个loacl.repo的文件。

g.  清空缓存

        yum clean all

h.  重新加载库

        yum repolist

这样就可以用yum源安装软件包了。

使用yum命令来安装软件包

        格式:yum  [-y] install  软件名

-y:如果使用-y,那么在安装软件时命令行就不会出现"Is this ok[y/N]"这条提醒语句了,更不需要在命令行输入y或N了,直接安装软件。

2.阿里源

在存在网络情况下,把国外仓库源改为国内源,下载速度是可以保证的。

主要原理与过程:

a.下载安装wget

先检查一下有没有安装wget(直接输入wget命令回车,如果报错为:"-bash: wget: command not found",则没有安装),如果没有再安装:

        yum -y install wget

b.备份默认的yum

备份作用不大,可以直接删除所有目录下的*.repo文件。

        mv /etc/yum.repos.d /etc/yum.repos.d.backup

c.设置新的yum目录

        mkdir -p /etc/yum.repos.d

d.下载阿里yum配置到该目录中,选择对应版本

        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

e.更新epel源为阿里云epel源

        mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup

        mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup

        wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

        wget -O /etc/yum.repos.d/epel-testing.repo http://mirrors.aliyun.com/repo/epel-testing.repo

f.重建缓存

        yum clean all

        yum makecache

g.看一下yum仓库有多少包

yum repolist

yum update

3.国内其他源

几个国内yum源推荐(均以CentOS为例),供需要时参考。

在网络畅通的情况,国内每个源都满足基本要求。个别的特殊软件包需具体处理。

阿里巴巴开源镜像站:

        https://developer.aliyun.com/mirror/

网易开源镜像站:

        http://mirrors.163.com/

网易163 yum源,安装方法查看:

       CentOS镜像使用帮助

中科大yum源,安装方法查看:

        CentOS 源使用帮助 — USTC Mirror Help 文档

阿里云yum源,安装方法查看:

        centos镜像_centos下载地址_centos安装教程-阿里巴巴开源镜像站

sohu yum源,安装方法查看:

        http://mirrors.sohu.com/centos/

清华大学yum源,安装方法查看:

        https://mirrors.tuna.tsinghua.edu.cn/help/centos/

安装配置好yum源后,对于软件包的安装、卸载、列表查看等操作,网上介绍很多,可自行浏览学习,此处不作讨论。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaEE初阶】 Thread类及常见方法

文章目录 🌴Thread类的概念🌳Thread 的常见构造方法🎄Thread 的几个常见属性🍀start()-启动一个线程🌲中断一个线程🚩实例一🚩实例二🚩实例三 🎍join()-等待一个线程&…

如何选择UMLChina服务

服务口号:聚焦最后一公里 斐力庇第斯从马拉松跑回雅典报信,虽然已是满身血迹、精疲力尽,但他知道:没有出现在雅典人民面前,前面的路程都是白费。 学到的知识如果不能最终【用】于您自己的项目之中,也同样是…

设备搭建(waf、蜜罐、ids和ips)

文章目录 防火墙waf网闸蜜罐idsips 防火墙 DMZ区域叫非军事化区减,DMZ有web服务或者MySQL服务,从互联网到dmz的流量一般不拦截(因为需要互联网用户访问web服务),如果dmz沦陷,攻击者想要继续横向移动到内网…

系统03:15min导图复习 文件管理

🐳前言 图源:文心一格 考研笔记整理,纯复习向,思维导图基本就是全部内容了,不会涉及较深的知识点~~🥝🥝 第1版:查资料、画思维导图~🧩🧩 编辑: …

layui laydate实现日期选择并禁用指定的时间

最终实现禁用2023-9-26这天的效果 官网地址 日期和时间组件文档 - layui.laydate 下面是实现的代码 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>layDate快速使用</title><link rel"stylesheet"…

IPSG技术和IP组播

1&#xff0c;IPSG技术概述 实验&#xff1a; DHCP snooping IPSG 拓扑&#xff1a; 需求&#xff1a; 1&#xff0c;实现PC1 和PC2 动态获取IP地址 2, 在SW2 配置DHCP snooping 实现DHCP 服务器的安全 3, 在 连接PC 1 和 PC2 的 接口上 做IPSG &#xff0c;防止终端…

AWD训练赛QWQ

使用D盾啥都没扫到&#xff0c;河马倒是扫了挺多东西&#xff0c;但是代码审计能力太差&#xff0c;不怎么看得懂 一般这里我们如果扫到那种很明显的一句话木马&#xff0c;直接删掉&#xff0c;爆出对手IP后尝试利用 代码审计能力不好&#xff0c;只能从网站页面入手 是一个登…

集合的基本运算

集合的运算等式&#xff1a; 常用的集合运算不等式&#xff1a; 、 试题 A&#xff0c;B&#xff0c;C是集合&#xff0c;证明&#xff1a;(A-B)-CA-(B∪C) 【答案】 设A、B、C是集合&#xff0c;证明 (A∪B)-C(A-C)∪(B-C)。 【答案】 已知A{1,2,3}&#xff0c;A-B{1,2}&…

【观察】天翼云政务大模型“慧泽”:推动政务服务再升级,加速智慧城市再进化...

进入2023年以来&#xff0c;AIGC的爆发式增长推动了全球步入一个全新时代——大模型时代&#xff0c;它不仅引发了AI产业的整体升级换代&#xff0c;同时大模型与行业和应用场景的深度融合&#xff0c;更加速了AI的“走深向实”。 其中&#xff0c;政务业务不仅是连接政府、企业…

FinClip PC 终端支持更新,现已兼容抖音与支付宝小程序

产品方面的相关动向 FinClip 全新升级&#xff01;现已兼容抖音小程序与支付宝小程序 自从 FinClip Studio 上线后&#xff0c;我们收到很多开发者对于“支持兼容抖音小程序与支付宝小程序”的需求反馈&#xff0c;现在 FinClip Studio 对抖音小程序和支付宝小程序的全面支持…

槽道流CFD结果与理论解对比

目录 理论CFD验证code 理论 理论参考文献 对于槽道流&#xff0c;理论上近壁面时均速度为线性分布&#xff0c;远离壁面处为对数分布 在对数区&#xff0c;有两个未知参数&#xff0c;两个人标定了不同的两组数据。 可以看出还是有一定区别的。 CFD验证 CFD有两组数据&…

2023年陕西省安全员B证证模拟考试题库及陕西省安全员B证理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年陕西省安全员B证证模拟考试题库及陕西省安全员B证理论考试试题是由安全生产模拟考试一点通提供&#xff0c;陕西省安全员B证证模拟考试题库是根据陕西省安全员B证最新版教材&#xff0c;陕西省安全员B证大纲整理…

一文掌握项目经理面试难题及其回答要点【干货收藏】

大家好&#xff0c;我是老原。 转眼就来到了10月&#xff0c;金九银十&#xff0c;想着你可能面试用得上&#xff0c;就又准备了一份2023最新版。 在看面试题之前&#xff0c;你要了解&#xff0c;面试题的本质到底是考察你什么&#xff0c;再根据这个大原则&#xff0c;收集面…

ai智能机器人要怎么运营更好

运营机器人核心关注的只有两个点&#xff0c;一个是机器人话术库的关键词是否充足&#xff0c;二是对录音的高要求。每一个话术&#xff0c;都把它当成一个重要的项目来做。比如做需求调研&#xff0c;学习客户的行业知识&#xff0c;了解他们这个行业打电话的语气语调。其它的…

爱普生L125X_L325X系列打印机Wi-Fi配置方法(Smart Panel)

准备工作&#xff1a; 手机需要下载“Epson Smart Panel”APP&#xff1b; 配置无线&#xff08;Wi-Fi&#xff09;方法 说明&#xff1a;SSID名称&#xff08;Wi-Fi名&#xff09;不能包含中文字符,路由器需要选择2.4GHz频段; 1. 打开“Epson Smart Panel”软件&#xff0…

vue3飞书扫码登录网页

二维码 SDK 接入文档 飞书官方文档链接 https://open.feishu.cn/document/common-capabilities/sso/web-application-sso/qr-sdk-documentation 最后更新于 2023-08-08 概述 为了实现网页接入飞书授权登录工作&#xff0c;将飞书登录的二维码嵌入到网页中。当用户扫码成功后…

斐波那契前 n 项和 - 矩阵乘法快速幂

1303. 斐波那契前 n 项和 - AcWing题库 构造矩阵A使 0 1 0 A [ 1 1 1 ] 0 0 1 然后对这个式子进行快速幂&#xff0c;挺神奇的 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);ci…

gcc 9版本 使用std::thread时候 的链接错误 undefined reference to `pthread_create‘

偶然发现 同样的代码 在 不同版本的ubuntu上编译的时候 一个能编译通过 一个不能 编译通过的版本 编译失败的版本 编译失败的提示 找不到pthread_create函数 成功的系统是ubuntu22.04 失败的是 ubuntu18.04 失败的加上lpthread 库之后可以编译过 ldd看下 可以发现…

保卫你的应用:探索过滤器和拦截器的奥秘

保卫你的应用&#xff1a;探索过滤器和拦截器的奥秘 前言概述实现原理不同使用范围不同触发时机不同注入Bean情况不同springboot中的实现 前言 在现代Web开发中&#xff0c;安全性和性能是至关重要的因素。过滤器和拦截器是Web应用中的两个关键概念&#xff0c;它们可以帮助你…

【软件测试】JUnit详解

文章目录 一. Junit是什么?二.Junit中常见的注解1. Test2. BeforeAll & AfterAll3. BeforeEach & AfterEach4. ParameterizedTest参数化5. Disabled6. Order 三. 测试套件1. 通过class运行测试用例2. 通过包运行测试用例 四. 断言 一. Junit是什么? JUnit是一个用于…