`

Linux学习笔记-4.1. 软件包分类和4.2. rpm命令管理

 
阅读更多

 

4.1.软件包分类

 

1、源码包

a)脚本安装包

源码包安装慢,容易报错

优点:

a)开源,如果有足够能力,可以修改源码

b)可以自由选择所需的功能

c)软件是编译安装,所以更加适合自己的系统,更加稳定也效率也高。

d)卸载方便,直接删除目录即可。

缺点:

a)安装过程步骤较多,尤其安装较大的软件集合时,容易出现拼写错误。

b)编译过程时间较长,安装比二进制安装时间长。

c)因为是编译安装,安装过程中一旦报错新手很难解决。

2、二进制包(RPM包,即系统默认包)

是指源码包经过编译后安装包

安装速度快了,但是不是源码

优点:

a)包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和卸载。

b)安装速度比源码包安装快的多

缺点:

a)经过编译,不再可以看到源代码

b)功能选择不如源码包灵活

c)依赖性,安装包相互依赖,依赖层次较多时,安装比较困难

 

 

4.2.rpm命令管理

 

4.2.1.包命名

例:包全名

httpd-2.2.15-15.el6.centos.1.i686.rpm

 

httpd 软件包名

2.2.15 软件版本

15软件发布的次数

el6.centos 适用的Linux平台

i686 适合的硬件平台

rpm rpm包扩展名

 

 

4.2.2.依赖性

树形依赖:a>b>c

环境依赖:a>b>c>a

abc用命令一起安装,可解决这种问题

模块依赖:模块依赖查询网站:www.rpmfind.net

 

4.2.3.安装升级与卸载

包全名

httpd-2.2.15-15.el6.centos.1.i686.rpm

包名:

httpd

 

包全名

操作的包是没有安装的软件包时,使用包全名。而且要注意路径

包名

操作已经安装的软件包时,使用包名。因为系统搜索/var/lib/rpm/中的数据库自己去查找。

 

 

安装

rpm –ivh 包全名

 

-i install 安装

-v verbose 显示详细信息

-h hash 显示进度

--nodeps 不检测依赖性,不建议使用,如果有依赖没有安装,就是安装上了,也不能用。

 

 

依赖性是rpm安装的最大困难

 

 

升级

rpm –Uvh 包全名

 

-U upgrade 升级

 

 

卸载

 

rpm –e 包名

 

-e erase 卸载

--nodeps 不检测依赖性

 

 

 

4.2.4.查询

可以查询rpm和yum安装的软件包

 

查询是否安装

rpm –q 包名

 

-q query

 

[root@localhost dev]# rpm -q httpd

package httpd is not installed

[root@localhost dev]# rpm -q net-tools

net-tools-2.0-0.22.20131004git.el7.x86_64

[root@localhost dev]#

 

 

查询所有已经安装的包

rpm -qa

 

-a all

 

[root@localhost dev]# rpm -qa|grep net-tools

net-tools-2.0-0.22.20131004git.el7.x86_64

 

 

查询软件的详细信息

rpm –qi 包名

 

-i 查询软件信息 infomation

-p 查询未安装包信息 package,后面必须跟包全名

 

[root@localhost dev]# rpm -qi net-tools

Name        : net-tools

Version     : 2.0

Release     : 0.22.20131004git.el7

Architecture: x86_64

Install Date: Sun 22 Apr 2018 04:57:36 PM CST

Group       : System Environment/Base

Size        : 938986

License     : GPLv2+

Signature   : RSA/SHA256, Fri 11 Aug 2017 02:30:02 AM CST, Key ID 24c6a8a7f4a80eb5

Source RPM  : net-tools-2.0-0.22.20131004git.el7.src.rpm

Build Date  : Thu 03 Aug 2017 05:17:34 PM CST

Build Host  : c1bm.rdu2.centos.org

Relocations : (not relocatable)

Packager    : CentOS BuildSystem <http://bugs.centos.org>

Vendor      : CentOS

URL         : http://sourceforge.net/projects/net-tools/

Summary     : Basic networking tools

Description :

The net-tools package contains basic networking tools,

including ifconfig, netstat, route, and others.

Most of them are obsolete. For replacement check iproute package.

 

 

 

查询未安装包信息

未安装的包的信息已经写在系统中,可以查询到。

需要包全名

rpm –qip 包全名

 

 

查询包中文件安装位置

 

rpm –ql 包名

 

-l列表list

-p 查询未安装包信息package

 

 

 

查询系统文件属于哪个RPM包

 

rpm –qf 系统文件名

 

-f 查询系统文件属于哪个软件包file

 

[root@localhost dev]# rpm -qf /usr/share/man/pt/man8/route.8.gz

net-tools-2.0-0.22.20131004git.el7.x86_64

[root@localhost dev]# rpm -qf /etc/yum.conf

yum-3.4.3-154.el7.centos.noarch

 

 

查询软件包的依赖性

 

rpm –qR 包名

 

-R 查询包的依赖性requires

-p 查询未安装包信息package

 

 

[root@localhost dev]# rpm -qR net-tools

/bin/sh

libc.so.6()(64bit)

libc.so.6(GLIBC_2.14)(64bit)

libc.so.6(GLIBC_2.2.5)(64bit)

libc.so.6(GLIBC_2.3)(64bit)

libc.so.6(GLIBC_2.3.4)(64bit)

libc.so.6(GLIBC_2.4)(64bit)

libselinux.so.1()(64bit)

rpmlib(CompressedFileNames) <= 3.0.4-1

rpmlib(FileDigests) <= 4.6.0-1

rpmlib(PayloadFilesHavePrefix) <= 4.0-1

rtld(GNU_HASH)

systemd-units

rpmlib(PayloadIsXz) <= 5.2-1

[root@localhost dev]#

 

 

 

4.2.5.校验和

 

查询校验和

rpm –V 已安装的包名

 

-V 校验指定的RPM包中的文件verify

 

 

没有任何提示信息,说明该安装包还是原始安装包,没有进行过修改

[root@localhost dev]# rpm -V net-tools

[root@localhost dev]#

 

 

修改了yum.conf文件

 

[root@localhost /]# rpm -V yum

S.5....T.  c /etc/yum.conf

[root@localhost /]#

 

 

验证内容中的8个信息的具体内容如下:

S 文件大小是否改变

M文件的类型或文件的权限rwx是否被改变

5 文件MD5校验和是否改变,可以看成文件内容是否改变

D 设备的主从代码是否改变

L 文件路径是否改变

U 文件的属性,所有者 是否改变

G 文件的所属组是否改变

T 文件的修改时间是否改变

 

 

文件类型

c 配置文件config file

d 普通文档 documentation

g “鬼”文件,ghost file,很少见,就是该文件不应该被这个RPM包包含

l 授权文件 license

r 描述文件 read me

 

 

 

RPM包中文件提取

主要为了修复文件系统

 

rpm2cpio 包全名 | \

cpio –idv .文件绝对路径

 

\代表一条命令没有输完,还要继续换行输入

.表示把文件提取当前目录中

/bin/ls表示要提取的文件

 

rpm2cpio 

将RPM包转换为cpio格式的命令

cpio

是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

 

 

cpio 选项 <[文件|设备]>

 

-i copy in模式,还原

-d 还原时自动新建目录

-v 显示文件还原过程

 

 

将ls命令提取出来

rpm2cpio /mnt/cdrom/Packages/ coreutils-8.22-18.el7.x86_64 | cpio –idv ./bin/ls

 

分享到:
评论

相关推荐

    冰河的渗透实战笔记-冰河.pdf

    冰河整理的全网首个开源的以实战案例为背景的渗透实战笔记,全书共442页,共计37万字(不计空格)。整本书的内容涵盖:Kali基础、渗透工具、木马制作、钓鱼链接生成、爆破密码、内存溢出攻击、web渗透、数据提权、...

    android-x86_64-7.1-r2.isoandandroid-x86_64-8.1-rc2.iso

    - 对于教育领域,这也是一种成本效益高的解决方案,可以让学生在熟悉的桌面环境中学习和使用Android应用程序。 ### ISO镜像文件 - **定义**:ISO镜像是光盘内容的数字副本,通常用于保存文件系统结构和所有原始...

    linux mysql-connector-java-5.1.36.tar.gz

    - JDBC是一个Java API,它定义了一组接口和类,用于在Java程序中建立、配置和管理数据库连接。 - JDBC驱动程序有四种类型:类型1、2、3和4。MySQL Connector/J是类型4的纯Java驱动,无需依赖本地库,因此具备平台...

    pip-10.0.1.tar.gz 安装包

    pip是Python生态系统中的一个核心组件,它为Python开发者提供了一种高效、便捷的方式来安装、管理和升级Python库。pip(pip install packages)这个名字本身就是“安装包”的首字母缩写,它的出现极大地简化了Python...

    jquery-ui-1.7.1.custom.css 自家博客专用

    博客专用: Jqgrid学习笔记__01__初来乍到 很多时候在网上下载一段代码,结果引用的CSS和JS文件不知道从哪里弄,结果上网下载,不是版本不对,就是完全不对。这里的CSS是有对应的代码段的。请参考博客 ====&gt; Jqgrid...

    dojo精品中文教程(全)

    Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo学习笔记--ValidationTextbox Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--...

    e1000e-1.2.10.tar.gz

    标题中的“e1000e-1.2.10.tar.gz”是一个软件包,主要针对Linux操作系统,用于驱动E1000E系列的网络接口控制器(NIC)...这个过程涉及到了Linux系统的驱动管理、内核模块加载机制,以及软件包的解压和编译等基本操作。

    PCIe-M.2-接口规范-V1.0-接口定义

    M.2接口的形状小巧,支持多种连接协议,包括PCI Express (PCIe)、Serial ATA (SATA) 和 USB,旨在替代老旧的mSATA接口。 PCIe M.2接口规范的版本1.0主要由PCI-SIG(PCI特殊兴趣小组)制定并发布,提供了不同M.2卡型...

    惠普HP CQ40 519TX XP驱动 Intel-Hdmi.rar

    此驱动程序的目的是确保计算机的高清多媒体接口(HDMI)能够正常工作,提供音频和视频信号到外部设备,如显示器、电视或投影仪。 在描述中提到的“自己使用过!绝对没问题!”意味着这个驱动程序已经被某个用户安装...

    OS-X-Clover-Laptop-Config.zip

    在苹果的Mac操作系统中,有时候用户会选择安装第三方的启动管理器来增强系统兼容性和自定义功能,其中Clover就是一种非常流行的工具。本压缩包"OS-X-Clover-Laptop-Config.zip"提供了一系列针对Intel HD Graphics...

    Tenda无线网卡832U驱动

    在本案例中,我们需要安装的驱动程序名为"IS_AP_STA_RT2870_D-3.2.1.0_VA-3.2.1.0_W7-3.2.1.0_RU-4.1.0.0_AU-4.1.0.0_051011_1.5.12.0WP_Free.exe",这个文件是针对Tenda 832U无线网卡的特定版本驱动。 驱动程序的...

    STM32G0芯片pack包 Keil.STM32G0xx-DFP.1.4.0.pack

    5. **示例代码和应用笔记:** 包中可能包含了一些示例项目,用于演示如何使用STM32G0的特性,同时,应用笔记可能提供了关于如何使用特定功能的详细指南。 6. **调试工具支持:** 这个Pack可能也包含了对不同调试器...

    ControlCenter-3.17.42.0-Mechrevo

    这款软件专为Mechrevo品牌的电脑设计,旨在提供一个集中的平台,让用户能够方便地管理和调整他们的系统设置,包括硬件性能、显示选项、电源管理等多个方面。 在"ControlCenter_3.17.42.0_Mechrevo"中,我们可能发现...

    Markdown Preview Plus-0.7.19

    Markdown Preview Plus是一款强大的谷歌浏览器扩展程序,主要用于提升Markdown语言的编写和预览体验。这款插件版本号为0.7.19,意味着它已经经过多次迭代和优化,旨在提供更加稳定、高效的功能。 Markdown是一种轻...

    RTL8152B-VB-CG.pdf

    6. **远程唤醒功能**:包括 AMD Magic Packet 和 Microsoft Wake-Up Frame 在内的远程唤醒功能,在 ACPI 和 APM(高级电源管理)环境中均得到支持,使得即使在睡眠状态下也能远程唤醒计算机。 7. **Microsoft Wake ...

    新版Android开发教程及笔记-完整版.pdf

    新版Android开发教程&笔记--基础入门一.pdf 新版Android开发教程&笔记--基础入门二.pdf 新版Android开发教程&笔记三--环境搭建与解析.pdf 新版Android开发教程&笔记四--Dalvik ADB.pdf 新版Android开发教程+笔记五--...

    兄弟连linux教程1-16章学习笔记(全)

    7. **图片辅助**:"图1.jpg"至"图4.jpg"是用于辅助理解的图片,可能是命令行操作的截图,或者是系统结构的示意图,帮助用户直观地理解和学习Linux。 这份资源通过系统的梳理和实例演示,为用户提供了逐步学习Linux...

    GJB6600.1-2008.pdf 国军标6600 清晰版

    IETM包含的技术和信息管理功能远超传统手册,比如具备搜索、导航、故障诊断、部件信息、技术插图、交互式图解、多媒体展示等高级特性。 交互式电子技术手册的出现,是技术文档领域的一场革命。在传统的技术手册使用...

    高等数学笔记-精华.pdf

    高等数学的笔记,方便学习机器学习等内容时查阅。 主要内容包括:数列、极限、微积分、空间解析几何与线性代数、级数、常微分方程。

    英特尔蓝牙驱动 win10-win11

    标题 "英特尔蓝牙驱动 win10-win11" 指的是适用于Windows 10和Windows 11操作系统的英特尔蓝牙驱动程序。这个驱动程序是由英特尔公司开发的,旨在确保其蓝牙技术在最新的微软操作系统上能够稳定、高效地运行。英特尔...

Global site tag (gtag.js) - Google Analytics