Linux里安装软件的方法有三种:编译安装、RPM安装、yum安装
RPM (Red Hat Package Manager) 是一种在基于 Red Hat 的Linux发行版(如 Red Hat Enterprise Linux, CentOS, Fedora 等)中广泛使用的包管理系统。RPM 包是一种预编译的软件包格式,它包含了软件的二进制文件、库、配置文件、文档以及元数据(如软件的名称、版本、描述、依赖关系等)
软件包之间可能存在依赖关系,甚至循环依赖,即:A包依赖B包,B包依赖C包,C包依赖A包
安装软件包时,会因为缺少依赖的包,而导致安装包失败。
在对所有已安装的软件操作时,rpm后边必须加上 -q
选项 | 功能效果 |
---|---|
rpm -qa(all) | 显示当前系统中以 RPM 方式安装的所有软件列表 |
rpm -q 软件名 | 查询指定软件是否已安装 |
rpm -qi 软件名 | 查看指定软件包的名称、版本、许可协议、用途描述等详细信息 |
rpm -ql(list) 软件名 | 显示指定的软件包在当前系统中安装的所有目录、文件列表 |
rpm -qc (configfiles ) 软件名 | 列出已安装的指定软件的配置文件 |
rpm -qd(docfiles) 软件名 | 列出已安装的指定软件的软件包文档所在位置 |
rpm -qR (requires) 软件名 | 列出已安装的指定软件的依赖的软件包及文件 |
rpm -qf(file) 软件名 | 查看指定的文件或目录是由哪个软件包所安装的 |
rpm-qpd | 查询未安装指定软件包的文档位置 |
rpm -qpi | 查询未安装指定软件包的完整名称详细信息 |
rpm -qpl | 查询未安装指定软件包的文件列表 |
rpm -qpc | 查询未安装指定软件包的配置文件位置 |
例如:
rpm -q yum
?
rpm -qi yum
基本格式
rpm [选项] rpm软件包
? 选项 | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 功能 |
? ?-i | ? ?安装一个新的RPM软件包 |
? -U | ? ?升级某个软件包,若未安装过,则进行安装 |
? -F | ? ?升级某个软件包,若未安装过,则放弃安装 |
? -h | ? ?在安装或升级软件包的过程中,以“#”号显示安装进度 |
? -v | ? ?显示软件安装过程中的详细信息 |
? -fouce | ? ?强制安装某个软件包,比如要安装版本更旧的软件包 |
? -e | ? ?卸载指定名称的软件包 |
首先我们来卸载tree命令
下面,我们来安装tree命令
首先将光盘挂载上
输入? mount? /dev/sr0(cdrom)? /mnt? ?将光盘挂载到/mnt 下
然后开始安装tree
安装好后就可以使用命令了
我们用RPM下载安装软件包时会让你先下载此软件包的依赖软件包,有的软件包依赖关系很多,这样下载太慢,而yum就能够解决软件包的依赖关系,实现一键安装软件包。
①软件包管理: Yum源是Linux系统中用于存储和管理软件包的仓库。通过配置正确的Yum源,用户可以方便地查找、安装、更新和卸载系统中的软件包。
②依赖关系处理: Yum源不仅包含软件包本身,还包括每个软件包的依赖信息。当使用Yum安装软件时,它会自动解析并处理依赖关系,确保所有必要的库和组件都被正确安装,避免了手动解决依赖问题的繁琐过程。
③多样性与定制: 通过配置不同的Yum源,用户可以根据自己的需求选择不同版本的软件包或者使用第三方提供的软件仓库。这为系统提供了更大的灵活性和定制性。
④网络和本地源结合: Yum源可以是网络源(如官方的软件仓库或第三方镜像站)也可以是本地源(如光盘、USB驱动器或其他本地文件系统)。配置本地源可以在没有互联网连接或者网络速度较慢的情况下提高软件安装和更新的效率。
⑤可靠性与稳定性: 使用可靠的Yum源可以确保下载和安装的软件包是经过验证和测试的,降低了安装不兼容或恶意软件的风险。
与rpm安装时挂载方式一致
输入? mount? /dev/sr0(cdrom)? /mnt? ?将光盘挂载到/mnt 下
进入yum仓库配置目录,备份原文件
输入yum clean all 清理缓存? yum makecache? 重新下载元数据
yum -y install 软件名 | 安装、升级软件包,-y选项表示自动确认,-q选项表示静默安装 |
yum -y remove/erase 软件名 | 卸载软件包,可自动解决其依赖关系 |
yum -y update 软件名 | 升级软件包 |
yum list | 查询软件包列表 |
yum list installed | 查询系统中已安装的软件包 |
yum list available | 查询仓库中尚未安装的软件包 |
yum list updates | 查询可升级版本的软件包 |
yum info 软件名 | 查询软件包的描述信息 |
yum search [all] 关键词 | 根据某个关键词来查找相关的软件包(all可加可不加,加all显示的信息更全) |
yum whatprovides 命令/文件 | 查询命令/文件属于哪个软件包 |
例如yum -y install vim?
例如yum ?info httpd?
以安装nginx为例进行演示
在练习时最好新建一个文件目录:mkdir ?/data? ? ?切换到新建目录:cd ? ? /data
为了避免下载到恶意软件包,建议到官网下载后拖拽到Linux中加载,或者复制链接,使用命令下载,在这里演示使用命令下载
输入 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/ ??切换目录
安装编译环境需要的包
进行安装准备
输入:./configure --prefix=/apps/nginx 进行安装
输入make ?-j 2:将源代码翻译成二进制
j:代表CPU,根据自己配置的CPU来进行翻译
翻译过后会形成一个可执行的绿色文件????????
输入make ?install? 进行安装
我们之前的章节中说过,外部命令或程序,需要在/usr/local/sbin 、/usr /local/bin:、/usr/sbin、?/usr/bin、/root/bin 这五个文件夹,才可以直接写名字调用,否则需要描述出完整路径才可以使用,下面,我们就做一个软链接到其中
输入:ln -s ?/apps/nginx/sbin/* ? /usr/bin/??
systemctl stop firewalld ? ? ? 关闭防火墙setenforce 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 关闭防护
输入nginx:开启服务
在网页上输入虚拟机的ip地址验证是否开启
ss ? -natp|grep ?80 ? ?检测服务开启
curl? 虚拟机IP地址? ? 检测服务开启
? ? ? ??
nginx ?-s ? stop ? 关闭服务 ?