• Linux学习笔记4-三种不同类型的软件的安装(绿色软件、rpm软件、源代码软件)



    在Linux下软件分三种:
    1.绿色软件:即不用安装直接就能用的软件
    2.rpm安装包:以rpm结尾的可执行文件 
    3.源码文件:没有进行过编译和打包的文件,需要编译后再进行安装



    一、绿色软件的安装
    这类软件安装最简单,只需要将复制到/usr/bin目录下面,即可完成安装;


    二、rpm安装包安装
    使用rpm命令来安装rpm程序:以安装Java JDK为例:
    1.首先要检查在当前系统中是否安装了jdk: 使用命令: rpm -qa | grep jdk  如果什么执行命令后,什么也没显示就代表没有安装该程序;
    2.下面我们将java的rpm包上传到Home目录下  jdk-7u79-linux-x64.rpm

    3.执行安装命令:rpm -ivh jdk-7u79-linux-x64.rpm  然后系统会提示你是否安装,输入y


    4.安装完成以后想查看是否安装成功:
     先使用rpm -qa | grep jdk   命令来查询看已安装过的软件中是否存在这个软件,我们查到的结果是  jdk-1.7.0_79-fcs.x86_64
     然后使用 rpm -qc jdk-1.7.0_79-fcs.x86_64  可以查看软件安装到哪个目录下面了;

     注:每个rpm包在软件商打包的时候,指定的安装目录都不一样,所以不能指定软件的安装目录,但是可以使用上面的方法查询安装的目录;


    5.配置JDK的环境变量
    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。
    系统级:/etc/profile  一些系统级的环境变量都会在这里面配置(强烈不不不不推荐用户将程序的系统变量配置在这里面,因为会影响其他用户的使用)
    用户级:~/.bash_profile 在这里配置环境变量只有当前登录的用户才用得到,强烈推荐在这里配置
    命令:vi ~/.bash_profile  然后在PATH下面输入以下命令:


    保存退出以后,需要使该配置文件生效,使用命令  source ~/.bash_profile  可以使用文件配置文件生效

    然后输入  java -version  如果能显示Java的版本号,就表明安装成功了


     
    下面来详细说明一下rpm的参数的功能:


    1、安装
    rpm -i /PATH/TO/PACKAGE_FILE
    -h: 以#显示进度;每个#表示2%; 
    -v: 显示详细过程
    -vv: 更详细的过程

    rpm -ivh /PATH/TO/PACKAGE_FILE


    --nodeps: 忽略依赖关系;
    --replacepkgs: 重新安装,替换原有安装;
    --force: 强行安装,可以实现重装或降级;

    安装jdk

    配置环境变量:编辑/etc/profile 或者 ~/.bash_profile
    export JAVA_HOME=/usr/java/jdk1.7.0_71
        export PATH=$PATH:$JAVA_HOME/bin

    2、查询
    rpm -q PACKAGE_NAME: 查询指定的包是否已经安装
    rpm -qa : 查询已经安装的所有包
    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 


    3、升级
    rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级;否则,则安装;
    rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出;
    --oldpackage: 降级

    4、卸载
    rpm -e PACKAGE_NAME
    --nodeps

    5、校验
    rpm -V PACKAGE_NAME

    6、重建数据库
    rpm 
    --rebuilddb: 重建数据库,一定会重新建立;
    --initdb:初始化数据库,没有才建立,有就不用建立;




    7、检验来源合法性,及软件包完整性;
    加密类型:
    对称:加密解密使用同一个密钥
    公钥:一对儿密钥,公钥,私钥;公钥隐含于私钥中,可以提取出来,并公开出去;
    单向:


    # ls /etc/pki/rpm-gpg/
    RPM-GPG-KEY-redhat-release

    rpm -K /PAPT/TO/PACKAGE_FILE
    dsa, gpg: 验正来源合法性,也即验正签名;可以使用--nosignature,略过此项
    sha1, md5: 验正软件包完整性;可以使用--nodigest,略过此项


    二、使用yum 安装程序
    在使用rpm安装程序的时候,每次只能安装一个安装包,并且如果要安装的安装包还依赖于其他的程序,那还需要一步一步的去解决依赖关系,所以非常麻烦,幸好有yum 他可以解决程序之间的依赖关系;
    在使用yum 安装的时候,他首先会根据程序名称到yum 源中下载要安装的软件包和依赖包,然后进行安装;
    下面我们以安装httpd来说明:
    1.检查yum 源中是否存在httpd的安装包 使用命令 yum search httpd 

    2.在结果中,这两上是我们想要的,一个是32位安装包,一个是64位安装包,下面是安装了 使用命令 yum install httpd-devel.x86_64


    安装过程有点慢, 因为yum 需要先下载安装包,然后解决依赖关系,所以较慢。
    3.怎么查看我们安装到哪个目录下面了呢,使用rpm 命令,如上面,命令: rpm -qc `rpm -qa | grep httpd`
    4.启动httpd  命令:service httpd start
    5.关闭防火墙,并访问httpd默认端口 命令:service iptables stop  然后在浏览器中访问:http://ip:80 如果弹出Apache的页面,说明成功了

    6.启动以后就可以使用命令:netstat -nptl  查看到httpd监听的端口等信息


    yum帮助文档:http://vbird.dic.ksu.edu.tw/linux_basic/0520rpm_and_srpm_4.php


    三、源码文件安装(这个最复杂)
    源码文件安装要遵循六大步骤:
    1、下载
    2、查看源码:查看源代码,查看软件是什么语言、什么开发平台开发的
    3、准备编译环境:根据源代码的开发环境去下载安装,相应的编译环境;
    4、检查(依赖,兼容),预编译:在真正编译前要解决软件的依赖关系和依赖的软件
    5、编译:编译软件
    6、安装:安装
    下面我们以安装nginx这个软件为例:
    1.下载地址:http://nginx.org/en/download.html  源码软件一般下载下来都是一个压缩包

    2.查看代码的开发语言和平台,解压后通过查看src下的core目录下的文件扩展名及代码,可以看出该软件的开发语言是C和C++;


    3.那我们要安装的编译器就是gc和gc++ 还是使用yum工具,运行命令:yum search gc 找到我们要安装的gc软件  gc-devel.x86_64   
    然后命令:yum install gc-devel.x86_64; yum install gcc-c++
    4.预编译,先解压Nginx的压缩包 使用命令: tar -zxvf  压缩包名  进行解压
    解压完成后,要进行预编译,进么该目录下会看一个configure 文件,通过这个文件我们可以指定软件的安装目录,同时还会报出一些软件依赖,然后我们要解决这些依赖;

    默认的情况下我们的软件都放在/usr/bin/下面;仍然使用命令: ./configure --prefix=/usr/bin/nginx-1.8.0

    我们看到有一个叫PCRE 的软件依赖,那我们依然使用yum 进行安装这个PCRE


    安装完成PCRE以后,继续运行命令: ./configure --prefix=/usr/bin/nginx-1.8.0

    这时我们又看到,又一个叫zlib的依赖,然后继续解决依赖(就是这么让人xx疼);


    安装完成以后,发现没再报什么依赖错误,我们就可以安心的进行下一步了;
    5.编译
    运行命令:make 进行编译
    6.安装软件 运行命令:make install
    在安装完成以后,到预编译的目录下面去查看一下文件是否安装在该目录下面,如果有就说明我们安装成功了


  • 相关阅读:
    【BZOJ 2324】 [ZJOI2011]营救皮卡丘
    【BZOJ 2809】 [Apio2012]dispatching
    网络流小结
    复活
    终结
    11.7模拟赛
    codevs 2173 忠诚
    P3386 【模板】二分图匹配
    Leetcode 大部分是medium难度不怎么按顺序题解(上)
    ATP的新博客!
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114714.html
Copyright © 2020-2023  润新知