【学神-RHEL7】1-8-RHEL7软件包管理

本节所讲内容:

      rpm软件包管理   

      yum安装软件包

      源码编译安装软件包

      安装srpm软件包

 

软件管理:

rpm软件包管理:

Redhat   package  manager

 

#rpm

作用:管理rpm包

语法:rpm  【选项】  包名

 

挂载光盘:

[root@localhost ~]#umount /dev/sr0

[root@localhost ~]#mount /dev/sr0 /mnt/

 

查看包个数:

[root@localhost ~]# cd/mnt/Packages/

[root@localhostPackages]# ls | wc -l

4372

 

zsh-5.0.2-7.el7.x86_64.rpm

 

zsh    -5         .0                     .2      -7                                           x86          64

软件名 主版本号 此版本号 修订号  release(第几次发布版本)  CPU架构系统平台  支持的系统位数

 

el7   :Enterprise  Linux 7  :RHEL7 或 CentOS7

el6  :RHEL6  或 CentOS6

el5   :RHEL5 或CentOS5

 

安装rpm软件

 

[root@localhost ~]# rpm-ivh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

[root@localhost ~]# rpm--help

-i, --install                    install package(s)

-v, --verbose 详细             provide more detailed output

-h, --hash                     print hash marks as packageinstalls (good with -v) #安装时打印散列标记#号

 

安装时,解决依赖关系:

 

[root@localhost ~]# rpm-ivh /mnt/Packages/mariadb-server-5.5.41-2.el7_0.x86_64.rpm  --nodeps          #强制安装

 

方法一:直接找以perl-DBD-MySQL开头的包

[root@localhost Packages]#rpm -ivh perl-DBD-MySQL

 

方法二:找关键字

[root@localhostPackages]# ls *perl-DBD-MySQL*

perl-DBD-MySQL-4.023-5.el7.x86_64.rpm

 

方法三:上rpm包相关的网站上找

http://rpmfind.net/

http://rpm.pbone.net/

http://www.rpmseek.com/index.html

 

 

Zsh的安装

[root@localhost ~]# rpm-ivh /mnt/Packages/zsh-5.0.2-7.el7.x86_64.rpm

warning:/mnt/Packages/zsh-5.0.2-7.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, keyID fd431d51: NOKEY

Preparing...                          #################################[100%]

Updating /installing...

   1:zsh-5.0.2-7.el7                 ################################# [100%]

[root@localhost ~]# cat/etc/shells   #多了一个zsh

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/csh

/bin/zsh

 

RHEL
redhat enterprise linux

 

rpm查询功能:

[root@localhost ~]# rpm-q zsh                     (查询zsh软件是否安装)

zsh-5.0.2-7.el7.x86_64

[root@localhost ~]# rpm-qa                   (查询系统所有安装过的rpm软件)

[root@localhost ~]# rpm-qa | grep zsh

zsh-5.0.2-7.el7.x86_64

 

[root@localhost ~]# rpm-ql zsh | more

(查询zsh这个软件安装后,产生了那些文件和目录)

zsh这个文件是那个软件安装的

 

[root@localhost ~]# rpm-qf  `which zsh` 

zsh-5.0.2-7.el7.x86_64

 

在软件没有安装之前进行查看

[root@localhost ~]# rpm-qpl /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

warning:/mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature,key ID fd431d51: NOKEY

/usr/bin/rb

/usr/bin/rx

/usr/bin/rz

/usr/bin/sb

/usr/bin/sx

/usr/bin/sz

/usr/share/locale/de/LC_MESSAGES/lrzsz.mo

/usr/share/man/man1/rz.1.gz

/usr/share/man/man1/sz.1.gz

 

升级:

[root@localhost ~]# rpm-Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

 

卸载:

[root@localhost ~]# rpm-e zsh                      只写软件包的名字,不用写版本号

 

强制卸载

[root@localhost~]# yum -y install httpd

[root@localhost ~]# rpm-e mailcap  --nodeps

 

导入RPM-GPG-KEY安装rpm包时,对rpm的签名进行验证。

[root@localhost ~]# rpm--import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[root@localhost ~]# rpm-ivh /mnt/Packages/zsh-5.0.2-7.el7.x86_64.rpm

Preparing...                         ################################# [100%]

       package zsh-5.0.2-7.el7.x86_64 is already installed

 

验证的原理是:非对称加密。 导入公钥。验证rpm中的签名是否是对的。

 

 

使用yum安装软件:

自动装软件包(软件包管理):

YUM

解决依赖关系问题、自动下载软件包。基于C/S架构。

 

S:

直接使用光盘的根所在的目录(/media/xxx/或 /mnt )

ftp    http   file(本地yum源)

 

 

C:  配置yum源配置文件

[root@localhost ~]# vim/etc/yum.repos.d/rhel7.repo

[rhel7-yum]                               #yum源名称,唯一的,用来区分不同的yum源

name=rhel7-source                   #对yum源描述信息

baseurl=file:///mnt                   #yum源的路径(repodata目录所在的目录)

enabled=1                                 #为1,表示启用yum源

gpgcheck=0                               #为1,使用公钥检验rpm的正确性

 

YUM使用:

[root@localhost ~]# yumclean all          #清空yum缓存

[root@localhost ~]# yumlist                  #生成列表

[root@localhost ~]# yuminstall zsh        #安装软件包

 

安装一组软件包:

[root@localhost ~]# yumgrouplist

[root@localhost ~]# yumgroupinstall "Security Tools"

 

yum查询:

[root@localhost ~]# yumlist z*

[root@localhost ~]# yumsearch zsh

[root@localhost ~]# rpm-qpi /mnt/Packages/zsh-5.0.2-7.el7.x86_64.rpm

查看一个包的作用

凡是加上p则表示查询的包未安装。若查询已安装的包则去掉p

 

删除:

[root@localhost ~]# yumremove  zsh

 

选项 :-y  #回答yes  取消交互

[root@localhost ~]# yum-y install mariadb-server

http://mirrors.sohu.com/                #系统镜像站

 

源码编译安装软件包:

前提:系统必须安装:开发工具、开发库

步骤:

1. 获得源码包

2. 解压

   tar

3. 配置,检测安装环境

#./configure   #检查安装环境是否符合需求,如果没有问题,生成:Makefile文件

4. 编译

#make  (编译时会读取Makefile文件)

5. 安装

#make install

例:安装软件包extundelete-0.2.4.tar.bz2

[root@localhost ~]# tarjxvf extundelete-0.2.4.tar.bz2

[root@localhost ~]# cdextundelete-0.2.4/

[[email protected]]# ./configure

Configuring extundelete0.2.4

configure: error: Can'tfind ext2fs library

 

[[email protected]]# yum -y install e2fsprogs-devel

 

[[email protected]]# ./configure

[[email protected]]# make

[[email protected]]# make install

 

删除:

[[email protected]]# make uninstall

Making uninstall in src

 ( cd '/usr/local/bin' && rm -fextundelete )

 

不过多有时删除不干净,所以建议大家安装时,在configure步骤添加一个: --prefix  参数。这样删

除或备份时,直接对删除这个目录操作就可以了。

 

再次编译时

[[email protected]]# make clean

Making clean in src

Making clean in .

 

指定安装路径

[[email protected]]# ./configure --prefix=/usr/local/extundelet-rm

Configuring extundelete0.2.4

Writing generated filesto disk

编译安装

[[email protected]]# make && make install

 

删除时只需删除路径即可:

[root@localhost local]#rm -rf extundelet-rm/

 

软件安装方法特点:

rpm+yum:方便,软件版本低。稳定性好、管理方便。性能稍差。

源码手动:麻烦,软件版本新。稳定性稍差、管理稍差。性能好。  LAMP,LNMP

 

安装.src.rpm源码包的方法

[root@localhost ~]#uname -r

3.10.0-229.el7.x86_64

 

[root@localhost ~]# cat/etc/redhat-release

Red Hat EnterpriseLinux Server release 7.1 (Maipo)

 

rpmbuild --rebuild  lrzsz-0.12.20-27.1.el6.src.rpm     #将src.rpm中源码文件编译成可执行

的二进制文件。

 

若顺利执行成功则会在root用户家目录下生成一个: rpmbuild目录。

在/root/rpmbuild/RPMS/x86_64/目录下生成lrzsz-0.12.20-27.1.el6.x86_64.rpm这个rpm文件。

 

安装

接下来就是rpm的安装过程。

[root@localhostx86_64]# rpm  -e lrzsz

[root@localhostx86_64]# rpm -vih lrzsz-0.12.20-27.1.el7.x86_64.rpm

 

 

学习过程中如果问题,请留言。更多内容请加:
学神IT-linux讲师-RM老师QQ:2805537762 
学神IT-戚老师QQ:3341251313 
学神IT-旭斌QQ:372469347
学神IT教育RHEL7交流群:468845589

你可能感兴趣的:(软件包,rhel7)