Linux:基础开发工具(一)

之前学习了Linux的各种操作以及权限,我们还是没有自己编写一套c/c++的程序,于是在开发工具这一章博客里面,我们将学习如何去编写属于自己的程序 ,以及了解程序编写机制

话不多说,我们开始啦(>#<)

1. 软件包管理器

1-1 什么是软件包

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

• 但是这样太⿇烦了, 于是有些⼈把⼀些常⽤的软件提前编译好, 做成软件包(可以理解成windows上

的安装程序)放在⼀个服务器上, 通过包管理器可以很⽅便的获取到这个编译好的软件包, 直接进⾏安装

• 软件包和软件包管理器, 就好⽐ "App" 和 "应⽤商店" 这样的关系.

• yum(Yellow dog Updater, Modified)是Linux下⾮常常⽤的⼀种包管理器. 主要应⽤在Fedora,

RedHat, Centos等发⾏版上

• Ubuntu:主要使⽤apt(Advanced Package Tool)作为其包管理器。apt同样提供了⾃动解决依

赖关系、下载和安装软件包的功能

1-2 Linux软件⽣态

Linux下载软件的过程(Ubuntu、Centos、other)

下面用简图来表示

• 操作系统的好坏评估--- ⽣态问题

• 为什么会有⼈免费特定社区提供软件,还发布?还提供云服务器让你下载?

毕竟天下没有掉馅饼的事情,他们为什么要这么做呢,这样既需要他们花钱买服务器,也浪费他们的时间,那当然是他们不希望这个生态系统被取代 ,他们希望这个生态系统可以一直帮助他们,不会被抛弃,是一种双赢的方式

• 软件包依赖的问题

• 国内镜像源

💡 以下是⼀些国内Linux软件安装源的官⽅链接:

  1. 阿⾥云官⽅镜像站

◦ 官⽅链接:https://developer.aliyun.com/mirror/

◦ 阿⾥云提供了丰富的Linux发⾏版镜像,包括CentOS、Ubuntu、Debian等,⽤⼾可

以通过该镜像站快速下载和更新软件包。

  1. 清华⼤学开源软件镜像站

◦ 官⽅链接:https://mirrors.tuna.tsinghua.edu.cn/

◦ 清华⼤学镜像站提供了多种Linux发⾏版的镜像,以及Python、Perl、Ruby等编程语

⾔的扩展包。该镜像站还提供了丰富的⽂档和教程,帮助⽤⼾更好地使⽤这些软件

包。

  1. 中国科学技术⼤学开源镜像站

◦ 官⽅链接:http://mirrors.ustc.edu.cn/

◦ 中科⼤镜像站提供了多种Linux发⾏版的镜像,以及常⽤的编程语⾔和开发⼯具。⽤⼾

可以通过该镜像站⽅便地获取所需的软件包和⼯具。

  1. 北京交通⼤学⾃由与开源软件镜像站

◦ 官⽅链接:https://mirror.bjtu.edu.cn/

◦ 北交⼤镜像站提供了多种Linux发⾏版的镜像,以及相关的软件仓库和⼯具。该镜像站

还提供了详细的⽂档和指南,帮助⽤⼾配置和使⽤这些软件源。

  1. 中国科学院软件研究所镜像站(ISCAS)

◦ 官⽅链接:http://mirror.iscas.ac.cn/

◦ ISCAS镜像站提供了多种Linux发⾏版、编程语⾔和开发⼯具的镜像。⽤⼾可以通过该

镜像站快速获取所需的软件包和更新。

  1. 上海交通⼤学开源镜像站

◦ 官⽅链接:https://ftp.sjtu.edu.cn/

◦ 上海交⼤镜像站提供了丰富的Linux软件资源,包括多种发⾏版的镜像和软件仓库。⽤

⼾可以通过该镜像站⽅便地下载和安装所需的软件包。

  1. ⽹易开源镜像站

◦ 官⽅链接:http://mirrors.163.com/

◦ ⽹易镜像站提供了多种Linux发⾏版的镜像,以及相关的软件仓库和⼯具。该镜像站还

提供了便捷的搜索功能,帮助⽤⼾快速找到所需的软件包。

此外,还有⼀些其他的国内镜像源,如搜狐开源镜像站等,但可能由于时间变化或政策调

整,部分镜像站的链接或状态可能有所变动。因此,建议⽤⼾在使⽤前访问官⽅⽹站或咨询

相关社区以获取最新的信息和帮助

如何扩展你的Linux里面软件包呢,只需要下面这条指令,就可以让你的Linux获得更多优质开源的软件包

sudo yum install -y epel-release(或者root用户下yum install -y epel-release)

1-3 yum具体操作

1-3-1 查看软件包

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

注意事项:

• 软件包名称: 主版本号.次版本号.源程序发⾏号-软件包的发⾏号.主机平台.cpu架构.

• "x86_64" 后缀表⽰64位系统的安装包, "i686" 后缀表⽰32位系统安装包. 选择包时要和系统匹配.

• "el7" 表⽰操作系统发⾏版的版本. "el7" 表⽰的是 centos7/redhat7. "el6" 表⽰ centos6/redhat6.

• 最后⼀列, base 表⽰的是 "软件源" 的名称, 类似于 "⼩⽶应⽤商店", "华为应⽤商店" 这样的概念.

• Ubuntu 有上述有详细介绍

1-3-2 安装软件

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

因为我已经安装 过了,所以这里会显示already installed

• yum/apt 会⾃动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装(也可以像我一样加一个-y表示我同意,不需要询问)

• 出现 "complete" 字样或者中间未出现报错, 说明安装完成

注意事项:

• 安装软件时由于需要向系统⽬录中写⼊内容, ⼀般需要 sudo 或者切到 root 账⼾下才能完成

• yum/apt安装软件只能⼀个装完了再装另⼀个. 正在yum/apt安装⼀个软件的过程中, 如果再尝试⽤

yum/apt安装另外⼀个软件, yum/apt会报错

• 如果 yum / apt报错, 请⾃⾏百度,因为这可能涉及Linux底层问题,或者可以私信我

1-3-3 卸载软件

sudo yum remove [-y](可加可不加) [你要卸载的东西] (或者切换到root模式,不需要加sudo)

1-3-4 注意事项

关于 yum / apt 的所有操作必须保证主机(虚拟机)⽹络畅通!!!

可以通过 ping 指令验证

ping www.baidu.com

后面出现ms就说明联网了

当然也可以访问www.bilibili.com

1-4 安装源

Cetnos 安装源路径,只需输入下面的指令即可查看

ll /etc/yum.repos.d/

最上面的是自带的安装源

第二个 的是我们刚刚安装的扩展源

好玩的命令https://blog.csdn.net/xiaoxiaosutang/article/details/141053674

好啦,今天就先学到这里啦,这个是有关yum的相关知识,单单学习yum是很简单的,无非就是sudo yum install -y 软件包,但是我们更希望我们可以深入一下,知道下载依赖,生态环境以及背后开源的人为什么要这么做,拜拜,下篇见!!

相关推荐
杜子不疼.2 小时前
【C++】深入拆解二叉搜索树:从递归与非递归双视角,彻底掌握STL容器的基石
开发语言·c++
天若有情6732 小时前
从零实现轻量级C++ Web框架:SimpleHttpServer入门指南
开发语言·前端·c++·后端·mvc·web应用
weixin_456588152 小时前
JVM(java虚拟机)
java·开发语言·jvm
hygge9992 小时前
JVM 内存结构、堆细分、对象生命周期、内存模型全解析
java·开发语言·jvm·经验分享·面试
小二·2 小时前
Java虚拟机(JVM)面试题(51道含答案)
java·开发语言·jvm
无敌最俊朗@2 小时前
03-事务高频面试总结
java·开发语言·jvm
real_haha2 小时前
Fabric 学习资料总结 持续更新
运维·fabric
hygge9992 小时前
类加载机制、生命周期、类加载器层次、JVM的类加载方式
java·开发语言·jvm·经验分享·面试
d111111111d2 小时前
STM32外设学习-串口数据包笔记-(数据包的了解)
笔记·stm32·单片机·嵌入式硬件·学习