Linux rpm命令

Linux rpm命令:RPM软件包管理器。

Linux rpm命令 功能描述

使用rpm命令可以在Linux系统中安装、删除、刷新、升级、查询RPM软件包。

Linux rpm命令 语法

rpm [选项] [RPM软件包文件名称|RPM软件包名称]

命令中各选项的含义如表所示。
rpm命令选项含义

Linux rpm命令 示例



安装bind-9.8.2-0.17.rc1.el6.x86_64.rpm软件包

[root@rhel ~]# cd /media/RHEL_6.4\ x86_64\ Disc\ 1/Packages
//进入Linux系统安装光盘软件包目录
[root@rhel Packages]# rpm -i bind-9.8.2-0.17.rc1.el6.x86_64.rpm
//在安装软件包时不会输出安装的详细信息

安装bind-9.8.2-0.17.rc1.el6.x86_64.rpm软件包,并显示安装过程中的详细信息和水平进度条

[root@rhel Packages]# rpm -ivh bind-9.8.2-0.17.rc1.el6.x86_64.rpm
Preparing...              ###########################################[100%]
  1:bind                 ###########################################[100%]
//如果软件包安装成功,系统会显示软件包的名称,并且在软件包安装时显示详细信息和水平进度条

只对安装进行测试,并不实际安装bind-9.8.2-0.17.rc1.el6.x86_64.rpm软件包

[root@rhel Packages]# rpm -ivh --test bind-9.8.2-0.17.rc1.el6.x86_64.rpm
warning: bind-9.8.2-0.17.rc1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...               ###########################################[100%]

安装以bind开头的软件包

[root@rhel Packages]# rpm -ivh bind*
//通过这种方式可以一次安装多个软件包

在软件包bind-9.8.2-0.17.rc1.el6.x86_64.rpm已经安装的情况下仍旧安装该软件包

[root@rhel Packages]# rpm -ivh --replacepkgs bind-9.8.2-0.17.rc1.el6.x86_64.rpm
Preparing...               ###########################################[100%]
  1:bind                 ###########################################[100%]

忽略软件包的依赖关系,强行安装bind-chroot-9.8.2-0.17.rc1.el6.x86_64.rpm软件包

[root@rhel Packages]# rpm -ivh --nodeps bind-chroot-9.8.2-0.17.rc1.el6.x86_64.rpm
Preparing...               ###########################################[100%]
  1:bind-chroot             ###########################################[100%]

直接从软件包的HTTP网址安装软件包

[root@rhel ~]# rpm -ivh \
> http://ncu.dl.sourceforge.net/project/webadmin/webmin/1.630/webmin-1.630-1.noarch.rpm

删除bind-chroot软件包



[root@rhel ~]# rpm -e bind-chroot

强制删除bind软件包

[root@rhel ~]# rpm -e --nodeps bind
warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave

升级bind-9.8.2-0.17.rc1.el6.x86_64.rpm软件包

[root@rhel Packages]# rpm -Uvh bind-9.8.2-0.17.rc1.el6.x86_64.rpm

强制升级bind-9.8.2-0.17.rc1.el6.x86_64.rpm软件包

[root@rhel Packages]# rpm -Uvh --oldpackage bind-9.8.2-0.17.rc1.el6.x86_64.rpm

刷新bind-9.8.2-0.17.rc1.el6.x86_64.rpm软件包

[root@rhel Packages]# rpm -Fvh bind-9.8.2-0.17.rc1.el6.x86_64.rpm

初始化RPM数据库

[root@rhel ~]# rpm --initdb

从安装数据包头重建RPM数据库

[root@rhel ~]# rpm --rebuilddb

查询bind和crontabs软件包是否已经安装

[root@rhel ~]# rpm -q bind
package bind is not installed
//查询到bind软件包没有安装[root@rhel ~]# rpm -q crontabs
crontabs-1.10-33.el6.noarch
//查询到crontabs软件包已经安装

查询系统内所有已经安装的RPM软件包

[root@rhel ~]# rpm -qa
xorg-x11-server-Xorg-1.13.0-11.el6.x86_64
perl-Time-HiRes-1.9721-129.el6.x86_64
perl-XML-Dumper-0.81-6.el6.noarch
libreport-2.0.9-15.el6.x86_64
xml-common-0.6.3-32.el6.noarch
xorg-x11-drv-xgi-1.6.0-18.20121114git.el6.x86_64
perl-libxml-perl-0.08-10.el6.noarch
cyrus-sasl-plain-2.1.23-13.el6_3.1.x86_64
abrt-tui-2.0.8-15.el6.x86_64
mailcap-2.1.31-2.el6.noarch
xorg-x11-drv-sisusb-0.9.6-2.el6.x86_64
grubby-7.0.15-3.el6.x86_64
attr-2.4.44-7.el6.x86_64
neon-0.29.3-2.el6.x86_64
thai-scalable-fonts-common-0.4.12-2.1.el6.noarch
xorg-x11-drv-penmount-1.5.0-4.el6.x86_64
libcroco-0.6.2-5.el6.x86_64
........................(省略)

查询以cront开头的RPM软件包是否已经安装



[root@rhel ~]# rpm -qa|grep cront
crontabs-1.10-33.el6.noarch
//结合管道方式查询

查询crontabs软件包的描述信息

[root@rhel ~]# rpm -qi crontabs
Name       :crontabs                  Relocations:(not relocatable)
Version    :1.10                          Vendor:Red Hat,Inc.
Release    :33.el6                 Build Date:2011年06月03日星期五22时39分44秒
Install Date:2013年08月18日星期日21时36分08秒     Build Host:s390-001.build.bos.redhat.com
Group      :System Environment/Base      Source RPM:crontabs-1.10-33.el6.src.rpm
Size       :2495             License:Public Domain and GPLv2
Signature   :RSA/8,2011年06月13日星期一19时34分40秒,Key ID 199e2f91fd431d51
Packager   :Red Hat,Inc.<http://bugzilla.redhat.com/bugzilla>
Summary    :Root crontab files used to schedule the execution of programs
Description :
The crontabs package contains root crontab files and directories.
You will need to install cron daemon to run the jobs from the crontabs.
The cron daemon such as cronie or fcron checks the crontab files to
see when particular commands are scheduled to be executed. If commands
are scheduled, it executes them.
Crontabs handles a basic system function, so it should be installed on your system.

查询crontabs软件包所包含的文件列表

[root@rhel ~]# rpm -ql crontabs
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
/etc/crontab
/usr/bin/run-parts
/usr/share/man/man4/crontabs.4.gz

查看crontabs软件包的修改记录

[root@rhel ~]# rpm -q --changelog crontabs
* 五 6月 032011 Marcela Mašláňová <mmaslano@redhat.com> 1.10-33
- add into example in crontab user-name
- change name of crontab to crontab1 to be able add patch into cvs
- Resolves: rhbz#609544
* 一 11月 302009 Dennis Gregorovic <dgregor@redhat.com> -1.10-32.1
- Rebuilt for RHEL 6
* 一 10月 122009 Marcela Mašláňová <mmaslano@redhat.com> 1.10-32
- rebuilt for review
* 五 7月 242009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> -1.10-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* 四 6月 182009 Marcela Mašláňová <mmaslano@redhat.com> 1.10-30
-491793 thanks Andrew Hecox for patch which allows set allow/deny jobs
- comment change ''empty crontab''
........................(省略)
//可以发现crontabs软件包经过了很多次的修改

查询crontabs软件包的依赖关系

[root@rhel ~]# rpm -qR crontabs
/bin/bash
/etc/cron.d
config(crontabs) = 1.10-33.el6
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

查询/etc/crontab文件属于哪个软件包

[root@rhel ~]# rpm -qf /etc/crontab
crontabs-1.10-33.el6.noarch
//当指定文件时,必须指定文件的完整路径(如/etc/crontab)

查询crontabs软件包的配置文件

[root@rhel ~]# rpm -qc crontabs
/etc/crontab

查询crontabs软件包的文档文件

[root@rhel ~]# rpm -qd crontabs
/usr/share/man/man4/crontabs.4.gz

列出crontabs软件包显性提供的内容



[root@rhel ~]# rpm -q --provides crontabs
config(crontabs) = 1.10-33.el6
crontabs = 1.10-33.el6

查询httpd软件包RPM脚本

[root@rhel ~]# rpm -q --scripts httpd
preinstall scriptlet (using /bin/sh):
# Add the ''apache'' user
getent group apache >/dev/null || groupadd -g 48-r apache
getent passwd apache >/dev/null || \
  useradd -r -u 48-g apache -s /sbin/nologin \
    -d /var/www -c ''Apache'' apache
exit 0
postinstall scriptlet (using /bin/sh):
# Register the httpd service
/sbin/chkconfig --add httpd
/sbin/chkconfig --add htcacheclean
preuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ]; then
      /sbin/service httpd stop > /dev/null 2>&1
      /sbin/chkconfig --del httpd
/sbin/service htcacheclean stop > /dev/null 2>&1
      /sbin/chkconfig --del htcacheclean
fi
posttrans scriptlet (using /bin/sh):
test -f /etc/sysconfig/httpd-disable-posttrans || \
 /sbin/service httpd condrestart >/dev/null 2>&1 || :

根据时间戳列出以cron开头的所有软件包

[root@rhel ~]# rpm -qa --last cron*
cronie-1.4.4-7.el6.x86_64                        2013年08月18日星期日21时36分09秒
crontabs-1.10-33.el6.noarch                       2013年08月18日星期日21时36分08秒
cronie-anacron-1.4.4-7.el6.x86_64                  2013年08月18日星期日21时36分08秒
例17.28:验证pam软件包。

[root@rhel ~]# rpm -V pam
....L.... c/etc/pam.d/fingerprint-auth
....L.... c/etc/pam.d/password-auth
....L.... c/etc/pam.d/smartcard-auth
....L.... c/etc/pam.d/system-auth

RPM检验标记如表所示。

RPM检验标记

导入RPM软件包公钥

[root@rhel ~]# cd /media/RHEL_6.4\ x86_64\ Disc\ 1/Packages
//进入Linux系统安装光盘软件包目录
[root@rhel ~]# rpm --import /media/RHEL_6.4\ x86_64\ Disc\ 1/RPM-GPG-KEY-redhat-release

检验bind-9.8.2-0.17.rc1.el6.x86_64.rpm软件包的签名

[root@rhel Packages]# rpm -K bind-9.8.2-0.17.rc1.el6.x86_64.rpm
bind-9.8.2-0.17.rc1.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
//软件包签名检验成功
赞(3)
未经允许不得转载:极客笔记 » Linux rpm命令

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
Linux系统管理命令
Linux 一次性计划任务atLinux 周期性计划任务crontabLinux 为脚本加锁flockLinux 发送信号命令killLinux 查找文件内容grepLinux 查找符合条件的文件find
Linux登录退出关机重启命令
login命令 用户登录系统logout命令 退出登录Shellnologin命令 限制用户登录exit命令 退出shellsulogin命令 单用户登录rlogin命令 远程登录poweroff命令 关闭系统ctrlaltdel命令 设置按Ctrl+Alt+Del组合键功能shutdown命令 关闭或重启Linux系统halt命令 关闭系统reboot命令 重启Linux系统init命令 切换系统运行级别runlevel命令 输出以前和当前运行级别telinit命令 更改系统运行级别
Linux获取帮助命令
help命令 查看内部Shell命令帮助信息man命令 显示在线手册页manpath命令 查看和设置man手册页的查询路径Linux info命令Linux pinfo命令
Linux文本编辑器命令
Linux vi命令Linux nano命令Linux view命令Linux ex命令Linux ed命令Linux red命令Linux emacs命令
Linux目录和文件操作命令
Linux pwd命令Linux cd命令Linux ls命令Linux dir命令Linux dirs命令Linux touch命令Linux mkdir命令Linux rmdir命令Linux cp命令Linux mv命令Linux rm命令Linux install命令Linux tmpwatch命令Linux file命令Linux du命令Linux wc命令Linux tree命令Linux cksum命令Linux md5sum命令Linux sum命令Linux dirname命令Linux mkfifo命令Linux mktemp命令Linux ln命令Linux sln命令Linux lndir命令Linux link命令Linux unlink命令Linux basename命令Linux pathchk命令Linux symlinks命令Linux stat命令Linux rcp命令Linux fsview命令Linux mc命令
Linux显示文本文件内容命令
Linux cat命令Linux more命令Linux less命令Linux head命令Linux tail命令Linux nl命令Linux tac命令Linux rev命令Linux fold命令Linux fmt命令Linux expand命令Linux pr命令
Linux文件处理命令
Linux sort命令Linux uniq命令Linux cut命令Linux comm命令Linux diff命令Linux join命令Linux diff3命令Linux cmp命令Linux colrm命令Linux paste命令Linux tr命令Linux split命令Linux csplit命令Linux tee命令Linux unexpand命令Linux patch命令Linux awk命令Linux sed命令Linux od命令
Linux字符串、文件和命令查找命令
Linux grep命令Linux egrep命令Linux fgrep命令Linux find命令Linux updatedb命令Linux locate命令Linux whereis命令Linux whatis命令Linux apropos命令Linux which命令Linux look命令
Linux日期和时间命令
Linux cal命令Linux date命令Linux hwclock命令Linux clock命令Linux clockdiff命令Linux zdump命令Linux rdate命令Linux sleep命令
Linux数字计算命令
Linux bc命令Linux dc命令Linux expr命令
Linux Shell相关命令
Linux command命令Linux exec命令Linux bash命令Linux builtin命令Linux enable命令Linux source命令Linux mksh命令Linux suspend命令Linux sushell命令Linux shopt命令Linux rsh命令Linux ulimit命令Linux history命令Linux alias命令Linux unalias命令Linux eval命令Linux fc命令Linux declare命令Linux export命令Linux set命令Linux unset命令Linux env命令Linux read命令Linux readonly命令Linux test命令Linux false命令
Linux 程序编译相关命令
Linux gcc命令Linux gdbserver命令Linux cmake命令Linux indent命令Linux protoize命令Linux unprotoize命令Linux gcov命令Linux find2perl命令Linux as命令Linux php命令Linux perl命令Linux gdb命令Linux autoupdate命令Linux autoheader命令Linux autoreconf命令Linux autoscan命令Linux autoconf命令
Linux用户管理命令
Linux useradd命令Linux adduser命令Linux lnewusers命令Linux usermod命令Linux userdel命令Linux groupadd命令Linux groupmod命令Linux groupdel命令Linux passwd命令Linux gpasswd命令Linux chfn命令Linux chsh命令Linux pwck命令Linux newgrp命令Linux finger命令Linux groups命令Linux id命令Linux grpck命令Linux grpconv命令Linux grpunconv命令Linux groupmems命令Linux userinfo命令Linux userpasswd命令Linux vigr命令Linux vipw命令Linux newusers命令Linux chpasswd命令Linux pwconv命令Linux pwunconv命令Linux chage命令Linux su命令Linux visudo命令Linux sudo命令Linux sudoedit命令Linux sudoreplay命令Linux w命令Linux who命令Linux whoami命令Linux logname命令Linux users命令Linux last命令Linux lastb命令Linux lastlog命令Linux rwho命令
Linux文件、目录权限和属性命令
Linux chmod命令Linux chown命令Linux chgrp命令Linux umask命令Linux getfacl命令Linux setfacl命令Linux chacl命令Linux lsattr命令Linux chattr命令
Linux归档与压缩命令
Linux tar命令Linux gzip命令Linux gunzip命令Linux zcmp命令Linux zdiff命令Linux zforce命令Linux zip命令Linux unzip命令Linux zcat命令Linux zgrep命令Linux zipgrep命令Linux zipinfo命令Linux zipsplit命令Linux zless命令Linux zmore命令Linux bzip2命令Linux bunzip2命令Linux bzcat命令Linux bzcmp命令Linux bzdiff命令Linux bzgrep命令Linux bzip2recover命令Linux bzless命令Linux bzmore命令Linux compress命令Linux uncompres命令Linux znew命令Linux xz命令Linux xzcat命令Linux xzcmp命令Linux xzdiff命令Linux xzdec命令Linux xzgrep命令Linux xzless命令Linux xzmore命令Linux tgz命令Linux gzexe命令
Linux 软件包管理相关命令
Linux rpm命令Linux rpmargs命令Linux rpmbuild命令Linux rpmdiff命令Linux rpmelfsym命令Linux rpmfile命令Linux rpmlint命令Linux rpm2cpio命令Linux yum命令Linux yum-builddep命令Linux yum-complete-transaction命令Linux yumdb命令Linux yum-debug-dump命令Linux yum-debug-restore命令Linux yumdownloader命令Linux yum-groups-manager命令Linux yum-config-manager命令
Linux 磁盘分区相关命令
Linux fdisk命令Linux parted命令Linux cfdisk命令Linux partx命令Linux sfdisk命令Linux delpart命令Linux partprobe命令
Linux 文件系统管理相关命令
Linux mkfs命令Linux mke2fs命令Linux mkfs.ext4命令Linux mkfs.ext3命令Linux mkfs.ext2命令Linux mkdosfs命令Linux mkfs.vfat命令Linux mkfs.msdos命令Linux fdformat命令Linux mount命令Linux umount命令Linux df命令Linux mountpoint命令Linux e2label命令Linux dumpe2fs命令Linux tune2fs命令Linux findfs命令Linux blkid命令Linux e2image命令Linux fsck命令Linux e2fsck命令Linux fsadm命令Linux mkswap命令Linux swapon命令Linux swapoff命令Linux volname命令Linux quotacheck命令Linux edquota命令Linux quotaon命令Linux quota命令Linux repquota命令Linux quotastats命令Linux setquota命令Linux quotaoff命令Linux warnquota命令Linux convertquota命令
Linux LVM和RAID管理命令
Linux pvcreate命令Linux pvscan命令Linux pvdisplay命令Linux vgcreate命令Linux vgscan命令Linux vgdisplay命令Linux vgreduce命令Linux vgextend命令Linux lvscan命令Linux lvdisplay命令Linux lvextend命令Linux resize2fs命令Linux lvremove命令Linux vgchange命令Linux vgremove命令Linux pvremove命令Linux pvchange命令Linux pvck命令Linux pvresize命令Linux pvmove命令Linux pvs命令Linux vgcfgbackup命令Linux vgcfgrestore命令Linux vgchange命令Linux vgconvert命令Linux vgexport命令Linux vgimport命令Linux vgimportclone命令Linux vgmerge命令Linux vgmknodes命令Linux vgrename命令Linux vgs命令Linux vgsplit命令Linux lvchange命令Linux lvmconf命令Linux lvmdiskscan命令Linux lvmdump命令Linux lvmetad命令Linux lvreduce命令Linux lvrename命令Linux lvresize命令Linux lvs命令Linux mdadm命令Linux grub-md5-crypt命令Linux grub-install命令Linux grub命令Linux grub-crypt命令
Linux 进程和服务管理命令
Linux ps命令Linux top命令Linux pgrep命令Linux pidof命令Linux pstree命令Linux kill命令Linux killall命令Linux pkill命令Linux timeout命令Linux skill命令Linux wait命令Linux fuser命令Linux nice命令Linux renice命令Linux nohup命令Linux pmap命令Linux lsof命令Linux ntsysv命令Linux chkconfig命令Linux service命令Linux bg命令Linux fg命令Linux jobs命令Linux initctl命令
Linux 任务计划相关命令
Linux crontab命令Linux at命令Linux atq命令Linux atrm命令Linux atrun命令Linux batch命令Linux anacron命令Linux watch命令
Linux 备份与还原相关命令
Linux mkisofs命令Linux isosize命令Linux dump命令Linux restore命令Linux cpio命令Linux dd命令Linux wodim命令Linux cdrecord命令Linux dvdrecord命令Linux cdrwtool命令
Linux 模块和内核管理命令
Linux lsmod命令Linux get_module命令Linux modinfo命令Linux insmod命令Linux modprobe命令Linux rmmod命令Linux depmod命令Linux sysctl命令Linux kexec命令Linux slabtop命令Linux dmesg命令Linux make命令
Linux 日志模块命令
Linux logwatch命令Linux logger命令Linux logsave命令Linux logresolve命令
Linux 硬件管理相关命令
Linux lscpu命令Linux nproc命令Linux chcpu命令Linux cpuspeed命令Linux free命令Linux lspci命令Linux setpci命令Linux lsscsi命令Linux hdparm命令Linux eject命令Linux lsusb命令Linux usb-devices命令Linux lspcmcia命令Linux pccardctl命令Linux setserial命令Linux lssubsys命令Linux lpinfo命令Linux losetup命令Linux blockdev命令Linux dmidecode命令Linux systool命令Linux mev命令Linux loadkeys命令Linux dumpkeys命令Linux minicom命令Linux arch命令Linux sync命令
Linux SELinux管理相关命令
Linux sestatus命令Linux getenforce命令Linux setenforce命令Linux getfattr命令Linux chcon命令Linux matchpathcon命令Linux fixfiles命令Linux restorecon命令Linux seinfo命令Linux sesearch命令Linux getsebool命令Linux setsebool命令Linux semodule命令
Linux 审计系统相关命令
Linux auditctl命令Linux aureport命令Linux ausearch命令Linux autrace命令Linux audit-viewer命令
Linux 设备管理相关命令
Linux udevadm info命令Linux mknod命令Linux MAKEDEV命令Linux lsblk命令
Linux 性能监控命令
Linux sar命令Linux iostat命令Linux iotop命令Linux mpstat命令Linux vmstat命令Linux tload命令Linux time命令Linux uptime命令Linux ipcs命令Linux ipcrm命令Linux lslk命令
Linux X Window命令
Linux xhost命令Linux xinit命令Linux xlsclients命令Linux xlsfonts命令Linux resize命令Linux startx命令Linux screen命令Linux xset命令Linux xauth命令
Linux 打印和传真命令
Linux lpr命令Linux lpq命令Linux lprm命令Linux lpstat命令Linux cupsaccept命令Linux cupsreject命令Linux cupsenable命令Linux cupsdisable命令Linux cancel命令Linux lp命令Linux lpadmin命令Linux efax命令
Linux 终端命令
Linux tty命令Linux consoletype命令Linux fgconsole命令Linux mingetty命令Linux vlock命令Linux stty命令Linux tset命令Linux open命令Linux reset命令Linux securetty命令Linux tput命令
Linux 密码和证书管理命令
Linux pwdhash命令Linux mkpasswd命令Linux keytool命令Linux certutil命令Linux vncpasswd命令Linux ssh-keygen命令Linux htpasswd命令Linux htdigest命令Linux ntp-keygen命令Linux slappasswd命令Linux rndc-confgen命令Linux openssl:OpenSSL命令
Linux 系统故障排错命令
Linux mkbootdisk命令Linux chroot命令Linux badblocks命令Linux mkinitrd命令Linux switch_root命令Linux mkdumprd命令
Linux 网络命令
Linux traceroute命令Linux mii-tool命令Linux ifconfig命令