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/

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

相关推荐
o(╥﹏╥)4 分钟前
在 Ubuntu 上安装 VS Code
linux·运维·vscode·ubuntu·vs
AI慧聚堂28 分钟前
自动化 + 人工智能:投标行业的未来是什么样的?
运维·人工智能·自动化
不爱学英文的码字机器31 分钟前
[Linux] Shell 命令及运行原理
linux·运维·服务器
cdut_suye42 分钟前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
qq_433618441 小时前
shell 编程(三)
linux·运维·服务器
苹果醋31 小时前
2020重新出发,MySql基础,MySql表数据操作
java·运维·spring boot·mysql·nginx
两张不够花1 小时前
Jenkins 持续集成部署
运维·jenkins
Tlzns1 小时前
Linux网络——UDP的运用
linux·网络·udp
码农土豆1 小时前
PaddlePaddle飞桨Linux系统Docker版安装
linux·docker·paddlepaddle
Hacker_xingchen1 小时前
天融信Linux系统安全问题
linux·运维·系统安全