Centos下自建本地yum仓库

Centos系统中安装软件主要有yum安装和源码安装两种,源码安装的优势在于你可以根据你的需要自定义很多安装参数,但是他有个缺点就是每次都需要执行./configure && make && make install 以及当你需要卸载某个软件的时候你可能无法完全卸载干净,于是对于大多数情况来说,yum安装就成了最好的选择。centos官方的源一般是很慢的,因为是国外的,所以你可以选择用国内一些著名的比较官方的源,比如新浪,阿里,等等,当然你还可以选择自己搭建你的yum仓库,其实很简单,没有你想象的那么难。本文就简单介绍一下,如何搭建本地的yum仓库。

一,环境准备:

两台虚拟机,系统为Centos6.5.

192.168.1.22为yum仓库以下简称为A,需要安装apache或者nginx,或者其它的web服务。

192.168.1.23为实验机器以下简称为B。

二,建立仓库:(在A上执行)

这里采取HTTP的方式传输yum文件,因此我们建立一个总目录,同时建立一个虚拟主机。

mkdir /www/yum

mkdir -p 6.5/i386  6.5/x86_64  6.6/i386  6.6/x86_64  5.8/x86_64  5.8/i386

最简单的方式是将rpm包全部放在yum目录下,但是实际生产环境中我们可能需要区分不同的操作系统版本,比如5.8和6.5,6.6,还有不同的位数32位或64位,因此我们在yum目录下建立这些子目录。最终效果类似于:

tree /www/yum

├── 5.8

│   ├── i386

│   └── x86_64

├── 6.5

│   ├── i386

│   └── x86_64

└── 6.6

├── i386

└── x86_64

接下来增加一个虚拟主机文件,我用的是nginx,配置如下:

server

{

listen       8001;

server_name  fangqi.veone.cn

index index.html index.htm index.php;

root  /www/yum;

access_log  off;

}

别忘了reload。

如果你没有域名,你可以任意定义 比如yum.123.com,然后将这个域名和IP绑到B的/etc/hosts中。

这里我用的公网域名。实际生产环境中一般可以选择解析在内网DNS中。

接下来就可以放包了,将准备好的rpm包放到/www/yum/6.5/x86_64/路径下,

网上随便下一个包,我用的是lrzsz-0.12.20-1.x86_64.rpm

下一步是关键的一步,

cd www/yum/6.5/x86_64/

yum -y install createrepo

createrepo ./

这个命令可能会报错:

Traceback (most recent call last):

File "/usr/share/createrepo/genpkgmetadata.py", line 28, in <module>

import createrepo

ImportError: No module named createrepo

这是因为python版本被升级过的问题,进入genpkgmetadata.py,将首行的版本指定改为旧的路径即可,如:我原来是2.6的版本,后来升级成2.7版本,此时只需要将#!/usr/bin/python 改为#!/usr/bin/python2.6 ,然后再次执行此命令即可。

执行成功的输出:

Spawning worker 0 with 1 pkgs

Workers Finished

Gathering worker results

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Sqlite DBs complete

你会发现当前路径出现了一个repodata的文件夹,此时表示该yum仓库已经建立完毕了。

事实上我们之前定义的子文件夹,都是一个独立的yum仓库,因此都需要执行一下createrepo 这个命令,来生成yum仓库。

三,配置yum源:(在B上执行)

cd /etc/yum.repos.d

先备份原来的源,然后创建新的文件:

vi Centos-6.5.repo

写入

[CentOS-6.5]

name=CentOS-6.5

baseurl=http://fangqi.veone.cn:8001/6.5/x86_64

gpgcheck=0

最主要的baseurl不要写错。

然后更新本地yum缓存:

sudo yum clean all

sudo yum makecache

此时可以查询一下lrzsz应用:

yum list lrzsz

正常情况是可以看到结果的

如果能查询其他应用,例如gcc:

会提示no matching pachages to list

然后安装:

yum install -y lrzsz

测试lrz,lsz(rz,sz)命令。

到这一步基本就完成了,如果以后还要增加包,别忘了重复这三步:在源仓库执行createrepo,然后在服务器上执行yum clean all && yum makecache,看起来是有点繁琐,你可以尝试写脚本和灵活使用crontab来解决。

另外,每个不同的系统

最后,如果你不想这么麻烦,那么干脆使用阿里的yum好了,虽然我觉得挺简单的。

简单暴力三步曲如下:

第一步:备份你的原镜像文件,以免出错后可以恢复。

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

第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 5

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

第三步:运行yum makecache生成缓存

yum clean all

yum makecache

然后就尽情安装吧。

时间: 2025-01-01 10:09:38

Centos下自建本地yum仓库的相关文章

Centos 6.5创建本地YUM仓库

本地搭建本地yum源采用的rpm全部来自CentOS-6.5-bin-DVD1&DVD2; 我的是在虚拟机环境安装,先检查我的操作系统版本: [[email protected] ~]$ uname -m i686 [[email protected] ~]$ cat /etc/centos-release  CentOS release 6.5 (Final) 3. 因为配置本地yum源需要修改/目录下的文件及/etc下面的配置文件,建议更换到root用户:"su -" 4.

2.5-搭建本地yum仓库

编辑/etc/yum.repos.d/Centos-Media.repo [wyp-cd]                 显示在yum list右侧的仓库信息 name=cd                  yum源的名称标示,可以去掉 baseurl=file:///media/   仓库路径 gpgcheck=0               关闭校验 enabled=1                开启仓库

CentOS7搭建本地YUM仓库,并定期同步阿里云源

CentOS7同步阿里云镜像rpm包并自建本地yum仓库 系统环境 # cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) # uname -r 3.10.0-957.el7.x86_64 # ip a |awk 'NR==9{print $2}'|awk -F '/' '{print $1}' 10.0.0.100 修改yum源为阿里云源 备份系统自带的yum源 # tar -zcvf CentOS-bk.tar.gz /e

linux下yum常用方法及本地yum仓库的搭建

yum--rpm包管理工具 使用方法: yum install -y vim-enhanced     (安装 vim-enhanced 包) yum remove  vim-enhanced     (卸载 vim-enhanced 包) yum list     (列出rpm包库,网络资源) yum list |grep vim     (列出带vim字符的包,包带@的是已经安装过的,没有带的是还未安装过的) yum update     :     yum upgrade     (升级系

centos 创建本地yum源搭建本地yum仓库 亲测可用

现在如果我们需要大规模部署洗个系统,或者系统需要安装一个什么软件如nginx之类的软件.有的时候你的环境限制你上外网,或者是外网很慢的时候.我们考虑搭建本地yum仓库,内网机器可以直接快速安装所需的软件,解决linux下面的包的依赖,方便,快捷. 下面我们来搭建一下根底yum仓库: 系统:centos6.5 搭建yum仓库有很多种方法,我们这里使用yum插件yum-downloadonly插件来下载我们所需的rpm包.使用createrepo来创建仓库文件. 开始: 我们需要安装zabbix监控

ubuntu 制作本地yum仓库

ubuntu 制作本地yum仓库 笔者: 张首富 W X: y18163201(请备注) qq群:895291458 时间:2019-01-31晚 今天到某银行进行软件部署的时候,碰到所有电脑都不允许联网的要求,我们的服务器带过去还不能用我们自己的硬盘,必须使用它们银行内部提供的硬盘,这就意味着我需要重新安装服务器系统,需要重新部署我们的软件环境,这些都小意思(no problem),但是最大的问题是我不能联网,不能联网,不能联网.这就意味着我所有需要在线安装的软件都必须在本地完成.于似乎我有想

linux mini模式下如何制作本地yum源,并用远程工具安装 vim

linux mini模式下如何制作本地yum源,并用远程工具安装 vim 打开虚拟机 启动centos 系统 点右下角的光盘图标 出现连接(或是断开).设置,下拉菜单,选择 "设置" 在虚拟机设置对话框内如图所示 [[email protected] ~]# vim -bash: /usr/bin/vim: 没有那个文件或目录 光盘挂载: 查看系统中所有的挂载信息 [[email protected] ~]# mount /dev/sda3 on / type ext4 (rw) pr

本地yum仓库和http方式的yum仓库。

有同学问我本地yum仓库的问题,写此文档,赠与不会安装本地yum仓库的小伙伴. 接下来讲解在局域网中搭建RedHat/CentOS本地http yum软件源的具体步骤:一.挑选局域网中的一台服务器做为http yum软件源服务器,建议关闭这台服务器的Linux防火墙以及SELINUX,避免局域网中其他服务器无法穿过其防火墙而导致访问http源.1.关闭防火墙(如果你很精通Linux防火墙亦可将80端口设置放行): # chkconfig iptablesoff 2.关闭SELNUX: # 修改S

Centos利用ISO设置本地YUM源

Centos利用ISO设置本地YUM源: 1.CentOS-Base.repo改名为CentOS-Base.repo.bak为了防止yum从网络访问 2.打开CentOS-Media.repo:编辑如下: [c5-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS_5.4_Final/ #        file:///media/cdrom/ #        file:///media/cdrecorder/