Linux软件包管理器

目录

一.什么是软件包

1.1什么是软件包

1.2yum的具体操作

[1-2-1 安装软件](#1-2-1 安装软件)

[1-2-2 卸载软件](#1-2-2 卸载软件)

[1-2-3 注意事项](#1-2-3 注意事项)


一.什么是软件包

Linux中下载软件有三种:

1.源码下载 2.软件包安装--rpm 3.包管理器yum/apt

  1. 源码安装 自由可定制,可装最新版;缺点依赖手动处理、编译麻烦、卸载困难。
  2. rpm 手动安装 二进制离线可用;最大缺陷不会自动处理依赖。
  3. yum/apt 包管理器 自动解决依赖,管理便捷;

所以这里用yum/apt 包管理器来添加文件

1.1什么是软件包

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

接下来的问题是:Linux中的软件是谁提供的?为什么他们要提供这些软件给我们用?

1.Linux 系统里的软件由谁提供?

分为四大主体:

  1. 开源软件开发者社区(个人、团队) 比如 bash、vim、nginx、gcc、内核本身,大多由全球志愿者、开源团队开发,发布源代码。
  2. Linux 发行版厂商(Ubuntu、CentOS、Debian、RedHat) 拿到上游开源源码,编译打包成 rpm /deb,放到官方软件源(仓库)。 我们用 apt / yum 安装的软件包,基本都是发行版整理提供。
  3. 商业公司 谷歌、MongoDB、Redis、JetBrains 等,一部分开源免费、一部分开源 + 商业收费版本。
  4. 第三方爱好者、第三方源维护者 很多软件官方没放进系统源,志愿者搭建第三方软件源(PPA、epel 源等)。

简单一句话: 原始源代码大多来自全球开源社区;我们通过 apt/yum 安装的二进制软件包,主要由各 Linux 发行版厂商打包维护。

2.、为什么他们免费提供软件给我们使用?

  • 开源理念与社区精神(最原始动机)

开源提倡自由使用、修改、分享。开发者喜欢交流技术,希望自己写的程序被更多人使用、测试。 大量用户使用 = 更多人发现 bug、提交补丁、帮忙改进程序,形成正向循环。

  • 商业战略(很多公司的核心目的)

  • 免费开源软件抢占市场,培养用户习惯;靠技术支持、企业版、增值服务赚钱。 例:RedHat 系统免费使用,但售卖运维支持服务;MongoDB 开源社区版,企业版收费。

  • 降低生态成本:公司把工具开源,全世界开发者帮忙完善,不用全部自己雇佣开发人员。

  • 扩大生态,绑定技术标准(主要)

像 Nginx、Redis、K8s 开源,大量企业部署后,成为行业事实标准,主导技术发展方向。

  • 个人开发者名气、简历背书

程序员把项目开源收获影响力,提升个人知名度,有利于求职、建立行业口碑。

  • 高校、科研机构推动

很多操作系统、编译器最初诞生于大学实验室,鼓励学术共享。

由于Linux社区在外国,我们无法通过网络直接访问外国网站,所以就有人将外网的社区软件给镜像的我们国家

开发者开发的软件分为两种:一种是稳定的,一种是扩展文件还不太稳定

1.2yum的具体操作

1-2-1 安装软件

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

复制代码
# Centos
$ sudo yum install -y lrzsz

# Ubuntu
$ sudo apt install -y lrzsz
  • yum/apt 会自动找到都有哪些软件包需要下载,这时候敲 "y" 确认安装。
  • 出现 "complete" 字样或者中间未出现报错,说明安装完成。

注意事项:

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

1-2-2 卸载软件

仍然是一条命令:

复制代码
# Centos
sudo yum remove [-y] lrzsz

# Ubuntu
sudo apt remove [-y] lrzsz

1-2-3 注意事项

关于 yum /apt 的所有操作必须保证主机 (虚拟机) 网络畅通!!! 可以通过 ping 指令验证

复制代码
ping www.baidu.com
# 当然yum / apt也能离线安装,但是和我们当前无关,暂不关心。
相关推荐
考研保研资料分享1 小时前
211英语专业跨保清华法学:2022年法学面试与口译考核复盘
面试·职场和发展
考研保研资料分享1 小时前
2024双非材料保研复旦:五校面试题与科研复盘
面试·职场和发展
想做小南娘,发现自己是女生喵1 小时前
第二周学习文档 Linux C 文件操作
linux·c语言·学习
元岳数字人小元1 小时前
一台终端兼顾接待与咨询,AI数字人对话赋能线下多场景服务
运维·人工智能·人机交互·交互·语音识别·源代码管理
djjjx.1 小时前
Linux进程篇(三):深度硬核!全面起底 Linux 进程状态变化与内核链表动态解绑
linux·运维·服务器
乔旭伟1 小时前
Linux 服务器环境搭建实战笔记:最小化安装、Docker Compose 编排与上线检查全流程
linux·服务器·笔记
Chenyu_31010 小时前
DPDK、TC 和 XDP:Linux 高性能网络到底在优化什么
linux·服务器·网络·缓存
qqxiaoxingxing10 小时前
HR重复性工作自动化落地指南:先梳理任务边界,再选工具
运维·自动化
救救孩子把10 小时前
AI面试八股文-21_21-多模态Agent面试题-Vision-Language-Agent
人工智能·面试·职场和发展·llava·多模态agent