【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里,这样保持软件池的稳定。

本文到此结束。

相关推荐
远游客07131 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<1 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟1 小时前
centos-stream9系统安装docker
linux·docker·centos
超爱吃士力架2 小时前
邀请逻辑
java·linux·后端
南宫生2 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__2 小时前
Web APIs学习 (操作DOM BOM)
学习
冷眼看人间恩怨3 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
LIKEYYLL3 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3214 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3214 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵