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等软件.开源软件基本都提供源码下载,源码安装的方式:源码安 ...
随机推荐
- SQL Server日常积累
1: 在Sql Server 中增加一列语句: alter table table_name add column_name [not null] [references ....] 例 ...
- 【NOIP2016提高A组集训第14场11.12】随机游走——期望+树形DP
好久没有写过题解了--现在感觉以前的题解弱爆了,还有这么多访问量-- 没有考虑别人的感受,没有放描述.代码,题解也写得歪歪扭扭. 并且我要强烈谴责某些写题解的代码不打注释的人,像天书那样,不是写给普通 ...
- Apache SOLR and Carrot2集成
1.环境 下载软件 名称 地址 solr-integration-strategies-gh-pages.zip https://github.com/carrot2/solr-integration ...
- MyBatis配置文件(三)--typeAliases别名
因为类的全限定名一般包括包名,显得很长,在使用过程中不是很方便,所以MyBatis中允许我们使用一种简写的方式来代替全限定名,这就是别名.这就相当于我们在玩微信的时候,有些人的昵称很长很难记,怎么办? ...
- 2019牛客暑期多校赛(第一场) A Equivalent Prefixes(单调栈)
传送门:https://ac.nowcoder.com/acm/contest/881/A 题意:给定两个数组a和b,求最大的p,满足在区间 [1,p] 中任何区间的两个数组的最小值的下标都相等. 思 ...
- kafka理论
一.消息队列,简称MQ,message queue 生产者:生存数据写到kafka,持久化到硬盘.对同一个Topic来讲,生产者通常只有‘一个’(可以多并发)数据保存时常可以配置,默认保存七天. 消费 ...
- 2019-8-31-dotnet-获取用户设备安装了哪些-.NET-Framework-框架
title author date CreateTime categories dotnet 获取用户设备安装了哪些 .NET Framework 框架 lindexi 2019-08-31 16:5 ...
- BZOJ1491:1491: [NOI2007]社交网络
1491: [NOI2007]社交网络 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2204 Solved: 1175[Submit][Status ...
- mysqldump mysql数据库导出命令
mysqldump -u用户名 -p密码 数据库名 > 导出的文件名 例如: mysqldump -uroot -p123456 test > /var/test.sql 如果要压缩就用管 ...
- layui -page 分页类
<?phpnamespace page; // +---------------------------------------------------------------------- / ...