7.1 安装软件包的三种方法

7.2 rpm包介绍

7.3 rpm工具用法

7.4 yum工具用法

7.5 yum搭建本地仓库



7.1 安装软件包的三种方法

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


三种方法:

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_笔记


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

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

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



7.2 rpm包介绍

介绍

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_学习_02


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

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_笔记_03

#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工具用法

介绍

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_linux_04

依赖安装示范

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_linux_05找到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

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_学习_06

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


#yum list    列出可用rpm包

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_学习_07

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


查看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


7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_笔记_08

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


精准搜索

#yum list |grep 'vim'

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

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_linux_09

安装一个包的命令

#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'

(如果是一个单词无需加''如果是两个单词,需要加'')

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_linux_10

依赖删除

#yum remove [-y]

慎用


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

#yum update [-y]


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

#yum provides "/*/vim"




7.5 yum搭建本地仓库

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


准备工作

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_学习_11

# 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的仓库。

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

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_笔记_12

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_linux_13

7.1-7.5 安装软件包的三种方法,rpm,yum,搭建yum本地仓库_linux_14

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仓库的作用,可以解决很多依赖包安装。