前面我们介绍了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软件包管理之RPM命令的更多相关文章

  1. Linux系列教程(十一)——Linux软件包管理之RPM命令

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

  2. Linux: 软件包管理之rpm与yum [转]

    软件包的安装和卸载时很平常的事,但在Linux上面却不简单..Linux的其中一个哲学就是一个程序只做一件事,并且做好.组合小程序来完成复杂的任务,这样做有很多好处,但是各个小程序之间往往会存在着复杂 ...

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

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

  4. Linux软件包管理之源码包、脚本安装包

    目录 1.源码包和RPM包的区别 RPM包和源码包默认安装位置: 由于安装位置不同带来的影响 2.源码包安装 ①.安装准备 ②.安装注意事项 ③.安装源码包 3.源码包卸载 4.脚本安装包 5.总结 ...

  5. Linux(3)- 用户管理、文件与目录权限、常用命令、Linux软件包管理

    一.用户管理 现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源. 普通用户 ...

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

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

  7. Linux软件包管理

    Linux软件包管理 Linux软件包管理主要有2类:是二进制包管理.源码包管理 二进制包管理 主要有RPM和YUM两种 RPM包管理 安装 --ivh:-v ,-vv,-vvv显示的安装信息依次详细 ...

  8. Linux 软件包管理

    简介: linux中软件包的管理随着linux版本的不同而不同,一般RPM和DPKG是最常见的两类软件包管理工具.分别应用基于rpm软件包的linux发行版本和基于deb软件包的linux发行版本. ...

  9. linux软件包管理(下)

    在vi配置文件的编写的时候我们发现#并不能注释掉一行的信息 那什么才是linux标准的注释信息呢 查看软件对应的软件包命令 rpm –ap| grep vim 大多example是需要的事例文档  双 ...

随机推荐

  1. (30)3 ways to make better decisions — by thinking like a computer

    https://www.ted.com/talks/tom_griffiths_3_ways_to_make_better_decisions_by_thinking_like_a_computer0 ...

  2. 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP

    不管是app的下载链接还是普通文件的链接在微信内置浏览器或者QQ内置浏览器都会被屏蔽.这是微信对第三方下载域名实施的拦截政策.被拦截了用户在微信内打开就会提示“已停止访问该网页”. 那么当我们遇到这个 ...

  3. web应用与web框架

    一.web应用 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. import socket def handle_request(client ...

  4. python set所用后列表不改变里面内容排序

    my_list = [1,2,1,54,5,64,4681,4,676] my_list_two = list(set(my_list)) my_list_two.sort(key = my_list ...

  5. codeforces 1066 B heater

    菜鸡只配做水题 思路就很简单嘛:肯定扩展的越靠后边越好了 0 0 1 0 1 1 0 0 假设范围是3 ,第一个1一定要选上,第2.3个肯定选3啦,越靠后边就一定能节省更多的点,没看出来和子问题有什么 ...

  6. 使用PowerShell快速部署Win12R2虚拟化桌面

    PowerShell一直是微软windows_Server产品中重要的一部分,可以通过PowerShell来完成所有的服务器配置,甚至一些在图形界面下无法完成的事情.随着每一个新版本的微软产品或者服务 ...

  7. hadoop安装笔记

    环境是ubuntu java啥的有yum apt-get install default-jdk update-alternatives --display Java hadoop解压缩就行 tar ...

  8. Java安全编码:糟糕的在线建议和令人困惑的APIs

    对于程序员和软件开发人员来说,网络论坛提供了一个交流知识和寻找具体编码难题答案的好地方.遗憾的是,他们并不总是准确信息的来源. 弗吉尼亚理工大学的一组研究人员分析了数百篇关于Stack Overflo ...

  9. 【npm】伙计,给我来一杯package.json!不加糖

    前言:夜深了,我熬了一锅热气腾腾的package.json,给大家端上来,希望大家喜欢 json和JS对象的区别 package.json,顾名思义,它是一个json文件,而不能写入JS对象. 所以我 ...

  10. Go语言map

    map 是一种特殊的数据结构:一种元素对(pair)的无序集合,pair 的一个元素是 key,对应的另一个元素是 value,所以这个结构也称为关联数组或字典.这是一种快速寻找值的理想结构:给定 k ...