经常遇到有的linux服务器由于特殊原因,不能连接外网,但是经常需要安装一些软件,尤其是在编译一些包的时候经常由于没有安装一些依存包而报的各种各样的错误,当你找到依存的rpm包去安装的时候,又提示你有其他的依存包没有安装,非常烦人。记得刚开始玩linux的时候曾经因为要安装一个包安装了一上午而大为恼火,折磨得人几乎崩溃!

我们知道linux下有一个很好的工具,为我们广大的工作在linux平台下的劳苦大众带来了福音,那就是大名鼎鼎的yum软件。在可以连网的时候非常方便,那么我们如何在不能连接外网的情况下使用yum来方便的安装软件呢?

本文就来向您详细介绍如何在本地或者局域网使用yum,本文以centos为例,本文的案例在centos5.5 64bit下成功部署。在本地或者局域网使用yum主要有以下两种方式:

一、使用光盘直接挂载到本地的方式

这种方式优点是速度快,操作简单。缺点是如果设置多个服务器则需要多次挂载

首先我们来看使用光盘直接挂载到本地的方式,安装步骤如下:

  1. 挂载光盘到/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

  1. 编辑/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

  1. 移除默认的网络源的配置文件(如果有的话)

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

  1. 做完以上操作以后,就可以来测试了

yum clean all                #清除缓存及旧的包
yum install -y httpd   #测试是否能安装软件

只需以上简单的4步,就能在本地使用自己建的源了,够简单吧!

二、  使用nginx或者apacheweb 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需要安装软件直接设置本地的源就可以了,非常方便!

Linux在本地使用yum安装软件的更多相关文章

  1. Linux在本地使用yum安装软件(转)

    经常遇到有的linux服务器由于特殊原因,不能连接外网,但是经常需要安装一些软件,尤其是在编译一些包的时候经常由于没有安装一些依存包而报的各种各样的错误,当你找到依存的rpm包去安装的时候,又提示你有 ...

  2. Red Hat Enterprise Linux Server(RHEL) yum安装软件时This system is not registered with RHN. RHN support will be disabled. 的解决方法(转)

    新安装了redhat6.5.安装后,登录系统,使用yum update 更新系统.提示: This system is not registered to Red Hat Subscription M ...

  3. linux rpm yum 安装 软件

    rpm 安装: 1.rpm包的了解:  rpm  安装  升级  删除 rpm -ivh  ****.rpm   安装 rpm -Uvh  ****.rpm  升级 rpm -e name    删除 ...

  4. Linux之保留yum安装软件后的RPM包

    yum安装软件很方便,但是下载下来的rpm包在安装后默认会被删除掉: 如果希望保留yum安装的软件包该如何做呢? 设置方法: 将/etc/yum.conf里对应的keepcache参数改为1即可,然后 ...

  5. linux 基本命令___0003 字符串处理和yum安装软件的路径

    字符串变量的处理 参考链接:SHELL字符串处理技巧 计算字符串的字符数量: ${#str} str="xxx-Lane1_S2_L001_R1_trim.fastq" echo ...

  6. Linux - yum 安装软件时被 PackageKit 锁定

    问题描述 yum 安装软件的时候报错 sudo yum install netease-cloud-music 已加载插件:fastestmirror, langpacks /var/run/yum. ...

  7. CentOS下成功挂载xxxxxDVDx.iso并使用yum安装软件

    CentOS下成功挂载xxxxxDVDx.iso并使用yum安装软件 **不断尝试,终能到达彼岸** 测试环境为Win7 32位,VirtualBOx4.2.16+CentOS6.5,可分别到virt ...

  8. Linux 中如何用源代码安装软件,以及如何卸载它

    https://www.linuxidc.com/Linux/2017-12/149839.htm http://www.openssh.com/ http://www.openssh.com/por ...

  9. CentOS中yum安装软件时报错:No package XXX available

    yum 安装软件时,报错:No package XXX available. [root@localhost ~]# yum -y install redis Loaded plugins: fast ...

随机推荐

  1. NOIP2011选择客栈

    n家客栈,1~n编号,每家按照某一种色调装饰,共k种,每家客栈都设有咖啡店,每家咖啡店均有各自的最低消费两位游客,要求住在颜色相同,且不是同一个客栈,在两人的客栈间选择咖啡店(包括他们住的客栈),要求 ...

  2. SPOJ BGSHOOT - Shoot and kill (线段树 区间修改 区间查询)

    BGSHOOT - Shoot and kill no tags  The problem is about Mr.BG who is a great hunter. Today he has gon ...

  3. Codeforces Round #283 (Div. 2) D. Tennis Game(模拟)

    D. Tennis Game time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  4. RabbitMQ生产部署指南

    像RabbitMQ这样的数据服务通常有许多可调参数.一些配置对开发有很大的意义,但并不适合生产,本指南旨在为此提供帮助 虚拟主机 例如,在单租户环境中,当您的RabbitMQ集群专门为生产中的单个系统 ...

  5. 指定等级 Exercise07_01

    import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:指定等级 * */ public class Exercise07_01 ...

  6. Radius报文解析(转)

    RADIUS ,是远程认证拨号用户服务的简称.RADIUS原先设计的目的是为拨号用户进行认证和计费.后来经过多次改进,形成了一项通用的认证计费协议,主要完成在网络接入设备和认证服务器之间承载认证.授权 ...

  7. React Native之ES5/ES6语法差异对照表

    很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教 ...

  8. python列表和分片

    列表的分片 str = " print("打印第0个元素:" ,str[0]) print("负数表示倒数第N个元素,-1表示倒数第一个元素:" ,s ...

  9. OpenDigg - 挖掘优质开源项目库

    OpenDigg - 挖掘优质开源项目库 OpenDigg专注于挖掘优质的开源项目库,通过技术和人工将软件项目分类整理,同时辅助简要的编译,方便广大程序员便捷地找到需要的开源项目. OpenDigg刚 ...

  10. Devexpress汉化修改 已经汉化过后生成的*.resources.dll文件 z

    Devexpress 是很好的第三方控件.但是需要汉化,在从网上下载的zh-CN文件夹里都是*.resources.dll文件,由于汉化的工作量很大,难免有些地方汉化 错误或者不合适(如下图).花了些 ...