一、大纲介绍

  

  这里介绍的仅仅是两大家族之一的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. 深入浅出SharePoint2007——定制搜索之无代码篇

    需求: 输入值,如果多行文本列包含此搜索关键字,显示对应的查询结果. 解决方案: 使用Form Web Part和Data form web part. 1 创建list,并创建3列 选中默认的lis ...

  2. Linux命令--网络管理

    write命令 Linux write命令用于传讯息给其他使用者. 使用权限:所有使用者. 语法 write user [ttyname] 参数说明: user : 预备传讯息的使用者帐号 ttyna ...

  3. Ubuntu root 密码忘记-恢复

    @Ubuntu root 密码忘记-恢复 2012-04-27 11:09:22 方法一: 如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 ...

  4. Ajax请求与浏览器缓存

    在现代Web应用程序中,前端代码充斥着大量的Ajax请求,如果对于Ajax请求可以使用浏览器缓存,那么可以显著地减少网络请求,提高程序响应速度. 1. Ajax Request 使用jQuery框架可 ...

  5. Kali-linux控制Meterpreter

    Meterpreter是Metasploit框架中的一个杀手锏,通常作为利用漏洞后的攻击载荷所使用,攻击载荷在触发漏洞后能够返回给用户一个控制通道.当使用Armitage.MSFCLI或MSFCONS ...

  6. indexzero/http-server-1-简介

    ethereumjs-vm的例子有用到这个 看完ethereumjs-vm,再看他ethereumjs/browser-builds,然后最后看他http-server,然后就能了解ethereumj ...

  7. windows下使用Git

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

  8. mvc项目中Controller执行完毕重定向到html的一个页面中

    String ip = request.getLocalAddr(); //取得服务器IP int port = request.getLocalPort(); //取得服务器端口 String ur ...

  9. java project如何连接数据库

    1,首先从mysql的官网上下载mysql-connector-java-5.1.44.zip 2,选择downloads下的community 3,在Community下选择MySql Connec ...

  10. poj 2253 Frogger 最小瓶颈路(变形的最小生成树 prim算法解决(需要很好的理解prim))

    传送门: http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissi ...