【Linux】Linux系统的生态

Linux中安装软件

Linux中安装软件一般有三种方式:

  1. 源代码安装
  2. rpm包安装
  3. yum安装

1.源代码安装 

有些软件本来就是开源的,如果不想用别人直接发布好的软件,我们就可以把源代码下载下来,在我们的环境中编译,自己安装

但是这个过程非常麻烦,而且可能会遇到很多问题,比如发布这个软件的人是在Ubuntu下发布的,或者在一个老系统下发布的,这时候这个源代码在我们的电脑上不一定编译通过,所以源代码安装过程中最让人头疼的问题就是编译报错

2.rpm包安装

由于源代码安装非常麻烦,所以就有一批程序员在各种不同的环境下编译好,形成rpm包(压缩格式),这时候我们直接将这个编译好的程序下载过来就行了

3.yum安装

rpm包安装还是有一定的问题,在打包的时候可能不会将一些库打包进去,比如c的库,c++的库,图形化界面的库,所以在rpm包安装的时候有一定概率能安装好,但是也不排除安装不全的可能,这个时候就得我们来解决软件的依赖关系,还是很复杂

所以这时候yum就把所有的依赖关系解决,同时也内置一些下载链接,指向去指定地方下载适合我们自己系统的软件,其他的依赖软件也一并下载好

yum可以说是最简单的安装方式

举例

我们以QQ举例,假如我们在Windows中要安装QQ,然后Tencent说给我们把源代码发过来,让我们自己编译,这岂不是很扯了;或者说只有一部分软件,还缺一些库,让我们自己去把这些库下载下来,同样对我们也是挑战;所以最简单的安装方式就是将软件和依赖的库一同打包好,然后提供一个下载链接

图示yum下载安装

我们在我们的centos上输入yum安装指令,yum就会去centos服务器中查找对应的包,然后下载安装的我们本地的centos,至此一个完整的安装过程完成

我们在centos中输入对应的安装命令,就类似于在应用商店中搜索抖音然后安装,服务器那么多,而yum是怎么知道去哪个服务器下载呢?

很简单,我们的机器内部一定内置了目标服务器的地址链接

Linux系统的生态

如何选择系统

假设我们要去选择一个系统,Linux系统各版本的底层都是一样的,Linux各系统的区别不会是简单的系统区别,我们选择一个系统,考虑该系统是否完善是最重要的,系统可用是最基本的要求,还要考虑这个系统有没有社区,有没有维护,文档是否齐全,配套的软件是否丰富

如果这个系统开源社区非常活跃,文档很齐全,配套的软件很丰富,问题暴露很快能够解决,有大量的程序员愿意来开发,更重要的是有很多企业来选择,这时会有很多的企业级应用场景暴露出来,这就是操作系统的生态

系统本身没有区别,主要是当年我们给系统设置的调性,吸引了不同种类的人群,构建了不同种类的社区,暴露了特定种类的问题,以及配套的各种问题的解决方案出来了,这才是系统有差别

我们选择系统并不是区分系统本身,而是区分系统的生态和社区

为了有更多的用户选择,系统的开发者一定会维护好系统的生态和社区

“有需求者,就一定有满足需求的人”

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

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

相关文章

(初研) Sentence-embedding fine-tune notebook

由于工作需要,需要对embedding模型进行微调,我调用了几种方案,都比较繁琐。先记录一个相对简单的方案。以下内容并不一定正确,请刷到的大佬给予指正,不胜感激!!! 一.对BGE模型&…

Visual Studio 下载安装教程,附安装包和工具,Visual Studio 2022,Visual Studio所有版本都有

前言 Visual Studio是微软推出的一款C编译器,将“高级语言"翻译为"机器语言(低级语言)"的程序,VS是一个非常完整的开发工具集,包括了所有软件生命周期中所需的大部分工具,如UML工具、代码管控工具、集…

Kafka 的 Consumer Group 解读

作为一份笔记,本文再次梳理一下 Kafka 的 Consumer Group。我们知道,一个 Topic 往往会有多个 Partition,一条消息只会被写到一个 Kafka 的 Partition 中,那 Consumer 是怎么消费 Message 的呢? Consumer Group 又从中…

零基础学Python(3)— 注释、代码缩进和编码规范

前言:Hello大家好,我是小哥谈。在使用Python语言进行编程的时候,需要遵循一定的规范标准。本节课就带大家了解下Python语言在注释、缩进和编码方面的规范!~🌈 目录 🚀1.注释 🚀2.代码缩进 &#x1f68…

vue.js安装

1:下载 Node.js 官网:https://nodejs.org/en/download 2:安装 node -v npm -v 3:配置 npm config set prefix "F:\node\node_global" npm config set cache "F:\node\node_cache" 按 win 键并输入“编辑系统环境变量”调出系统属性界面&a…

kubernetes工作负载-DamonSet

一、DemonSet的介绍 1、什么是DemonSet DaemonSet 控制器是用来保证在所有节点上运行一个 Pod 的副本当有节点加入集群时, 也会为他们新增一个 Pod。 当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。 简而言之…

递归、搜索与回溯算法(专题二:深搜)

往期文章(希望小伙伴们在看这篇文章之前,看一下往期文章) (1)递归、搜索与回溯算法(专题零:解释回溯算法中涉及到的名词)【回溯算法入门必看】-CSDN博客 (2&#xff09…

Android Studio安卓开发--ListView学习整理

ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕。 1.ListView的简单用法 (1)activity_main.xml布局中加入ListView控件:(先占满整个布局的空间)…

matplotlib从起点出发(12)_Tutorial_12_MultiAxes

在一个Figure中安排多个Axes 通常在一个图像中,需要同时呈现多于一个Axes,并且需要对齐到网格. Matplotlib有多种工具用于处理在本库历史中演变的Axes网格,我们将讨论我们认为用户最常使用的工具,支持Axes组织方式的工具&#xf…

Qt弹框展示

1.相关说明 文件选择弹框、目录选择弹框、保存文件弹框、颜色选择弹框、字体选择弹框、进度条弹框、输入对话框、标准消息框等 2.相关界面 3.相关代码 #include "widget.h" #include "ui_widget.h" #include <QFileDialog> #include <QProgressD…

Java集合(3)

1.泛型 1.1泛型概述 泛型的介绍 泛型是JDK5中引入的特性&#xff0c;它提供了编译时类型安全检测机制 泛型的好处 把运行时期的问题提前到了编译期间 避免了强制类型转换 泛型的定义格式 <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如: …

软件开发架构

【 一 】软件开发架构图 【 1】ATM和选课系统 三层的开发架构 前段展示台 后端逻辑层 数据处理层 【二】软件开发架构的步骤流程 需求分析&#xff1a;在软件开发架构设计之前&#xff0c;需要对应用系统进行需求分析&#xff0c;明确用户需求、功能模块、业务流程等内容。…

canvas绘制N角形,锯齿状

查看专栏目录 canvas实例应用100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

beego API 自动化文档

API 全局设置 必须设置在 routers/router.go 中&#xff0c;文件的注释&#xff0c;最顶部&#xff1a; // APIVersion 1.0.0 // Title mobile API // Description mobile has every tool to get any job done, so codename for the new mobile APIs. // Contact astaxiegmai…

第一篇【传奇开心果系列】beeware开发移动应用:轮盘抽奖移动应用

系列博文目录 beeware开发移动应用示例系列博文目录一、项目目标二、开发传奇开心果轮盘抽奖安卓应用编程思路三、传奇开心果轮盘抽奖安卓应用示例代码四、补充抽奖逻辑实现五、开发传奇开心果轮盘抽奖苹果手机应用编程思路六、开发传奇开心果轮盘抽奖苹果手机应用示例代码七、…

近期学习文章

DNSlog在渗透测试中的实战技巧 - 网安隐藏源IP&#xff0c;提高溯源难度的几种方案 - 网安FreeBuf网络安全行业门户 【漏洞公告】某平台一个有意思的CSRF // SecTrain安全博客 浅谈Web源码泄漏-安全客 - 安全资讯平台 红队-C2 Server基础构建 - 先知社区FreeBuf网络安全行业…

Pytest系列(2) - assert断言详细使用

前言 与unittest不同&#xff0c;pytest使用的是python自带的assert关键字来进行断言assert关键字后面可以接一个表达式&#xff0c;只要表达式的最终结果为True&#xff0c;那么断言通过&#xff0c;用例执行成功&#xff0c;否则用例执行失败 assert小栗子 想在抛出异常之…

大模型增强大模型:通过融合扩展能力(Google DeepMind2024)

1、写作动机&#xff1a; 存在如此多领域特定的模型自然引发一个问题&#xff1a;我们是否能够将一个固定模型与一个特定领域的增强模型组合&#xff0c;以实现新的能力&#xff1f;例如&#xff0c;我们是否可以将增强模型的代码理解能力与固定LLM的语言生成能力组合&#xf…

非科班转码的秋招复盘:地理信息科学GIS专业到后端研发、软件开发

本文介绍地理信息科学&#xff08;GIS&#xff09;专业的2024届应届生&#xff0c;在研三上学期期间&#xff0c;寻找后端研发、软件开发等IT方向工作的非科班转码秋招情况。 首先&#xff0c;这篇文章一开始写于2023年年底&#xff0c;当时为了参加一个征文活动&#xff0c;所…

Spring Boot程序的打包与运行:构建高效部署流程

引言 在现代应用开发中&#xff0c;高效的打包和部署流程对于项目的开发、测试和上线至关重要。Spring Boot作为一种快速开发框架&#xff0c;提供了方便的打包工具和内嵌式的Web服务器&#xff0c;使得打包和运行变得更加简单。本文将研究在Spring Boot应用中如何进行打包&am…