软件的安装: 编译安装和包管理器安装有什么优势和劣势

在 Linux 上安装程序大概有 2 种思路

  • 直接编译源代码;
  • 使用包管理器。

包管理器使用

Linux 下的应用程序多数以软件包的形式发布,用户拿到对应的包之后,使用包管理器进行安装, Linux 下两大主流的包管理器为rpm和dpkg。

  • dpkg(debian package),是linux一个主流的社区分支开发出来的。社区就是开源社区,有很多世界顶级的程序员会在社区贡献代码,比如 github。一般衍生于debian的 Linux 版本都支持dpkg,比如ubuntu
  • rpm(redhatpackage manager)。在正式讲解之前,我们先来聊聊 RedHat 这家公司。
    • RedHat 是一个做 Linux 的公司,你可以把它理解成一家“保险公司”。 很多公司购买红帽的服务,是为了给自己的业务上一个保险。以防万一哪天公司内部搞不定 Linux 底层,或者底层有 Bug,再或者底层不适合当下的业务发展,需要修改等问题,红帽的工程师都可以帮企业解决。
    • 再比如,RedHat 收购了JBoss,把 JBoss 改名为 WildFly。 像 WildFly 这种工具更多是面向企业级,比如没有大量研发团队的企业会更倾向使用成熟的技术。RedHat 公司也有自己的 Linux,就叫作 RedHat。RedHat 系比较重要的 Linux 有 RedHat/Fedora 等。
  • 无论是dpkg还是rpm都抽象了自己的包格式,就是以.dpkg或者.rpm结尾的文件。
  • dpkg和rpm也都提供了类似的能力:
    • 查询是否已经安装了某个软件包;
    • 查询目前安装了什么软件包;
    • 给定一个软件包,进行安装;
    • 删除一个安装好的软件包。

yum和apt

自动依赖管理

  • Linux 是一个开源生态,因此工具非常多。
  • 工具在给用户使用之前,需要先打成dpkg或者rpm包。
  • 有的时候一个包会依赖很多其他的包,而dpkg和rpm不会对这种情况进行管理,有时候为了装一个包需要先装十几个依赖的包,过程非常艰辛!因此现在多数情况都在用yum和apt。

yum

  • 你可能会说,我不用yum也不用apt,我只用docker。首先给你一个连击 666,然后我还是要告诉你,如果你做docker镜像,那么还是要用到yum和apt,因此还是有必要学一下。
  • yum的全名是 Yellodog Updator,Modified。
  • 看名字就知道它是基于Yellodog Updator这款软件修改而来的一个工具。
  • yum是 Python 开发的,提供的是rpm包,因此只有redhat系的 Linux,比如 Fedora,Centos 支持yum。
  • yum的主要能力就是帮你解决
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值