开发工具(上)

ops/2024/10/20 18:18:45/

前面我们在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/ops/127052.html

相关文章

Docker-Consul概述以及集群环境搭建

文章目录 一、Docker consul概述二、consul 部署1.consul服务器2.registrator服务器(客户端)2.consul-template(在consul服务器)3.consul 多节点 一、Docker consul概述 容器服务更新与发现:先发现再更新,…

Spring Boot技术栈的电影评论网站设计与实现

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

vue elementui el-table实现增加行,行内编辑修改

需求&#xff1a; 前端进行新增表单时&#xff0c;同时增加表单的明细数据。明细数据部分&#xff0c;可进行行编辑。 效果图&#xff1a; <el-card><div slot"header"><span style"font-weight: bold">外来人员名单2</span><…

UE5 圆周运动、贝塞尔曲线运动、贝塞尔曲线点

圆周运动 贝塞尔曲线路径运动 蓝图函数库创建贝塞尔曲线点 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "MyBlu…

python-docx -- 读取word文档中的文本

文章目录 word文档案例基于python-docx读取段落基于pywin32读取段落基于pywin32读取表格 word文档案例 需求&#xff1a; 读取所有的段落文本&#xff0c;并使用字典表示每一个段落&#xff1b;段落字典格式如下&#xff1a; {"type": "text","cont…

.net core 3.0 与 6.0 有哪些不同

.NET Core 3.0 和 .NET 6.0&#xff08;注意&#xff0c;从 .NET 5.0 开始&#xff0c;微软将 .NET Core 和 .NET Framework 合并为一个统一的 .NET 平台&#xff09;之间有许多重要的区别。这些区别包括性能改进、新功能、API 的变化以及对不同平台的支持。下面是一些主要的区…

网络爬虫-数美滑块验证码

仅供研究学习使用。 今天带来的是数美滑块验证码的逆向 目标站 --> 传送门 解决此类验证码 首先要解决滑动距离的判定 无论是使用selenium还是使用协议的方式来破解 都绕不开滑动距离的识别 滑动距离可以参考以前我博客上的方式&#xff0c;或者找一找开源的一些算法&am…

SpringBoot中的RedisTemplate对象中的setIfAbsent()方法有什么作用?

文章目录 原子性操作用于分布式锁可选的过期时间 setIfAbsent() 方法是 Redis 中用于设置一个键值对的命令&#xff0c;只有在该键不存在时才会设置成功。它通常用于实现分布式锁的逻辑 主要功能: 原子性操作 setIfAbsent() 是一个原子性操作&#xff0c;意味着在执行该操作的…