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 软件包,但是我们更希望我们可以深入一下,知道下载依赖,生态环境以及背后开源的人为什么要这么做,拜拜,下篇见!!

相关推荐
gaize12133 分钟前
科普篇“机架、塔式、刀片”三类服务器对比
运维·服务器
以太浮标19 分钟前
华为eNSP模拟器综合实验之- VLAN聚合(VLAN Aggregation或Super VLAN)解析
运维·网络·华为·信息与通信
咕噜企业分发小米24 分钟前
如何利用云服务器搭建游戏服务器并实现跨平台游戏?
运维·服务器·游戏
一颗青果27 分钟前
进程组 | 会话 |终端 | 前台后台 | 守护进程
linux·运维·jvm
古城小栈29 分钟前
Rust 交叉编译:Windows ====> Linux (musl 静态编译)
linux·windows·rust
星竹晨L31 分钟前
【C++内存安全管理】智能指针的使用和原理
开发语言·c++
宵时待雨32 分钟前
数据结构(初阶)笔记归纳3:顺序表的应用
c语言·开发语言·数据结构·笔记·算法
!执行38 分钟前
高德地图 JS API 在 Linux 系统的兼容性解决方案
linux·前端·javascript
旺仔小拳头..39 分钟前
Java ---变量、常量、类型转换、默认值、重载、标识符、输入输出、访问修饰符、泛型、迭代器
java·开发语言·python
副露のmagic44 分钟前
更弱智的算法学习 day36
学习·算法