经常遇到有的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. noi题库 1.7 字符串 10到第15题

    10:简单密码 描述 Julius Caesar曾经使用过一种很简单的密码.对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文.比如字符A用F来代替.如下是密文和明文中字符 ...

  2. RPD Volume 168 Issue 4 March 2016 评论4

    Non-vascular interventional procedures: effective dose to patient and equivalent dose to abdominal o ...

  3. Forward与include的区别

    Forward与include的区别 <jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入. < ...

  4. 【网络流】【Dinic】【最大流】bzoj3396 [Usaco2009 Jan]Total flow 水流

    #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using ...

  5. SQLSERVER WINDBG调试:mssqlwiki.com

    https://mssqlwiki.com/2012/10/16/sql-server-exception_access_violation-and-sql-server-assertion/ SQL ...

  6. Word绘制跨行表格

    如图“用户评价电影数目”,我们需要均分第一行,选中这三个个,设置了表个高度0.5cm,但是发现上面的一个比较考上,我们需要找到水平竖直居中,那么双击表格,打开表格工具,有设计和布局,切换到布局就找到了 ...

  7. struts2,action上传文件

    通过servlet实现文件上传,可以用用servlet接受到request的值的话:主要是这句话 List<?> items = upload.parseRequest(request); ...

  8. Laravel 5系列教程四:数据库和Eloquent

    免费视频教程地址https://laravist.com/series/laravel-5-basic 上一篇写了一些Laravel Blade的基本用法和给视图传递变量的几种方式, 这一节我们来说说 ...

  9. [Linux]屏幕输出控制

    专门的术语叫做ANSI Escape sequences(ANSI Escape codes),题目并不恰当,与其说是屏幕输出控制,不如说是通过bash在兼容VT100的终端上进行输出. 主要有以下类 ...

  10. windows下curl报错:curl : (1) Protocol https not supported or disabled in libcurl

    如果命令语句中有单引号,改为英文双引号试一下