7.1 安装软件包的三种方法


安装软件包的三种方法:

·rpm工具

·yum工具

·源码包

难度:源码包 > rpm工具 > yum工具




7.2 rpm包介绍


·rpm工具使用

设置光驱并挂载

2018-1-8 5周1次课 rpm、yum_源码包_02

在虚拟机光盘位置,设置光盘连接后,进入系统中挂载光驱


[root@localhost ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  1.2G   17G    7% /
devtmpfs        479M     0  479M    0% /dev
tmpfs           489M     0  489M    0% /dev/shm
tmpfs           489M  6.7M  482M    2% /run
tmpfs           489M     0  489M    0% /sys/fs/cgroup
/dev/sdb         10G   33M   10G    1% /mnt
/dev/sda1       197M   97M  100M   50% /boot
tmpfs            98M     0   98M    0% /run/user/0   ##mnt目录并未挂载,可以将光盘挂载于此
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls                            ##Packages中存有许多rpm包
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL
[root@localhost mnt]# ls Packages/
文件过多,例举部分
tdb-tools-1.3.12-2.el7.x86_64.rpm


·rpm包格式:包名、版本号、发布版本号、平台

tdb-tools-1.3.12-2.el7.x86_64.rpm

包名:tdb-tools

版本号:1.3.12

发布版本号:2.el7 ##7是CentOS7,如果是6就是CentOS6

平台:x86_64 ##CentOS7之后只有64位



7.3 rpm工具用法


·安装rpm包:rpm -ivh rpm包文件    (i安装,v可视化,h人性化)

例如安装zsh-5.0.2-28.el7.x86_64.rpm

[root@localhost mnt]# cd Packages/                   ##cd到Packages下更方便
[root@localhost 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包文件     (U升级,v可视化,h人性化)

[root@localhost Packages]# rpm -Uvh zsh-5.0.2-28.el7.x86_64.rpm


·卸载包:rpm -e 包名

[root@localhost Packages]# rpm -e zsh

2018-1-8 5周1次课 rpm、yum_rpm_03

(卸载包,可能会出现各种依赖关系,要依次卸载)


·查询安装的包:rpm -qa

[root@localhost Packages]# rpm -qa
open-vm-tools-10.1.5-3.el7.x86_64
grub2-common-2.02-0.64.el7.centos.noarch
文件过多,不详细列出


·查询指定包是否安装:rpm -q 包名

[root@localhost Packages]# rpm -q zsh
未安装软件包 zsh
[root@localhost Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm
准备中...                          ################################# [100%]
正在升级/安装...
1:zsh-5.0.2-28.el7                 ################################# [100%]
[root@localhost Packages]# rpm -q zsh
zsh-5.0.2-28.el7.x86_64


·查询指定包信息:rpm -qi      (i信息info)

[root@localhost Packages]# rpm -qi vim-enhanced
Name        : vim-enhanced
Epoch       : 2
Version     : 7.4.160
Release     : 2.el7
Architecture: x86_64
Install Date: 2017年12月31日 星期日 20时43分20秒
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/
Summary     : A version of the VIM editor which includes recent enhancements
Description :
VIM (VIsual editor iMproved) is an updated and improved version of the
vi editor.  Vi was the first real screen-based editor for UNIX, and is
still very popular.  VIM improves on vi by adding new features:
multiple windows, multi-level undo, block highlighting and more.  The
vim-enhanced package contains a version of VIM with extra, recently
introduced features like Python and Perl interpreters.
Install the vim-enhanced package if you'd like to use a version of the
VIM editor which includes recently added enhancements like
interpreters for the Python and Perl scripting languages.  You'll also
need to install the vim-common package.


·列出包安装文件:rpm -ql

[root@localhost Packages]# 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 文件绝对路径      (q询问query,f文件file)

[root@localhost Packages]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-2.el7.x86_64
[root@localhost Packages]# rpm -qf `which cd`    ##如果不知道命令的绝对路径,那么可以利用which命令和反引号 `
bash-4.2.46-28.el7.x86_64





7.4 yum工具用法


安装rpm包时,很可能需要解决依赖关系,不是很方便,那么使用yum安装就很方便了

[root@localhost Packages]# 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可以自动解决依赖关系,可以帮助自动安装好

[root@localhost Packages]# yum install texlive

2018-1-8 5周1次课 rpm、yum_yum_04

·列出可用的rpm包:yum list

[root@localhost Packages]# yum list


·yum配置文件:/etc/yum.repos.d/

[root@localhost Packages]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo


·搜索相关包:yum search 关键字

[root@localhost Packages]# yum search vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile 
* base: mirrors.aliyun.com 
* extras: mirrors.aliyun.com 
* updates: mirrors.163.com
================================================================== N/S 
matched: vim 
===================================================================
protobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers descriptions
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System
vim-common.x86_64 : The common files needed by any version of the VIM editor
vim-enhanced.x86_64 : A version of the VIM editor which includes recent enhancements
vim-filesystem.x86_64 : VIM filesystem layout
vim-minimal.x86_64 : A minimal version of the VIM editor
名称和简介匹配 only,使用“search all”试试。


·精准搜索包:yum list |grep '关键字'

[root@localhost Packages]# yum list |grep 'vim'
vim-common.x86_64                           2:7.4.160-2.el7             @base    
vim-enhanced.x86_64                         2:7.4.160-2.el7             @base    
vim-filesystem.x86_64                         2:7.4.160-2.el7             @base    
vim-minimal.x86_64                            2:7.4.160-2.el7             @anaconda
protobuf-vim.x86_64                                 2.5.0-8.el7              base     
vim-X11.x86_64                                  2:7.4.160-2.el7              base


·自动安装:yum install [-y]


[root@localhost Packages]# yum install vim
[root@localhost Packages]# yum install vim -y


·查看可用的组:yum grouplist

[root@localhost Packages]# yum grouplist
已加载插件:fastestmirror
没有安装组信息文件
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.163.com
可用的环境分组:   
    最小安装   
    基础设施服务器   
    计算节点   
    文件及打印服务器   
    基本网页服务器   
    虚拟化主机   
    带 GUI 的服务器   
    GNOME 桌面   
    KDE Plasma Workspaces   
    开发及生成工作站
可用组:   
    传统 UNIX 兼容性   
    兼容性程序库   
    图形管理工具   
    安全性工具   
    开发工具   
    控制台互联网工具   
    智能卡支持   
    科学记数法支持   
    系统管理   
    系统管理工具完成

(安装系统时,我们选择的时最小安装)


·安装组:yum groupinstall 组名

[root@localhost ~]#LANG=en              ##系统语言为中文,安装时改成英文,中文为 zh_CN.UTF-8
[root@localhost ~]# 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.163.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
[root@localhost ~]# yum groupinstall 'Virtualization Host'     ##如果安装的组名称不是一个单词,要加上引号

2018-1-8 5周1次课 rpm、yum_rpm_05

可以看出,有65包需要安装,还有184个被依赖的,6个要升级的


·卸载包:yum remove [ -y ]

[root@localhost ~]# yum remove ppp

2018-1-8 5周1次课 rpm、yum_源码包_06

yum remove可以同时列出依赖的包,并同时卸载


·升级包:yum update [ -y ] 包名       ##如果不加包名,会把系统所有rpm包升级,甚至是系统、内核

2018-1-8 5周1次课 rpm、yum_rpm_07


·搜索一个命令用哪一个包:yum provides “/*/命令"    ##命令没有安装的话,可以用




7.5 yum搭建本地仓库


如果不能联网,搭建本地yum仓库将非常方便

2018-1-8 5周1次课 rpm、yum_yum_09


·挂载镜像到 /mnt 目录

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


·制作本地仓库:

[root@localhost ~]# cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak    ##备份yum仓库
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@localhost yum.repos.d]# rm -rf *.repo            ##删除所有yum源(之前已做备份)
[root@localhost yum.repos.d]# ls
[root@localhost yum.repos.d]# vim dvd.repo##编辑新的yum源
[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpgcheck=0


完成后保存退出


[root@localhost yum.repos.d]# yum clean all          ##清除缓存
已加载插件:fastestmirror
File contains no section headers.
file: file:///etc/yum.repos.d/dvd.repo, line: 1
'me=install dvd\n'


[root@localhost yum.repos.d]# yum list |less               ##查看可以安装的包

2018-1-8 5周1次课 rpm、yum_源码包_11

[root@localhost yum.repos.d]# yum install GConf2      ##任选其中一个进行安装,现在的源是dvd

2018-1-8 5周1次课 rpm、yum_源码包_13