前面我们介绍了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. YYHS-鏖战字符串

    题目描述 Abwad在nbc即将完成她的程序的时候,急中生智拔掉了她电脑的电源线,争取到了宝贵的时间.作为著名论文<论Ctrl-C与Ctrl-V在信息学竞赛中的应用>的作者,他巧妙地使用了 ...

  2. JVM 菜鸟进阶高手之路九(解惑)

    转载请注明原创出处,谢谢! 在第八系列最后有些疑惑的地方,后来还是在我坚持不懈不断打扰笨神,阿飞,ak大神等,终于解决了该问题.第八系列地址:http://www.cnblogs.com/lirenz ...

  3. PHP buffer的机制

    PHP的buffer是这样的: 输出的字符串 => PHP buffer => 等待输出 => web 服务器的缓冲区 => tcp 缓冲区 => 客户端.过程其实相当的 ...

  4. 使用 TUN 设备实现一个简单的 UDP 代理隧道

    若要实现在 Linux 下的代理程序,方法有很多,比如看着 RFC 1928 来实现一个 socks5 代理并自行设置程序经过 socks5 代理等方式,下文是使用 Linux 提供的 tun/tap ...

  5. Java虚拟中内存分块

    Java虚拟机JVM(Java Virtual Machine)中内存分块 JAVA中通常分为5个区域虚拟机栈.堆.方法区.程序计数器.本地方法区.我们一般讲的是Java虚拟机管理的四个区域虚拟机栈. ...

  6. Java数据结构和算法总结-数组、二分查找

    前言:在平时开发中数组几乎是最基本也是最常用的数据类型,相比链表.二叉树等又简单很多,所以在学习数据和算法时用数组来作为一个起点再合适不过了.本篇博文的所有代码已上传 github ,对应工程的 ar ...

  7. APUE 4 - 线程

    对传统的UNIX进程来讲,一个进程中只有一个线程,这就意味着一个进程在同一时刻只能做一件事(即使是多核CPU).使用多线程技术, 我们可以设计程序使得一个进程在同一时刻做多件事.使用多线程编程具有以下 ...

  8. 关于 HashTable

    hashTable 的一些认识: 底层使用散列表,存贮键值对,键值非null 使用synchronize 保证线程安全 (线程安全) ■全局变量 //The hash table data. //底层 ...

  9. 【重点突破】——使用Express创建一个web服务器

    一.引言 在自学node.js的过程中有一个非常重要的框架,那就是Express.它是一个基于NodeJs http模块而编写的高层模块,弥补http模块的繁琐和不方便,能够快速开发http服务器.这 ...

  10. keydown - > keypress - > keyup

    英文输入法:   事件触发顺序:keydown - > keypress - > keyup   中文输入法:   firfox:输入触发keydown,回车确认输入触发keyup chr ...