`
itspace
  • 浏览: 981601 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux RPM包简介

阅读更多
安装rpm包十分便捷,省去了很多编译过程,但是很多情况下,我们需要知道rpm包解压之后文件安装路径。
首先看一下rpm包的命名规则,如有一rpm包名字为ncurses4-5.0-5.i386.rpm,
其命名规则为
<name>-<version>-<release>.<arch>.rpm

o  <name> is the name of the program or package.  The <name> is
   usually assigned by the program's author.  In our example, the
   developers decided to name their product "bash" for reasons that
   seemed amusing to them.

o  <version> identifies which edition of the software this RPM
   contains.  The <version> number is assigned by the program's
   author.  Using the <version> number allows one to determine which
   version of the author's sources were used to generate the RPM.

o  <release> provides the edition number of the RPM file itself and
   not the version of the author's source files.  An updated RPM may
   be issued to supply a patched version of the author's original
   software.  The patch need not have come from the original
   developer, so the RPM <release> gets incremented instead of the
   <version>.
  
   Remember: the <version> is controlled by the original author and
   the <release> is controlled by whomever constructed the RPM.

o  <arch> describes the contents of the RPM and tells whether this
   file contains the product source (a ".src.rpm"),
   architecture-independent files (a ".noarch.rpm"), or files which
   may only be installed on a particular host type (a ".sh.rpm" will
   work only on a STRONGHOLD embedded processor).



以下就是一些关于rpm包的一些操作命令。
1、查看rpm包是否安装:
引用
[root@hzmc tmp]# rpm -qa|grep ncurses4
ncurses4-5.0-5

2、卸载rpm包
引用
[root@hzmc tmp]# rpm -e ncurses4-5.0-5

3、安装rpm包
引用
[root@hzmc tmp]# rpm -ivh ncurses4-5.0-5.i386.rpm
Preparing...                ########################################### [100%]
   1:ncurses4               ########################################### [100%]


4、以升级模式安装rpm包
引用
[root@hzmc tmp]# rpm -Uvh /tmp/ncurses4-5.0-5.i386.rpm
Preparing...                ########################################### [100%]
   1:ncurses4               ########################################### [100%]

5、查看rpm包安装路径,注意这里使用的是绝对路径
引用
[root@hzmc tmp]# rpm -qlp ncurses4-5.0-5.i386.rpm
/usr/lib/libform.so.4
/usr/lib/libform.so.4.0
/usr/lib/libmenu.so.4
/usr/lib/libmenu.so.4.0
/usr/lib/libncurses.so.4
/usr/lib/libncurses.so.4.0
/usr/lib/libpanel.so.4
/usr/lib/libpanel.so.4.0
/usr/share/doc/ncurses4-5.0
/usr/share/doc/ncurses4-5.0/ANNOUNCE
/usr/share/doc/ncurses4-5.0/README


以下命令使用的是相对路径
引用
[root@hzmc tmp]# rpm2cpio ncurses4-5.0-5.i386.rpm|cpio -t
./usr/lib/libform.so.4
./usr/lib/libform.so.4.0
./usr/lib/libmenu.so.4
./usr/lib/libmenu.so.4.0
./usr/lib/libncurses.so.4
./usr/lib/libncurses.so.4.0
./usr/lib/libpanel.so.4
./usr/lib/libpanel.so.4.0
./usr/share/doc/ncurses4-5.0
./usr/share/doc/ncurses4-5.0/ANNOUNCE
./usr/share/doc/ncurses4-5.0/README
720 blocks


6、解压rpm包文件至某个文件夹下,这里使用的是相对路径

引用
[root@hzmc tmp]# rpm2cpio ncurses4-5.0-5.i386.rpm | cpio -ivdu
./usr/lib/libform.so.4
./usr/lib/libform.so.4.0
./usr/lib/libmenu.so.4
./usr/lib/libmenu.so.4.0
./usr/lib/libncurses.so.4
./usr/lib/libncurses.so.4.0
./usr/lib/libpanel.so.4
./usr/lib/libpanel.so.4.0
./usr/share/doc/ncurses4-5.0
./usr/share/doc/ncurses4-5.0/ANNOUNCE
./usr/share/doc/ncurses4-5.0/README
720 blocks


当然了,我们也可以解压,单个文件至某一文件夹下
引用
[root@hzmc /]#  rpm2cpio /tmp/ncurses4-5.0-5.i386.rpm | cpio -ivdu ./usr/lib/libform.so.4
./usr/lib/libform.so.4
720 blocks


这里解释一下几个参数
In this case, the options "-i", "-v", and "-d" direct cpio(1) to:

-i  Extract one or more files from an archive.  The filename(s)
    requested must match the "cpio -t" table of contents
    exactly, or a shell-like wildcard pattern.  If the destination
            file already exists, cpio(1) will refuse to overwrite it unless
            the "-u" switch is added to the command.

-d  Create any directories that precede the filename specified
    in the cpio(1) command.  If the directories already exist,
    the "-d" switch could be omitted but does no harm if it is
    always specified.

-v  Display the names of any files processed, along with the
    size of the CPIO archive file, in 512-byte blocks.  Note
    this size is not the size of the RPM package, which cpio(1)
    never sees directly.



附:trouble shooting

If your RPM database is hung or corrupted you can try to repair it with these
commands.  This process is not guaranteed to work.

You must be logged in with superuser privilege (aka
"root") for these steps.  The commands may be copied and pasted
directly into a root terminal window.


1)  Make sure there are no RPM processes left running on your system.
    Use the ps(1) command to identify them.  Use the kill(1) command
    to terminate any "rpm" processes you find; a "kill -9" may be
    necessary.

2)  Delete the lock files that RPM uses:

rm -f /var/lib/rpm/__db*

3)  If you were experiencing a hanging "rpm" command, try it again.
    If it works, you are finished.  If not, perform Step #1 and #2
    again. Then proceed to the next step.

4)  Make a backup of your RPM database:

cd /var/lib
mkdir rpm-backup
rsync -av ./rpm/. ./rpm-backup/.

5)  Rebuild your RPM database:

rpm -vv --rebuilddb > /tmp/rpmrebuilddb.log 2>&1

6)  Retry your failed RPM command.

0
0
分享到:
评论

相关推荐

    Linux RPM 包安装

    #### 一、RPM包简介 RPM(Red Hat Package Manager)是一种广泛应用于Linux发行版中的软件包管理工具,主要用于安装、卸载、升级和查询软件包。RPM最初由Red Hat开发,但随着时间的发展,它已经被包括OpenLinux、...

    linux telnet rpm 包

    在本场景中,我们讨论的是在Linux环境下利用RPM包来安装和管理`telnet`服务。 首先,我们来看`xinetd`这个包。`xinetd`,即“eXtended Internet Services Daemon”,是一个超级服务器,它可以控制并运行多种网络...

    mysql客户端Linux RPM包

    MySQL客户端Linux RPM包是专为在Red Hat Enterprise Linux 7或Oracle Linux 7(64位)操作系统上使用的软件包。这个RPM包包含了运行MySQL客户端所需的组件,使得用户能够连接到MySQL服务器并执行各种数据库操作。...

    常用linux命名rpm包

    "常用Linux命令rpm包"指的是包含了若干常用Linux命令的RPM软件包,这些命令在日常系统管理和故障排查中非常实用。以下是对这些命令的详细解释: 1. **netstat**:网络状态工具,用于查看网络连接、路由表、接口统计...

    linux telnet rpm包

    telnet-0.17-59.el7.x86_64.rpm包。telnet rpm包。x86_64

    mysql for linux rpm包

    mysql for linux rpm包 5.0.77版本

    Linux常用RPM包

    Linux服务器升级过程中常用的RPM包,一共20个,常用的有xinetd,telnet,lrzsz,perl等等

    网易云音乐for linux rpm包

    由官方deb包转rpm, 安装命令 sudo rpm -ivh netease-cloud-music-1.0.0-2.x86_64.rpm 请根据依赖提示自行安装依赖,或用命令sudo yum localinstall netease-cloud-music-1.0.0-2.x86_64.rpm 安装,无法自动安装依赖...

    linux unzip rpm安装包

    1、rpm包拷贝到linux 2、rpm -ivh 包名 3、找到zip包,unzip zip包

    linux 支持ntfs的RPM包

    "linux 支持ntfs的RPM包"就是为了解决这个问题,它包含了使Red Hat 5能够识别和挂载NTFS磁盘所需的关键组件。 这个压缩包包含了两个RPM(Red Hat Package Manager)文件:ntfs-3g-2011.4.12-5.el5.x86_64.rpm和fuse...

    linux系统unzip的rpm安装包

    在描述中,我们看到"新建一个文件夹,上传资源",这可能意味着你需要先下载`unzip`的RPM包到你的Linux机器上,并将其放在一个新创建的文件夹内。一旦RPM包位于指定目录下,你可以运行上述命令来安装`unzip`。 `bzip...

    linux rpm包命令

    ### Linux RPM包命令详解 在Linux环境中,RPM(Red Hat Package Manager)是管理软件包的一种强大工具。它被广泛应用于Red Hat、Fedora、CentOS等基于RPM的发行版中。通过RPM,用户可以轻松地安装、卸载、升级、...

    real vnc 4.1.3 for linux 免费版 rpm包

    real vnc 4.1.3 for linux rpm 包,带服务端客户端

    flash插件 linux rpm包

    flash插件 linux rpm包

    Linux安装SNMP服务所需要rpm包

    本教程将详细介绍在Linux上安装SNMP服务所需的RPM包及其步骤。 首先,你需要确保你的Linux系统支持RPM包管理。大多数基于RPM的Linux发行版,如CentOS、Fedora和RHEL,都内置了RPM工具。你可以通过命令行来检查RPM...

    php 7.2.16 rpm包

    PHP 7.2.16 RPM包是一种专为Linux系统设计的软件包,它包含了PHP 7.2.16版本的所有源代码和编译好的二进制文件,用于在这些系统上快速安装和运行PHP环境。RPM(Red Hat Package Manager)是Linux发行版中最常见的...

    Linux RPM 包概述.pdf

    在Linux系统开发中,熟练掌握RPM包的管理和使用是至关重要的。这不仅方便了日常的软件安装,也有利于保持系统的整洁和更新。了解如何创建和维护RPM包也是系统管理员和开发者的一项重要技能,因为这样可以确保软件在...

    linux系统下tftp安装rpm包和源代码

    在本压缩包中,你将找到与Linux下使用TFTP进行文件传输、安装RPM包以及处理源代码相关的资源。 首先,让我们了解如何在Linux上设置和使用TFTP服务器。要启用TFTP服务,你需要安装tftp-server软件包,这通常可以通过...

    linux_jdk1.8_rpm

    - 使用`rpm`命令安装JDK 1.8的RPM包,例如`sudo rpm -ivh jdk-8u131-linux-x64.rpm`。这会自动处理依赖关系并安装JDK。 - 安装完成后,设置环境变量。在`/etc/profile.d/`目录下创建一个名为`jdk.sh`的脚本,添加...

    linux64位中文rpm包

    1、rpm -ivh libFS-1.0.0-3.1.x86_64.rpm 2、rpm -ivh ttmkfdir-3.0.9-23.el5.x86_64.rpm 3、rpm -ivh chkfontpath-1.10.1-1.1.x86_64.rpm xorg-x11-xfs-1.0.2-4.x86_64.rpm 4、rpm -ivh fonts-chinese-3.02-12.el5....

Global site tag (gtag.js) - Google Analytics