Linux软件安装包管理器yum

Linux软件安装

Linux软件安装的本质

​ 对于安装软件最基本的理解就是把可执行程序拷贝到指定路径下,我们知道直接输入指令就可以实现想要的功能,这些指令本质上都是放在指定路径下的可执行文件,如果我们把写好的程序编译后的可执行文件放到指定路径下,我们的程序就可以像指令一样使用了。

3169b41e04904f3d9b7f89ea4ea88122

​ 我写了一个程序重命名为printabc,功能是输出abc,可以看到我们运行printabc时还要指定路径,然后我们查看ls指令的所在路径,把printabc拷贝到ls所在的路径 。

9317a595dc614b8a9a8d4c700c94c56c

​ 拷贝完成后我们可以用which查看我们printabc的路径(which是查看指令所在的路径),然后我们不用再指定路径了,直接输入printabc就可以直接运行了,此时相当于我们安装了printabc这个软件


Linux安装软件的方法

  1. 源代码安装

    ​ 源代码安装就是把别人写好的源码下载下来解压,然后配置安装目录,编译源码进行安装。听起来很便捷,不过实际上在编译这个阶段会出很多问题,比如编译器版本不同可能导致编译不通过,或者是交叉编译并且源码本身移植性很差,就会出现各种问题导致安装失败。

  2. rpm包安装

    ​ 当然也有人直接编译好的文件直接打包,我们解包(tar指令)后,就可以安装了。但是实际的问题是我们首先要找,其次是其源码是依赖于一些第三方库还有编译器的,并且有些包的软件还依赖于其他的软件(可理解为前置软件),也是不方便。

  3. yum一键式安装(ubuntu中是apt-get

    ​ yum是包管理器,一句指令就能安装,具体原理我们下面讲解。

yum

yum安装原理

​ 在介绍yum安装原理之前我们需要先介绍更通俗易懂的安装方式,也就是应用商店的安装原理,比如小米的应用商店,iphone的App Store等等,这里我们拿小米举例

​ 首先在手机上的大部分软件都是客户端软件,应用商店也是,小米的应用商店是连接着小米的服务器,服务器里都是通过了审核的软件,安全性有保证,而给服务器提供软件的是那些写软件的公司,而我们下载软件就是通过小米应用商店这个客户端去小米服务器下载对应的软件。

83e2f30d362c446cbe15036b156b13fc

​ 在Linux下安装软件,我们前面讲过, 一个通常的办法是下载到程序的源代码, 并进行编译,,得到可执行程序。但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。软件包和软件包管理器,就好比 “App” 和 “应用商店” 这样的关系。

​ Linux因为其本身是开源的,所以会有很多人去开发软件再开源到Linux社区里,有软件来源。也有一些公司使用Linux操作系统,支持Linux,所以会赞助Linux社区,这样就有了维护存放软件包的服务器的费用了。
而yum就是去连接Linux社区的服务器的一个包管理器,但是Linux社区的服务器在外网,因为一些众所周知的原因,我们是很难访问的。所以就有国内的镜像服务器,就是把外网Linux服务器的软件包拷贝到国内的服务器上,再免费供我们下载。比如清华大学、网易、阿里巴巴的镜像源。

​ 服务器的链接在一个文件里保存着,绝对路径为/etc/yum.repos.d/CentOS-Base.repo,这里是官方软件源,里面都是得到官方认可并且经过时间考验没有问题的软件,还有一些比较新的软件,或者是用的人少,还在测试的软件存放在另一个软件源,其链接在epel.repo里,其绝对路径为/etc/yum.repos.d/epel.repo,如果没有就输入yum install -y epel-release即可(现在需用root账户安装),当你想安装一个软件时yum会把所有软件源都搜索一次。

yum使用介绍

安装软件和卸载软件都是需要向系统目录进行修改,一般需要sudo或者root账户才能完成。

yum install 软件名:安装软件

yum remove 软件名: 卸载软件

安装一个小火车软件:yum install sl

安装完毕后输入指令sl就可以看见一个小火车在前进。

虚拟机创建的Linux其yum的软件源大概率还是国外的,想要修改成国内的话百度搜索即可

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

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

相关文章

dubbo没有找到生产者

1、没有找到生产者 com.alibaba.dubbo.rpc.RpcException: No provider available from registry 127.0.0.1:2181 for service .... , please check status of providers(disabled, not registered or in blacklist)2、 查看是不是 对应的providers 没有 注册上去 找到 zk 对应…

Java 为什么不推荐在 while 循环中使用 sleep() 我悟了

文章目录 前言原因是否正确方案是否合理定时轮询场景事件机制等待和唤醒 个人简介 前言 最近逛 CSDN 看到一篇文章,文章大意是说为什么在循环中不推荐使用 sleep 操作,原因在于线程挂起和唤醒会有很大的性能消耗,并推荐使用 Timer 及 Schedu…

[SpringCloud | Linux] CentOS7 部署 SpringCloud 微服务

目录 一、环境准备 1、工具准备 2、虚拟机环境 3、Docker 环境 二、项目准备 1、配置各个模块(微服务)的 Dockerfile 2、配置 docker-compose.yml 文件 3、Maven 打包 4、文件整合并传输 三、微服务部署 1、部署至 Docker 2、访问微服务 四…

视频特效制作After Effects 2024 for Mac(ae)

After Effects 2024是一款由Adobe公司开发的专业的视频特效和动态图形设计软件,它可以帮助用户创建各种令人惊叹的视觉效果,例如粒子系统、合成特效、绿屏抠像等。该软件支持动画制作,包括关键帧动画、形状动画、运动跟踪等工具,可…

SpringCloud(二) Eureka注册中心的使用

在SpringCloud(一)中,我们学会了使用RestTemplate进行远程调用,但是在调用user-service时候需要在order-service中发送http请求,请求中需要书写对应微服务的ip和端口号,十分不方便,如果此时有多个user-service实例的话,就不知道调用哪个了(除非每次调用的时候都对ip和端口号进行…

【java零基础入门到就业】第四天:Notepad++软件的下载和安装

文章目录 Notepad软件简介下载安装 Notepad软件 简介 Notepad(又称Notepad Plus Plus)是一款免费的文本编辑器,是Windows操作系统下非常受欢迎的开源软件。它提供了许多强大的功能,适合用于编写各种编程语言的源代码、编辑文本文…

Redis缓存穿透、击穿、雪崩问题原理和解决方案

目录 一、Redis缓存穿透1.1、缓存穿透原理1.2、缓存穿透代码演示1.3、缓存穿透解决方案解决方案一(数据库中查询不到数据也将key进行缓存)解决方案二(使用布隆过滤器) 二、Redis缓存击穿(缓存失效)三、Redi…

Notes/Domino中的JVM版本

大家好,才是真的好。 这篇内容主要写给同时关注Domino和Java的技术人员。 很多人都知道,从Notes/Domino R5(1999年)版本,开始自带一个Java虚拟机,用来支持Java应用运行。但很多人不知道,这个J…

【c++|opencv】二、灰度变换和空间滤波---4.高斯滤波

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 1. 高斯滤波 #include <iostream> #include <opencv2/opencv.hpp> #include"Salt.h"using namespace std; using namespace cv;/…

中国人民大学与加拿大女王大学金融硕士——人生是旷野,不是一条轨道

在这个瞬息万变的时代&#xff0c;我们每个人都像是一颗流星&#xff0c;在宇宙中独自燃烧。我们每个人都有自己的梦想&#xff0c;自己的追求&#xff0c;自己的道路。然而&#xff0c;很多时候&#xff0c;我们却发现自己被现实的轨道所束缚&#xff0c;无法自由地追求自己的…

【一、http】go的http基本请求方法

1、http的基本请求 package mainimport ("bytes""fmt""io""net/http""net/url" )func post(){r, err : http.Post("http://httpbin.org/post", "", nil)if err ! nil {fmt.Println("ss")}de…

电子凭证会计数据标准试点深化后,企业管理的关键点在于什么?

为了加快建设数字中国、发展数字经济发展&#xff0c;并推动经济社会绿色化、低碳化发展&#xff0c;政府部门一直大力推动企业的数字化转型。 企业的经营活动也越来越活跃。企业在经营中产生了大量的票据&#xff0c;由于电子凭证分属不同的部门管理&#xff0c;数据不兼容&am…

竞赛选题 深度学习实现行人重识别 - python opencv yolo Reid

文章目录 0 前言1 课题背景2 效果展示3 行人检测4 行人重识别5 其他工具6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习的行人重识别算法研究与实现 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c…

IDEA远程调试代码

IDEA->RUN->Edit Configurations 端口随便选一个&#xff0c;选择调试模块&#xff0c;然后用IDEA生成的命令调试 java -agentlib:jdwptransportdt_socket,servery,suspendn,address*:8081 -jar backend-1.18.11.jar &

word插入图片不显示

段落格式要设置成非固定的。

约数之和 (普通快速幂求逆元做法)

假设现在有两个自然数 A 和 B&#xff0c;S 是 AB 的所有约数之和。 请你求出 Smod9901 的值是多少。 输入格式 在一行中输入用空格隔开的两个整数 A 和 B 。 输出格式 输出一个整数&#xff0c;代表 Smod9901 的值。 数据范围 0≤A,B≤5107 输入样例&#xff1a; …

【JavaEE初阶】 网络编程基础与Socket套接字

文章目录 &#x1f38b;网络编程基础&#x1f6a9;为什么需要网络编程&#xff1f;&#x1f6a9;什么是网络编程&#xff1f;&#x1f6a9;网络编程中的基本概念&#x1f4cc;发送端和接收端&#x1f4cc;请求和响应&#x1f4cc;客户端和服务端&#x1f4cc;常见的客户端服务端…

httpclient工具类(支持泛型转换)

1、网上搜到的httpclient工具类的问题&#xff1a; 1.1、如下图我们都能够发现这种封装的问题&#xff1a; 代码繁杂、充斥了很多重复性代码返回值单一&#xff0c;无法拿到对应的Java Bean对象及List对象集合实际场景中会对接大量第三方的OPEN API&#xff0c;下述方法的扩展…

二叉树OJ题汇总

本专栏内容为&#xff1a;leetcode刷题专栏&#xff0c;记录了leetcode热门题目以及重难点题目的详细记录 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;Leetcode &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &…