一.Linux应用程序基础
当我们主机安装Linux操作系统时候,也会同时安装一些软件或网络服务等等,但是随着系统一起安装的软件包毕竟他是少数的,能够实现的功能也是有限的,如果需要实现更丰富的功能,那就需要安装应用程序。
1.应用程序和系统命令的关系
两者的用途区别:
系统命令:命令文件一般在安装操作系统一起安装,用于辅助操作系统本身的管理。
应用程序:应用程序一般需要在操作系统之外另行安装,提供相对独立操作系统的功能,有时候等同于“软件“的概念。
2.典型的应用程序的目录结构
3.常见的软件包封装类型
对于各种应用 程序的软件包,在封装时可以采用各种不同的类型,不同类型的软件包其安装方法也各不相同。
二.rpm包管理工具
1.rpm概述
Red-Hat Package Manager
由Red Hat公司提出,被众多Linux发行版所采用
建立统一的数据库文件
详细记录软件包安装、卸载等变化信息
自动分析软件包依赖关系
rpm软件包格式
使用RPM机制封装的软件包文件拥有约定俗称的命名格式:
一般命令格式:bash-4.12-15.el6_4.x86_64.rpm
2.rpm命令格式
RPM命令能够实现几乎所有对RPM软件包的管理功能
执行“man rpm” 命令可以获得关于rpm命令的详细帮助信息
rpm命令功能:
查询、验证RPM软件包的相关信息
安装、升级、卸载RPM软件包
维护RPM数据库信息等综合管理操作
3.查询rpm软件包的信息
3.1查询已安装的rpm软件信息
格式: rpm -q [子选项] 软件名
常用子选项
选项 | 功能 |
rpm -q | 对已安装的软件进行查询 |
rpm -ql 软件名 | 查看某软件的所有安装目录 |
rpm -qc 软件名 | 查看软件的配置文件 |
rpm -q 软件名 | 查看软件是否安装 |
rpm -qa(all) | 显示当前系统中以 rpm 方式安装的所有软件列表 |
rpm -qi 软件名 | 查看指定软件包的名称、版本、许可协议、用途描述等详细信息 |
rpm -qd 软件名 | 列出已安装的指定软件的软件包文档所在位置 |
rpm -qf(file) 软件名 | 查看指定的文件或目录是由哪个软件包所安装的 |
rpm -qF 软件名 | 查询已安装的指定软件属于哪个安装包 |
3.2查询未安装的rpm软件的文件中的信息
格式:rpm -qp [子选项] rpm包文件名(绝对路径的软件包名)
选项 | 说明 |
rpm -qpd | 查询未安装指定软件包的文档位置 |
rpm -qpi | 查询未安装指定软件包的完整名称详细信息 |
rpm -qpl | 查询未安装指定软件包的文件列表 |
rpm -qpc | 查询未安装指定软件包的配置文件位置 |
4.安装、升级、卸载rpm软件包
格式:rpm [选项] rpm包文件
常用选项
选项 | 功能 |
-i | 安装一个新的rpm软件包 |
-v | 显示软件安装过程中的详细信息 |
-h | 在安装或升级软件过程中,以“#”号显示安装进度 |
-e | 卸载指定名称的软件包 |
-U | 升级某个软件包,若未安装过,则进行安装 |
-F | 升级某个软件包,若未安装过,则放弃安装 |
–force | 强制安装某个软件包,比如要安装版本更久的软件包 |
–nodeps | 在安装或升级、卸载一个软件包时,不检查与其它软件包的依赖关系(会导致软件无法使用) |
5.维护rpm数据库
重建RPM数据库,当RPM数据库发生损坏,可通过重建RPM数据修复
基本格式:
rpm --rebuilddb 或rpm --initdb
导入验证公钥,在没有导入用于数字签名的公钥文件之前,安装光盘中的一部分rpm软件包时会报错,需要向rpm数据库中导入位于光盘跟目录下的公钥文件。
基本格式:
mount /dev/sr0 /mnt/ #先挂载
rpm --import /mnt/RPM-GPG-KEY-CentOS-7 #导入公钥
6.解决软件包依赖关系的方法
①安装有依赖关系的多个软件时
被依赖的软件包需要先安装
可同时制定多个 .rpm包文件进行安装
②卸载有依赖关系的多个软件时
依赖其他的程序的软件包需要先卸载
可同时制定多个软件名进行卸载
③忽略依赖关系
结合“ - -nodeps”选项,但可能会导致软件异常
三.yum安装
1.什么是yum
yum(Yellow dog Updater Modified)是一个在Fedora和RedHat以及SUSE中的shell前段软件包管理器。
基于rpm包管理,能够从制定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,不需要频繁地一次次下载安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁又好记。
2.如何实现安装服务
元信息是一个文件 里面记录了安装包的路径 安装包的依赖关系
- 客户端根据配置文件找到服务端
- 客户端将元信息下载到本地仓库(元信息:安装包的位置,以及安装的依赖关系)
- 根据元信息去下载对应的安装包到本地后,然后安装
- 安装完成后再删除安装包
3.配置本地yum源仓库
1.先挂载
2.切换到指定目录 ,新建一个文件夹,将自带的仓库移走,目的是减少网络源的干扰
3.新建yum仓库
4.删除yum缓存并更新(至此,yum本地源已创建完成)
5. 检验是否安装成功
4.yum常用命令使用
指令 | 用途 |
yum -y install 软件名 | 安装升级软件包 |
yum -y remove 软件名 | 卸载软件包,可自动解决其依赖关系 |
yum -y update 软件名 | 升级软件包 |
“ -y ” 选项表示自动确定
指令 | 用途 |
yum list | 查询软件包列表 |
yum list installed | 查询系统中已安装的软件包 |
yum list available | 查询仓库中尚未安装的软件包 |
yum list updates | 查询可以升级版本的软件包 |
指令 | 用途 |
yum info 软件名 | 查询软件包的描述信息 |
yum search all(关键字) 软件名 | 根据某个关键字来查找相关的软件包 |
yum whatprovides 命令 | 查询命令属于哪个软件包 |
四.源代码编译安装
1.源代码编译概述
使用源代码优点
获得最新的软件版本,及时修复bug
根据用户需要,灵活定制软件功能
应用场合举例
安装较新版本的应用程序时
当前安装的程序无法满足需求时
需要为应用程序添加新的功能时
2.编译安装的基本过程
源码编译安装
./configure
安装准备工作
1.选择装在哪里
2.检查编译环境
3.选择安装模块,默认安装,额外的一些软件功能
./configure --help 看到可以安装的模块
make make -j 2 代表使用两核cpu编辑
将所有的源代码翻译成二进制,会形成一个绿色的可执行的文件
make install
将执行的文件,及相关的一些依赖文件拷贝到之前的指定的目录中
关闭防火墙和防护
实操下载nginx
1.创建并切换到data下,下载nginx安装包
2.解压源码包
3.切换目录到他下面
4.安装编译环境需要的包
5.配置安装路径
6.编译和安装
7.简化操作,关闭防火墙和防护
8.开启服务,然后检测服务是否开启
9.测试