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

linux软件安装(rpm,源码编译)的更多相关文章

  1. Linux软件安装管理---源码安装

    在Linux平台下,软件包的类型可以划分为两类:源码包.二进制包. 源码包: 即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后再压缩的资源包). 二进制包: 如 Red Hat ...

  2. nginx在linux下安装(源码编译)

    下载 http://nginx.org/en/download.html 安装 安装依赖 yum -y install gcc gcc-c++ zlib zlib-devel pcre-devel o ...

  3. 第五部分 linux 软件安装RPM SRPM与YUM

    第五部分  linux  软件安装RPM    SRPM与YUM   软件管理员简介 RPM与DPKG两大主流 rpm: redhat       centos     suse    命令:yum ...

  4. linux操作之软件安装(二)(源码安装)

    源码安装 linux上的软件大部分都是c语言开发的 , 那么安装需要gcc编译程序才可以进行源码安装. yum install -y gcc #先安装gcc 安装源码需要三个步骤 1) ./confi ...

  5. Linux学习笔记(13)linux软件安装rpm与yum--理论篇

    该文章linux知识点如下 1.linux中 软件包介绍 2.linux源码软件安装 3.linux二进制软件安装 4.linux rpm软件包管理 5.linux yum软件包管理 1.linux中 ...

  6. yum安装与源码编译安装实际使用区别

    总结一些我实际生产使用的区别: 1.yum安装不是说不行,都行,各有千秋. 2.yum安装目录不集中,但基本遵循Linux文件夹的作用去划分文件,比如配置文件通常在/etc下. 3.yum安装说的模块 ...

  7. MySQL数据库的二进制安装、源码编译和基础入门操作

    一.MySQL安装 (1)安装方式: 1 .程序包yum安装 优点:安装快,简单 缺点:定死了各个文件的地方,需要修改里边的相关配置文件,很麻烦 2 .二进制格式的程序包:展开至特定路径,并经过简单配 ...

  8. 第22章 软件安装:源码与Tarball

    开放源码的软件安装与升级简介 什么是开放源码.编译程序与可执行文件 开放源码:程序代码,写给人类看的程序语言 编译程序:将源码编译成机器能看得懂的语言 可执行文件:经过编译变成二进制程序后机器看得懂可 ...

  9. 【运维技术】Nginx安装教程(yum安装,源码编译)

    安装方式 yum直接更新源安装 源码直接编译之后安装 使用yum进行直接安装 Installing a Prebuilt CentOS/RHEL Package from an OS Reposito ...

随机推荐

  1. 字典:当索引不好用时 - 零基础入门学习Python025

    字典:当索引不好用时 让编程改变世界 Change the world by program 有天你想翻开牛津字典,查找"sadomasochism[ˌseɪdoʊ'mæsəkɪzəm]&q ...

  2. android中handler使用应该注意的问题(解决由handler引起的OOM内存泄漏)

    最近,在项目过程中频繁的使用handler处理一些ui线程上的操作,以及使用handler的postdealy.然而使用过后却不对handler进行处理,进而产生了内存溢出现象,通过google,发现 ...

  3. awk的接口实现方案1

    module/a.awk function sum(a, b) { return a + b } module/b.awk function sum(a, b) { return a * b } ma ...

  4. POJ 3709 K-Anonymous Sequence (单调队列优化)

    题意:给定一个不下降数列,一个K,将数列分成若干段,每段的数字个数不小于K,每段的代价是这段内每个数字减去这段中最小数字之和.求一种分法使得总代价最小? 思路:F[i]表示到i的最小代价.f[i]=m ...

  5. bzoj1750 [Usaco2005 qua]Apple Catching

    Description It is a little known fact that cows love apples. Farmer John has two apple trees (which ...

  6. Linux 文件系统同步

    同步就是将物理内存中dirty的页写入到磁盘中,保证磁盘和物理页之间的内容一致. 触发同步操作的时机: 1.周期性内核线程,扫描脏页,根据一定的规则选择脏页,将页写回到磁盘. 2.如果内核中的脏页过多 ...

  7. 2D丛林逃生

    游戏介绍: 游戏地图采用二维数组:     每一个小块(Piece)类         上面有一个类型(StuffType)用于判断该小块上面站着的是什么 怪物,玩家,血瓶等等     怪物AI:   ...

  8. Socket通信原理和实践

    我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠so ...

  9. Bin & Jing in wonderland(概率,组合数学)

    Problem 2103 Bin & Jing in wonderland Accept: 201    Submit: 1048 Time Limit: 1000 mSec    Memor ...

  10. 基于MapReduce的SimRank++算法研究与实现

    一.算法应用背景 计算广告学(Computational Advertising)是一门广告营销科学,以追求广告投放的收益最大化为目标,重点解决用户与广告匹配的相关性和广告的竞价模型问题,涉及到自然语 ...