zoukankan      html  css  js  c++  java
  • Linux 软件安装

    Linux软件安装

    这里主要有三种:

    • 编译安装(麻烦,不推荐)
    • rpm安装(一般,不太推荐)
    • yum安装(推荐)

    一、编译安装

    编译安装是最麻烦的方式,一般不推荐使用。但是我们依然要了解下,万一以后不得已用到了呢?

    我们拿淘宝的Tengine(基于Nginx的Web服务器)的安装示例:

    首先解压: tar -zxvf tengine-2.1.0.tar.gz解压完成后,有一个tengine的文件夹,我们进入查看README文件

    README文件找到如下内容,要安装Tengine,需要执行下面三个步骤:

    ./configure :执行configure生成一个mikefile文件,用于生成各个模块依赖【./configure --help查看帮助】。

    我们试着执行下,发现有个错误,C编译器环境没有,也就是没有gcc

    我们来安装下gcc ,命令yum install -y gcc,安装完成后我们再次执行./configure命令,发现又有一个错误,缺少PCRE库:

    我们不知道,PCRE是啥意思,命令yum search PCRE查看如下,我们选择安装开发版本的pcre包,命令yum install pcre-devel,不用选择32位的还是64位的,会自动识别。

    安装完成,我们继续执行./configure文件,发现又有一个错误!!!,如图所示,和上面操作一样,安装吧。。。。。。

    直到我们安装完,所有缺少的包,执行./configure,结果如下所示:

    来查看一下,Makefile文件如下图所示,我们在读取README文件的时候知道第一步是执行./configure文集,第二步就是执行make命令(没有参数)。n那么没有参数,他就会默认找default对应的build。也就是执行/objs/下的Makefile文件,记得不是tengine-2.1.0文件下的Makefile。

    /objs/Makefile里面有哪些东西呢?里面指定了一些文件安装的目录,以及编译过程描述。因此make就是执行我们Makefile所指定的编译过程。回到tengine根目录下执行make命令,然后执行make install。当看到如下显示,说明编译并安装完成。

    我们最后到来测试下nginx是否可以执行,到/usr/local/下找到nginx并找到可执行文件(说明:Linux默认都是安装在我们/usr/local文件目录下的):

    nginx启动成功了。既然nginx是一个web服务器那么他就可以通过浏览器来访问【ps->记得关闭防火墙 service iptables stop】:

    至此我们的编译安装tengine的示例完成,但是特别麻烦,需要自己去安装一些依赖的库。因此不推荐,一般也不采用这样的方式。我们有更好的方式。

    二、rpm安装

    • Redhat提供了rpm管理体系
    • 已经编译的软件包:针对不同的平台系统编译目标软件包
    • 操作系统维护安装信息
    • 软件包包含依赖检查,但,还需人为解决

    示例安装:

    安装jdk-7u67-linux-x64.rpm,执行命令如下:

    rpm -ivh jdk-7u67-linux-x64.rpm

    • i:install
    • v:显示安装进度

    安装完如下,我们执行java -version来查看发现安装成功了,但是我们并没有配置环境变量,在执行下java的内部命令jps发现命令没有找到:

    为什么环境变量没有配置反而java -version可以执行呢?

    因为安装java的过程中会有个小脚本,让java指向/usr/java下的default

    配置环境变量:

    生效并测试:

    命令总结:

    • rpm安装
      • -ivh filename
      • --prefix
    • rpm升级
      • -Uvh
      • -Fvh
    • rpm卸载
      • -e PACKAGE_NAME
    • rpm查询(类似windows 控制面板-程序/卸载)
      • rpm -qa : 查询已经安装的所有包
      • rpm -q PACKAGE_NAME: 查询指定的包是否已经安装
      • rpm -qi PACKAGE_NAME: 查询指定包的说明信息
      • rpm -ql PACKAGE_NAME: 查询指定包安装后生成的文件列表
      • rpm -qc PACEAGE_NEME:查询指定包安装的配置文件
      • rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件
      • rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本
      • rpm -qf /path/to/somefile: 查询文件是由哪个rpm包安装生成的
      • 如果某rpm包尚未安装,需查询其说明信息、安装以后会生成的文件
        • rpm -qpi /PATH/TO/PACKAGE_FILE
        • rpm -qpl

    查询某个工具需要安装那个包示例:

    说明:rpm会有一个数据库记录文件安装的目录以及所对应的包,及时文件被移除,也能查询出来需要安装的包。

    但是:

    有的包需要相关的依赖,如果没有还是会像编译安装一样先安装相关依赖的包比较麻烦。

    三、yum安装

    • 基于rpm包管理
    • 提供rpm仓库

    国内镜像仓库:

    查看yum仓库配置:

    配置镜像仓库(如阿里的):

    1.备份配置文件:

    2.安装wget工具:

    yum install wget -y

    3.复制阿里云帮助文档的命令:

    完成后有如下文件:

    4.生成缓存【注意应当先清除之前的依赖】

    5.接下来就可以愉快的从阿里镜像库下载软件了。

    6.网易镜像库同理,使用帮助:http://mirrors.163.com/.help/centos.html

    配置本地源:

    1.修改CentOS-Base.repo文件

    之前阿里云的配置如下:

    配置后如下:

    说明:baseurl=

    • http:// 互联网上
    • file:// 本地
    • ftp:// ftp服务

    2.清除依赖-生成依赖

    yum clean all

    yum makecache

    3.注意记得挂载上含有仓库的目录 mount /dev/cdrom /myrepo,有时候明明有依赖却下载失败,就是因为没有挂载上仓库目录。

    yum常用命令:

    • yum repolist

    • yum clean all

    • yum makecache

    • yum update

    • 查询:

      • yum list 列出安装的包
      • yum search 查询
      • yum info 如 yum info mysql-server
    • 安装&卸载:

      • yum install 安装
      • remove|erase 卸载
    • 分组

      • yum grouplist
      • yum groupinfo
      • yum groupinstall
      • yum groupremove
      • yum groupupdate

    注意如果安装的包中间包含空格,需要用引号括起来

    如 Romanian Support 要括起来“Romanian Support”

  • 相关阅读:
    第十二天
    php获取变量所占内存大小的方法
    php数组倒序
    最近学习时遇到的一些函数
    php curl发送留言实例
    php性能测试
    php敏感字过滤替换
    php常用函数
    必学PHP类库/常用PHP类库大全
    thinkphp html转为字符
  • 原文地址:https://www.cnblogs.com/nm666/p/10859399.html
Copyright © 2011-2022 走看看