开发工具(上)

news/2024/10/20 15:58:25/

前面我们在Linux部分了解文件权限,和基本指令的内容,但对于开发工具还是没有很多的接触,现在这一篇就是主要讲基础的工具;如yum,yum源,包管理器等等;

Linux中的安装软件:

  1. 源码安装   
  2. 软件包安装
  3. 包管理器

 为什么最推荐包管理器:

  • 首先源码安装:不可能安装个什么东西都使用源码吧,这样十分不方便,一般人也不会操作;而且会出现环境不兼容,文件缺失等一系列问题。
  • 软件包安装:下载安装包会依赖很多的库。而且软件不是并列的(比如A软件是依赖B软件的源码写的,在安装A时也要安装B,)从而容易造成文件缺失;还有就是版本兼容问题,比如说如果使用的环境版本很低,但是安装了一个适应软件,但是这个软件附带的库无法在这个环境中使用。(如附带 的版本是6.0 但是 这个环境只适合5.0)

  • 包安装器:不用自我软件包的依赖问题,也就是不用自己搭建环境。系统会帮助我们解决包的依赖的所有库的问题。而且会把东西安装到系统里面,只用安装一次,任何用户都能使用。

什么是包安装器

包安装器就类似于我们手机上的应用商店;

两个步骤

  • 网络下载
  • 安装(也就是拷贝)(只要root才能进行)

查看软件包
 

通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包.

例如:
 

 注意事项:

  • 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
  • "x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.
  • "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示centos6/redhat6.
  • 最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.

如何安装软件

通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装

sudo yum install lrzsz
 yum 会自动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装.

也可以sudo yum install -y lrzsz  直接全部同意

出现 "complete" 字样, 说明安装完成.

注意事项:
 

  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.
  • 如果 yum 报错, 请自行百度.

我们知道内核版本,社区,文档,人群,bug是 操作生态的一部分,那与操作系统配套的软件算不算生态的一部分呢? 

当然

yum源

一些开发者开法的软件,会开源。而另一些开发者开发的软件发现 这些开源的软件很适合自己所开发的软件,然后就会使用这些开源代码。

  • 如此就造成了 软件包的依赖问题

如何查看? 

 在Centos 中 在  /etc/yum.rpeos.d 的  CentOS-Base.repo 中查看

  • 我这里使用的centos 如果 ubuntu 查看安apt源的话
  • 可以在/etc/apt/sources.list 和 /etc/apt/sources.list.d/xiyou.list 的文件中

 如何改变软件源呢?

更改为网易YUM源

  • 备份当前的YUM源文件:
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  • 下载网易的YUM源文件:
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
  • 清除YUM缓存: 
sudo yum clean all
  •  更新YUM缓存并测试YUM源是否可用:
sudo yum makecache
sudo yum update


http://www.ppmy.cn/news/1540555.html

相关文章

ARM/Linux嵌入式面经(四七):华为

1. 自我介绍: 请简要介绍一下自己,包括教育背景、专业技能和工作经验。回答: 您好,我叫XXX,毕业于XXX大学电子工程专业,获得学士学位。在校期间,我深入学习了嵌入式系统原理、微处理器架构、C/C++编程语言以及数字电路与模拟电路等核心课程,并通过多个项目实践,积累了…

【DBA Part03】国产Linux上Oracle RAC安装-升级-ADG-迁移

本阶段内容如下: 01.国产统信UOS-Oracle19c安装配置 02.国产龙蜥AnolisOS-Oracle19c RAC集群安装配置 03.Linux-Oracle11gR2数据库升级到Oracle19C 04.Linux-Oracle11gR2 RAC数据库升级到Oracle19c RAC 05.Linux-Oracle19c ADG容灾配置(111级联) 06.Oracle XT…

RabbitMQ 如何保证消息不丢失?

为了保证消息在 RabbitMQ 中不丢失,必须从生产者、Exchange 路由、Broker 和消费者等多个方面采取有效措施。RabbitMQ 消息丢失的场景主要分为以下三种情况:生产者端、路由过程以及消费者端。 一、RabbitMQ 消息丢失的三种情况 在讨论如何保证消息不丢…

交叉熵损失函数为代表的两层神经网络的反向传播量化求导计算公式

反向传播(back propagation,BP)算法也称误差逆传播,是神经网络训练的核心算法。我们通常说的 BP 神经网络是指应用反向传播算法进行训练的神经网络模型。反向传播算法的工作机制究竟是怎样的呢?我们以一个两层&#xf…

延迟队列实现及其原理详解

1.绪论 本文主要讲解常见的几种延迟队列的实现方式,以及其原理。 2.延迟队列的使用场景 延迟队列主要用于解决每个被调度的任务开始执行的时间不一致的场景,主要包含如下场景: 1.比如订单超过15分钟后,关闭未关闭的订单。 2.比如用户可以…

Gin框架操作指南10:服务器与高级功能

官方文档地址(中文):https://gin-gonic.com/zh-cn/docs/ 注:本教程采用工作区机制,所以一个项目下载了Gin框架,其余项目就无需重复下载,想了解的读者可阅读第一节:Gin操作指南&#…

Datawhale 组队学习 文生图 Prompt攻防 task03随笔

这期我们从不同角度切入探讨赛题的进阶思路 思路1:对比不同大模型 首先我们可以选择尝试不同的大模型,使用更复杂的大模型可以提高文本改写的质量和效果。随着模型大小的增加,其表示能力也随之增强,能够捕捉更细微的语言特征和语…

STM32—旋转编码器控制直流电机(标准库)

本文使用 KY-040旋转编码器 通过TC1508A电机驱动模块来控制直流电机正转和反转(Speed:0-100),代码部分基于标准库,使用定时器输出比较两个通道来控制PWM输出。 一、KY-040旋转编码器 下图为KY-040旋转编码器&#xf…