Yum 是yellowdog updater modified的缩写。yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个 distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了 Linux 用户一直头痛的 dependencies 的问题。
一般这类软件通过一个或者多个配置文件描述对应的 repository 的网络地址,通过 http 或者 ftp 协议在需要的时候从 repository 获得必要的信息,下载相关的软件包。这样,本地用户通过建立不同的 repository 的描述说明,在有 Internet 连接时就能方便进行系统的升级维护工作。另外,如果需要使用代理,可以用 http_proxy 和 ftp_proxy 这些 shell 里面标准环境变量的设定。
现在的操作系统中都已经安装了YUM 工具,如果没有安装可以自己从网上下载安装。
Yum包的下载:
可以用wget 直接从网上下载,该命令下载的文件会放在当前目录下。如:
[root@squid yum]# wget http://yum.baseurl.org/download/3.2/yum-3.2.26.tar.gz
[root@squid yum]# wget http://yum.baseurl.org/download/3.2/yum-3.2.26-0.src.rpm
Linux下的安装包有集中形式:
1.1 tar.gz 格式
tar.gz文件的安装,是属于自己编译源代码的方法。tar是把文件打成一个包,并不压缩;.gz是用gzip把打成包的.tar文件压缩,所以成了一个.tar.gz的文件。
这种格式的安装分四部:
1) 解包
tar -zxvf xxx.tar.gz,这样会生成一个以文件名命名的文件夹。
2) 执行configure的脚本
该脚本用于完成配置的任务。可以加很多参数,具体的可以运行. /configure --help得到帮助的,比如./configure --prefix=xxx是设定软件安装到哪里。设置好参数,运行./configure,会生成makefile文件。
3) 编译
Configure 生成了makefile文件,运行make就可以完成编译。make是将读入所有由configure脚本程序建立的制作文件。这些制作文件会告诉make哪些文件需要被编译以及按照怎样的顺序对它们进行编译,因为可能会有上百个源程序文件。当make工作的时候,会在屏幕上显示出正在执行的每一个命令,以及与这个命令相关的全部参数。这些输出通常都是编译器的调用声明和所有传递给编译器的参数。如果编译器顺利地完成了工作,就不会出现什么错误信息。大多数编译器的错误信息十分清楚和明确,因此不用担心可能会漏掉一个错误。如果确实看到有一错误,也不用慌张。大多数错误信息并不反映出程序本身出现了一个问题,通常都是系统这里或者那里的问题。典型情况下,这些信息大多是因为文件访问权限不正确而产生的或者是因为文件没有找到。
4) 安装软件
执行make install,这个命令将启动安装脚本程序。因为make命令会在执行每一个命令的时候把它显示出来,所以将会看到许许多多的文字掠过眼前。如果没有看到什么错误信息,就说明这个软件包安装好了。
卸载:make uninstall
注意:如果下载的包里已经有了makefile 文件,就说明已经configure过了,直接安装就可以了。
1.2 *.src.rpm
这中rpm 格式的包也是一种源码包,需要编译后才能安装。 具体有2种安装方法:
方法一:
1)执行rpm -i you-package.src.rpm
2)cd /usr/src/redhat/SPECS
前两步和方法一相同
3)rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件
这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等)
4)在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
执行rpm -i new-package.rpm即可安装完成。
方法二:
1)执行rpm -i your-package.src.rpm
2)cd /usr/src/redhat/SPECS
3)rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件
4) cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录
5)./configure 这一步和编译普通的源码软件一样,可以加上参数
6) make
7.)make install
注:还有一种格式rpm格式的包: *.rpm , 这种包无需编译,直接安装即可:rpm -ivh *.rpm
安装完后我们可以用yum update 来更新repository。 第一更新的文件总大小在800M左右.