一、安装软件包的三种方法
rpm工具:是RPM Package Manager(RPM软件包管理器)的缩写
yum工具:全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装
源码包:程序包的源代码,需要通过编译器编译成可执行的二进制文件
二、RPM包介绍
1. 现在虚拟机里面将光驱设置为连接
2. 挂载光驱,
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
3. 挂载的光驱下有这些文件,其中rpm包就存放在Packages
[root@localhost ~]# ls /mnt
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
4.rpm包的名字是由:包名+版本号+发布版本号+平台 组合而成的
三、rpm工具用法
1.
rpm -ivh 安装rpm软件包,i表示install,v表示可视化,h表示更加人性化
[root@localhost ~]# rpm -ivh /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:zsh-5.0.2-28.el7 ################################# [100%]
2.
rpm -Uvh 升级软件包,发现新版本的时候可以使用
rpm -Uvh /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm
3.
rpm -e 卸载rpm包后面跟包名即可
[root@localhost ~]# rpm -e zsh
4.
rpm -qa 查看系统已经安装的rpm包
5.
rpm -q 后面接包名,查询指定的包是否安装
[root@localhost ~]# rpm -q zsh #查询zsh是否安装
未安装软件包 zsh
[root@localhost ~]# rpm -q kernel #查看kernel是否安装
kernel-3.10.0-693.el7.x86_64
6.
rpm -qi 查询已安装的包的信息
[root@localhost ~]# rpm -qi zsh #查询zsh的信息
Name : zsh
Version : 5.0.2
Release : 28.el7
Architecture: x86_64
Install Date: 2018年01月08日 星期一 07时15分46秒
Group : System Environment/Shells
Size : 5855982
License : MIT
Signature : RSA/SHA256, 2017年08月11日 星期五 04时28分17秒, Key ID 24c6a8a7f4a80eb5
Source RPM : zsh-5.0.2-28.el7.src.rpm
Build Date : 2017年08月02日 星期三 18时52分37秒
Build Host :
c1bm.rdu2.centos.org
Relocations : (not relocatable)
Vendor : CentOS
Summary : Powerful interactive shell
7.
rpm -ql 查询软件包安装了哪些文件
[root@localhost ~]# rpm -ql vim-enhanced #查询vim安装的文件
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor
8.
rpm -qf 查询一个文件是否那个包安装的
1. [root@localhost ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-2.el7.x86_64
2.
[root@localhost ~]# rpm -qf `which cd` #反引号,特殊的用法,which cd的结果传递给rpm -qf
bash-4.2.46-28.el7.x86_64
四、yum工具用法
1.
yum list #列出所有可用的软件包
yum install #安装软件包
yum grouplist #列出所有的软件组
yum groupinstall #安装软件组
yum remove #卸载软件
yum update #升级软件,如果不加包名会将系统所有的软件升级,包括系统
yum provides "/*/vim" 通过vim命令搜索软件包
2.
/etc/yum.repos.d/
[root@localhost ~]# ls /etc/yum.repos.d/ #这个目录下存放yum的配置文件
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
3.
yum search 搜索软件包
[root@localhost ~]# yum search vim #搜索和vim相关的软件包
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
===================================== 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”试试。
4.
yum list |grep 搜索软件包,更加精确
[root@localhost ~]# 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搭建本地仓库
1. 挂载光驱到mnt目录下
2. 先将yum的配置文件做一个备份
cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak/
3. 进入
yum.repos.d目录下,将所有的文件都删除掉
[root@localhost ~]# cd /etc/yum.repos.d #进入
yum.repos.d 目录
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@localhost yum.repos.d]# rm -rf ./* #删除所有的文件
4. 创建一个文件
dev.repo
[root@localhost yum.repos.d]# vim dev.repo
#将以下内容写进dev.repo:
[dvd] #仓库的名字
name=install dvd #自定义一个描述的字符串
baseurl=file:///mnt #rpm的位置
enable=1
#是否可用
gpcheck=0
#是否检测
5.将之前的yum缓存清除,
yum clean all
[root@localhost yum.repos.d]# yum clean all
6. 这时就可以使用yum安装本地的软件包