软件包分类:

  • 源码包:脚本安装包(源C代码)
  • 二进制包(rpm包,系统默认包)

源码包

1.源码包优点

  1. 开源,如果有足够的能力,完全可以修改源代码
  2. 可以自己选择所需要安装的功能
  3. 软件是编译安装,所以更加适合自己的系统,更加稳定,效率也更高
  4. 卸载方便

2.源码包缺点

  1. 安装步骤比较多,尤其安装比较大的软件时,很容易出错(特别是拼写错误)
  2. 编译时间过长
  3. 编译安装,出错的话,新手很难解决

rpm包

1.rpm包优点

  1. 包安装管理系统简单,通过几个命令就可以实现包的安装,升级,查询,卸载
  2. 安装速度比安装源码包快得多

2.rpm包缺点

  1. 通过编译,不能再看点源代码
  2. 功能选择性不如源代码包灵活
  3. 依赖性

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之软件包安装管理的更多相关文章

  1. Linux 软件包安装管理

    转自:http://www.cnblogs.com/Quains/archive/2012/01/03/2311049.html 本文主要是记录下RedHat系列的软件包管理. 内容分为以下三个部分: ...

  2. Linux系统软件包的管理(4)

    虽然使用源码编译安装可以具有提高速度个性化的定制等优点,但对于 Linux发行商来说,则不容易管理软件包,毕竟不是每个人都会进行源码编译的,如果能够将软件预先在相同的硬体与系统上面编译好在发布的话,不 ...

  3. ◆◆◆◆◆◆◆◆◆◆◆linux下软件包的管理◆◆◆◆◆◆◆◆◆◆◆◆◆◆

    查看与制定的路径名相匹配的软件包 [root@localhost certs]# which ls alias ls='ls --color=auto' /bin/ls [root@localhost ...

  4. Linux:软件包安装

    软件包安装 一.rpm安装 1.挂载系统:mount /dev/cdrom/ /mnt/cdrom/ 2.进入相应的目录(Centos7 为Packages,有一些是Server):cd /mnt/c ...

  5. 适用于windows10 Linux子系统的安装管理配置 How To Management Windows Subsystem for Linux WSL

    什么是WSL Windows Subsystem for Linux 简称WLS,适用于Linux的Windows子系统,可以直接在Windows上运行Linux环境(包括大部分命令行工具) Linu ...

  6. Linux下软件包安装

    编译dbus下载地址 :http://dbus.freedesktop.org/releases/dbus/tar zxvf dbus-1.10.0echo ac_cv_have_abstract_s ...

  7. Linux中ansible批量管理软件部署及剧本编写

    服务器版本信息: Centos6.9 [root@db02 ~]# uname -a Linux db02 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29: ...

  8. Linux系统软件包之---Apache

    当前互联网主流web服务说明 静态服务: apache 中小型静态web服务的主流,web服务器中的老大哥 nginx 大型新兴网站静态web服务主流,web服务器中的初生牛犊 lighttpd 静态 ...

  9. 细说Linux下软件包的安装与管理

    一 源码安装方式      由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache.tomcat.php等软件.开源软件基本都提供源码下载,源码安装的方式:源码安 ...

随机推荐

  1. UOJ#449 喂鸽子

    题意:有n个鸽子,你每秒随机喂一只鸽子,每只鸽子吃k次就饱了.求期望多少秒之后全饱了.n <= 50, k <= 1000. 解:有两种做法.一种直接DP的n2k做法在这.我用的是Min- ...

  2. csp-s模拟测试51(b)attack,tree题解

    题面:https://www.cnblogs.com/Juve/articles/11598286.html attack: 支配树裸题? 看一下支配树是什么: 问题:我们有一个有向图(可以有环),定 ...

  3. CF 981C Useful Decomposition

    题面 题目大意 给定一棵树,要求划分出几条链,使这几条链交于一点. 解题思路 因为所有链都要交于一点,所以必须交于一个度数最多的点.这样就形成了一个菊花形.然后从这个点出发到它的子树,判断子树的度数是 ...

  4. 【DM642学习笔记二】dsp基础实验:发光二级管的显示 led.c

    1,OSDFPGA配置一个专用的8位寄存器控制指示灯亮灭,访问地址为90080017h,由电路图可知低电平点亮. 2,程序运行时,可直接editmemory.即修改90080017h地址的值(可在Ed ...

  5. request.getSession().getServletContext().getRealPath("upload/" ); 获取不到 tomcat 服务器目录

    上传一个文件,找不到该文件的位置 设置上传的文件是在项目中的话 可以通过查找项目的路径锁定上传的文件路径 解决步骤: 可以通过jsp页面 打印获取项目的物理路径 控制台即可输出项目路径 这只是找了了上 ...

  6. 关于python的列表操作(一):取值,增加,修改,删除

    # 列表操作 name_list = ["wang", "niu", "bai", "sui"] # 取值 print( ...

  7. docker启动redis设置密码

    docker run --name picker-redis -p 6379:6379 -d redis --requirepass "认证密码"

  8. Hibernate-一对多|多对一-多对多

    1 一对多|多对一 1.1 关系表达 表中的表达 表中的表达  实体中的表达 orm元数据中表达 一对多 多对一 1.2 操作 操作关联属性 1.3 进阶操作 级联操作 结论: 简化操作.一定要用,s ...

  9. MySQL系列(七)--SQL优化的步骤

    前面讲了如何设计数据库表结构.存储引擎.索引优化等内存,这篇文章会讲述如何进行SQL优化,也是面试中关于数据库肯定会被问到的, 这些内容不仅仅是为了面试,更重要的是付诸实践,最终用到工作当中 之前的M ...

  10. 专访阿里云资深技术专家黄省江:中国SaaS公司的成功之路

    笔者采访中国SaaS厂商10多年,深感面对获客成本巨大.产品技术与功能成熟度不足.项目经营模式难以大规模复制.客户观念有待转变等诸多挑战,很多中国SaaS公司的经营状况都不容乐观. 7月26日,阿里云 ...