7.1 安装软件包的三种方式
安装和卸载软件:
win:下载软件包,然后双击.exe文件执行安装,然后根据提示,下一步下一步的完成安装。
linux:rpm工具安装(红帽包管理系统)、yum工具安装(用python搭建的工具,支持自动安装依赖包)、源码包(软件包的原始代码包)
7.2 rpm包介绍
想要使用rpm包安装软件,那么首先就要有相关的软件包文件:
首先设置VM虚拟机的光盘连接到linux系统中,然后进行挂载。然后才能获取到光盘里面的内容。
[root@localhost ~]# mkdir /iso //创建一个用来挂载光盘的目录
[root@localhost ~]# mount /dev/sr0 /iso/
mount: /dev/sr0 写保护,将以只读方式挂载 //因为挂载的是光盘,所以,只有只读方式
而在挂载目录中,软件包所在位置:
[root@localhost ~]# cd /iso/
[root@localhost iso]# ls
Packages/ | tail -2
zsh-5.0.2-28.el7.x86_64.rpm
zziplib-0.13.62-5.el7.x86_64.rpm
[root@localhost iso]# ls Packages/ | wc -l //总共3895个包
3895
这些文件就是rpm包,文件名的特点:分为几个部分
ypserv-
2.31-10.
el7.
x86_64.rpm
yp-tools-
2.14-5.
el7.
x86_64.rpm
yum-
3.4.3-154.el7.
centos.noarch.rpm
yum-langpacks-
0.4.2-
7.el7.
noarch.rpm
第一段:
包名
第二段:
版本号,包括主版本、次版本、小版本(也叫修正版本)
第三段:
发布版本号
第四段:
平台:
x86_64就是64位系统使用(7环境不区分32位与64位,都默认是64位。64位可以安装32位的包)
7.3 rpm工具用法
关于rpm命令,选项介绍:
-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。
如何新安装rpm包软件:
] # rpm -ivh yum-3.4.3-154.el7.centos.noarch.rpm //安装
已安装的软件包如何更新升级:
] # rpm -Uvh yum-3.6.3-154.el7.centos.noarch.rpm //更新升级
卸载rpm软件包:
] # rpm -e yum //只需要指定软件名即可
可能遇到的问题:卸载的软件包可能被其他程序依赖,那么这种情况下,需要先把依赖它的软件卸载,才能卸载它。
查询已经安装了的软件包:
] # rpm -qa //查看所有已经安装了的软件包
也可以查看指定软件包是否安装:
] # rpm -q yum //查看yum是否安装。安装则返回这个软件包的全部名称,否则没有信息返回
eg:
[root@localhost iso]# rpm -q yum
yum-3.4.3-154.el7.centos.noarch
[root@localhost iso]# rpm -q yum3
未安装软件包 yum3
查询指定包信息:
[root@localhost iso]# rpm -qi vim-enhanced
Name : vim-enhanced
Epoch : 2
Version : 7.4.160
Release : 4.el7
Architecture: x86_64
Install Date: 2018年06月19日 星期二 22时03分24秒
Group : Applications/Editors
Size : 2296714
License : Vim
Signature : RSA/SHA256, 2018年04月25日 星期三 19时50分34秒, Key ID 24c6a8a7f4a80eb5
Source RPM : vim-7.4.160-4.el7.src.rpm
Build Date : 2018年04月11日 星期三 07时55分09秒
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <
Vendor : CentOS
URL :
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.
安装软件包时会安装其相关的哪些文件:
[root@localhost iso]# 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
根据文件,查询是哪个软件安装的:
[root@localhost iso]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-4.el7.x86_64
命令整合执行:
[root@localhost iso]# rpm -qf `which cd`
bash-4.2.46-28.el7.x86_64
//反引号代表执行,这里是查找cd命令的文件,然后使用rpm -qf查询该命令是那个程序安装的
[root@localhost iso]# which cd
/usr/bin/cd
7.4 yum工具用法
由前面的内容我们知道,rpm卸载软件时,会出现依赖关系。其实不止是卸载,在安装时,也会出现相关的依赖问题。软件包A依赖软件包B,那么必须先安装B才能安装A。这是很复杂的情况了,因为很多软件包时常需要很多其他的软件包依赖,一个个安装,费时费力,很不现实。
[root@localhost Packages]# rpm -ivh texlive-zapfding-svn28614.0-38.el7.noarch.rpm错误:依赖检测失败:
texlive-base 被 texlive-zapfding-2:svn28614.0-38.el7.noarch 需要
texlive-kpathsea-bin 被 texlive-zapfding-2:svn28614.0-38.el7.noarch 需要
tex-kpathsea 被 texlive-zapfding-2:svn28614.0-38.el7.noarch 需要
这是我们有一个新的工具:yum
[root@localhost Packages]# yum install -y texlive-zapfding-svn28614.0-38.el7.noarch.rpm
会自动帮助我们解决相关的依赖关系。方便好用。
[root@localhost Packages]# 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
yum安装工具的配置文件在上述目录当中,其中文件
CentOS-Base.repo是最核心的文件了。定义了yum安装软件时,获取软件包地址是哪里。也就是yum仓库。使用命令,查看该仓库都包含哪些文件:
[root@localhost Packages]#
yum list | wc -l
10482
[root@localhost Packages]# yum list | grep 'vim' //从list输出的内容中搜索有关键字vim的内容
vim-common.x86_64 2:7.4.160-4.el7 @base
vim-enhanced.x86_64 2:7.4.160-4.el7 @base
vim-filesystem.x86_64 2:7.4.160-4.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-4.el7 base
vim-minimal.x86_64 2:7.4.160-4.el7 base
“|”:管道符,将前面命令的输出作为后面命令的输入。
“grep”:过滤查询。
yum grouplist:查看相关的组程序。yum groupinstall:安装相关组程序。
卸载:
注意,会卸载相关的依赖。可能会影响其他程度使用,使用需谨慎。
[root@localhost Packages]# yum remove vim
已加载插件:fastestmirror
正在解决依赖关系
--> 正在检查事务
---> 软件包 vim-enhanced.x86_64.2.7.4.160-4.el7 将被 删除
--> 解决依赖关系完成
依赖关系解决
=================================================================================
Package 架构 版本 源 大小
=================================================================================
正在删除:
vim-enhanced x86_64 2:7.4.160-4.el7 @base 2.2 M
事务概要
=================================================================================
移除 1 软件包
安装大小:2.2 M
是否继续?[y/N]:
升级:不止会升级程序,还会升级系统,内核。所以使用需谨慎。如果环境已经安装了其他程序,那么盲目升级会导致程序不可用或出错。
[root@localhost ~]# yum update
查找:系统中没有这个命令,那么想要安装就要知道它是属于哪个软件包的:使用下面方式查找
[root@localhost ~]# yum provides /*/vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirror.bit.edu.cn
* updates: mirror.bit.edu.cn
2:
vim-enhanced-7.4.160-4.el7.x86_64 : A version of the VIM editor which includes
: recent enhancements
源 :@base
匹配来源:
文件名 :/bin/vim
7.5 yum搭建本地仓库
由于yum仓库,文件中默认是网络源,所以如果无法联网,那么yum就无法使用。那么如何使用呢?
我们可以搭建自己本地的yum仓库。把光盘镜像作为仓库使用。
先备份原来的所有yum仓库文件,然后创建我们自己的yum仓库。文件必须用“.repo”结尾
上面,中括号中的内容就是我们自己创建的文件名称。
name:文件内容说明
baseurl:指定地址,"file://"指定本地源,地址
enabled:使用这个yum源
gpgcheck:不进行检查。
yum clean all:清除缓存
yum list:列出yum仓库中的内容。为了更新我们的光盘中的软件包内容。
然后尝试安装程序,测试yum库内容书写是否正确。