YUM介绍html
YUM主要用于自动升级、安装\移除rpm软件包,它能自动查找并解决rpm包之间的依赖关系,要成功的使用YUM工具更新系统和软件,须要有一个包含各类rpm软件包的repository(软件仓库),提供软件仓库的服务器习惯上成为“源”服务器。网络上有大量的源服务器,可是,因为受到网络链接速度、带宽的限制,致使软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包须要升级时,更新的缓慢程序使人难以忍受。linux
相比较而言,本地YUM源服务器最大优势在局域网的快速网络链接和稳定性。有了局域网中的YUM源服务器,即使在Internet链接中断的状况下,也不会影响其余YUM客户端的软件升级和安装。sql
下面就介绍下 本地yum源的搭建。apache
1、启动 httpd 服务(通常httpd服务已经安装)浏览器
取一台 CentOS操做系统的机器做为源服务器。启动服务器的httpd 服务:service httpd start缓存
可查看配置文件: /etc/httpd/conf/httpd.conf 了解httpd相关配置信息服务器
这里咱们配置的文档根目录为:/var/www/html/ 端口: Listen 80网络
vi /etc/httpd/conf/httpd.confide
确认服务启动,浏览器访问: http://localhost:80 出现以下apache页面(若是从其余机器访问,请先关闭防火墙:service iptables stop )工具
2、安装 createrepo 工具 (若使用 linux iso 镜像 则为非必须)
createrepo是linux下的建立仓库的软件包。
1、在机器联网的状况下可直接安装: yum install createrepo
2、可以使用rpm -ivh createrepo-xxx.noarch.rpm 安装由网上下载的rpm包,通常会有两个依赖
3、linux经常使用工具rpm包,通常在镜像文件中都存在
3、安装 yum 源
一、使用 Linux ISO 镜像中的RPM包安装
(1)、将 ISO 文件 copy 到服务器上,并在文件夹: /var/www/html/ 下建立文件夹 CentOS
(2)、将 ISO文件挂载至文件夹 /var/www/html/CentOS
执行:mount -o loop /var/www/html/CentOS-6.4-x86_64-bin-DVD1.iso /var/www/html/CentOS
(取消挂载 umount /var/www/html/CentOS)
(3)、查看文件夹 /var/www/html/CentOS
能够看到 repodata 文件夹的存在,repodata做为软件的仓库信息文件。
ISO镜像 yum源搭建OK
浏览器访问:http://localhost:80/CentOS/
二、使用 本身准备的 RPM 包 (这里以 apache ambari为例)
(1)、在目录 /var/www/html/ 下创建一个文件夹,把准备的 RPM包放到里面
(2)、建立仓库信息文件,在目录 /var/www/html/ 下执行:createrepo ambari
查看ambari目录,能够看到 repodate 文件已经生成
ambari yum源搭建OK
4、使用yum源
(1)、编辑 repo 文件
在本机或其余机器上,进入文件夹:/etc/yum.repos.d/ 将其中的文件移除掉
新建文件:CentOS.repo (可由 CentOS-Base.repo copy)
(2)、更新 yum源
yum clean 清除yum源缓存
yum repolist 列出可用yum源
(3)、使用 (尝试安装postgresql)
同理可配置使用 ambari 源
可将 repo 文件放置在源服务器 /var/www/html/ 目录下,以供其余机器方便下载使用
5、可能会出现的问题
一、问题
you don't have permission to access / on this server(Apache Server权限访问问题)
Apache Http Server已经在linux上安装完成,但是经过浏览器访问,却出现了“you don't have permission to access / on this server”.
解决:
(1)、在httpd.conf文件中,有这么一段
<Directory/> # 这里的目录为本身的目录
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
能够尝试把Deny改为Allow,而后重启apache服务,访问页面,看问题是否解决。
(2)、查看相应的目录是否拥有权限,若是你不知道怎么加权限之类,运行以下两个命令:
chown apache.root 目录名 -R # 此是更改目录所属用户和用户组
chmod 755 目录名 -R # 此是更改目录读写权限
而后重启apache服务,访问页面,看问题是否解决。
(3)、终极绝杀,以上2条都还通不过的话(报相同的错误信息),运行以下两个命令
setenforce 0 # 暂时禁用SELinux服务
service iptables stop #暂时禁用防火墙
访问页面,看问题是否解决;
二、问题:
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
http://10.1.33.21/ambari/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 403 Forbidden"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: ambari-1.x. Please verify its path and try again
解决:
yum源服务器运行以下命令
setenforce 0 # 暂时禁用SELinux服务
3、问题:
yum install xxx.rpm
warning:
Package xxx.rpm is not signed
解决:
只要在在后面加上--nogpgcheck就能够了,格式以下
yum install *rpm --nogpgcheck