【大数据】07 安装软件

软件的安装是一个非常重要的环节,因为人使用电脑的目的就是使用程序,如果一个系统你连软件都不会装,那你就根本不会用。

Linux 的软件安装包括以下三种:

  1. 编译安装
  2. rpm安装:包
  3. yum安装:仓库

首先来说编译安装,编译和安装是两个步骤,先编译再安装,但是并不是所有的人都是程序员,也就是说并不是所有的人都会编译,这让我想起一句名言:“人是懒惰的,懒惰促使科技进步。”很多人就不想学编程,但是又想得到软件,这时候就产生了 rpm 安装。

rpm安装,即别人帮你编译好,然后打包给你,你直接拿过来安装就可以了。例如我们在 windows 操作系统中下载的 .exe 安装文件,就是别人已经编译好的包,我们直接点击安装,按照向导指示就可以完成安装了。但是这里面又有了另外一个问题,我们都知道一个软件工程学——不关起门造轮子,即在开发软件的时候,程序员会用到别人的库。而我们下载的安装包只是一个编译好的包,而不会携带所需的库,因为别人可能认为我们的电脑中已经有了运行程序所需的库。这时候采用 rpm 安装就会存在缺失依赖的问题。我们就还需要先安装依赖的库,然后才能安装软件。

然而人找依赖会很烦,因为人是懒惰的,所以就促使了 yum 安装,我们在使用yum安装的时候,它会默人帮我们查找所需的依赖,帮我们全部安装好。

但是以上这三种安装方式并不是谁替代谁的一个关系,这三种安装方式是并存的。首先在我们的服务器端,服务器一般都是要求全年无休止的工作,尽量不要出现死机、异常关机等现象,这就要求软件的可靠性非常高,但是一般情况下,软件的代码功能越多,出现bug的概率就越大,所以现在软件更趋向于一种模块化开发,软件首先有一个主线,实现软件的主要功能,其他的功能一般都是使用插件形式开发。这样,当我们获得源码的时候,我们在编译期就可以把所需要的功能编译进去,剔除不需要的功能,得到一个个性化的软件,代码量也合适,没有其他的冗余功能,这样出现bug的概率就会大大减少。因此,编译安装也是需要掌握的,因为我们在公司可能会得到原码,根据公司的需求得到一个个性化软件。其次,rpm包安装的方式也必须会,因为并不是所有的仓库都包含了这个世界上所有的软件包,有些软件在仓库中是找不到的,比如说 jdk,jdk 是有两个版本的,Oracle JDK是在Open JDK,你能从仓库下载安装的是 Open JDK,我们如果想要安装 Oracle JDK 就必须从官网下载 rpm 的安装包才能进行安装。最后,yum 安装的方式是目前最简单最易于使用的安装方式,当然也是必须要会的啊。


编译安装

配置文件:Makefile

编译,安装命令:make

案例:编译安装nginx

下载源码

tar xf 解压

README

./configure:创建Makefile

make:编译

make install  等

注意:

编译环境

软件依赖

配置项

步骤1、首先,我们通过 Xftp 将 几个文件传输到 Linux 虚拟机的根目录中:

【大数据】07 安装软件_第1张图片

【大数据】07 安装软件_第2张图片

步骤2、在编译安装中,我们演示所需的文件 为 tengine-2.1.0.tar.gz。我们解压它。

得到的 目录 tengine-2.1.0 就是源码目录。

步骤3、进到源码目录,试图找到  配置文件 Makefile

【大数据】07 安装软件_第3张图片

然而我们并没有找到所需的 Makefile 文件,这时候我们应该看一下 README 文件的内容,看一下作者给我们写的安装步骤。

【大数据】07 安装软件_第4张图片

提示一下:如果我们以后打开一个源码文件,没有看到 Makefile 文件,那我们就看一下 README 文件,里面一般都会有一个前置过程,操作了这一步(这里是 ./configure)之后,就会得到 Makefile 文件,然后就可以执行后面的 make 命令了。

步骤4:

在执行 ./configure 之前,我们先看一下 help 

【大数据】07 安装软件_第5张图片

标红的这一行是关于设置安装路径的。我们可以设置一下:(除此之外,还有一系列设置可以设置,配置什么功能(with ...)或者剔除什么功能 without ...),这就是我们前面提到的 编译安装可以个性化软件安装)

这里我们只设置一下安装路径,其它不做修改:

【大数据】07 安装软件_第6张图片

我们可以看到,编译安装首先是检查操作系统,操作系统没有问题之后,就是检查编译器,我们这里没有 C 编译器,我们先安装一下(为了简单起见,我们使用 yum 安装):

【大数据】07 安装软件_第7张图片

编译器安装完了之后,再次重复上述步骤,报错:需要 PCRE 库

yum 不仅可以安装,还可以查询,我们使用 yum 查询一下 PCRE:

【大数据】07 安装软件_第8张图片

很显然,我们是在编译环节,所系要安装的是 pcre-devel,有两个版本 i686和x86_64,其实我们不需要纠结安装哪个版本,直接运行 yum install pcre-devel, yum 会默认安装合适的版本:

【大数据】07 安装软件_第9张图片

接下来就是继续尝试  ./configure ,报错就安装缺失的库。

直到 ./configure 无错安装。

步骤5:

正如我们预期的那样,生成了 Makefile 文件:

【大数据】07 安装软件_第10张图片

执行 make 

执行 make install 

至此,安装结束。

检查是否安装成功:运行 nginx 。

【大数据】07 安装软件_第11张图片

虽然什么显示也没有,但是已经后台运行了。nginx 也是一个 web 服务器,端口为 80.

我们打开浏览器,输入 虚拟机(服务器)IP:80,就可以看到下面的页面:

【大数据】07 安装软件_第12张图片

表示安装、运行成功。


rpm安装:包

RPM 安装

Redhat提供了rpm管理体系

已经编译的软件包:针对不同的平台系统编译目标软件包

操作系统维护安装信息

软件包包含依赖检查,但,还需人为解决

rpm安装:

-ivh  filename

--prefix

rpm升级:

-Uvh

-Fvh

rpm卸载:

-e PACKAGE_NAME

rpm查询

rpm -qa : 查询已经安装的所有包

rpm -q  PACKAGE_NAME: 查询指定的包是否已经安装

rpm -qi PACKAGE_NAME: 查询指定包的说明信息

rpm -ql PACKAGE_NAME: 查询指定包安装后生成的文件列表

rpm -qc PACEAGE_NEME:查询指定包安装的配置文件

rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件

rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本 

rpm -qf /path/to/somefile: 查询文件是由哪个rpm包安装生成的 

如果某rpm包尚未安装,需查询其说明信息、安装以后会生成的文件

rpm -qpi /PATH/TO/PACKAGE_FILE

rpm -qpl


这个演示使用的 rpm 包为 jdk-7u67-linux-x64.rpm,该包可以从官网下载:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

【大数据】07 安装软件_第13张图片

安装:

【大数据】07 安装软件_第14张图片

就这么简单,安装完成。

并且 java 命令还可以使用。但其实并不是所有的命令都可以使用。另外,我们还想知道安装到哪里去了。

这时候可以使用 rpm 的 -q 选项:

rpm -qa     # 查询安装的所有软件

这就是刚才安装的 jdk ,注意一下,这里的名称 jdk-1.7.0_67-fcs.x86_64 叫做  包的名称  。

通过查询 包的名称,可以找到 安装这个包给我们释放了哪些文件,即安装文件的位置,为 /usr/java/,(即 bin 目录所在的目录)。

【大数据】07 安装软件_第15张图片

安装目录:

【大数据】07 安装软件_第16张图片

至此,我们就知道 jdk 装在哪了,这完全依靠于 rpm 强大的 -q 查询机制。

第二个问题,为什么安装之后,没有配置 JAVA_HOME 环境变量,java 命令就可以使用了?

我们来找一下 java 命令是在哪里?

【大数据】07 安装软件_第17张图片

其实,在没有配置环境变量之前,有几个 java 相关的命令就已经被 软连接 到了 /usr/bin/ 目录下。(但不是所有的 java 相关命令

【大数据】07 安装软件_第18张图片

但不是所有的 java 相关命令),我们可以在 /usr/java/jdk1.7.0_67/bin 下看到 一个 jps 命令(查询 java 进程的命令),这个命令默认就是没有 软连接到 /usr/bin 下,因此,无法再其它地方运行:

【大数据】07 安装软件_第19张图片

接下来,我们就是配置环境变量了:

# vi /etc/profile

在末尾添加下面两行:

export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin

【大数据】07 安装软件_第20张图片

执行: source /etc/profile  刷新

# source /etc/profile

查询一下 PATH:

这时候,就可以在任意位置执行 jps 了:


yum安装:仓库

 基于rpm包管理

 提供rpm仓库

其实 对于 yum 安装,我们能够做的就是更改 仓库 的地址:  

我们进到 /etc/yum.repos.d 目录:

【大数据】07 安装软件_第21张图片

里面有3个文件:我们打开 CentOS-Base.repo 文件:

【大数据】07 安装软件_第22张图片

baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ 就是默认的仓库地址,是一个国外的地址。

/ etc / yum.repos.d /
[ repoID ]
baseurl =
http://
file://
ftp://
gpgcheck=1 /  0
enable=0  /  1

第一种:repo国内源

http://mirrors.aliyun.com

centos-->help

before:yum install wget

....

步骤一般为以下三步:(其实在国内的每个镜像网站上点击使用帮助就可以看到)

1、首先备份/etc/yum.repos.d/CentOS-Base.repo

2、下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)

3、运行以下命令生成缓存

yum clean all

yum makecache

我们可以以 阿里云的镜像网站为例:https://opsx.alibaba.com/mirror

【大数据】07 安装软件_第23张图片

点击帮助:(就会显示使用步骤:)

注意:这里在第二步会使用一些命令下载 CentOS-Base.repo 文件,因此,在做第一步之前,我们就应该安装 wget 或者 curl,否则,在我们改名之后,就不能使用 yum 安装  wget 或者 curl 了,又要重新改回来,是不是很炸裂。

这也告诉我们,做事情应该先看完所有步骤,再来操作,这样会比较好。

【大数据】07 安装软件_第24张图片

【大数据】07 安装软件_第25张图片

【大数据】07 安装软件_第26张图片

至此,仓库的位置就更改结束。

更改为网易或者其他的镜像的 CentOS 也是一样的操作步骤。只是第二步下载的方式可能略有不同,比如网易的:

【大数据】07 安装软件_第27张图片

【大数据】07 安装软件_第28张图片


第二种:repo本地目录源:

mount /dev/cdrom /mnt

vi /etc/yum.repos.d/local.repo

[local]

baseurl=file:///mnt

gpgcheck=0

enable=1

首先说,我们已经知道怎么改到国内的镜像源了,为什么还要学习使用本地的源。因为有的公司的集群的服务器是断网的,只能内部通讯,特别是我们大数据的集群,一般都是不与外网连接的。

这时候我们就要使用本机的目录作为仓库了,一般使用的是一张光盘。无论是 阿里还是网易的镜像网站,都可以下载这张光盘:

【大数据】07 安装软件_第29张图片

点击 centos ,打开的页面中选择对应的版本,进入:

【大数据】07 安装软件_第30张图片

【大数据】07 安装软件_第31张图片

这里面有很多张光盘,有我们之前安装CentOS的minimal版,也有可以直接使用的 Live 版,我们这里需要下载的是 bin-DVD1 和 bin-DVD2,其实DVD1 这一张光盘就够我们使用了,我们这里只用 DVD1。

然后我们在VMware 中 更改 CD/DVD 

【大数据】07 安装软件_第32张图片

将光盘挂载到 /mnt 目录下:

【大数据】07 安装软件_第33张图片

【大数据】07 安装软件_第34张图片

这样就挂载成功了,那什么是仓库呢?
【大数据】07 安装软件_第35张图片

其实只要你的本地文件目录下有 Packages 和 repodata 这两个文件了,这个目录就是仓库,也就是说,在这里 mnt 目录就是仓库。

接下来就是怎么把 yum 的仓库改为 /mnt 了。

和前面一样,还是进到 /etc/yum.repos.d/ 目录。

【大数据】07 安装软件_第36张图片

将文件下所有 文件 都备份出去,这里是备份到 backup 文件夹内,然后复制一个 Base 文件到该文件夹下做修改:

【大数据】07 安装软件_第37张图片

执行 yum clean all 和 yum makecache:

【大数据】07 安装软件_第38张图片

至此,仓库的源更改完成。

我们可以演示一下:

首先,我们执行 yum remove man  删除 man,

然后 执行 yum install man 安装一下试试,可以成功说明安装正确。

此外,我们还可以使用 yum repolist 显示使用的仓库,以及仓库的软件包个数。

其实这里的 6713 是两张光盘的软件包个数,DVD1只有3245个包,大家可以把 DVD1和DVD2合并之后,再挂载,就可以了。

注意:这里讲解的只是这种思路,但是实际操作的时候,服务器可能不在你身边,而光盘在你手上,这时候怎么办呢,另外,如果有多台服务器,一台一台的设置也太麻烦了吧。

等讲完 nginx 之后,你就知道怎么做了,你可以在你的服务器集群中,找一台搭建局域网作为webserver,然后把光盘放到这个服务器上,把其他所有服务器的yun仓库设为这台服务器就OK了。


yum命令:

yum repolist

yum clean all

yum makecache

yum update

查询:

yum list

yum search

yum info

安装&卸载:

yum install

remove|erase


yum命令:分组

其实就是通过组一起安装一套软件或者卸载一套软件

yum grouplist

yum groupinfo

yum groupinstall

yum groupremove

yum groupupdate


接下来我们学以致用一下:中文显示,查看中文文档

1、我们使用 yum grouplist 查询一下,在 Available Language Groups: 大分类下 发现有一个名为 Chinese Support  [zh] 的组;

yum grouplist

2、 安装 Chinese Support 组:

yum install Chinese Support

3、修改 LANG

【大数据】07 安装软件_第39张图片

这时候就可以显示中文了。

但其实我们最想要的是查询命令的使用方法时显示中文,即 man 命令名 ,帮助文档为中文。

目前,还是不能够的,因为我们需要一个插件 man-pages-zh-CN,而这个插件在 epel 仓库下。因此我们需要增加epel的repo。

【大数据】07 安装软件_第40张图片

配置完了之后,

【大数据】07 安装软件_第41张图片

我们查询一下 man-pages,就会发现 man-pages-zh-CN 了。

【大数据】07 安装软件_第42张图片

安装:yum install man-pages-zh-CN,确实是来自 epel 仓库

【大数据】07 安装软件_第43张图片

安装完成之后,使用 man 得到的帮助文档就是中文了。

注意:每次重启虚拟机之后,还会是以英文显示,这是因为  第三步的  修改 LANG 是一个重启之后就会重置的操作。

因此,每次重启后,我们只需要修改一下  LANG=zh_CN.UTF-8 即可。

另外,友情提示:最好不要试图完全改为中文显示,大家还是要学着尽量看英文。


rpm 和 yum 命令

1、rpm

Linux rpm命令用于管理套件。

rmp(redhat package manager)原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

语法

rpm [-acdhilqRsv][-b<完成阶段><套间档>+][-e<套件挡>][-f<文件>+][-i<套件档>][-p<套件档>+][-U<套件档>][-vv][--addsign<套件档>+][--allfiles][--allmatches][--badreloc][--buildroot<根目录>][--changelog][--checksig<套件档>+][--clean][--dbpath<数据库目录>][--dump][--excludedocs][--excludepath<排除目录>][--force][--ftpproxy<主机名称或IP地址>][--ftpport<通信端口>][--help][--httpproxy<主机名称或IP地址>][--httpport<通信端口>][--ignorearch][--ignoreos][--ignoresize][--includedocs][--initdb][justdb][--nobulid][--nodeps][--nofiles][--nogpg][--nomd5][--nopgp][--noorder][--noscripts][--notriggers][--oldpackage][--percent][--pipe<执行指令>][--prefix<目的目录>][--provides][--queryformat<档头格式>][--querytags][--rcfile<配置档>][--rebulid<套件档>][--rebuliddb][--recompile<套件档>][--relocate<原目录>=<新目录>][--replacefiles][--replacepkgs][--requires][--resign<套件档>+][--rmsource][--rmsource<文件>][--root<根目录>][--scripts][--setperms][--setugids][--short-circuit][--sign][--target=<安装平台>+][--test][--timecheck<检查秒数>][--triggeredby<套件档>][--triggers][--verify][--version][--whatprovides<功能特性>][--whatrequires<功能特性>]

参数说明

  • -a  查询所有套件。
  • -b<完成阶段><套件档>+或-t <完成阶段><套件档>+  设置包装套件的完成阶段,并指定套件档的文件名称。
  • -c  只列出组态配置文件,本参数需配合”-l”参数使用。
  • -d  只列出文本文件,本参数需配合”-l”参数使用。
  • -e<套件档>或–erase<套件档>  删除指定的套件。
  • -f<文件>+  查询拥有指定文件的套件。
  • -h或–hash  套件安装时列出标记。
  • -i  显示套件的相关信息。
  • -i<套件档>或–install<套件档>  安装指定的套件档。
  • -l  显示套件的文件列表。
  • -p<套件档>+  查询指定的RPM套件档。
  • -q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
  • -R  显示套件的关联性信息。
  • -s  显示文件状态,本参数需配合”-l”参数使用。
  • -U<套件档>或–upgrade<套件档> 升级指定的套件档。
  • -v  显示指令执行过程。
  • -vv  详细显示指令执行过程,便于排错。
  • -addsign<套件档>+  在指定的套件里加上新的签名认证。
  • –allfiles  安装所有文件。
  • –allmatches  删除符合指定的套件所包含的文件。
  • –badreloc  发生错误时,重新配置文件。
  • –buildroot<根目录>  设置产生套件时,欲当作根目录的目录。
  • –changelog  显示套件的更改记录。
  • –checksig<套件档>+  检验该套件的签名认证。
  • –clean  完成套件的包装后,删除包装过程中所建立的目录。
  • –dbpath<数据库目录>  设置欲存放RPM数据库的目录。
  • –dump  显示每个文件的验证信息。本参数需配合”-l”参数使用。
  • –excludedocs  安装套件时,不要安装文件。
  • –excludepath<排除目录>  忽略在指定目录里的所有文件。
  • –force  强行置换套件或文件。
  • –ftpproxy<主机名称或IP地址>  指定FTP代理服务器。
  • –ftpport<通信端口>  设置FTP服务器或代理服务器使用的通信端口。
  • –help  在线帮助。
  • –httpproxy<主机名称或IP地址>  指定HTTP代理服务器。
  • –httpport<通信端口>  设置HTTP服务器或代理服务器使用的通信端口。
  • –ignorearch  不验证套件档的结构正确性。
  • –ignoreos  不验证套件档的结构正确性。
  • –ignoresize  安装前不检查磁盘空间是否足够。
  • –includedocs  安装套件时,一并安装文件。
  • –initdb  确认有正确的数据库可以使用。
  • –justdb  更新数据库,当不变动任何文件。
  • –nobulid  不执行任何完成阶段。
  • –nodeps  不验证套件档的相互关联性。
  • –nofiles  不验证文件的属性。
  • –nogpg  略过所有GPG的签名认证。
  • –nomd5  不使用MD5编码演算确认文件的大小与正确性。
  • –nopgp  略过所有PGP的签名认证。
  • –noorder  不重新编排套件的安装顺序,以便满足其彼此间的关联性。
  • –noscripts  不执行任何安装Script文件。
  • –notriggers  不执行该套件包装内的任何Script文件。
  • –oldpackage  升级成旧版本的套件。
  • –percent  安装套件时显示完成度百分比。
  • –pipe<执行指令>  建立管道,把输出结果转为该执行指令的输入数据。
  • –prefix<目的目录>  若重新配置文件,就把文件放到指定的目录下。
  • –provides  查询该套件所提供的兼容度。
  • –queryformat<档头格式>  设置档头的表示方式。
  • –querytags  列出可用于档头格式的标签。
  • –rcfile<配置文件>  使用指定的配置文件。
  • –rebulid<套件档>  安装原始代码套件,重新产生二进制文件的套件。
  • –rebuliddb  以现有的数据库为主,重建一份数据库。
  • –recompile<套件档>  此参数的效果和指定”–rebulid”参数类似,当不产生套件档。
  • –relocate<原目录>=<新目录>  把本来会放到原目录下的文件改放到新目录。
  • –replacefiles  强行置换文件。
  • –replacepkgs  强行置换套件。
  • –requires  查询该套件所需要的兼容度。
  • –resing<套件档>+  删除现有认证,重新产生签名认证。
  • –rmsource  完成套件的包装后,删除原始代码。
  • –rmsource<文件>  删除原始代码和指定的文件。
  • –root<根目录>  设置欲当作根目录的目录。
  • –scripts  列出安装套件的Script的变量。
  • –setperms  设置文件的权限。
  • –setugids  设置文件的拥有者和所属群组。
  • –short-circuit  直接略过指定完成阶段的步骤。
  • –sign  产生PGP或GPG的签名认证。
  • –target=<安装平台>+  设置产生的套件的安装平台。
  • –test  仅作测试,并不真的安装套件。
  • –timecheck<检查秒数>  设置检查时间的计时秒数。
  • –triggeredby<套件档>  查询该套件的包装者。
  • –triggers  展示套件档内的包装Script。
  • –verify  此参数的效果和指定”-q”参数相同。
  • –version  显示版本信息。
  • –whatprovides<功能特性>  查询该套件对指定的功能特性所提供的兼容度。
  • –whatrequires<功能特性>  查询该套件对指定的功能特性所需要的兼容度。

实例

安装软件

# rpm -hvi dejagnu-1.4.2-10.noarch.rpm 
警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 签名:NOKEY, key ID db42a60e
准备...           
########################################### [100%]

显示软件安装信息

# rpm -qi dejagnu-1.4.2-10.noarch.rpm

【第1次更新 教程、类似命令关联】

2、yum 

yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。

基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum 语法

yum [options] [command] [package ...]
  • options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为”yes”),-q(不显示安装的过程)等等。
  • command:要进行的操作。
  • package操作的对象。

yum常用命令

  • 1.列出所有可更新的软件清单命令:yum check-update
  • 2.更新所有软件命令:yum update
  • 3.仅安装指定的软件命令:yum install
  • 4.仅更新指定的软件命令:yum update
  • 5.列出所有可安裝的软件清单命令:yum list
  • 6.删除软件包命令:yum remove
  • 7.查找软件包 命令:yum search
  • 8.清除缓存命令:
    • yum clean packages: 清除缓存目录下的软件包
    • yum clean headers: 清除缓存目录下的 headers
    • yum clean oldheaders: 清除缓存目录下旧的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers

实例 1

安装 pam-devel

[root@www ~]# yum install pam-devel
Setting up Install Process
Parsing package install arguments
Resolving Dependencies  <==先检查软件的属性相依问题
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
filelists.xml.gz          100% |=========================| 1.6 MB    00:05
filelists.xml.gz          100% |=========================| 138 kB    00:00
-> Finished Dependency Resolution
……(省略)

实例 2

移除 pam-devel

[root@www ~]# yum remove pam-devel
Setting up Remove Process
Resolving Dependencies  <==同样的,先解决属性相依的问题
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Removing:
 pam-devel               i386       0.99.6.2-4.el5   installed         495 k

Transaction Summary
=============================================================================
Install      0 Package(s)
Update       0 Package(s)
Remove       1 Package(s)  <==还好,并没有属性相依的问题,单纯移除一个软件

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing   : pam-devel                    ######################### [1/1]

Removed: pam-devel.i386 0:0.99.6.2-4.el5
Complete!

实例 3

利用 yum 的功能,找出以 pam 为开头的软件名称有哪些?

[root@www ~]# yum list pam*
Installed Packages
pam.i386                  0.99.6.2-3.27.el5      installed
pam_ccreds.i386           3-5                    installed
pam_krb5.i386             2.2.14-1               installed
pam_passwdqc.i386         1.0.2-1.2.2            installed
pam_pkcs11.i386           0.5.3-23               installed
pam_smb.i386              1.1.7-7.2.1            installed
Available Packages <==底下则是『可升级』的或『未安装』的
pam.i386                  0.99.6.2-4.el5         base
pam-devel.i386            0.99.6.2-4.el5         base
pam_krb5.i386             2.2.14-10              base

国内 yum 源

网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。

将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

安装步骤

首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)

  • CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
  • CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo

运行以下命令生成缓存

yum clean all
yum makecache

除了网易之外,国内还有其他不错的yum源,比如中科大和搜狐。

中科大的yum源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos

sohu的yum源安装方法查看: http://mirrors.sohu.com/help/centos.

 

 

你可能感兴趣的:(大数据)