yum软件在可以连网的时候安装软件非常方便,但当linux服务器在不能连接外网的情况下需要安装一些软件时,尤其是在编译一些包的时候经常由于没有安装一些依存包而报的各种各样的错误,但是又没法使用yum的网络源,这时候本地yum源就尤为关键。以下是以CentOS 5.5下成功部署本地yum的两种方式,仅供参考。
1.使用光盘直接挂载到本地的方式
优点:速度快,操作简单。
缺点:如果设置多个服务器则需要多次挂载。
(1)挂载光盘或ISO文件
mount /dev/cdrom /mnt/cdrom/ // 挂载光盘到/mnt/cdrom/
或者挂载ISO文件到/mnt/cdrom
mount -o loop -t iso9660 iso文件路径 /mnt/cdrom
(2)修改.repo文件
vi /etc/yum.repos.d/CentOS-Media.repo
[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
(3)移除默认的网络源的配置文件(如果有的话)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
(4)清除缓存,用本地源安装
yum clean all // 清除缓存
yum install -y httpd
2.使用nginx或者apache等web server在局域网发布本地yum源
优点:只需搭建一次源。
缺点:操作较复杂。
(1)安装Nginx
- 安装Nginx所需的pcre库
tar zxvf pcre-8.01.tar.gz
cd pcre-8.01/
./configure
make && make install
cd ../
- 安装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)挂载光盘或ISO文件
mount /dev/cdrom /mnt/cdrom/ // 挂载光盘到/mnt/cdrom/
或者挂载ISO文件到/mnt/cdrom
mount -o loop -t iso9660 iso文件路径 /mnt/cdrom
(3)拷贝光盘或ISO文件中的RPM包
把所有的rpm包都放到nginx的一个网页目录下,保证能正常访问,并配置
cp -r /mnt/cdrom/CentOS/ /usr/local/nginx/html/
// copy所有的rpm包到/usr/local/nginx/html/CentOS目录
(4)配置nginx,使用户能访问所有的rpm包
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;
}
}
- 把认证文件放到nginx的一个网页目录下,保证能正常访问
cp /mnt/cdrom/RPM-GPG-KEY-CentOS-5 /usr/local/nginx/html/CentOS/
(5)用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
(6)配置yum客户端
编辑客户端中的yum配置文件
vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name= CentOS 5.5 64 BIT
baseurl=
gpgcheck=1
gpgkey=/RPM-GPG-KEY-CentOS-5
(7)本地yum源安装
yum –y install httpd
服务器租用托管,机房租用托管,主机租用托管,https://www.e1idc.com