当前位置: 首页 > article >正文

【Linux】开发工具(yum)

为什么要用包管理器?(yum等)

安装的步骤

1.网络下载

2.安装(就是往系统拷贝),必须使用root权限,安装到系统里,安装一次,任何人都能使用。(因为没有装到home里,而是装在系统里!)

  • 普通用户要使用软件,不论是可执行程序还是配置文件等,有r或x权限就行了。

    所以即使是拥有者和所属组都是root,whb也能进行ls -ld这样的操作。可以看到,给other开放了r和x权限。

    有x权限普通人就能进来.

Linux中安装软件的方法:

  1. 源码安装(复杂)
  2. 软件包安装——rpm
    • 可能遇到软件间依赖问题:缺失/版本兼容性
  3. 包管理器yum(centos);apt/apt-get(ubantu)
    • 包管理器可以帮我们自动解决依赖问题

什么是软件包?

  • 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.

    • 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
  • 软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系.

  • yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上.

什么是包管理器?

就像是我们手机里的应用商城。

包管理器种类多,主要是yum和apt。

Linux上的软件比如ls/pwd是谁提供的?系统预装指令就像手机预装app。

系统怎么知道去哪里下载?

评估一个操作系统要看内核版本、社区、文档、人群、问题等。这些都是操作系统的生态问题。

操作系统的配套软件属于生态的一环,做得好能吸引更多人使用,这就是为什么配套软件存在。

如何理解这个过程?

我们的linux机器想要安装软件,一定是要有对应的社区提前帮我们买好了一些服务器,比如centos、ubantu都有自己的社区。

社区里有大大小小的开发者,他们开发出软件的源代码托管到社区官网上或者github上。

将源代码编译形成属于平台的文件,形成一个可以被直接安装的软件。

还要把这个编好的软件上到对应的应用商店。

接下来我们就需要用自己linux里预装的软件(yum或apt),去官网的服务器上下载,然后下载与安装。

全世界这么多企业,都需要用到这软件,所以社区不会倒闭,发起募捐就有人捐款。(一旦你用了我,你就不期望我倒闭)

所以开源,本质是一种商业模式。

我的机器怎么知道下载链接?

我们知道下载任何东西都得有下载链接,为什么我们yum加上对应软件,就能安装了呢?我们的机器是怎么知道对应的软件在哪的呢?

因为操作系统内置链接。

这些社区与资料或者说生态大多在国外,所以内置链接默认是外网链接。比如centos的内置链接:www.centos.org。

所以我们想装软件要么卡要么装不了。

所以有人将国外的网站镜像过来,也就是别人有什么东西,拷贝一份到国内。定期把外网的东西同步过来,同时更改下载链接,也就是切换镜像源。

比如阿里云,清华大学都有自己的镜像源。

安装

安装一个sl软件

比如我们可以强制安装一个sl的软件

可以看到它的体结构,和版本。

下载大小是14k,安装大小是17k(因为下载的包是压缩包)。

这个rpm结尾的,就是安装包。

然后帮我们做各种健全,保证我们安装是合法的。

然后就帮我们安装。

sl,是一个跑动的火车。

推荐在联网状态下安装。

怎么看联网没?

ping -c3 www.baidu.com

然后能看到这样,就说明联网了。

(云服务器都是联网的)

怎么看支持的所有软件?

sudo yum list

但这样太多了,所以

sudo yum list sl我们就可以找关键字中包含sl的所有软件(还是很多)。

sl.x86_64

怎么理解后面写的这个x86_64?

这些开发者可能把源代码在64位和32位下都编了一份。都放到社区上了。

我们当前的centos系统本身是64位,所以下载的是x86_64的软件,不是32位的软件。

中间这个是版本。

@epel是提供这个软件的平台。

怎么卸载软件?

sudo yum remove -y sl(不要问我,直接删)

remove换成install就是下载,sudo yum install -y sl

一个是install,一个是remove。

怎么看下载链接在哪?

我们刚才说了,云服务器上会内置下载链接,怎么知道在哪呢?

在centos下,一般在/etc/yum.repos.d/

cd /etc/yum.repos.d/

可以看到,这个/etc/yum.repos.d/路径下,放的就都是yum源配置文件。

其中,CentOS-Base.repo称为稳定yum源。

我们可以vim CentOS-Base.repo,将其打开。

这里面对应的就是下载链接。

我们可以看到这里的不是国外的镜像源,而是对应的云服务器的,图中的是阿里云。(就不用自己配了)

可以在网上搜索更改更改yum源的教程或博客。

就是把老的先备份,然后下新的,再清理缓存、生成新的缓存。

软件是被分类的。base的一般是稳定软件。epel则是扩展软件源。epel没问题就会慢慢迁到base里,这样保持软件池的稳定。

在这里插入图片描述

本文到此结束。


http://www.kler.cn/a/402928.html

相关文章:

  • Fakelocation Server服务器/专业版 Windows11
  • 蓝桥杯c++算法学习【5】之枚举与模拟(卡片、回文日期、赢球票、既约分数:::非常典型的比刷例题!!!)
  • Linux内核
  • C语言的文件函数
  • 设计LRU缓存
  • OpenCV 计算图像清晰度
  • Uniapp运行环境判断和解决跨端兼容性详解
  • Android开发实战班 - Android开发基础之 Kotlin语言基础与特性
  • ThinkPHP中使用ajax接收json数据的方法
  • 深度学习-循环神经网络RNN
  • 【c++入门】打开新世界大门之初遇c++
  • 一种构建网络安全知识图谱的实用方法
  • RDD触发算子:一些常用的触发算子(count、foreach、saveAsTextFile、first)
  • Linux 常用命令大全
  • 7 设计模式原则之合成复用原则
  • LabVIEW三针自动校准系统
  • java:简单小练习,面积
  • (Linux)搭建静态网站——基于http/https协议的静态网站
  • Redis的特性
  • 《Django 5 By Example》阅读笔记:p679-p765
  • 【TDOA最小二乘解算】两步最小二乘迭代的TDOA解算方法,适用于二维平面、自适应锚点(附MATLAB代码)
  • 【行之有效】实证软件工程研究方法
  • [241119] .NET 9.0.0 正式发布 | D2 Emerge 收购 CodeProject,拓展软件开发社区影响力
  • 基于 MUSA 的大语言模型推理和服务框架vLLM
  • 湘潭大学软件工程算法设计与分析考试复习笔记(四)
  • 【数据结构-表达式解析】力扣227. 基本计算器 II