经常遇到有的linux服务器由于特殊原因,不能连接外网,但是经常需要安装一些软件,尤其是在编译一些包的时候经常由于没有安装一些依存包而报的各种各样的错误,当你找到依存的rpm包去安装的时候,又提示你有其他的依存包没有安装,非常烦人。记得刚开始玩linux的时候曾经因为要安装一个包安装了一上午而大为恼火,折磨得人几乎崩溃!
我们知道linux下有一个很好的工具,为我们广大的工作在linux平台下的劳苦大众带来了福音,那就是大名鼎鼎的yum软件。在可以连网的时候非常方便,那么我们如何在不能连接外网的情况下使用yum来方便的安装软件呢?
本文就来向您详细介绍如何在本地或者局域网使用yum,本文以centos为例,本文的案例在centos5.5 64bit下成功部署。在本地或者局域网使用yum主要有以下两种方式:
一、使用光盘直接挂载到本地的方式
这种方式优点是速度快,操作简单。缺点是如果设置多个服务器则需要多次挂载
首先我们来看使用光盘直接挂载到本地的方式,安装步骤如下:
mount /dev/cdrom /mnt/cdrom/
或者将ISO文件挂载到该目录下
mount -o loop -t iso9660 /home/zhang/CentOS-5.5-x86_64-bin-DVD-1of2.iso /mnt/cdrom
[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
yum clean all
#清除缓存及旧的包
yum install -y httpd #测试是否能安装软件
只需以上简单的4步,就能在本地使用自己建的源了,够简单吧!
二、 使用nginx或者apache等web server来在局域网发布本地yum源的方式
这种方式优点是只需要搭建一次源,方便,速度也比连接外网要快。缺点是操作比第一中方式复杂一点,速度稍微慢一点
安装步骤如下:
1、 安装nginx
u 安装Nginx所需的pcre库:
tar zxvf pcre-8.01.tar.gz
cd pcre-8.01/
./configure
make && make install
cd ../
u 安装Nginx
tar zxvf nginx-0.8.34.tar.gz
cd nginx-0.8.34/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
2、 把所有的rpm包都放到nginx的一个网页目录下,并保证能正常访问,并配置
u 挂载光盘盘到/mnt/cdrom/
mount /dev/cdrom /mnt/cdrom/
或者将ISO文件挂载到该目录下,
mount -o loop -t iso9660 /home/zhang/CentOS-5.5-x86_64-bin-DVD-1of2.iso /mnt/cdrom
u copy所有的rpm包到/usr/local/nginx/html/CentOS目录
cp -r /mnt/cdrom/CentOS/ /usr/local/nginx/html/
u 配置nginx,使用户能访问所有的rpm包,添加如下内容,IP注意自行修改
server
{
listen 80;
server_name 192.168.3.201;
index index.html index.htm;
root /usr/local/nginx/html/;
access_log /usr/local/nginx/logs/CentOS_access.log access;
location / {
autoindex on;
}
}
验证,http://192.168.3.201/CentOS看看能不能访问
3、 把认证文件放到nginx的一个网页目录下,并保证能正常访问
cp /mnt/cdrom/RPM-GPG-KEY-CentOS-5 /usr/local/nginx/html/CentOS/
4、 用createrepo命令创建yum仓库,把yum源发布
运行这个命令之前,需要安装createrepo-0.4.11-3.el5.noarch.rpm包,
rpm –ivh /mnt/cdrom/CentOS/createrepo-0.4.11-3.el5.noarch.rpm
createrepo /usr/local/nginx/html/CentOS
5、 配置yum客户端
编辑客户端中的yum配置文件
vi /etc/yum.repos.d/CentOS-Base.repo,清空该文件后添加如下内容:
[base]
name= CentOS 5.5 64 BIT
baseurl=http://192.168.3.201/CentOS
gpgcheck=1
gpgkey=http://192.168.3.201/CentOS/RPM-GPG-KEY-CentOS-5
6、 测试
yum –y install httpd 看看能否自动安装软件
总结:至此,已经将如何在本地设置yum源介绍完了,大家可以在本地挑选一套服务器才用第二中方式建议一个本地yum源,以后如果某一台linux机器yum需要安装软件直接设置本地的源就可以了,非常方便!
原文:http://www.cnblogs.com/sandea/p/4395501.html