为Linux Cluster建立一个自定义的Yum源

本文详细介绍了如何为CentOS建立官方源镜像,包括设置定时同步,配置yum仓库,以及如何建立第三方源如Fedora Epel源和自定义源,以优化企业环境下的软件部署效率。

http://tech.ddvip.com/2012-06/1339583665177163.html

Linux Cluster,最初安装的操作系统是CentOS 5.1 x86_64,到目前已经逐渐升级到了CentOS 5.6。

  在运维过程中,经常需要安装、升级各种软件,而安装、升级软件最方便的办法,莫过于使用CentOS的yum机制了。

  安装和升级软件是管理员最常见的工作之一,如果每台机器都从官方网站升级软件,单位的40M带宽根本无法满足要求。所以必须建立一个CentOS官方的镜像站。另外FedoraEpel源也有很大的用处。

  国内的两大门户站点,网易和搜狐对开源软件支持力度都很大。分别建立了mirrors.163.com和mirrors.sohu.com两个镜像站点。其中搜狐的站点还支持rsync同步协议。而且速度极快。

  首先我们要建立一个CentOS官方的镜像,修改/etc/crontab文件,添加如下一行。

  45 4 * * * root /usr/bin/rsync -H -aPS --delete --exclude SRPMS

  --exclude apt --exclude build --exclude screenshots --exclude testing

  --exclude s390 --exclude s390x --exclude alpha --exclude ia64

  --exclude debug O --exclude i386 --exclude ppc --exclude ppc64

  --exclude development --exclude core --exclude test --exclude Live

  --exclude testing --exclude iso --exclude isos

  rsync://mirrors.sohu.com/centos/5.6/ /var/ftp/yum/centos56/

  这一行代表系统会在每天的凌晨4点45分,和sohu的镜像站同步一次,这个时间单位基本无人上网,所以网速很快。另外由于我们只用64位的Linux系统,所以就无需下载i386、ppc等架构的软软件包。生产系统也无需使用development、test等版本。

  和这个源相配套,客户机上的/etc/yum.repos.d/CentOS-Base.repo 文件是这样格式的

  [base]

  name=CentOS-$releasever - Base

  baseurl=ftp://192.168.0.100/yum/centos56/os/x86_64

  gpgcheck=1

  enable=1

  gpgkey=ftp://192.168.0.100/yum/centos56/os/x86_64/RPM-GPG-KEY-CentOS-5

  [updates]

  name=CentOS-$releasever - Updates

  baseurl=ftp://192.168.0.100/yum/centos56/updates/x86_64

  gpgkey=ftp://192.168.0.100/yum/centos56/os/x86_64/RPM-GPG-KEY-CentOS-5

  enable=1


  主要的改动就是去掉文件中原有的mirrorlist=项,直接使用basurl=项即便除掉了很多非必要的东西,我们的CentOS的容量也有8G之多。初次同步的时候,需要很长时间,以后每天同步更新,基本10分钟之内就可以完成。除非当天突然发布了很多补丁。

  再/etc/crontab中再增加下面一行,用于每天同步更新Epel的源。

  45 5 * * * /usr/bin/rsync -H -aPS --exclude ppc --exclude i386

  rsync://mirrors.sohu.com/fedora-epel/5/ /var/ftp/yum/epel/5/

  和epel源对应的/etc/yum.repos.d/epel.repo写法如下

  [epel]

  name=Extra Packages for Enterprise Linux 5 - $basearch

  baseurl=ftp://192.168.0.100/yum/epel/5/$basearch

  failovermethod=priority

  enabled=1

  gpgcheck=1

  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

  除去使用一些别人做好的repo之外,有时可能还需要建立一个自定义的源,例如我们每台机器都要安装BioPerl(Bio代表生物,亦即和生命科学相关的Perl库)包,有些带Infiniband的机器要安装OFED相关的包。这样就还需要自定义一个源。

  以BioPerl为例,我的做法是从Fedora源中现在相应的源代码包,格式是src.rpm,例如perl-bioperl-VERSION.src.rpm

  首先安装之:

  rpm -ivh perl-bioperl-VERSION.src.rpm

  然后进入指定目录:

  cd /usr/src/redhat/SPEC

  建立自己的RPM包:

  rpmbuild -bb perl-bioperl.spec

  执行这个命令之前,可能需要先安装一系列需要依赖的包才可以。bioperl也依赖于一系列软件包,这样要rpmbuild很多的src.rpm才行。最终build出一系列rpm包。将所有build好的rpm包拷贝到ftp服务器的同一目录下,例如

  /var/ftp/yum/nibs

  然后进入这个目录执行:

  createrepo ./

  这样会自动生成一个repodata目录,并在该目录下生成文件列表的索引。

  其他机器上如果要使用这个自定义的源,可以在/etc/yum.repos.d/中添加如下内容的nibs.repo文件

  [nibs]

  name=Extra Packages for Enterprise Linux 5 - $basearch

  baseurl=ftp://192.168.44.44/yum/nibs

  failovermethod=priority

  enabled=1

  gpgcheck=

  #gpgcheck=0

  如果自己build的rpm文件加入了数字签名,可以在上述文件中增加一行 :

  #gpgcheck=1

  通过上面的描述,大家已经看到如何为CentOS建立一个官方源的镜像、如何建立一个第三方源--例如Fedora Epel源的镜像。另外还看到了如何建立一个自定义的源的方法。希望能对读者有所帮助

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制问题,并提供完整的Matlab代码实现。文章结合数据驱动方法与Koopman算子理论,利用递归神经网络(RNN)对非线性系统进行建模与线性化处理,从而提升纳米级定位系统的精度与动态响应性能。该方法通过提取系统隐含动态特征,构建近似线性模型,便于后续模型预测控制(MPC)的设计与优化,适用于高精度自动化控制场景。文中还展示了相关实验验证与仿真结果,证明了该方法的有效性和先进性。; 适合人群:具备一定控制理论基础和Matlab编程能力,从事精密控制、智能制造、自动化或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能控制设计;②为非线性系统建模与线性化提供一种结合深度学习与现代控制理论的新思路;③帮助读者掌握Koopman算子、RNN建模与模型预测控制的综合应用。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现流程,重点关注数据预处理、RNN结构设计、Koopman观测矩阵构建及MPC控制器集成等关键环节,并可通过更换实际系统数据进行迁移验证,深化对方法泛化能力的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值