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也能离线安装,但是和我们当前无关,暂不关心。
相关推荐
木头左13 小时前
【Nginx】内网服务源 IP 白名单实战:动态域名解析放行网段 + 端口接管零改造
运维·nginx·白名单·反向代理
Linux-lucky13 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
禁默13 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk816314 小时前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
翔云12345615 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
爱莉希雅&&&16 小时前
GitLab 完整学习笔记
linux·运维·服务器
风笙97816 小时前
[文件系统]文件系统挂载与卸载详解
linux
GeW16 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库
Pniubi17 小时前
力扣560.和为k的子数组
算法·leetcode·职场和发展
小杨爱科普17 小时前
制造业上自动化改造,改造部分的专利到底归谁
运维·经验分享·自动化