一、背景

  由于最近想自己摸索一些linux下的东西,开始玩起了Linux系统,在安装软件的过程中有诸多的不解和困惑,现在终于搞明白了具体是怎么样的安装步骤和过程,先分享给你们同时也方便自己复习查阅。

二、基本概述

  1.RPM
        RedHat Package Manager的简称,即RedHat包管理器。
        以数据库记录的方式将软件安装到Liunx。
        软件包事先编译好并且打包成RPM机制的文件,类似于Windows的安装程序。
        软件信息记录在本地数据库,方便查询、升级、卸载。
        不允许自定义参数和设置,限制较多。

  2.SRPM
        Source RPM,附带源码的RPM包,扩展名为src.rmp。
        不可以直接安装,需要通过编译后再安装。
        可以修改参数文件自定义配置项。
        和RPM比较类似。

  3.YUM
        Yellow dog Updater,Modified的简称,基于RPM包管理。
        能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无需繁琐的一次次下载、安装。
        使用简单、方便。

三、安装方式介绍

  1.源码方式安装linux软件

    下载源码包到/usr/local/src

    解压缩源码包

    查看install和readme档案安装相依性软件

    ./configure安装软件到特定位置

    make clean清除目标档案

    make编译

    make install

    修改PATH

  2.rpm方式安装linux软件

    明确安装包所在路径或者网站(find /dirname–name ‘name*’)

    查找rpm库中是否已经安装 rpm -qa | grep 'softwareName'

    安装rpm –ivh /path/to/file.rpm

    rpm常用参数

      -i:安装

      -U:后接的软件如果没有安装过则安装,如果安装过且版本较旧则更新

      -F:后接的软件如未安装则不进行安装,如果安装过且版本较旧则更新

      -v:查看详细安装信息

      -h:查看安装进度

    rpm常用的长选项

      --nodeps:忽略相依性强制安装

      --replacepkgs:重复安装已安装过的软件档案

      --force:强制安装

      --nosignature:忽略数字签名认证

      --prefix:指定安装路径

      --relocate:改变安装路径

      --justdb:完善RPM关于此软件档案的数据库文件

      --initdb:初始化RPM数据库

      --rebuilddb:重建RPM数据库

    rpm查询:RPM [options] [filename]

      -q:查询后面的软件是否有安装

      -qa:列出此系统上已安装的所有软件

      -ql:列出该软件安装后产生的所有文件完整目录列表

      -qd:列出该软件安装后产生的所有man文件完整目录列表

      -qf:列出该档案所属的已安装软件

      -qi:列出该软件的详细信息

      -qR:列出与该软件的相依软件有关的档案

      -p:未安装的软件包

      -e:移除某个软件(要从相依性的顶层开始)

    rpm升级:rpm –V[apf] [filename/dirname]

      -V:后面加软件名称,显示该软件所含的被更动过的档案

      -Va:列出系统上所有被改动过的档案

      -Vf:列出某个档案是否被更动过

    rpm数字签名验证流程

      获取公钥安装包

      安装公钥rpm --import /path/to/GPG-KEY

      得到gpg-pubkey*档案,包含签章信息

      安装原厂软件时,rpm指令会去读取签章信息,与已导入的公钥相比较。如果相同则安装,不同则不允许安装

   3.SRPM安装linux软件

      进行编译源包:rpmbuild [options]

        --rebuild:将***.src.rpm源码进行编译,并打包成rpm包

        --recompile:将***.src.rpm源码进行编译、打包,并进行安装

        -ba:将数据编译并同时产生RPM与SRPM

        -bb:将数据仅编译程RPM档案

        备注:SRPM包用rebuild创建成rpm包后,里边会有一个*.spec配置档案

      后面步骤和rpm相同

  4.YUM进行安装linux软件

    配置yum仓库/etc/yum.repo.d/*

    连接网络

    yum install softwareName

    yum clean all删除所有yum仓库中的数据

    查询:yum[list|info|search|provides|whatprovides]参数
            search:查询某个程序的名称或是描述(yum search mysql)
            list:列出目前所有的管理的软件以及版本(rpm -qa)
            info类似list,查询软件的功能、版本说明(rpm -qai)
            provides:通过文件查询所属软件(rpm -qf)

    安装、升级,yum [install|update]程序名
            install:安装软件
            update:升级软件、不指定名称则升级整个系统

    卸载程序:yum[remove]程序名称

    yum的配置
           /etc/yum.repos.d/CentOS-Base.repo
            yum clean[package|headers|all]
            /var/cache/yum

四、总结

  对于软件技术来说,我觉得最重要的是分享和开源精神,因为这和分享快乐的原理相同,如果你有一份技术,我有一份技术,那我们彼此分享以后,每个人都变成了两分技术,不但没有减少,反而增加了,这不正是我们所希望看到的么?何乐而不为呢?这也正是为什么我喜欢抽出休息时间来孜孜不倦的写技术博客的原因。    

学会四招让你在linux下安装程序变得简单的更多相关文章

  1. Linux下安装protobuf并实现简单的客户端服务器端通信

    http://code.google.com/p/protobuf/downloads/list上可以下载Protobuf的源代码. 安装步骤如下所示: 1>tar -xzf protobuf- ...

  2. linux下安装程序(dep/tgz/rpm)

    1.tgz本身就是压缩包,所以前提是先解压出来 tar zxvf test.tgz 而对于安装,可以是程序包本身包含安装,也可以是通过特定shell脚本运行,毕竟这个是不安装包,而只是压缩包. 2.d ...

  3. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  4. CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

    在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...

  5. linux下安装jdk+tomcat+eclipse+mysql

    我的环境:主机是win7的,虚拟机是VWare  Workstation 6.0   ,linux系统为Red Hat Enterprise  Linux 5 64位 各软件版本:jdk是jdk-6u ...

  6. 在Linux下安装和使用MySQL

    [简 介] 想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL.本以为有Windows下使用SQL Server的经验,觉得在Linu ...

  7. 转】Linux下安装Tomcat服务器和部署Web应用

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4097608.html 感谢! 一.上传Tomcat服务器

  8. Linux下C程序的编辑,编译和运行以及调试

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  9. linux下安装jira详细步骤

    首先从官网下载jdk的安装包,将jdk的安装包上传到虚拟机或者服务器,在./usr/local/目录下面创建一个java目录:mkdir java 等等,具体祥看本文,希望对你有所帮助 linux下安 ...

随机推荐

  1. Ng第十五课:异常检测(Anomaly Detection)

    15.1  问题的动机 15.2  高斯分布 15.3  算法 15.4  开发和评价一个异常检测系统 15.5  异常检测与监督学习对比 15.6  选择特征 15.7  多元高斯分布(可选) 15 ...

  2. SRM482

    250pt 题意:给定n把锁,第i轮每间隔i个打开一个木有打开的.问最后打开的事几 思路:直接vector模拟 code: #line 7 "LockersDivOne.cpp" ...

  3. 中大 9095. Islands

    9095. Islands 限制条件 时间限制: 2 秒, 内存限制: 256 兆 题目描述 Whenever it rains, Farmer John's field always ends up ...

  4. PCA和Whitening

    PCA: PCA的具有2个功能,一是维数约简(可以加快算法的训练速度,减小内存消耗等),一是数据的可视化. PCA并不是线性回归,因为线性回归是保证得到的函数是y值方面误差最小,而PCA是保证得到的函 ...

  5. 吐嘈OpenCV的图像旋转功能 >_<7

    實在出乎我的意料!OpenCV竟然連這么簡單的功能都沒有封裝!還要讓本大爺自己動手寫!強烈要求OpenCV下一個版本添加本功能! 函數功能和這個網頁一樣,只不過這個作者寫的太糟了,我把它變得簡潔了一點 ...

  6. KNIME + Python = 数据分析+报表全流程

    Python 数据分析环境 数据分析领域有很多可选方案,例如SPSS傻瓜式分析工具,SAS专业性商业分析工具,R和python这类需要代码编程类的工具.个人选择是python这类,包括pandas,n ...

  7. artificial neural network in spark MLLib

    神经网络模型 每个node包含两种操作:线性变换(仿射变换)和激发函数(activation function). 其中仿射变换是通用的,而激发函数可以很多种,如下图. MLLib中实现ANN 使用两 ...

  8. GeneralizedLinearAlgorithm in Spark MLLib

    GeneralizedLinearAlgorithm SparkMllib涉及到的算法 Classification Linear Support Vector Machines (SVMs) Log ...

  9. Spring与多线程

    前言背景 在做新项目,作为中间件的项目,主要做数据服务.这次想把项目做的简洁一些,之前用的什么ActiveMq等中间件产品,这次全部不用,能自己实现就自己实现.自己用BlockingQueue阻塞队列 ...

  10. redis-master/slave模式

    类似mysql的master-slave模式一样,redis的master-slave可以提升系统的可用性,master节点写入cache后,会自动同步到slave上. 环境: master node ...