【Linux】yum -- 软件包管理器

目录

一、Linux中是如何安装软件的

1.1 安装的方法

1.2 安装的本质(基本理解)

二、软件包

2.1 软件包的概念

2.2 为什么要有软件包

三、yum--软件包管理器

3.1 yum的概念

3.2 yum的使用

3.2.1 搜索一个软件

3.2.2 安装一个软件

3.2.3 卸载一个软件

3.3 yum源更新

四、注意


一、Linux中是如何安装软件的

1.1 安装的方法

方法1:源代码安装
        一般Linux下的很多工具和库是开源的,不提供编译功能,需要下载代码自行编译,编译出错也只能自己解决。解决之后,一般源代码都会提供一些自动化安装的脚本,编译完成后使用脚本安装。

方法2:rpm包
        有一些人将需要的软件编译并打包好,形成一个rpm,可以使用rpm把对应的软件直接安装。

  • 编译的难度较大,初学者不推荐方法1。 
  • 也不推荐方法2,因为一般不知道要下哪个安装包,也不知道哪个安装包是正确的。
    而且软件与软件之间是有依赖关系的,例如C语言是依赖于C动态库的。如果使用方法2,可能会对某些文件处理造成遗漏。

方法3:yum 一键式安装(centos)(推荐使用)
        yum可以根据提供的软件名,自动地去自己的软件园中搜索,找到之后自动地将软件包下载解压拷贝并安装到系统中。 

当前学习中,软件的查找、安装、更新、卸载都可以使用yum工具。

1.2 安装的本质(基本理解)

我们写了一个源文件code.c,编译生成可执行程序a.out,将其名称改为mycmd,可以使用 ./mycmd执行程序,code.c就是源代码,但这不是安装。

//code.c
#include <stdio.h>
int main()
{
    printf("Hello World\n");
    return 0;
}
[zzx@hecs mydir]$ touch code.c
[zzx@hecs mydir]$ vim code.c
[zzx@hecs mydir]$ gcc code.c -o a.out
[zzx@hecs mydir]$ mv a.out mybin
[zzx@hecs mydir]$ ll
total 16
-rw-rw-r-- 1 zzx zzx   77 Nov 24 17:23 code.c
-rwxrwxr-x 1 zzx zzx 8360 Nov 24 17:24 mybin
[zzx@hecs mydir]$ ./mybin 
Hello World

把mycmd拷贝到/user/bin目录下(sudo执行),此时就是将mycmd安装到系统里。
之后输入mycmd就可以执行对应的操作了。(演示完我就删除了,不要将自己的指令拷贝到系统里)

[zzx@hecs mydir]$ sudo cp mybin /usr/bin/
[zzx@hecs mydir]$ mybin
Hello World

所以 安装的本质就是把可执行程序拷贝指定的路径下(最基本的理解) 


二、软件包

2.1 软件包的概念

软件包(Software Package)是一种用于组织、分发和安装软件的文件集合。它通常包含了一个或多个软件程序、相关的库文件、配置文件、文档和其他必要的资源。

软件包的主要目的是简化软件的安装和管理过程,提供一种统一的方式来交付和维护软件。通过将相关的文件打包在一起,并提供一些预定义的安装和卸载机制,软件包可以使用户更便捷地获取和更新软件。

2.2 为什么要有软件包

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.
yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora,RedHat, Centos等发行版上.


三、yum--软件包管理器

3.1 yum的概念

yum 是Linux中的软件包管理器。类似于我们常用的软件商店/应用管家。
应用商店是一个客户端软件,里面的app在服务器端,服务器端是由手机厂商负责的,为了用户的良好体验,需要对上传到服务器里面的app负责。

在这里yum就相当于应用商店,软件服务器由Linux社区提供,国内由镜像源提供新的下载链接。

查看yum的配置文件查看CentOs-Base.repo 基础软件源

vim /etc/yum.repos.d/CentOS-Base.repo

华为开源镜像站 

3.2 yum的使用

3.2.1 搜索一个软件

格式:yum list | grep [XXX]

如果我们只知道一个软件的部分名称sl,可以使用以下方法:

yum list | grep sl

yum list是将所有的常见软件罗列出来| 生成管道文件grep sl 搜索出带有sl关键字的软件

方框内的就是我的系统支持的sl命令,其中

sl   是软件名

x86_64  是支持32和64位的,我的系统默认是64位的,所以筛选出来的都是64位的

5.02-1   当前版本的版本号

el   CentOs的意思,el7 即CentOs7

epel      软件的来源,前面省略了一个@

找到对应的软件后即可进行安装

3.2.2 安装一个软件

格式:sudo install [软件名]       (注:root 用户不需要sudo)

安装sl软件,可以使用sl.x86_64,也可以直接用软件名sl

sudo yum install sl

安装时会提示你软件总大小和安装大小,再次询问你是否下载 ,确认后回复即可。
如果不想让它询问,安装时可以使用-y选项:yum install -y sl

 

大家可以自己试着安装一下,然后命令行输入sl ,看一下结果是什么。

在root账户下,安装一款软件,所有用户都能使用。

3.2.3 卸载一个软件

格式:yum remove [软件名]

sudo yum remove sl

再次确认卸载 。(如果不想让它询问,卸载时可以使用-y选项:yum remove -y sl

 

卸载完成,此时在输入sl命令就不能执行了。 

3.3 yum源更新

云服务器的yum源已经被厂商配置好了,如果我是虚拟机,里面的配置的yum源可能是CentOs7官网的(国外的),此时下软件会特别慢。

yum下载软件主要是从Base.repo仓库下载的,所以更新yum源就是把配置文件里的信息用国内下载链接仓库文件全部替换掉。(不建议删掉,最好保存备份)

第一步:备份配置文件

mv CentOS-Base.repo CentOS-Base.repo_bak

第二步获取国内yum源(选一个就行)

阿里云:

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

华为云:

wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo 

 第三步:把刚才下载的CentOs-Base.repo仓库源 move 到/etc/yum.repos.d/

mv CentOs-Base.repo /etc/yum.repos.d/

四、注意

  1. 基础yum源对应的一些官方软件、稳定性可以保证,但是可能不包括一些新的软件。
    epel是扩展软件源,可能会有一些新的软件。如果安装后执行不了,可能是yum的epel扩展源或者yum仓库源epel.repo没安装,可以用yum install -y epel-release安装
  2. yum工具在每次安装指定软件包的时候,都会检测源服务器上的软件包信息,为了便捷不用每次都去搜索软件包信息,因此使用 yum makecache将软件包信息缓存到本地,使用 yum clean all 清理老旧的缓存信息。
  3. yum search 用于在搜索包含有指定关键字的软件包
  4. yum -y  update:升级所有包同时,也升级软件和系统内核;
  5. yum -y upgrade:只升级所有包,不升级软件和系统内核,软件和内核保持原样。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2种方法,jmeter用一个正则提取器提取多个值!

jmeter中&#xff0c;用json提取器&#xff0c;一次提取多个值&#xff0c;这个很多人都会。但是&#xff0c;用正则提取器一次提取多个&#xff0c;是否可以呢&#xff1f; 肯定&#xff0c;很多人都自信满满的说&#xff0c;可以&#xff01;形如&#xff1a;token":“…

vuepress-----3、导航栏

3、导航栏 # 页面目录结构约定 . ├── docs │ ├── .vuepress (可选的) │ │ ├── components (可选的) │ │ ├── theme (可选的) │ │ │ └── Layout.vue │ │ ├── public (可选的) │ │ ├── styles (可选的) │ │ │…

python 交互模式和命令行模式的问题

python 模式的冲突 unexpected character after line continuation character 理论上 ide里&#xff0c;输入 python 文件路径\文件.py 就可以执行 但是有时候却报错 unexpected character after line continuation character 出现上述错误的原因是没有退出解释器&#x…

关注这两点 或能避开一些现货黄金交易的陷阱

在现货黄金投资中&#xff0c;交易机会是处处都有&#xff0c;但是亏损的情况也可能出现。投资者要在陷阱处处的市场中获得稳定盈利&#xff0c;就需要懂得如何规避现货黄金投资的陷阱。下面我们就来介绍两个很常用的避开陷阱的方法。 看交易的活跃度。交易越活跃&#xff0c;市…

人体是否有清除hpv病毒能力?北京劲松HPV诊疗中心提出观点

​HPV&#xff0c;全称人乳头瘤病毒&#xff0c;是一种常见的性传播疾病&#xff0c;其症状包括尖锐湿疣、皮肤疣等。那么&#xff0c;人体是否有清除HPV病毒的能力呢?答案是肯定的&#xff0c;人体确实具有清除HPV病毒的能力。 首先&#xff0c;我们要了解HPV病毒是如何感染…

1+X网络系统建设与运维练习题

1.OSPF的最优路由&#xff0c;会放到IP路由表中指导数据转发 &#xff08;x&#xff09; 2.当AP工作在2.4GHz频段的时候&#xff0c;AP工作的频率范围是2.4GHz~2.4835GHZ。在此频率范围内又划分出14个信道。每信道的中心频率相隔5MHz&#xff0c;每个信道可供占用的带宽为22MHz…

​在做接口测试的时候,如果接口还没有开发好,你这边应该怎么去介入测试?

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

从功能测试到自动化测试,我总结了一些工作经验分享给大家

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

由于找不到steam_api64.dll如何修复?steam_api64.dll丢失多种解决方法

steam_api64.dll文件介绍 steam_api64.dll是Steam平台的一个关键组件&#xff0c;主要用于支持Steam客户端和相关游戏的应用程序。这个文件缺失或损坏会导致Steam及相关游戏无法正常运行。它位于Steam安装目录的bin子文件夹中。 steam_api64.dll丢失的原因 系统误删&#xf…

TiDB专题---2、TiDB整体架构和应用场景

上个章节我们讲解了TiDB的发展和特性&#xff0c;这节我们讲下TiDB具体的架构和应用场景。首先我们回顾下TiDB的优势。 TiDB的优势 与传统的单机数据库相比&#xff0c;TiDB 具有以下优势&#xff1a; 纯分布式架构&#xff0c;拥有良好的扩展性&#xff0c;支持弹性的扩缩容…

1.网络编程基础知识 - 基础概念、TCP网络通信、UDP网络通信

网络编程 文章目录 网络编程一、概念1.1 网络1.2 IP地址1.2.1 IPv4 介绍1.2.2 IPv6 介绍1.2.3 查看IP地址 1.3 域名和端口1.4 网络协议1.5 TCP与UDP1.6 InetAddress类1.7 Socket 二、TCP网络通信编程2.1 介绍2.2 案例2.2.1 字节流编程案例12.2.2 字节流编程案例22.2.3 字符流编…

防火墙之iptables

iptables概述 1.Linux 系统的防火墙 &#xff1a;IP信息包过滤系统&#xff0c;它实际上由两个组件netfilter 和 iptables组成。 2.主要工作在网络层&#xff0c;针对IP数据包。体现在对包内的IP地址、端口、协议等信息的处理上。 -netfilter/iptables关系&#xff1a; netfil…

docker-compose;私有镜像仓库harbor搭建;镜像推送到私有仓库harbor

docker-compose&#xff1b;私有镜像仓库harbor搭建&#xff1b;镜像推送到私有仓库harbor 文章目录 docker-compose&#xff1b;私有镜像仓库harbor搭建&#xff1b;镜像推送到私有仓库harbordocker-compose私有镜像仓库harbor搭建镜像推送到私有仓库harbor docker-compose D…

IC卡卡号,UID卡CUID卡物理卡号修改

普通M1卡的卡号是锁死的&#xff0c;不能修改&#xff0c;考勤工作证等使用的就是IC卡的物理卡号&#xff0c;读卡器读取后转换成10进制输出&#xff0c;出厂就固化了&#xff0c;因此用户拿到手的卡片卡号是不连续的&#xff0c;也是没有规律的&#xff0c;比如物理卡号8602A2…

Appium+python+unittest搭建UI自动化框架

阅读本小节&#xff0c;需要读者具备如下前提条件&#xff1a; 1. 掌握一种编程语言基础&#xff0c;如java、python等。 2. 掌握一种单元测试框架&#xff0c;如java语言的testng框架、python的unittest框架。 3. 掌握目前主流的UI测试框架&#xff0c;移动端APP测试框架…

【路径规划】move_base、路径规划算法、局部避障算法介绍

资料整理供个人学习使用。 文章目录 一、move_base1、move_base 包内容2、move_base 参数解析1. move_base 参数2. 全局代价地图参数3. 局部代价地图参数4. 全局规划器参数5. 局部规划器参数 二、路径规划1、Dijkstra2、最佳优先搜索3、A*4、A* 和 Dijkstra 比较 三、局部避障1…

基于SSM搭建系统

原理 SSM集成 SpringSpringMvcMybatis集成 框架集成核心&#xff0c;如果你的项目中&#xff0c;用到了Spring框架&#xff0c;那么其他框架主要就是和Spring集成&#xff1b; 和Spring集成的核心思路&#xff1a; 把当前框架的核心类&#xff0c;交给Spring管理&#xff08…

WP采集插件的进阶功能:输入关键词采集及定向采集实现精准筛选

WP采集插件教程&#xff1a;轻松实现全网文章采集 近年来&#xff0c;WordPress&#xff08;简称WP&#xff09;作为一款强大的网站建设工具&#xff0c;广受用户喜爱。然而&#xff0c;对于许多网站管理员来说&#xff0c;如何轻松而高效地获取全网各类文章内容成为了一个亟待…

AutoCAD 2024 中文

AutoCAD 2024是一款全球知名的计算机辅助设计软件&#xff0c;由Autodesk公司开发。它提供了丰富的绘图功能和工具&#xff0c;可以满足不同领域的需求&#xff0c;支持2D和3D绘图设计&#xff0c;包括平面图、立体图、剖面图等等。此外&#xff0c;AutoCAD 2024具备强大的数据…

明基|书客|松下护眼台灯值不值得买?爆款多维度测评揭晓!

随着近视率越来越高的现象&#xff0c;护眼台灯逐渐成为大多数家庭的日常所需&#xff0c;许多护眼台灯品牌为了降低价格吸引消费者而不惜大程度上降低材料品质&#xff0c;导致台灯寿命减短&#xff0c;光线变差等问题频发&#xff0c;这也让广大对于如何选择一款好的护眼台灯…