Linux在本地使用yum安装软件
经常遇到有的linux服务器由于特殊原因,不能连接外网,但是经常需要安装一些软件,尤其是在编译一些包的时候经常由于没有安装一些依存包而报的各种各样的错误,当你找到依存的rpm包去安装的时候,又提示你有其他的依存包没有安装,非常烦人。记得刚开始玩linux的时候曾经因为要安装一个包安装了一上午而大为恼火,折磨得人几乎崩溃!
我们知道linux下有一个很好的工具,为我们广大的工作在linux平台下的劳苦大众带来了福音,那就是大名鼎鼎的yum软件。在可以连网的时候非常方便,那么我们如何在不能连接外网的情况下使用yum来方便的安装软件呢?
本文就来向您详细介绍如何在本地或者局域网使用yum,本文以centos为例,本文的案例在centos5.5 64bit下成功部署。在本地或者局域网使用yum主要有以下两种方式:
一、使用光盘直接挂载到本地的方式
这种方式优点是速度快,操作简单。缺点是如果设置多个服务器则需要多次挂载
首先我们来看使用光盘直接挂载到本地的方式,安装步骤如下:
- 挂载光盘到/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
- 编辑/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
- 移除默认的网络源的配置文件(如果有的话)
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需要安装软件直接设置本地的源就可以了,非常方便!
Linux在本地使用yum安装软件的更多相关文章
- Linux在本地使用yum安装软件(转)
经常遇到有的linux服务器由于特殊原因,不能连接外网,但是经常需要安装一些软件,尤其是在编译一些包的时候经常由于没有安装一些依存包而报的各种各样的错误,当你找到依存的rpm包去安装的时候,又提示你有 ...
- 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 ...
- linux rpm yum 安装 软件
rpm 安装: 1.rpm包的了解: rpm 安装 升级 删除 rpm -ivh ****.rpm 安装 rpm -Uvh ****.rpm 升级 rpm -e name 删除 ...
- Linux之保留yum安装软件后的RPM包
yum安装软件很方便,但是下载下来的rpm包在安装后默认会被删除掉: 如果希望保留yum安装的软件包该如何做呢? 设置方法: 将/etc/yum.conf里对应的keepcache参数改为1即可,然后 ...
- linux 基本命令___0003 字符串处理和yum安装软件的路径
字符串变量的处理 参考链接:SHELL字符串处理技巧 计算字符串的字符数量: ${#str} str="xxx-Lane1_S2_L001_R1_trim.fastq" echo ...
- Linux - yum 安装软件时被 PackageKit 锁定
问题描述 yum 安装软件的时候报错 sudo yum install netease-cloud-music 已加载插件:fastestmirror, langpacks /var/run/yum. ...
- CentOS下成功挂载xxxxxDVDx.iso并使用yum安装软件
CentOS下成功挂载xxxxxDVDx.iso并使用yum安装软件 **不断尝试,终能到达彼岸** 测试环境为Win7 32位,VirtualBOx4.2.16+CentOS6.5,可分别到virt ...
- Linux 中如何用源代码安装软件,以及如何卸载它
https://www.linuxidc.com/Linux/2017-12/149839.htm http://www.openssh.com/ http://www.openssh.com/por ...
- CentOS中yum安装软件时报错:No package XXX available
yum 安装软件时,报错:No package XXX available. [root@localhost ~]# yum -y install redis Loaded plugins: fast ...
随机推荐
- 并查集【p1197】[JSOI2008]星球大战
Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系. 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通 ...
- 18、Django实战第18天:课程机构收藏功能
这里点击"收藏"也是ajax异步操作,我在operation.model.py中创建了一个用户收藏表,其中fav_id字段,如果我们收藏的是课程,那就是课程id,如果收藏的是课程机 ...
- MongoError: topology was destroyed解决方法
MongoError: topology was destroyed 分析得出,出现这个问题是因为,当mongodb尝试写入某个数据的时候,连接被中断了! 解决方法:检查代码中是否存在操作数据的过程中 ...
- POJ 3692 Kindergarten(最大独立集)
[题目链接] http://poj.org/problem?id=3692 [题目大意] 男生相互之间都认识,女生相互之间也都认识, 一些男生和一些女生相互之间也认识,求找出最多的人参加派对, 他们相 ...
- RowState 介绍
RowState 介绍 从不同位置载入 DataRow 后 RowState 的状态修改, 更改, 删除后的 DataRow.RowState 转化使用 AcceptChanges, RejectCh ...
- High Speed Inter-CHIP USB 2.0 PHY
转载:http://arasan.com/products/usb/usb-2-0/hsic-phy/ High Speed Inter-CHIP USB 2.0 PHY USB is the ubi ...
- 【POI】对于POI无法处理超大xls等文件,官方解决方法【已解决】【多线程提升速率待定】
本次使用POI处理xlsx文件,莫名的遇到了一个无法逾越的问题. 总共71个xlsx文件,单个文件最大达到50M以上,71个xls文件摆在那里就有3-4G的大小. 在起始处理的时候,发现原本适用于正常 ...
- Sql-简单分页
create proc proc_searchuser( @username varchar(12), @page int=1, @pagesize int=3, @totalcount int ou ...
- 想使用gevent、mysql、sqlalchemy实现python项目协程异步达到并发的效果
如题,但是查看了很多资料,都说python这边的mysql不支持异步并发,只能阻塞进行,心塞30秒,暂时放弃这方面的研究 如果不操作数据库的化,比如请求url.操作文件,还是可以用gevent来异步实 ...
- Linux设备驱动之mmap设备操作
1.mmap系统调用 void *mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset); 功能:负责把文件内容 ...