7.1 安装软件包的三种方法

7.2 rpm包介绍

7.3 rpm工具用法

7.4 yum工具用法

7.5 yum搭建本地仓库



7.1 安装软件包的三种方法


安装文件是二进制文件,不能通过cat去查看文件内容。


三种方法:

blob.png


rpm工具 rpm包相当于windows .exe的文件 rpm包用rpm工具直接安装上即可。大多数rpm包的安装路径和文件名被设定好


yum工具(最简单)另外一种安装rpm包的工具。在linux下,安装包都被称为rpm包。yum支持自动安装相互依赖的包。


*源码包(最难)         源代码。需要通过编译器把源码包编译成可执行文件。



7.2 rpm包介绍


介绍

blob.png


设置虚拟机光驱连接,进行挂载

blob.png

#df -h 



#ls /mnt/

#mount /dev/cdrom /mnt把光驱挂载到/mnt上

复制光盘只读,不能写东西进去。


#cd /mnt

#ls

CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7

EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL



#cd packages

#ls                     大量rpm包

.

.

.

.

.

.

.

yum-plugin-fastestmirror-1.1.31-42.el7.noarch.rpm

yum-plugin-tmprepo-1.1.31-42.el7.noarch.rpm

yum-plugin-verify-1.1.31-42.el7.noarch.rpm

yum-plugin-versionlock-1.1.31-42.el7.noarch.rpm

yum-utils-1.1.31-42.el7.noarch.rpm

zenity-3.22.0-1.el7.x86_64.rpm

zip-3.0-11.el7.x86_64.rpm

zlib-1.2.7-17.el7.x86_64.rpm

zlib-devel-1.2.7-17.el7.x86_64.rpm

zsh-5.0.2-28.el7.x86_64.rpm

zziplib-0.13.62-5.el7.x86_64.rpm



rpm包文件名特点

- 数字 . 

字符串、包名 - 版本号(主版本号.次版本号.小版本号,又叫修正版本号) - 发布版本号(el7=centos7,) - 平台位置(x86,x64。centos7不再区分x86与x64,默认64) -  (后缀名)




7.3 rpm工具用法


安装rpm

#rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm     i=install v=view h= 进度 大致意思就是更人性化显示安装

[root@centos7 Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm

准备中...                          ################################# [100%]

正在升级/安装...

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


升级rpm包

#rpm -Uvh 


卸载rpm包 直接加包名,无需带详细信息。正常是不显示任何进度。

#rpm -e 包名

#rpm -e zsh


查看已安装的rpm包,查询后的包可以卸载,不过rpm不支持依赖卸载。

#rpm -qa 包名


查看某个包是否被安装

#rpm -q  包名


查看指定包信息i=information

# rpm -qi vim-enhanced

Name        : vim-enhanced

Epoch       : 2

Version     : 7.4.160

Release     : 2.el7

Architecture: x86_64

Install Date: 2018年02月27日 星期二 11时23分08秒

Group       : Applications/Editors

Size        : 2292098

License     : Vim

Signature   : RSA/SHA256, 2017年08月11日 星期五 04时15分38秒, Key ID 24c6a8a7f4a80eb5

Source RPM  : vim-7.4.160-2.el7.src.rpm

Build Date  : 2017年08月02日 星期三 08时46分12秒

Build Host  : c1bm.rdu2.centos.org

Relocations : (not relocatable)

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

Vendor      : CentOS

URL         : http://www.vim.org/


列出某包名所安装的文件 

#rpm -ql 包名

#rpm -ql vim-enhanced

/etc/profile.d/vim.csh

/etc/profile.d/vim.sh

/usr/bin/rvim

/usr/bin/vim

/usr/bin/vimdiff

/usr/bin/vimtutor


查看一个文件是由哪个包安装

#rpm -qf 绝对路径

#rpm -qf /usr/bin/vim 


整段高亮小技巧 2个`(`是tab上的键)输出的结果可以搭配#rpm -qf 使用,

例如#rpm -qf `which cd` ,该命令是先输出which cd的效果(查看cd的绝对路径), 然后再rpm -qf 处理``输出的结果。整条命令结果就是:#rpm -qf  cd的绝对路径。红色高亮注意:2行以上的输出结果无效。

# rpm -qf `which cd`

bash-4.2.46-28.el7.x86_64



7.4 yum工具用法


介绍

blob.png

依赖安装示范

blob.png找到texlive-2012-38.20130427_r30134.el7.x86_64.rpm这个包,并尝试安装。

# rpm -ivh texlive-2012-38.20130427_r30134.el7.x86_64.rpm

错误:依赖检测失败:

texlive-scheme-basic 被 texlive-2:2012-38.20130427_r30134.el7.x86_64 需要

texlive-collection-latexrecommended 被 texlive-2:2012-38.20130427_r30134.el7.x86_64 需要

tex-kpathsea 被 texlive-2:2012-38.20130427_r30134.el7.x86_64 需要

tex-tetex 被 texlive-2:2012-38.20130427_r30134.el7.x86_64 需要


安装失败,因为没安装被依赖的包。


尝试用yum工具安装

#yum install 包名(无需文件名)

#yum install texlive 

blob.png一共200多个文件包,如果一个一个安装,很浪费时间。所以利用yum 安装能解决依赖包安装问题。


#yum list 列出可用rpm包

blob.png

包名,包的相关信息版本号,平台版本号仓库名 


查看base仓库相关文件

# ls /etc/yum.repos.d/

CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo

CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

# cat /etc/yum.repos.d/CentOS-Base.repo 


搜索相关包

#yum search 包名

#yum search vim


#yum search network

blob.png

此处搜索略模糊,不太精准。其中还有只有network相关的包名,而并不是network的包。


精准搜索

#yum list |grep 'vim' 此处搜索vim的包,而且带有高亮效果,grep是过滤作用。

blob.png

安装一个包的命令

#yum list [-y]y的作用是默认用yes回答安装期间的询问。


#yum group install[-y]用法

# yum grouplist

Failed to set locale, defaulting to C

Loaded plugins: fastestmirror

There is no installed groups file.

Maybe run: yum groups mark convert (see man yum)

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

Available Environment Groups:

   Minimal Install

   Compute Node

   Infrastructure Server

   File and Print Server

   Basic Web Server

   Virtualization Host

   Server with GUI

   GNOME Desktop

   KDE Plasma Workspaces

   Development and Creative Workstation

Available Groups:

   Compatibility Libraries

   Console Internet Tools

   Development Tools

   Graphical Administration Tools

   Legacy UNIX Compatibility

   Scientific Support

   Security Tools

   Smart Card Support

   System Administration Tools

   System Management

Done


假如要安装Virtualization Host,利用命令#yum groupinstall。 

#yum groupinstall 'Virtualization Host'(如果是一个单词无需加''如果是两个单词,需要加'')

blob.png

依赖删除

#yum remove [-y]慎用


依赖升级慎用,如果不加包名,此命令会将系统全部包都升级,包括系统。

#yum update [-y]


搜索vim命令有有哪些包去安装它,支持通配。(前提是vim是不存在的。

#yum provides "/*/vim"



7.5 yum搭建本地仓库


yum安装的rpm包,是通过一个仓库去进行远程连接下载,随后进行安装的。然而,仓库可以搭建成本地仓库。


准备工作

blob.png

# cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak


#rm -f /etc/yum.repos.d/*把/etc/yum.repos.d/里面所有文件删除


#vim /etc/yum.repos.d/dvd.repo vim dvd.repo文件,把下面参数写入。

0代表不,1代表是。

[dvd]

name=install dvd

baseurl=file:///mnt

enable=1

gpgcheck=0



#yum clean all 清理缓存


#yumlist 或者 #yumlist |less 查看

这里可以看到刚刚创建的名为dvd的仓库。

仓库名前缀带@代表已经安装过

blob.png

blob.png

blob.png

Available Packages 表示可安装的包(可以理解为未安装)

# yum  install GConf2.x86_64  

安装过程中,同样也遇到需要安装依赖包。此处y就好。

Dependencies Resolved


=============================================================================================================================

 Package                     Arch                        Version                              Repository                Size

=============================================================================================================================

Installing:

 GConf2                      x86_64                      3.2.6-8.el7                          dvd                      1.0 M

Installing for dependencies:

 psmisc                      x86_64                      22.20-15.el7                         dvd                      141 k


Transaction Summary

=============================================================================================================================

Install  1 Package (+1 Dependent package)


Total download size: 1.1 M

Installed size: 6.8 M

Is this ok [y/d/N]: y

Downloading packages:

-----------------------------------------------------------------------------------------------------------------------------

Total                                                                                         19 MB/s | 1.1 MB  00:00:00     

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : psmisc-22.20-15.el7.x86_64                                                                                1/2 

  Installing : GConf2-3.2.6-8.el7.x86_64                                                                                 2/2 

  Verifying  : psmisc-22.20-15.el7.x86_64                                                                                1/2 

  Verifying  : GConf2-3.2.6-8.el7.x86_64                                                                                 2/2 


Installed:

  GConf2.x86_64 0:3.2.6-8.el7                                                                                                


Dependency Installed:

  psmisc.x86_64 0:22.20-15.el7                                                                                               


Complete!


制作本地DVD仓库的作用,可以解决很多依赖包安装。