RHEL7软件包管理

  1. rpm软件包管理
  2. yum安装软件包
  3. 源码编译安装软件包
  4. 安装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@localhost Packages]# ls | wc -l

4621

 

zsh-5.0.2-14.el7.x86_64.rpm

zsh              -5              .0              .2              -7              x86                     64

软件名       主版本号 次版本号       修订号       RHEL7       CPU架构平台       支持系统位数

 

el7       Enterprise       Linux 7 RHEL7或 CentOS7

el6       

el5

 

安装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 package installs (good with -v) #安装时打印散列标记#号

 

安装时,解决依赖关系:

[root@localhost ~]# rpm -ivh /mnt/Packages/mariadb-server-5.5.44-2.el7.x86_64.rpm --nodeps

 

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

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

 

方法2:到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-14.el7.x86_64.rpm

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

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

Updating / installing...

  1:zsh-5.0.2-14.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

 

rpm查询功能

[root@localhost ~]# rpm -q zsh                            #查询单个zsh包是否安装

zsh-5.0.2-14.el7.x86_64

[root@localhost ~]# rpm -qa | grep httpd              #查询是否安装了httpd相关的软件包

 

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

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

 

zsh 个命令是由哪个软件包安装的?

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

zsh-5.0.2-14.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-14.el7.x86_64.rpm

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

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

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

 

 

使用yum安装软件:

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

YUM

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

 

S:

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

ftp http file(本地yum源)

 

C:配置yum源的配置文件

[root@localhost ~]# rm -rf /etc/yum.repos.d/*

[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 ~]# yum clean all              #清空yum缓存

[root@localhost ~]# yum list                     #生成列表

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

 

安装一组软件包:

[root@localhost ~]# yum grouplist

[root@localhost ~]# yum groupinstall "Security Tools"

 

yum查询

[root@localhost ~]# yum list z*

[root@localhost ~]# yum search zsh

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

查看一个包的作用

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

 

删除

[root@localhost ~]# yum remove 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 ~]# tar jxvf extundelete-0.2.4.tar.bz2

[root@localhost ~]# cd extundelete-0.2.4/

[root@localhost extundelete-0.2.4]# yum -y install e2fsprogs-devel

 

[root@localhost extundelete-0.2.4]# ./configure

Configuring extundelete 0.2.4

Writing generated files to disk

[root@localhost extundelete-0.2.4]# make

[root@localhost extundelete-0.2.4]# make install

 

删除

[root@localhost extundelete-0.2.4]# make uninstall

Making uninstall in src

 ( cd '/usr/local/bin' && rm -f extundelete )

 

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

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

 

再次编译时

[root@localhost extundelete-0.2.4]# make clean

Making clean in src

Making clean in .

 

[root@localhost extundelete-0.2.4]# ./configure --prefix=/usr/local/extundele-rm

[root@localhost extundelete-0.2.4]# make && make install

 

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

[root@localhost ~]# rm -rf /usr/local/extundele-rm/

 

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

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

 

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

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

Red Hat Enterprise Linux Server release 7.2 (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@localhost x86_64]# rpm -e lrzsz

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

你可能感兴趣的:(linux)