zoukankan      html  css  js  c++  java
  • linux软件安装(rpm,源码编译)

    1、rpm(redhat package manager)管理器主要目的在于解决软件的安装、卸载、升级、查询、验证等,例如升级过程中,保留软件的配置文件,安装过程中,检查软件依赖的库文件,以及卸载过程中,检查依赖的包关系,最主要的是它以二进制的方式进行操作,不用用户自己编译源文件。但是有个问题就是他只能检查依赖关系,却不能帮助用户解决依赖关系,所以用户安装某个文件可能就会陷入庞大的依赖关系中不能自拔。

    2、yum管理器最大的功能是解决了rpm所不能解决的包依赖关系。

    3、关于rpm命令的相关指令,常用组合有以下:

      -1  rpm -ivh [rpm]  安装及显示安装过程,v表示输出级别,h表示输出过程

      -2  rpm -qa | grep [...]  查询已经安装的包

      -3  rpm -qf [file]  查询文件隶属哪个包

      -4  rpm -qc [rpm]  查询包的配置文件路径

      -5  rpm -qi [rpm]  查询包的摘要(包含是否安装的日期信息)

      -6  rpm -q --scripts [rpm]  查询包的常用脚本信息

      -7  rpm -qd [rpm]  查询包的帮助文档

      -8  rpm -ql [rpm]  查询包所含文件

      -9  rpm -Uvh [rpm]  打升级包(若没有此套件,则安装)  -Fvh  打升级包(若没有此套件,则不安装)

      -10  rpm -e [rpm]  删除包

    4、关于yum命令的相指令,常用的有以下:

      -1  yum list [all|installed|available]  #显示程序包

      -2  repolist  #显示库源,并创建

      -3  info [rpm_name]  #查看包信息

      -4  groupinfo [group_name]  #查看包组信息

      -5  clean all  #清空所有缓存

      -6  makecache  #生成缓存

      -7  install [rpm_name]  #安装 -y 直接安装不提醒

      -8  reinstall [rpm_name]  #重新安装

      -9  check-update  #检查可升级的包

      -10  update [rpm_name]  #若不指定,查询全部升级包,并提示是否升级

      -11  update-to [rpm_name_release]  #指定升级版本

      -12  remove [rpm_name]  #卸载

      -13  provides [rpm_file]  #显示文件由哪个包安装

      -14  groupinstall  #安装包组  groupremove  #删除包组

      -15  localinstall [rpm_name]  #本地安装,可以安装rpm包,并解决依赖关系

    5、本地yum库创建过程:

      -1  createrepo  rpms_dir_path  #生成repodata文件夹

      -2  编写库配置文件.repo  /etc/yum.repo.d/

         另:yum主信息  /etc/yum.conf

                [main]                       #默认配置(唯一)
                cachedir=                  #缓存路径
                keepcache=               #rpm是否保存在本地0否,1是
                debuglevel=               #显示调试信息的级别
                logfile=                  #日志文件路径
                exactarch=                #rpm包是否跟本地平台完全匹配,默认1匹配
                gpgcheck=                #是否检查数字签名,默认1检查

      -3  .repo格式如下:

         [repo_name]

         name=        #更类似于description描述信息

         baseurl=       #库源路径,可ftp,http,本地,为repodata文件夹所在的父路径,此处路径可用一些内置变量替代

         eg:http://mirror.sohu.com/centos/$releasever/os/$basearch/

           $releasever #系统主版本号

           $arch    #内核版本 uname -r

           $basearch   #取得平台的基准平台架构,例如586,686,都取386

         gpgcheck=      #数字签名检测,默认检测,可不设置

         gpgkey=       #数字签名检测所需的密钥

         enabled=       #是否开启,默认开启,可不设置

         cost=          #优先级,数字越大,优先级越低,可不设置

      -4  yum clean all     #清理缓存

      -5  yum repolist      #写入repo列表,使其生效

    6、怎么将*.src.rpm制作成二进制版本的rpm

      -1    rpm -ivh *.src.rpm   

      -2    cd 到 spec目录

      -3    rpmbuild -bb *.spec    只生成二进制格式的rpm包,不再生成源码格式的rpm包,若需源码格式-ba

    7、编译安装完后,所需执行的步骤:

      1、执行命令环境变量问题:
          -1    hash会告知你执行的命令是否是原装的rpm还是新编译的
          -2    环境变量应设置在原环境变量之前,若没有删除原rpm的话
      2、库文件搜索路径:
          -1    添加搜索路径,/etc/ld.so.conf.d/*.conf,创建的新文件中加入新的lib路径
                eg:vim /etc/ld.so.conf.d/apache.conf
                   加入/usr/local/apache/lib
          -2    ldconfig -v 重新搜索库路径,生成缓存/etc/ld.so.cache
      3、man文件定位
          -1    vim /etc/man.config
               加入 MANPATH /usr/local/apache/share/man
      4、头文件链接:
          -1    ln -sv /usr/local/apache/include /usr/include/httpd

    [星空刺] |-->一颗星辰一闪即逝,支撑它的唯有方向和目的
  • 相关阅读:
    AJAX入门之深入理解JavaScript中的函数
    檔案下載function
    数据库的分页问题
    如何手动删除归档日志
    ORA00257 archiver error. 错误的处理方法
    关于Change Data Capture(六)查询CDC信息
    Cognos 的技巧
    Structs工作原理
    strutsconfig.xml属性含义
    Oracle性能查询统计信息的SQL语句
  • 原文地址:https://www.cnblogs.com/aaa103439/p/3376491.html
Copyright © 2011-2022 走看看