Chinaunix首页 | 论坛 | 博客
  • 博客访问: 141952
  • 博文数量: 70
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 770
  • 用 户 组: 普通用户
  • 注册时间: 2017-11-04 11:19
文章分类

全部博文(70)

文章存档

2018年(69)

2016年(1)

我的朋友

分类: LINUX

2018-06-27 07:20:52

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库内容书写是否正确。
阅读(1199) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~