03.软件管理

一.软件组成

1.1 编程语言

1.编译型语言
先编译(编译器)后执行
代表语言:C,C++,C#等
2.解释型语言
边解释(解释器)边执行
代表语言:shell,python,ruby,perl

1.2 软件组成

1.可执行文件(命令)

/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin

2.库文件

/lib
/lib64
/usr/lib
/usr/local/lib

3.配置文件

/etc

4.其他文件

帮助手册
ReadMe
配置案例等

二.软件包分类

2.1源码包

源码包样子:

#include <stdio.h>

int main(void)
{
  printf("Hello, world!\n");
  return 0;
}
2.1.1 源码包特点

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

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

2.2 二进制包

2.2.1 二进制包分类

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

2.2.2 二进制包特点

RPM 包的优点:
1.包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
2.安装速度比源码包安装快的多
RPM 包的缺点:
1.经过编译,不再可以看到源代码
2.功能选择不如源码包灵活
3.依赖性。有时我们会发现需要安装软件包 a 时需要先安装 b 和 c,而安装 b 时需要安装d 和 e。这是需要先安装 d 和 e,再安装 b 和 c,最后才能安装 a 包。比如说,我买了个漂亮的灯具,打算安装到我们家客厅,可是在安装灯具之前我们家客厅总要有顶棚吧,顶棚总要是做好了防水和刷好油漆了吧,这个装修和安装软件其实类似总要有一定的顺序的。可是有时依赖性会非常繁琐

三.源码编译安装

3.1 安装编译工具

首先需要安装gcc 编译器
命令:

yum -y install gcc make

在这里插入图片描述

3.2 下载源码包

这里以下载nginx为例
wget有的Centos 7 是没有的,需要先安装:

yum -y install wget

在这里插入图片描述
下载源码包:
打开网页nginx.org 进入点击download,复制下载包链接
在这里插入图片描述
输入命令:

wget http://nginx.org/download/nginx-1.10.3.tar.gz 

在这里插入图片描述
在这里插入图片描述

3.3 解压

tar -xf nginx-1.10.3.tar.gz 

解压后就会发现有
在这里插入图片描述

3.4 修改配置文件configure

切换到源码包位置,修改

cd nginx-1.10.3

在这里插入图片描述
配置configure文件 --prefix表示安装地址 --with表示开启某个功能,我们这里开启ssl_module模块的功能

命令:
./configure --prefix=/usr/local/nginx --with-http_ssl_module

直接安装我们会发现提示我们缺少pcre这个模块,如下图所示
在这里插入图片描述
所以需要安装pcre的模块包,后面还会有一个错误提示,因为我们前面要开启ssl服务,会提醒我们缺少openssl模块,我下面就直接装这两个包了

yum -y install pcre-devel #这里devel代表开发的意思,我们一般装的是开发包
yum -y install openssl-devel

完成后我们再去配置configure
在这里插入图片描述

3.5编译

在当前目录下直接make
在这里插入图片描述
编译好了:
在这里插入图片描述

3.6 安装

直接安装:

make install

在这里插入图片描述

3.7 测试

执行方式有三种:
1.绝对路径

/usr/local/nginx/sbin/nginx

2.相对路径

[root@localhost ~] cd /usr/local/nginx/sbin/
[root@localhost sbin] ./nginx 

3.将路径加入PATH变量中以命令方式执行

[root@localhost ~] PATH=$PATH:/usr/local/nginx/sbin
[root@localhost ~] echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/nginx/sbin

我这里就直接以绝对路径进行了
在这里插入图片描述
查看ip地址,用ip地址在网页打开看到下面页面就代表成功了
在这里插入图片描述
在这里插入图片描述
如果要关闭,可以用下面命令:
在这里插入图片描述

四.rpm安装

4.1 rpm与yum的关系

rpm:Redhat Package Manager
yum:Yellowdog Updater Modified,是一个使用Python写的基于rpm的软件管理工具

yum是安装rpm包的一种在线安装方式,而不是一种新的软件包,软件包就只有源码包和rpm包两种格式。

4.2 rpm包详解

4.2.1 特性

软件包依赖性

4.2.2 命名

rpm包有两种命名,分别为包名和包全名

1.包全名,即安装包的全名
例如abrt-2.0.8-43.el6.centos.i686.rpm
通常在安装和更新操作命令时需要指定包全名,而且要注意路径,原因其实也很简单,这些软件包还未安装在系统中

2.包名
例如abrt-2.0.8-43.el6.centos.i686.rpm的包名就是abrt,操作已经安装的软件,搜索的是/var/lib/rpm/中的数据库

4.2.3 安装命令

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

-i install 安装(install)
-v 显示更详细的信息(verbose)
-h 打印 显示安装进度(hash)
额外选项:
 --nodeps 不检测依赖性安装。软件时会检测依赖性,确定所需的底层软件是否安装。
如果没有安装则会报错。如果我不管依赖性,想强行安装,可以使用这个选项。注意:
这样不检测依赖性安装的软件基本是不能使用的,所以不建议这样做
--replacefiles 替换文件安装。如果安装软件包,可是包中部分文件已经存在,那么
正常安装时候,会报错“某个文件已经存在”从而导致软件无法安装,使用这个选项可
以忽视这个报错,而覆盖安装
--replacepkgs 替换软件包安装。如果软件包已经安装,此选项可以把软件包重复安
装一遍。
--force 强制安装。不管是否已经安装,都重新安装。就是—replacefiles 和
—replacepkgs 的综合。
--test 测试安装。不会实际安装,只是检测一下依赖性。
--prefix 指定安装路径。为安装软件指定安装路径,而不使用默认安装路径。注意:
如果指定了安装路径,软件没有安装到系统默认路径中的话,系统会找不到这些安装的
软件,需要进行手工配置才能被系统识别。所以 rpm 包我们一般都采用默认路径安装。
4.2.4 查询命令

1.查询是否安装

[root@localhost ~]# rpm –q 包名
选项:
-q: 查询(query)

2 查询所有安装软件包

[root@localhost ~]# rpm -qa
选项:
-a:所有(all)

3 查询软件包详细信息

[root@localhost ~]# rpm –qi 包名
选项:
-i: 查询软件信息(information)

4.查询还没有安装的软件包中的文件列表和打算安装的位置,如下:

[root@localhost ~]# rpm –qlp 包全名
选项:
-p: 查询没有安装的软件包信息(package)

5 根据文件查找包名

[root@localhost ~]# rpm –qf 系统文件名
选项:
-f: 查询系统文件属于哪个软件包(file)
4.2.5 更新命令
[root@localhost ~]# rpm –Uvh 包全名
选项:
-U(大写) 升级安装,如果没有安装过,系统直接安装。如果安装过的版本较旧,则
升级到新版本(upgrade)
4.2.6 卸载命令
[root@localhost ~]# rpm -e 包名
选项:
--nodeps 不检查依赖性
-e 卸载
4.2.7 数字证书导入
[root@localhost ~]# rpm --import 数字签名文件
选项:
--import 导入数字证书
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值