前面我们介绍了Linux系统的常用命令介绍和文本编辑器vim命令的介绍。那么从这篇博客开始,我们会正式的讲解Linux的系统管理,首先要讲的是Linux的软件包管理。

1、Linux软件包分类

  一、源码包

    源码包能直接看到源码,安装时需要人为手工设置安装位置,一般是/usr/local/软件名/。源码包的升级版——脚本安装包,人为的改动源码使其有安装界面。

    优点:

    ①、开源,如果有足够的能力,可以直接修改源代码。

    ②、安装时可以自由选择所需的功能。

    ③、软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高。

    ④、卸载方便,直接删了你安装软件的那个目录就好了。

    缺点:

    ①、安装步骤较多,尤其安装较大的软件集合时,容易出现拼写错误。

    ②、编译时间过长,比后面讲的二进制安装时间长。

    ③、因为是编译安装,安装过程中一旦报错新手很难解决。

  二、二进制包

    这里的二进制包最要包括centos中的rpm包。rpm包有默认安装位置。/etc/ 配置文件安装目录;/usr/bin/ 可执行的命令安装目录;/usr/lib/ 程序所使用的函数库保存位置;/usr/share/doc/ 基本的软件使用手册保存位置;/usr/share/man/ 帮助文件保存位置。

    优点:

    ①、包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载。

    ②、安装速度比源码包快很多。

    缺点:CentOS-6.8-x86_64-bin-DVD1.iso

    ①、已经经过编译了,看不到源代码。

    ②、功能选择不如源代码包灵活。

    ③、安装过程中有很多依赖的包,依赖性不好解决。

2、rpm 包命名规则

  我们打开前面安装Linux系统的安装文件 CentOS-6.8-x86_64-bin-DVD1.iso。在package目录下都是rpm安装文件。

  

  我们以 httpd-2.2.15-53.el6.centos.x86_64.rpm 文件为例来看rpm包的命名规则。

  ①、httpd:软件包名

  ②、2.2.15:软件版本

  ③、15:软件发布的次数

  ④、el6.centos:适合的Linux平台

  ⑤、x86_64:适合的硬件平台,这里表示64位。

  ⑥、rpm:rpm包的扩展名,注意Linux是没有扩展名的概念,这里是告诉管理员这是一个rpm包文件。

3、rpm包安装

  

  范例:以安装 httpd-2.2.15-53.el6.centos.x86_64.rpm 为例:

    我们进入到该rpm文件的挂载目录 /mnt/cdrom/Packages,执行命令:rpm -ivh httpd-2.2.15-53.el6.centos.x86_64.rpm

  注意:这种安装方法可能需要先安装各种依赖,安装过程特别繁琐,后面讲解yum安装会简单的多。

4、rpm包升级

  

5、rpm包卸载

  

6、查询rpm包是否安装

  

  

7、查询软件包的详细信息

  

  

8、查询软件包的安装位置  

  

  

9、查询系统文件属于哪个RPM包

  

10、查询软件包的依赖性

  

11、总结

  本篇博客主要介绍了rpm包。包括rpm包的命名规则、安装、升级、卸载等,还有如何查询rpm包的相关信息。这里如果大家使用rpm命令手动安装某个软件包,你会发现安装遇到到的依赖让你痛不欲生,安装一个rpm时会要先先安装某个依赖的rpm,而安装这个依赖的rpm包是可能又必须先安装它所依赖的。在实际操作中,我们肯定是不会使用rpm命令手动安装软件包的,那么有更简单的方法吗?答案是肯定的,下一篇博客我们将介绍RPM包管理——yum在线管理。

Linux系列教程(十一)——Linux软件包管理之RPM命令的更多相关文章

  1. Linux软件包管理之RPM命令

    目录 1.Linux软件包分类 一.源码包 二.二进制包 2.rpm 包命名规则 3.rpm包安装 4.rpm包升级 5.rpm包卸载 6.查询rpm包是否安装 7.查询软件包的详细信息 8.查询软件 ...

  2. Linux系列教程(十三)——Linux软件包管理之源码包、脚本安装包

    上篇博客我们讲解了网络yum源和光盘yum源的搭建步骤,然后详细介绍了相关的yum命令,yum 最重要是解决了软件包依赖性问题.在安装软件时,我们使用yum命令将会简单方便很多.我们知道yum命令只能 ...

  3. Linux系列教程(十二)——Linux软件包管理之yum在线管理

    上一篇博客我们介绍了rpm包管理之rpm命令管理,我们发现在使用rpm命令手动安装rpm包的时候,会发现安装遇到到的依赖让你痛不欲生,安装一个rpm时会要先先安装某个依赖的rpm,而安装这个依赖的rp ...

  4. Linux 基础教程 34-软件包管理-RPM

        对于Linux而言管理各类软件,如安装.卸载和升级等是常有的事情和必备的技能.以CentOS为例,常用的安装包命令有rpm和yum. RPM基础     RPM(RedHat Package ...

  5. Linux不同发型版本(Debian REHL)与软件包管理器(RPM dpkg)的概念

    Linux的发行版本可以大体分为两类: Linux发行版 = Linux内核(类Unix内核) + Linux软件管理(package manager) 一类是商业公司维护的发行版本,以著名的Red ...

  6. Linux Shell系列教程之(八)Shell printf命令详解

    本文是Linux Shell系列教程的第(八)篇,更多shell教程请看:Linux Shell系列教程 在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell p ...

  7. .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用

    一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...

  8. .Neter玩转Linux系列之三:Linux下的分区讲解

    基础篇 .Neter玩转Linux系列之一:初识Linux .Neter玩转Linux系列之二:Linux下的文件目录及文件目录的权限 .Neter玩转Linux系列之三:Linux下的分区讲解 .N ...

  9. .Neter玩转Linux系列之四:Linux下shell介绍以及TCP、IP基础

    基础篇 .Neter玩转Linux系列之一:初识Linux .Neter玩转Linux系列之二:Linux下的文件目录及文件目录的权限 .Neter玩转Linux系列之三:Linux下的分区讲解 .N ...

随机推荐

  1. [python学习笔记] 数据类型与语法

    数据类型 数值型 int 整形 没有long类型,可以代表任意大小的整数. type(1) -> int float 浮点数 也没有double类型 type(1.2) -> float ...

  2. 《JavaScript闯关记》视频版硬广

    <JavaScript闯关记>视频版硬广 stone 在菜航工作时,兼任内部培训讲师,主要负责 JavaScript 基础培训,2016年整理的<JavaScript闯关记>课 ...

  3. 一款优秀的JavaScript框架—AngularJS

    AngularJS简介 AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.Angular ...

  4. 【BZOJ】 2463 [中山市选2009]谁能赢呢?(博弈论)

    Description   小明和小红经常玩一个博弈游戏.给定一个n×n的棋盘,一个石头被放在棋盘的左上角.他们轮流移动石头.每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的 ...

  5. C#实现基于ffmepg加虹软的人脸识别

    关于人脸识别 目前的人脸识别已经相对成熟,有各种收费免费的商业方案和开源方案,其中OpenCV很早就支持了人脸识别,在我选择人脸识别开发库时,也横向对比了三种库,包括在线识别的百度.开源的OpenCV ...

  6. 【转】Python中实现远程调用(RPC、RMI)简单例子

    远程调用使得调用远程服务器的对象.方法的方式就和调用本地对象.方法的方式差不多,因为我们通过网络编程把这些都隐藏起来了.远程调用是分布式系统的基础. 远程调用一般分为两种,远程过程调用(RPC)和远程 ...

  7. wxPython中基本控件学习

    wxPython工具包提供了多种不同的窗口部件,包括了本章所提到的基本控件.我们涉及静态文本.可编辑的文本.按钮.微调.滑块.复选框.单选按钮.选择器.列表框.组合框和标尺.对于每种窗口部件,我们将提 ...

  8. C#中 什么是装箱和拆箱

    装箱:将值类型包装为引用类型 拆箱:将引用类型转换为值类型   例如 objetct obj = null; obj = ; //装箱 int i = (int) obj; //拆箱

  9. Quartz.NET实现作业调度

    一.Quartz.NET介绍 Quartz.NET是一个强大.开源.轻量的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,用C#改写,可用于winform和asp ...

  10. dotweb框架之旅 [三] - 常用对象-HttpServer

    dotweb属于一个Web框架,希望通过框架行为,帮助开发人员快速构建Web应用,提升开发效率,减少不必要的代码臃肿. dotweb包含以下几个常用对象: App(dotweb) App容器,为Web ...