实验室工作中需要时常安装、更新linux下的相关包,由于内部网络限制,使用官方yum安装变得很困难。另外网速这个是硬伤。所以将实验室用到的一些相关源镜像到本地,方便大家工作。
nginx服务搭建
选择nginx作为web服务,小巧轻便。操作系统:CentOS 6.x
nginx安装
添加nginx源
#
vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1安装nignx
#
yum info nginx
yum install -y nginx
nginx配置
Nginx目录浏览功能,在http {下面添加以下内容:# vi /etc/nginx/nginx.conf
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
启动Nginx服务
# |
缺省是一个master,一个slave,可以在配置nginx.conf文件里调整。
设置开机自动启动
# |
开放端口
# |
镜像同步
源地址
- CentOS官方标准源:rsync://mirrors.kernel.org/centos,rsync://mirrors.ustc.edu.cn/centos/
- rpmforge源:rsync://ftp-stud.fht-esslingen.de/dag,rsync://mirrors.ispros.com.bd/repoforge/
- epel源:rsync://mirrors.kernel.org/fedora-epel,rsync://mirrors.ustc.edu.cn/epel/
- cpan源:rsync://mirrors.ustc.edu.cn/CPAN/
- ceph源:rsync -avrt rsync://ceph.mirror.iweb.ca/ceph
- openstack源:rsync -avrt rsync://repos.fedorapeople.org/people-repos/openstack
- mariadb源: rsync -a –partial –delete-after –delay-updates rsync.osuosl.org::mariadb,rsync -avP archive.mariadb.org::mariadb
rsync://mirror.aarnet.edu.au/pub/MariaDB - percona源 rsync -avrt rsync://rsync.percona.com/rsync /mirror/percona/
rsync安装
# |
添加脚本定时执行任务
# |
Ubuntu源同步
安装apt-mirror
# |
配置说明
目前Ubuntu的主要版本有5个,具体如下:
Ubuntu 15.04 (Vivid Vervet)
Ubuntu 14.10 (Utopic Unicorn)
Ubuntu 14.04.3 LTS (Trusty Tahr)
Ubuntu 12.04.5 LTS (Precise Pangolin)
Ubuntu 10.04.4 LTS (Lucid Lynx)
下面就构建Ubuntu 14.04 64bit的本地Ubuntu mirror服务器为例子,来说明如何配置:
# |
备注:
deb-amd64 表示下载64bit 版本的deb 软件;
precise 表示Ubuntu 12.04的代号;
只下载precise ,大约需要43GB的存储空间;
下载precise-backports precise-proposed precise-security precise-updates,估计需要75GB的空间。
同步镜像
设置完成后,然后新建一个screen终端(个人习惯),用于后台运行镜像同步。
# |
这时系统会启动20个线程运行wget 到 http://mirrors.sohu.com/Ubuntu 下面下载相应的deb包。时间比较的长,该命令执行完成后,/var/spool/apt-mirror目录下就有了所有需要的deb包和相应的配置文件。
这里使用nginx作为Web服务器,默认根目录在/usr/share/nginx/html/,所以可以在该目录下做个链接,如下所示:#
cd /usr/share/nginx/html
ln /mirror/apt-mirror/mirror/mirrors.sohu.com/ubuntu -s
配置自动同步
使用crontab进行每天的更新,修改配置文件:#
cat /etc/cron.d/apt-mirror
# Regular cron jobs for the apt-mirror package
0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
系统会自动使用apt-mirror去和sohu服务器更新。
配置客户端
在其它的服务器上修改APT源地址为该服务器的IP,如”192.178.102.249”,然后使用本地镜像服务了。$ sudo sed -i s/security.ubuntu.com/192.178.102.249/g /etc/apt/sources.list
$ sudo sed -i s/archive.ubuntu.com/192.178.102.249/g /etc/apt/sources.list
$ sudo apt-get update
Openstack源同步
centos、redhat
#
rsync -avrt rsync://repos.fedorapeople.org/people-repos/openstack /mirrorubuntu
OpenStack(juno,kilo,liberty源)
方法同制作ubuntu源,需要修改源地址为deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/icehouse main
deb-src http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/icehouse main
deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/juno main
deb-src http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/juno main
deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/kilo main
deb-src http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/kilo main
deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/liberty main
deb-src http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/liberty main
ln -s /mirror/apt-mirror/mirror/ubuntu-cloud.archive.canonical.com/ubuntu/ /usr/share/nginx/html/openstack-ubuntu
CloudStack源同步
官方提供了CloudStack镜像服务器rsync服务,我们只要参考官方文档进行相关配置将其同步下来即可。
官方文档(但是存在错误),应该按照下面的来:#
mkdir -p /mirror/cloudstack
cd /mirror/cloudstack
rsync -avr --delete cloudstack.apt-get.eu::cloudstack
//For Debian/Ubuntu:
rsync -avr --delete cloudstack.apt-get.eu::cloudstack/ubuntu .
//For RedHat/CentOS
rsync -avr --delete cloudstack.apt-get.eu::cloudstack/rhel .
备注:rsync 参数解释:-a 参数,相当于-rlptgoD,-l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;-r 是递归,-v 传输时的进度等信息;
配置本地yum源
挂载镜像
# |
生成YUM通用数据库(可选)
# |
配置本地yum源
# |
常用的yum命令
安装
yum install package 安装指定的安装包package1
yum localinstall package 本地安装软件包更新和升级
yum update 全部更新
yum update package 更新指定程序包package
yum check-update 检查可更新的程序查找和显示
yum info 显示安装包信息
yum list 显示所有已经安装和可以安装的程序包
yum list 显示指定程序包安装情况
yum search 查找软件包删除程序
yum remove | erase package1 删除程序包
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除.
yum clean headers清除header
yum clean packages清除下载的rpm包
yum clean all 清除header与rpm包