一、大纲介绍

  

  这里介绍的仅仅是两大家族之一的RPM,关于Debian家族的DPKG,请参考http://justcoding.iteye.com/blog/1937171

二、简介

  软件包分类:

  源码包:

 

  

   脚本安装包:(简化源码包的安装)

   二进制包:(源码包编译后的包,将不能再看到源代码)

  二进制文件类型可以通过file命令来查看,linux查看文件类型可以用file命令,用法是:file 文件名,文件名带路径。

  如果文件是纯文本文件,结果中会显示ASCII text的字样;

  如果文件是执行文件,结果中会包含执行文件的信息,比如是32位还是64位、兼容的硬件平台、使用的Linux核心、是否是函数库等等信息;

  如果文件是数据文件(比如数据库),结果中会显示data来表示是数据文件。

  当然,二进制文件是通过文本文件进行 编译 之后得来的!常见的编译器有gcc等

# 先以系统的文件测试看看:
[root@study ~]# file /bin/bash
/bin/bash: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked
(uses shared libs), for GNU/Linux 2.6., BuildID[sha1]=0x7e60e35005254...stripped
#为binnary可执行文件
# 如果是系统提供的 /etc/init.d/network 呢?
[root@study ~]# file /etc/init.d/network
/etc/init.d/network: Bourne-Again shell script, ASCII text executable
#为scripts脚本文件

  MySQL PhP等开发环境的搭建比较麻烦

   更详细的封装类型介绍:

软件包的封装类型
.RPM软件包:这种软件包文件的扩展名为".rpm",只能在使用RPM机制的Linux操作系统中安装。RPM软件包一般针对特定版本的系统定制,因此依赖性较强。安装RPM包需要使用rpm命令。 .DEB软件包:这种软件包文件的扩展名为".deb",只能在使用DPKG机制的Linux操作系统中安装。安装DEB软件包需要使用Linux系统中的dkpg命令。 .源代码包:这种软件包是程序员开发完成的原始代码,一般被制作成".tar.gz"、".tar.bz2"等格式的压缩包文件,因多数使用tar命令打包而成,所以经常被称为"TarBall"。安装源代码软件包需要使用相应的编译工具,由于大部分Linux系统中都安装有基本的编译环境,因此使用源码软件包要更加灵活。 .提供安装程序的软件包:这种软件包的扩展名不一,但仍以TarBall格式的居多。软件包中会提供用于安装的可执行程序或脚本文件,如install.sh、setup等,只需运行安装文件就可以根据向导完成安装。 .绿色免安装的软件包:这种软件包直接包含有编译好的执行程序文件,因此不需要特别安装。

  //反编译基本是不可能,也就是编译是一般认为的不可逆的

三、RPM命令管理

  1.RPM包命名规则

  RPM包在哪?在系统光盘(ISO)中

  打开光驱选择的界面,点击浏览选择光盘镜像

  //已连接相当于给电,一定要勾上!

  选上我们下载的系统的镜像(相当于挂载上光盘)

  光盘挂载请参见之前随笔http://www.cnblogs.com/jiangbei/p/7281744.html

  建立挂载点:

  挂载光盘:

  //看见箭头处视为挂载成功(光盘当然已经写死,无法写入,只能读取)

  进入指定目录查看资源包:(Packages)

  看右边进度条,包是非常多的:

  命名规则:

  //可在上文任意找一个验证,都是此规范:软件包名+版本+发布次数+适合平台+硬件平台+拓展名

  若有64代表只适合64位系统

  RPM依赖:

  //例如树形依赖,需要从最后一个开始装,环形依赖放在一起装即可,模块依赖可以有 yum 依赖等解决

  2.安装命令

  包名与包全名

  安装命令

  实例:

  //可以明显的看到我们上面说的,依赖检测失败,需要先查找安装对应的依赖

  借视频中的图演示一下:

  必须两个 100% 才算成功!第一个只是准备成功

  这里的依赖性是比较复杂的!相比后面的 yum (呀母在线安装)安装,(yum也是装的RPM包,是RPM的在线版)

  3.升级和卸载

  升级

  //请使用包全名

  若原版本不存在,则相当于安装命令

  卸载

  //这里可以不用全名了(卸载是去数据库里找),可以在任意位置进行(是去数据库查找)

  当然,若存在依赖关系,则应该按照安装的逆序卸载

  这里我们安装的时候使用的是默认位置,所以RPM需要卸载,而后面的源码安装需要指定安装目录,所以删除(rm)所在目录位置即可完成卸载

  4.RPM包查询

  查询是否安装

    一般来说,RPM的重要功能就是查询与校验,至于安装,就交给下章的yum安装了!

  //操作已经安装的,只需包名,无需全名(可以与管道符 | 结合,使用 rpm -qa | grep httpd等组合查询指定的相关包)

  查询详细信息

  实例:

  //未安装之前已经产生

  查询安装位置

  

  一些默认的安装位置:

  也可以通过文件反向追查出安装包

  查询依赖信息

  5.RPM包的校验

  

  //没有提示则表明未作任何修改

  

  文件提取

  关于SRPM(包含源码src的RPM)的介绍这里暂不展开,可以参考鸟哥私房菜的介绍!

Linux入门进阶第二天——软件安装管理(上)的更多相关文章

  1. Linux入门进阶第四天——服务管理

    以下均基于CentOS6.3,其中有部分命令已经过时,在CentOS7中不再使用,请注意 [更新]:CentOS7改变: CentOS .0中一个最主要的改变,就是切换到了systemd.它用于替代红 ...

  2. Linux入门进阶第五天——用户管理(帐号管理 )上

    一.帐号与群组 关于使用者帐号: 用户的ID与帐号信息所在位置是 /etc/passwd,而管理密码的数据则是在 /etc/shadow 每个登陆的使用者至少都会取得两个 ID , 一个是使用者 ID ...

  3. Linux入门进阶第五天——用户管理(帐号管理 )下

    一.身份切换 为了避免 rm -rf /* 的悲剧发生,平时使用时,尽量使用一般帐号!需要环境设置等必要时才使用root 1.su命令 一般地,推荐使用su - / su - username的形式来 ...

  4. Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)

    apt list *python* Nosee123关注赞赏支持   Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...

  5. Linux软件安装管理之——dpkg与apt-*详解

    Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件安装管理之--源码安装详解> - -<Linux软件安装管 ...

  6. Linux 学习 (十一) 软件安装管理

    Linux软件安装管理 学习笔记 软件包简介 软件包分类: 源码包 :脚本安装包 二进制包(RPM 包.系统默认包) 源码包的优点: 开源,如果有足够的能力,可以修改源代码 可以自由选择所需的功能 软 ...

  7. inux软件安装管理之——dpkg与apt-*详解

    inux软件安装管理之--dpkg与apt-*详解 Nosee123关注 0.5922017.09.12 17:47:44字数 3,894阅读 8,565 [Linux软件安装管理系列]- - 传送门 ...

  8. Linux基础知识第九讲,linux中的解压缩,以及软件安装命令

    目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...

  9. Linux入门进阶第三天——软件安装管理(下)

    一.yum在线安装 之前的rpm包各种依赖性太强!安装复杂,yum的好处就来了: // yum 在redhat是付费服务 1.yum源文件 先进入到yum目录: 我们打开默认生效的Base包 2.光盘 ...

随机推荐

  1. TCP/IP 协议图--TCP/IP 基础

    1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议.实际生活当中有时也确实就是指这两种协议.然而在很多情况下,它只是利用 IP 进行通信时所 ...

  2. 为什么 Category 不能增加成员变量-nonfragile

    三.既然是 non-fragile ivars,为什么 Category 不能增加成员变量?     看过一些资料,理由并不是很让人信服.我觉得并不是做不到,只是现在没有做,现在不支持.我在 Opti ...

  3. Django的视图流式响应机制

    Django的视图流式响应机制 Django的响应类型:一次性响应和流式响应. 一次性响应,顾名思义,将响应内容一次性反馈给用户.HttpResponse类及子类和JsonResponse类属于一次性 ...

  4. windows下使用Git

    如何在windows下使用Git? 通过这里下载Git bash,你就可以像在Linux命令行一样操作git工具. 进入Git bash环境,默认是在当前用户路径下. 在Linux下,我们有根目录,在 ...

  5. 3.C++和C混合编程

    最近经常看到头文件中有 #ifdef __cplusplus extern "C" { #endif ....... #ifdef __cplusplus } #endif 这样的 ...

  6. ERDAS IMAGINE 2014 32位 破解安装

    1.        安装Install ERDAS Foundation 2014 2.        安装ERDAS IMAGINE 2014  32位 3.        安装Intergraph ...

  7. ApiCloud模块链接

    城市选择器 页面左右滑动 识别信用卡 图像coverFlow  输入框  图片浏览器  百度地图                                                     ...

  8. HDU 3047 Zjnu Stadium(带权并查集,难想到)

    M - Zjnu Stadium Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Su ...

  9. HDU 1059(多重背包加二进制优化)

    http://acm.hdu.edu.cn/showproblem.php?pid=1059 Dividing Time Limit: 2000/1000 MS (Java/Others)    Me ...

  10. nRF5 SDK for Mesh(八) Exploring Mesh APIs using light switch example,使用 灯开关 案例探索BLE mesh 的APIS

    Exploring Mesh APIs using light switch example The light switch example is meant to showcase the API ...