Linux运维 软件包安装(ram包安装、源码包安装、脚本安装)

一、 软件包分类

1、软件包分类

  • 源码包
  • 二进制包

2、源码包

2.1 源码包什么样

[root@localhost ~]# vim hello.c
#include <stdio.h>
int main (void)
{
 printf ("hello world\n");
}

[root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/gcc-4.4.6-4.el6.i686.rpm

[root@localhost ~]# gcc -c hello.c
#-c 生成“.o”头文件。这里会生成 hello.o 头文件,但是不会生成执行文件
[root@localhost ~]# gcc -o hello hello.o
#-o 生成执行文件,并制定执行文件名。这里生成的 hello 就是可执行文件
[root@localhost ~]# ./hello 
hello world #执行 hello 文件

2.2 源码包特点

源码包的优点是:

  • 开源,如果有足够的能力,可以修改源代码
  • 可以自由选择所需的功能
  • 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
  • 卸载方便

缺点是:

  • 安装过程步骤较多,尤其安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写错误
  • 编译过程时间较长,安装比二进制安装时间长
  • 因为是编译安装,安装过程中一旦报错新手很难解决

3、二进制包

3.1 二进制包分类

  • DPKG 包:是由 Debian Linux 所开发出来的包管理机制,通过 DPKG 包,DebianLinux就可以进行软件包管理。主要应用在 Debian 和 unbuntu 中。
  • RPM 包:是由 Red Hat 公司所开发的包管理系统。功能强大,安装、升级、查询和卸载都非常简单和方便。目前很多 Linux 都在使用这种包管理方式,包括 Fedora、CentOS、SuSE 等。我们学习的是 CentOS 6.3,所以我们将要学习 RPM 包管理系统

3.2 特点

RPM 包的优点:

  • 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
  • 安装速度比源码包安装快的多

RPM 包的缺点:

  • 经过编译,不再可以看到源代码
  • 功能选择不如源码包灵活
  • 依赖性。有时我们会发现需要安装软件包 a 时需要先安装 b 和 c,而安装 b 时需要安装d 和 e。这是需要先安装 d 和 e,再安装 b 和 c,最后才能安装 a 包。比如说,我买了个漂亮的灯具,打算安装到我们家客厅,可是在安装灯具之前我们家客厅总要有顶棚吧,
    顶棚总要是做好了防水和刷好油漆了吧,这个装修和安装软件其实类似总要有一定的顺序的。可是有时依赖性会非常繁琐

3.3 RPM包依赖

在这里插入图片描述

1)树形依赖 a---->b---->c
2)环形依赖 a---->b---->c---->a
3)函数库依赖

二 rpm安装

1 rpm包命名规则

httpd :软件包名
2.2.15 : 软件版本
15 : 软件发布的次数
el6 : 软件发行商。el6 是 RedHat 公司发布,适合 RHEL6.x(Red Hat Enterprise Linux)和 CentOS6.x 下使用 i686 适合的硬件平台。RPM包可以在不同的硬件平台安装,选择适合不同 CPU 的软件版本,可以 最大化的发挥 CPU 性能,所以出现了所谓的 i386(386以上计算机都可以安装)、i586(586 以上的计算机都可以安装)、i686(奔腾 II 以上计算机都可以安装,目前所有的 CPU 都是奔腾 II 以上,所以这个软件版本居多)、x86_64(64 位 CPU 可以安装)和 noarch(没有硬 件限制)等文件名了。 rpmrpm 包的扩展名。我们说过 Linux 下文件不是靠扩展名区分文件类型,也就是 Linux 中扩展 名没有任何含义。可是这里怎么又出现了扩展名呢?原因很简单,如果我不把 RPM 的扩展名 叫做“.rpm”,管理员很难知道这是一个 RPM包,当然也就无法正确安装了。也就是说如果 RPM 包不用“.rpm”作为扩展名,系统可以正确识别没有问题,可是管理员很难识别这是个 什么样的软件。

包全名:如果操作的是未安装软件包,则使用包全名,而且需要注意绝对路径
包名:如果操作的是已经安装的软件包,则使用包名即可,系统会生产 RPM 包的数据库(/var/lib/rpm/),而且可以在任意路径下操作

2.rpm包手工命令安装

2.1 默认安装位置

RPM 包默认安装路径
/etc/ 配置文件安装目录
/usr/bin/ 可执行的命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置

2.2 RPM 包安装

1)安装命令:

rpm –ivh 包全名
#注意一定是包全名。如果跟包全名的命令要注意路径,因为软件包在光盘当中
选项:

  • -i install 安装(install)

  • -v 显示更详细的信息(verbose)

  • -h 打印#显示安装进度(hash)

  • –nodeps 不检测依赖性安装。软件时会检测依赖性,确定所需的底层软件是否安装。如果没有安装则会报错。如果我不管依赖性,想强行安装,可以使用这个选项。注意:这样不检测依赖性安装的软件基本是不能使用的,所以不建议这样做
  • –replacefiles 替换文件安装。如果安装软件包,可是包中部分文件已经存在,那么正常安装时候,会报错“某个文件已经存在”从而导致软件无法安装,使用这个选项可以忽视这个报错,而覆盖安装
  • –replacepkgs 替换软件包安装。如果软件包已经安装,此选项可以把软件包重复安装一遍。
  • –force 强制安装。不管是否已经安装,都重新安装。就是—replacefiles 和 —replacepkgs 的综合。
  • –test 测试安装。不会实际安装,只是检测一下依赖性。
  • –prefix 指定安装路径。为安装软件指定安装路径
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎明之道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值