Linux基础---08软件的安装

安装方式 优缺点
编译安装 自由定制,但较为繁琐
rmp安装 安装简单,但需要自己解决依赖,不支持定制
yum安装 自动解决rmp依赖,但不支持定制(用的更多)

下面就具体介绍三大安装方式:

一.编译安装

用Linux系统演示一下在浏览器上访问Nginx过程,以便大家能比较清晰地看到整个编译安装的过程。

1. 下载解压软件包:

1)下载命令:

bash 复制代码
curl -o nginx.tar.gz   http://nginx.org/download/nginx-1.20.1.tar.gz

2)解压命令:

bash 复制代码
tar -zxf nginx.tar.gz

2.编译安装

1)配置编译参数

  • 先进入到解压后的文件夹里(后几步也都在此文件夹里输入命令):
bash 复制代码
cd nginx-1.20.1
  • 再配置编译参数,目的是生成Makefileobjs文件:
bash 复制代码
./configure --prefix=/usr/local/nginx --without-pcre --without-http_rewrite_module --without-http_gzip_module

./ : 利用相对路径来执行configure文件

prefix=/usr/local/nginx :指定软件的安转目录

without :去掉某个功能

执行此指令之后,会自动检查各种依赖环境是否满足软件运行的条件,检查通过就会生成Makefileobjs 文件。

2)编译--make

编译非常简单,直接输入make即可。但需要注意的是当前执行make指令的目录是刚刚我们配置编译参数的文件里,也就是有Makefile的文件。因为执行make指令,其目的是要Makefile。输入以下命令,检查是否编译完成:

bash 复制代码
./objs/nginx -v

返回版本号,即可编译完成。

3)安装--make install

安装也非常简单,输入make install即可。顺便也贴一个能更直观查看目录结构的工具---tree

bash 复制代码
yum install tree -y

安装后,查看目录效果如下:

4)运行

  • 通过tree工具,我们可以清除的看到nginx在sbin目录下。因此运行命令很简单,直接输入目录地址即可运行(没有安装tree工具也能运行)。
bash 复制代码
/usr/local/nginx/sbin/nginx
  • 输入后没有返回值是正常的。现在可以通过浏览器访问我们的nginx了,但是访问之前需要关闭防火墙。输入以下两条命令关闭:
bash 复制代码
systemctl stop firewalld
bash 复制代码
systemctl disable firewalld
  • 最后我们在浏览器上直接输入我们的ip地址即可访问成功:

若关闭之后网络依旧访问失败,那就需要手动关闭物理机的防火墙:

5)打包

打包就是为了让别人可以直接使用我们编译好的文件,只需要运行即可使用。根本就是先压缩编译好的文件再使用scp工具传输到另外一台Linux上。

二.rpm安装

  • 安装rpm包:rpm -i+xxx.rpm
  • 安装rpm包并显示进度条:rpm -ivh+xxx.rpm
  • 卸载:rpm -e+xxx.rpm
  • 升级:rpm -Uvh +xxx.rpm
  • 查看已安装的软件:rpm -qa|grep httpd

三.yum安装

  • yum安装扩展yum仓库:
bash 复制代码
yum install epel-release -y
  • yum安装nginx:
bash 复制代码
yum install nginx -y
  • yum移除nginx:
bash 复制代码
yum remove nginx -y
  • 查看仓库rpm数据:
bash 复制代码
yum repolist

四.yum仓库(镜像站)

查看yum仓库的路径:

bash 复制代码
ls /etc/yum.repos.d/

坚持日更,不断学习...

相关推荐
Thera7775 小时前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
阿梦Anmory5 小时前
Ubuntu配置代理最详细教程
linux·运维·ubuntu
呉師傅5 小时前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
云姜.5 小时前
线程和进程的关系
java·linux·jvm
heartbeat..5 小时前
JVM 性能调优流程实战:从开发规范到生产应急排查
java·运维·jvm·性能优化·设计规范
小Tomkk6 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊6 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
木卫二号Coding6 小时前
第七十九篇-E5-2680V4+V100-32G+llama-cpp编译运行+Qwen3-Next-80B
linux·llama
getapi6 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-19436 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器