1.源代码形式
绝大多数软件都是以源代码形式发布的;
    因为开源的理念是不重复造轮子;让其它不以商业为目的人都能修改这个软件;
 
源代码一般会被打包成tar.gz的压缩归档文件;
程序源代码需要编译成二进制形式之后才能够使用;
 
源代码基本编译流程:
    ./configure    ->检查编译环境、相关库文件及配置参数并生成makefile;
    make    ->对源代码进行编译,并生成可执行文件;
    make install    ->将生成的可执行文件安装到当前计算机中;
 
源代码形式的软件使用起来较为麻烦,但是兼容性及可控制性好;
     就是说从网上下载的源代码可以自己针对平台进行编译;
 
开源软件一般会使用依赖其它开源软件的功能,因此有大量的依赖关系;在编译源代码时会遇到很多问题;
 
2.RPM
源代码形式的缺点:操作复杂、编译时间长、容易出现错误;
源代码形式的优点:适合所有系统、可定制;
 
为了方便使用;Erik Troan和 Marc Ewing 开发了 RPM (redhat package manager);
RPM通过将源代码基于特定平台系统编译成可执行文件,并保存依赖关系,来简化开源软件的安装管理;
RPM设计目标:
    使用简单;
    使用单一软件包格式文件发布;(rpm文件)源代码文件解压缩后可能有很多文件,而rpm文件只有一个.rpm格式的文件;
    可升级;某个软件有一个新的版本出现了,可通过rpm包进行升级;
    追踪软件依赖关系;保存依赖关系,但并不解决;也就是说下载了一个rpm包可能还需要安装另外一个依赖的rpm包等等;
    基本信息查询;作者、发布时间、版本号、说明等;
    软件验证功能;
    支持多平台;不是一个rpm支持多个平台,而是不同的平台发布不同的rpm;
 
1)RPM软件包的命名规范
    软件名-版本号.系统.平台.rpm
    例如:darksoul3-1.15.el6.1686.rpm
 
2)RPM基本命令(从网上下载的rmp都是一个.rpm文件,可通过命令来安装卸载升级)
    安装软件:
rpm -i software.rpm
    卸载软件:
rpm -e software 
    升级软件:
rpm -U software-new.rpm
    通过http、ftp协议安装:
rpm -lvh http://www.baidu.com/software.rpm
    
    相关参数:
        -v    ->显示相信信息;
        -h    ->显示进度条;
 
3)rpm查询
    rpm会保存软件的相关信息,可通过命令查询;
        列出所有安装的rpm软件:
rpm -qa
        查询目标文件属于哪个rpm包:
rpm -qf filename
        查询指定已安装rpm软件的信息:软件名、版本号、发行版、安装时间等;
rpm -qi packagename
        查询指定已安装rpm软件包含的文件:也就是把哪些文件装在操作系统里了
rpm -ql packagename
        查询rpm文件的信息:加一个p来查询未安装的rpm文件信息;
rpm -qip software.rpm
        查询rpm文件包含的文件:
rpm -qlp software.rpm
 
4)rpm验证
    软件在传播过程中,可能会被恶意修改,为了安全起见,现在的系统都会加入软件的验证功能;
    验证一般使用非对称加密算法,所以需要一个密钥;
    导入密钥:
rpm --import RPM-GPG-KEY-CentOs-6
    验证rpm文件:
rpm -K software.rpm
    验证已安装的软件:
rpm -V software
 
 
 

RPM软件管理的更多相关文章

  1. rpm 软件管理

    rpm包 安装,查询,卸载,升级,校验数据库的重建等工作 1.安装rpm -i /PATH/TO/PACKAGE_FILE -h: 以#显示进度:每个#表示2%;  -v: 显示详细过程 -vv: 更 ...

  2. Redhat6 RPM 软件管理常用命令汇总

    软件的安装时操作系统管理的基础,与Windows不同,Linux的软件管理有很多种方式,Redhat的最常用的是RPM方式,安装集成在光盘中的RPM包.这种方式比Windows平台的软件管理更加便捷( ...

  3. RPM软件管理工具

    1 概述 RPM(RedHat Package Manager),Rethat软件包管理工具,类似windows里面的setup.exe 是Linux这系列操作系统里面的打包安装工具,它虽然是RedH ...

  4. 大数据攻城狮之Linux基础------rpm软件管理

    rpm的英文名称为: Redhat package manager 常用的命令加组合: i 安装 rpm -ivh 软件包名 当然我们的rpm也可以支持多包同时操作 rpm -ivh 软件包1 软件包 ...

  5. rpm软件包管理/yum软件管理

    绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件 ./configure 检查编译环境/相关库文件/配置参数,生成makefile make ...

  6. 末学者笔记--rpm和yum软件管理(Linux)

    一.rpm简介 这是一个数据库管理工具,可以通过读取数据库,判断软件是否已经安装,如果已经安装可以读取出来所有文件的所在位置等,并可以实现删除这些文件. rpm:RPM is Redhat Packa ...

  7. rpm和yum软件管理

    rpm简介 数据库管理工具,通过读取数据库,判断软件是否安装,如已安装可读取出来所有文件的所在位置等,并可以实现删除这些文件. rpm:RPM is Redhat Package Manager(递归 ...

  8. rpm和yum软件管理(week2_day5)--技术流ken

    rpm简介 这是一个数据库管理工具,可以通过读取数据库,判断软件是否已经安装,如果已经安装可以读取出来所有文件的所在位置等,并可以实现删除这些文件. rpm:RPM is Redhat Package ...

  9. linux软件管理之rpm管理rpm包

    使用RPM工具管理RPM包 ====================================================================================需要 ...

随机推荐

  1. 通过using声明改变个别成员的可访问性

    C++的语法中通过在派生类中使用using声明可以忽略继承方式 , 而让派生类对于基类的私有和保护成员具有特殊的访问权限 , 甚至可以改变派生类对象对于基类成员的访问权限 . 个人认为这种语法很容易让 ...

  2. 跑跑卡丁车(dp)

    题意:https://www.nitacm.com/problem_show.php?pid=1470 #define IOS ios_base::sync_with_stdio(0); cin.ti ...

  3. Win32汇编过程与宏调用

    汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...

  4. 六一广告页H5全屏滚动效果实现

    明天就六一儿童了(放假了),在这里提前祝大家周末快乐,每逢节假日公司必然会推出h5活动页的需求,这次六一儿童节也不例外,产品这次倒是没提什么互动效果需求,只不过根据UI妹子给的设计图,图片与图片中颜色 ...

  5. 区间问题 codeforces 422c+hiho区间求差问

    先给出一个经典的区间处理方法 对每个区间 我们对其起点用绿色标识  终点用蓝色标识 然后把所有的点离散在一个坐标轴上 如下图 这样做有什么意义呢.由于我们的区间可以离散的放在一条轴上面那么我们在枚举区 ...

  6. 大数据学习(2)- export、source(附带多个服务器一起启动服务器)

    linux环境中, A=1这种命名方式,变量作用域为当前线程 export命令出的变量作用域是当前进程及其子进程. 可以通过source 脚本,将脚本里面的变量放在当前进程中 附带自己写的tomcat ...

  7. sass之mixin的全局引入(vue3.0)

    sass之mixin的全局引入(vue3.0) 1.scss文件(mixin.scss) /* 渐变 */ @mixin gradual($color, $color1){ background: $ ...

  8. 帝国cms 此栏目暂无任何新增信息处理办法

    在做一个新网站的时候不能保证每个栏目都能填充内容,当某个栏目没有内容填充的时候总会出现“此栏目暂无任何新增信息”看着挺不舒服. 其实想删除这行字也挺简单,只需要修改下语言包即可!如下: 找到语言包文件 ...

  9. 【Git的基本操作九】ssh免密登录

    SSH免密登录 1. 进入用户家目录 cd ~ 2. 删除原有的 .ssh 目录 rm -r .ssh 3. 运行命令生成 .ssh 目录 ssh-keygen -t rsa -C github或gi ...

  10. vue中使用proxy配置不同端口和ip接口

    问题描述: 使用vue-cli创建的项目,开发地址是localhost:8080,由于后台开发不同的模块,导致每个模块请求的ip和端口号不一致 例如:http://192.168.10.22:8081 ...