目录
一.应用程序
对比应用程序与系统命令的关系
典型应用程序的目录结构
常见的软件包装类型
二.RPM软件包管理
1.RPM是什么?
2.RPM命令的格式
查看已安装的软件包格式
查看未安装的软件包
3.RPM安装包从哪里来?
4.挂载的定义
挂载命令mount
查看挂载情况
挂载规则
三.yum安装
1.定义
2.安装过程
3.实验-----配置本地yum仓库
客户端配置文件的格式
实验过程
四.编译安装
1.编译安装基本介绍
2.安装准备
3.实验过程
Linux系统与Windows系统不兼容,在Windows平台开发出来的软件在Linux上无法运行,在Linux上开发的软件在Windows上又无法运行,这就导致了软件移植困难。
如何在Linux安装、卸载软件
1、编译安装 灵活性搞 难度较大 可以安装较新的版本
2、rpm安装 (redhat) linux 包安装 查软件信息:是否安装,文件列表
2、yum 是升级版本,解决rpm的弊端
一.应用程序
对比应用程序与系统命令的关系
角色 | 系统命令 | 应用程序 |
文件位置 | 一般在/bin和/sbin目录中,或为shell内部指令 | 通常在user/bin和user/sbin目录中 |
主要用途 | 完成对系统的基本管理工作,例如IP配置工具 | 完成相对独立的其他辅助任务,例如网页浏览器 |
适用环境 | 一般只在字符操作界面中运行 | 根据实际需要,有些程序可在图形界面中运行 |
运行格式 | 一般包括命令字、命令选项和命令参数 | 通常没有固定的执行格式 |
典型应用程序的目录结构
文件类型 | 保存目录 |
普通执行程序文件 | /usr/bin |
服务器执行程序文件和管理程序文件 | /usr/sbin |
应用程序配置文件 | /etc |
日志文件 | /var/log |
应用程序参考文档文件 | /usr/share/doc |
应用程序手册页文件 | /usr/local/share/man |
常见的软件包装类型
文件类型 | 保存目录 |
RPM软件包 | 扩展名为“.rpm” |
DEB软件包 | 扩展名为“.deb” |
源代码软件包 | 一般为“.tar.gz”、“tar.ba2”等格式的压缩包包含程序的原始代码 |
绿色免安装的软件 | 软件包的扩展名不一,以TarBall格式的居多 在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用 |
二.RPM软件包管理
1.RPM是什么?
RPM(Red-Hat package Manager):
- 由Red Hat公司提出, 被众多Linux发行版所采用
- 建立统一的文件数据库
- 详细记录软件包安装、卸载、升级等变化信息
- 自动分析软件包依赖关系
2.RPM命令的格式
RPM软件可以实现几乎所有的功能:新增,删除,更新等。
查看已安装的软件包格式
rpm -q 软件名
rpm -qa | 显示当前系统中以 RPM 方式安装的所有软件列表 |
rpm -q 软件名 | 查询指定软件是否已安装 |
rpm -qi 软件名 | 查看指定软件包的名称、版本、许可协议、用途描述等详细信息 |
rpm -ql 软件名 | 显示指定的软件包在当前系统中安装的所有目录、文件列表 |
rpm -qc 软件名 | 列出已安装的指定软件的配置文件 |
查看未安装的软件包
rpm -qp 软件名
3.RPM安装包从哪里来?
- 官网下载 或者 自研
- 在安装光驱中 ,约4.7G 中,3个G 都是安装包。
4.挂载的定义
系统内部的 一个文件夹和硬件设备关联,只要访问文件夹等于访问硬件设备上的空间。(把硬盘变成文件,让系统识别并使用硬盘的空间
挂载命令mount
[root@localhost ~]#mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
解挂载格式:
umount 挂载的文件夹
卸载软件格式:
rpm -e 软件名
查看挂载情况
df —— disk free
挂载规则
- 最好使用空文件夹挂载,如果挂载的文件夹有文件存在,那么文件可能会消失
- 一个文件夹如果挂载多个设备 只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏
- 一个设备可以挂载在多个文件夹上 一个光驱可以挂载在多个文件夹上
- 一个挂载点同一时间只能挂载一个设备
三.yum安装
1.定义
- YUM(Yellow dog Updater,Modified )yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间
- yum是c/s架构(c/s架构是分为客户端和服务端;服务端是存放软件安装包,客户端是进行安装软件包;配置文件指向服务端)
- yum仓库的分类,本地和网络(本地:自己既是客户端也是服务端;网络:客户端和服务端分开)
2.安装过程
元信息是一个文件,记录了安装包的路径、安装包的依赖关系
- 第一次客户端根据配置文件找到服务端;
- 客户端将元信息下载到本地(元信息是安装包的位置以及安装包的依赖关系)
- 根据元信息去下载对应的安装包到本地后,然后安装
- 安装完成后,删除安装包
3.实验-----配置本地yum仓库
本地yum(不需要依赖网络)
yum install 安装
yum install 软件名 -y (-y表示同意)
vim /etc/yum.conf 服务端的配置文件
cd /etc/yum.repos.d/ 客户端的配置文件
客户端必须要有文件后缀面(必须要以.repo结尾)(必须要放在/etc/yum.repos.d文件夹中)
客户端配置文件的格式
[local]
name=local
baseurl=服务器地址
gpgcheck=0 (代表不验证)
enabled=1是开启/enable=0是关闭
baseurl:
file:// 本机位置
file:// /mnt 本机挂载点(本机挂载在mnt文件夹)
http:// 网络地址
https:// 网络地址
作为服务端需要提供安装包、源数据;所以看到repodata、package就可以复制当前地址
实验过程
mount /dev/sr0 /mnt #挂载提供安装包和元数据
cd /etc/yum.repos.d #切换到规定的目录
mkdir bak #建立备份文件夹
mv *.repo bak #将所有网络源移走,减少干扰
vim /etc/yum.repos.d/local.repo #自建本地源的配置文件[local] #自定义仓库描述
name=localer #自定义仓库名
baseurl=file:///mnt #指明仓库位置
gpgcheck=0 #不验证安全性(若为1则验证)yum clean all #清理缓存
yum makecache #重新建立元数据
注意:如果出现下面的情况 要kill 114533 或者 kill -9 114533四.编译安装
建议使用rm -rf /var/run/yum.pid
1.编译安装基本介绍
大部分是c语言开发的,更方便的使用
软件版本比较新,新功能,修复bug
可以自行定义配置文件的路径
源码可能有100个功能,红帽认为你可能不需要会自行处理砍掉,自行定制50
程序包编译安装:
源代码-->预处理-->编译-->汇编-->链接-->执行
多文件:文件中的代码之间,很可能存在跨文件依赖关系
虽然有很多开源软件将软件打成包,供人们使用,但并不是所有源代码都打成包,如果想使用开源软件,可能需要自已下载源码,进行编译安装。另外即使提供了包,但是生产中需要用于软件的某些特性,仍然需要自行编译安装。但是利用源代码编译安装是比较繁琐的,庆幸的是有相关的项目管理工具可以大大减少编译过程的复杂度。
2.安装准备
①选择安装在哪里
②检测编译环境
③选择安装模块
3.实验过程
mkdir /data/
cd /data
wget http://nginx.org/download/nginx-1.18.0.tar.gz #下载安装包
tar xf nginx-1.18.0.tar.gz #解压源码包
cd /data/nginx-1.18.0/ #切换目录
yum -y install gcc gcc-c++ pcre-devel openssl-devel zlib-devel openssl openssl-devel
#安装编译环境需要的包./configure --prefix=/apps/nginx #指明安装路径
make #将所有的源代码翻译成二进制,会形成一个绿色的可执行文件
make install
会执行文件,及相关的一些依赖文件拷贝到之前指定的目录中
(make -j 2 && make install #启用两核进行安装 )ln -s /apps/nginx/sbin/* /usr/bin/ #为了可以补全
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭防护nginx #开启服务
ss -natp|grep 80 #检测服务开启
curl 192.168.91.100 #检测服务开启nginx -s stop #关闭服务