Skip to content

linux 系统软件的安装

不管是什么系统,安装软件都有多种方式。而linux软件的安装稍微复杂。

linux 软件安装复杂主要体现在软件的依赖文件上,也叫做依赖包,要想安装某个软件,需要先安装它的依赖包。

编译安装

我们有时候安装软件,下载下来的是软件源代码,不能直接运行,需要编译之后才能运行,源代码 > 编译 > 二进制机器码,才能运行。

编译安装nginx的示例:

  1. 下载源代码

    curl -o nginx.tar.gz http://nginx.org/download/nginx-1.20.1.tar.gz
  2. 编译安装

    1. 解压文件

      tar xf nginx.tar.gz
    2. 切换到软件目录

      cd nginx-1.20.1/
    3. 配置编译参数

      这个软件给我们提供了很多功能,我们在编译过程中可以选择需要哪些功能,哪些功能不需要。所有功能都要就是完整版,有些功能不要就是精简版。

      ./configure --prefix=/usr/local/nginx --without-pcre --withouthttp_rewrite_module --without-http_gzip_module

      --without:去掉某些功能

      --prefix:指定软件的安装目录,不存在的话会自动创建。

      ./configure: 是使用相对路径执行这个文件(这是一个可执行文件,在linux系统中,如果一个可执行文件没有被注册的话,可以使用相对路径执行该文件)。

      这个指令执行之后,会自动检查各种依赖环境是否满足软件运行的要求,检查通过之后会生成一个叫做Makefile的文件。其实还会生成objs文件,但主要是Makefile文件

    4. 编译

      使用make指令进行编译。

      make 会找到当前目录中的Makefile文件来进行编译,这个编译过程一般是比价长的。具体时长取决于:

      • CPU性能
      • 软件功能复杂度

      编译之后在objs文件中会多一些文件,其中的nginx文件就是二进制可执行的文件。

      可以查看nginx的版本:

      typescript
      ./objs/nginx -v

      到这里只是编译完成,还需要进行安装。因为在编译过程中指定了安装路径,所以需要切换到/usr/local/nginx目录。

    5. 安装

      查看目录结构:

      typescript
        /usr/local/nginx/
         ├── conf  # 该软件的配置文件所在目录
         │   ├── fastcgi.conf
         │   ├── fastcgi.conf.default
         │   ├── fastcgi_params
         │   ├── fastcgi_params.default
         │   ├── koi-utf
         │   ├── koi-win
         │   ├── mime.types
         │   ├── mime.types.default
         │   ├── nginx.conf
         │   ├── nginx.conf.default
         │   ├── scgi_params
         │   ├── scgi_params.default
         │   ├── uwsgi_params
         │   ├── uwsgi_params.default
         │   └── win-utf
         ├── html  # 网站源代码存放目录,这个nginx其实主要是用来部署网站的,网站的代码可以放到这个目录中
         │   ├── 50x.html
         │   └── index.html
         ├── logs  # 这个软件自带日志记录功能,记录的日志存放在这个目录中
         └── sbin
             └── nginx

      运行指令:

      /usr/local/nginx/sbin/nginx

      因为没有配置环境变量,所以需要绝对路径执行。

      关闭防火墙:

      systemctl stop firewalld

      使用浏览器访问:

      http://ip地址/

      就可以看到网站了。

rmp 安装

编译安装时比价繁琐的。为了方便使用者,一般都会编译之后发给使用者,用起来就不需要编译,会方便很多。只要有人编译过一次,直接将编译后的程序发布出来,供使用者下载即可。下载软件需要使用到对应系统的包管理工具。

redhat系打出来的包叫做:rpm包,用yum安装的程序包其实都是rpm包,rpm的包我们也可以不使用yum而手动安装。

手动安装过程

  1. 先安装wget

    yum install wget -y
  2. 使用wget下载rpm

    wget https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm
  3. 安装rpm包 #rpm -i是安装,vh是显示安装进度条的意思。

    rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
  4. 卸载

    rpm -e 包名
  5. 升级

    rpm -Uvh xxx.rpm
  6. 查看已安装的软件

    rpm -qa|grep httpd

rpm安装软件个小问题:

比如:安装vim,会提示安装失败,需要各种依赖包,需要先去安装依赖包。

所以,用rpm安装软件不好解决依赖包的问题,所以出来了下面的yum安装方式,自动下载安装需要的

依赖包。以后都用yum来安装。

yum 安装

使用yum可以结局rpm依赖的问题。

安装扩展yum库:

yum install epel-release -y

yum安装nginx

yum install nginx -y

yum移除nginx

yum remove nginx -y

查看仓库rpm的数量:

yum repolist