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”

  • 相关阅读:
    how to pass a Javabean to server In Model2 architecture.
    What is the Web Appliation Archive, abbreviation is "WAR"
    Understaning Javascript OO
    Genetic Fraud
    poj 3211 Washing Clothes
    poj 2385 Apple Catching
    Magic Star
    关于memset的用法几点
    c++ 函数
    zoj 2972 Hurdles of 110m
  • 原文地址:https://www.cnblogs.com/nm666/p/10859399.html
Copyright © 2011-2022 走看看