Linux之软件包安装管理
软件包分类:
- 源码包:脚本安装包(源C代码)
- 二进制包(rpm包,系统默认包)
源码包
1.源码包优点
- 开源,如果有足够的能力,完全可以修改源代码
- 可以自己选择所需要安装的功能
- 软件是编译安装,所以更加适合自己的系统,更加稳定,效率也更高
- 卸载方便
2.源码包缺点
- 安装步骤比较多,尤其安装比较大的软件时,很容易出错(特别是拼写错误)
- 编译时间过长
- 编译安装,出错的话,新手很难解决
rpm包
1.rpm包优点
- 包安装管理系统简单,通过几个命令就可以实现包的安装,升级,查询,卸载
- 安装速度比安装源码包快得多
2.rpm包缺点
- 通过编译,不能再看点源代码
- 功能选择性不如源代码包灵活
- 依赖性
rpm包命名规则:
| httpd-2.2.15-15.e16.entos.1.i686.rpm | |
| httpd | 软件包名 |
| 2.2.15 | 软件版本 |
| 15 | 软件发布次数 |
| e16.centos | 适合的Linux平台 |
| i686 | 适合的硬件扩展平台 |
| rpm | rpm包扩展名 |
所有的包都是在ios/pakages中
rpm依赖性
- 树形依赖:
- 环形依赖:a->b->c->a,解决办法,用一个安装命令同时将a,b,c同时安装即可
- 模块依赖:模块依赖查询网站:www.rpmfind.net
软件包库依赖:只要是有“.so.数字”结尾的包都是库依赖包,这种库依赖包是某个软件包中的一部分。在www.rpmfind.net中寻找依赖的软件包。

rpm包安装:先将ios镜像导入CD/DVD中,同时在linux中用:mount /dev/sr0 挂载ios镜像,然后进入到pakages文件夹中。
rpm -ivh 包全名:选项:-i (install) 安装 -v (verbose) 显示详细信息
-h (hash) 显示进度 --nodeps 不检测依赖性(不用)
rpm -Uvh 包全名: -U(upgrade)升级包
rpm -e 包名: -e (erase) 卸载 ;包卸载;卸载命令会将依赖包都卸载了,可能会影响其让rpm的使用,所有一般不会卸载。
以上用yum命令比较方便,但是yum基本没有查询方法。一般都是用rpm查询。
rpm查询:
1.rpm -q 包名: -q (query) :查询是否按照包
2.rpm -qa:-a (all) 查询所有已安装的rpm包。
3.rpm -qi 包名(查询包信息):-i (information) 查询软件包信息 -p (package) 查询未安装包信息。这些信息都是组建这个包时候就有的。
4.rpm -ql 包名(查询包中文件安装的位置): -l (list) 列表 -p (package) 查询未安装包信息。
5.rpm -qf 系统文件名(查询系统文件属于哪个rpm包): -f (file)查询系统文件属于哪个软件包。
6.rpm -qR 包名(查询软件包的依赖性,需在package目录下):
- -R (require)查询软件包的依赖性;
- -p (package)查询未安装包的的依赖性
7.rpm -V (rpm包校验,检验rpm包是否有修改):-V (Verified)
验证内容中的八个数字字符信息具体内容如下:
| S | 文件大小是否改变 |
| M | 文件的类型或文件的权限(rwx)是否改变 |
| 5 | 文件内容是否改变 |
| D | 设备中的从代码是否改变 |
| L | 文件路径是否改变 |
| U | 文件所有者是否改变 |
| G | 文件所属组是否改变 |
| T | 文件修改时间是否改变 |
8.rpm2cpio 包全名 | \cpio -idv .文件绝对路径。(rpm包文件提取,将rpm包转换为cpio格式的命令) 从包中提取指定的文件 \代表换行 .代表将指定文件提取到当前目录中
用来修复被误删除的包。例如:
rpm -qf /bin/ls #查询s命令属于哪个软件包
mv /bin/ls /tmp #造成ls命令误删除假象
rpm2cpio /mnt/cdrom/Packages/coreutils-.............rpm | cpio -idv ./bin/ls
#提取rpm包中ls命令到当前目录的/bin/ls下
cp /root/bin/ls /bin/ #把ls命令复制到bin目录,修复文件丢失
cpio:是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件。
cpio 选项 < [文件|设备]: -i copy-in模式,还原 -d 还原是自动创建目录 -v 显示还原过程。
rpm包全名和包名:
- 操作的包是没有安装的软件包时,使用包全名,而且要注意路径。
- 操作的是已经安装的软件包时,使用包名,是搜索/var/lib/rpm/中的数据库。
Linux之软件包安装管理的更多相关文章
- Linux 软件包安装管理
转自:http://www.cnblogs.com/Quains/archive/2012/01/03/2311049.html 本文主要是记录下RedHat系列的软件包管理. 内容分为以下三个部分: ...
- Linux系统软件包的管理(4)
虽然使用源码编译安装可以具有提高速度个性化的定制等优点,但对于 Linux发行商来说,则不容易管理软件包,毕竟不是每个人都会进行源码编译的,如果能够将软件预先在相同的硬体与系统上面编译好在发布的话,不 ...
- ◆◆◆◆◆◆◆◆◆◆◆linux下软件包的管理◆◆◆◆◆◆◆◆◆◆◆◆◆◆
查看与制定的路径名相匹配的软件包 [root@localhost certs]# which ls alias ls='ls --color=auto' /bin/ls [root@localhost ...
- Linux:软件包安装
软件包安装 一.rpm安装 1.挂载系统:mount /dev/cdrom/ /mnt/cdrom/ 2.进入相应的目录(Centos7 为Packages,有一些是Server):cd /mnt/c ...
- 适用于windows10 Linux子系统的安装管理配置 How To Management Windows Subsystem for Linux WSL
什么是WSL Windows Subsystem for Linux 简称WLS,适用于Linux的Windows子系统,可以直接在Windows上运行Linux环境(包括大部分命令行工具) Linu ...
- Linux下软件包安装
编译dbus下载地址 :http://dbus.freedesktop.org/releases/dbus/tar zxvf dbus-1.10.0echo ac_cv_have_abstract_s ...
- Linux中ansible批量管理软件部署及剧本编写
服务器版本信息: Centos6.9 [root@db02 ~]# uname -a Linux db02 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29: ...
- Linux系统软件包之---Apache
当前互联网主流web服务说明 静态服务: apache 中小型静态web服务的主流,web服务器中的老大哥 nginx 大型新兴网站静态web服务主流,web服务器中的初生牛犊 lighttpd 静态 ...
- 细说Linux下软件包的安装与管理
一 源码安装方式 由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache.tomcat.php等软件.开源软件基本都提供源码下载,源码安装的方式:源码安 ...
随机推荐
- Luogu P2101 命运石之门的选择(分治+搜索)
P2101 命运石之门的选择 题意 题目描述 在某一条不知名世界线的冈伦今天突然接到了一条\(dmail\),上面说世界线将会发生巨大变动,未来的他无论如何都无法扭转这种变动回到原来的世界线.而世界线 ...
- JS如何获取地址栏url后面的参数?
本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:JS如何获取地址栏url后面的参数?: 这里提供了两种获取地址栏url后面参数的方法: 方式1 传参: window.location. ...
- pg_hba.conf配置文件
实例级别的权限由pg_hba.conf来控制,例如 : # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix doma ...
- lc6 ZigZag Conversion
lc6 ZigZag Conversion 分成两步, 第一步垂直向下, 1 1 1 1 第二步倾斜向上 1 1 1 1 1 1 1 用nRows个StringBuilder 然后将他们合并即可 cl ...
- 廖雪峰Java10加密与安全-5签名算法-2DSA签名算法
DSA DSA:Digital Signature Algorithm,使用EIGamal数字签名算法,和RSA数字签名相比,DSA更快. DSA只能配合SHA使用: SHA1withDSA SHA2 ...
- Luogu P2292 [HNOI2004]L语言(Trie+dp)
P2292 [HNOI2004]L语言 题面 题目描述 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章 \(T\) 是由若干小写字母构成. ...
- Redis源码解析:17Resis主从复制之主节点的部分重同步流程及其他
本文主要讲解主节点部分重同步的实现,以及主从复制中的其他功能.本文是Redis主从复制机制的最后一篇文章. 主节点在收到从节点发来的PSYNC命令之前,主节点的部分重同步流程,与完全重同步流程是一样的 ...
- springcloud注册中心eureka
1.前提 springcloud的注册中心是以springboot为基础搭建起来的. 开发工具:IDEA 项目管理工具:maven 2.搭建步骤 创建一个web项目(建议使用IDEA工具构建项目) 修 ...
- [BZOJ2729]排队
数学知识 排列 A(n,m)从n个元素中选出m个的不同的排列数 A(n,m)=n!/(n-m)! 组合 C(n,m)从n个元素中选出m个的不同的方案数 C(n,m)=n!/(m!*(n-m)! ...
- PHP1.6--数组
一.数组的键值操作函数 1.array_values() 函数作用是返回数组中所有元素的值,只有一个参数,规定传人给定数组,返回一个包含给定数组中所有值的数组,但不保留键名 被返回的数组将使用顺序的数 ...