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
然后就尽情安装吧。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com