[plain] view plain copy print?
curl https://storage-googleapis.lug.ustc.edu.cn/git-repo-downloads/repo >~/bin/repo
此时查看下载下来的repo文件可以发现其中的REPO_URL已经指向中科大镜像的地址,因此应该不需要修改:
[plain] view plain copy print?
REPO_URL = 'https://gerrit-googlesource.lug.ustc.edu.cn/git-repo'
接下来运行如下命令初始化仓库
[plain] view plain copy print?
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
发现没有反应,很长时间后应该是超时才退出,报错说无法访问https://gerrit-googlesource.lug.ustc.edu.cn/git-repo/clone.bundle
把这个地址放到浏览器上尝试发现也是超时无法访问,最后好像还是指到google的官网去了,感觉应该是因为缺了什么东西,没仔细研究。
但我发现中科大镜像的Git-repo实际上是可以正常访问的,因此最后使用如下方法:
1. 使用git clone命令直接从中科大镜像下载repo工具:
[plain] view plain copy print?
git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
git clone成功后可以在git-repo目录下看到repo以及其他相关的脚本。
修改PATH环境变量将git-repo目录加入PATH
2. 修改REPO_URL
此时查看git clone下来的repo文件可以发现其中的REPO_URL还是指向google官网的,因此需要修改该文件指向中科大镜像:
[plain] view plain copy print?
REPO_URL = 'https://gerrit-googlesource.lug.ustc.edu.cn/git-repo'
3. 初始化仓库
修改完repo文件后再运行repo init命令初始化仓库就可以成功了:
[plain] view plain copy print?
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
以后就可以使用repo sync命令同步源代码了,速度很快。
你试试看看
在ubuntu 10.04 x64系统上。第一步,安装git和repo
apt-get install git-core
curl http://android.git.kernel.org/repo >/bin/repo
chmod a+x /bin/repo
第二步,建立git server
建立一个git server发布目录
mkdir /pub/gittree
安装服务器软件
apt-get install git-daemon-run
查看服务器运行情况
ps -ef|grep git
看到
119 24126 24124 0 09:36 ?00:00:00 /usr/lib/git-core/git-daemon --verbose --base-path=/var/cache /var/cache/git
修改服务器配置
vi /etc/sv/git-daemon/run
相关内容改成下面这样的
/usr/lib/git-core/git-daemon --verbose --export-all --base-path=/pub/gittree /pub/gittree
重新启动这个服务,注意,它是由sv - control and manage services monitored by runsv(8)操作的。
sv stop git-daemon
sv start git-daemon
再用ps -ef|grep git查看,改动的配置是否生效。
第三步,镜像代码库到本地目录,
mkdir /pub/gittree/android-mirror
cd /pub/gittree/android-mirror
repo init -u git://android.git.kernel.org/platform/manifest.git --mirror
第三步,镜像代码库到本地目录,
mkdir /pub/gittree/android-mirror
cd /pub/gittree/android-mirror
repo init -u git://android.git.kernel.org/platform/manifest.git --mirror
repo sync
要等很长时间,等它下载完成。如果中间有错误发生,下载中断,则要重做repo sync,会续传。
第四步,从本里代码库里取出代码,
另启一个终端窗口,
cp /bin/repo /bin/repo-local
vi /bin/repo-local
将里面的git://.....改成git://127.0.0.1/android-mirror/ 指向本地服务。
mkdir /pub/test
cd /pub/test
repo-local init -u git://127.0.0.1/android-mirror/platform/manifest.git -b froyo 这里以froyo为例下载一个分支版本。注意,这里不用repo。 git url的写法,可能有变,如在ti公司omap代码库里,就不尽相同。
vi .repo/manifests/default.xml
修改其中的fetch="git://127.0.0.1/android-mirror/" 指向本地代码库。
repo-local sync ,这里,不用repo。
mirror下来的代码库,并不一定会全,会出现某个project找不到的情况,要去补充下载。
回到之前的那个mirror的终端窗口,当前目录在 /pub/gittree/android-mirror
vi .repo/manifests/default.xml
照着样子增加一行project,写上需要的名字,保存退出。
repo sync + project name ,project的名字,就是刚在default.xml里看到的。
再回到test目录下,继纽 repo-local sync
发生过,在android-mirror里sync时,报错,指出manifest里有uncommited change,这时,将.repo目录删去,重新repo init...一次,再repo sync,原来下载的代码还在,有更新的会补充下载
一、安装http服务器这里使用Nginx服务器提供http服务
关于Nginx服务器搭建,参考:CentOS安装配置LNMP服务器(Nginx+PHP+MySQL)
二、系统约定
Nginx站点根目录:/usr/local/nginx/html
服务器执行脚本文件存放目录:/home/crontab
三、开始Nginx目录浏览功能
vi /usr/local/nginx/conf/nginx.conf #编辑配置文件,在http {下面添加以下内容:
autoindex on#开启nginx目录浏览功能
autoindex_exact_size off#文件大小从KB开始显示
autoindex_localtime on#显示文件修改时间为服务器本地时间
:wq! #保存,退出
service nginx reload #重新加载配置
参考:Nginx开启目录浏览功能
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链
安装篇:
一、创建镜像文件存放目录
mkdir -p /usr/local/nginx/html/centos #CentOS官方标准源
mkdir -p /usr/local/nginx/html/repoforge #第三方rpmforge源
mkdir -p /usr/local/nginx/html/epel #第三方epel源
说明:这里创建三个文件夹,分别存放CentOS官方标准源、第三方的rpmforge源和epel源
二、确定以上三个yum源上游源的同步镜像地址
1、CentOS官方标准源:rsync://mirrors.ustc.edu.cn/centos/
2、rpmforge源:rsync://mirrors.ispros.com.bd/repoforge/
3、epel源:rsync://mirrors.ustc.edu.cn/epel/
备注:上游yum源必须要支持rsync协议,否则不能使用rsync进行同步。
参考:
CentOS官方标准源:
rsync://mirrors.kernel.org/centos
rpmforge源:
http://apt.sw.be/
rsync://ftp-stud.fht-esslingen.de/dag
epel源:
http://mirrors.fedoraproject.org/publiclist/EPEL/
rsync://mirrors.kernel.org/fedora-epel
三、创建以上三个yum源同步脚本,并且设定脚本自动执行
mkdir -p /home/crontab #创建目录
vi /home/crontab/yum_rsync.sh #添加以下代码
#!/bin/sh
/usr/bin/rsync -avrt rsync://mirrors.ustc.edu.cn/centos/ --exclude-from=/usr/local/nginx/html/exclude_centos.list /usr/local/nginx/html/centos/
/usr/bin/rsync -avrt rsync://mirrors.ispros.com.bd/repoforge/ --exclude-from=/usr/local/nginx/html/exclude_repoforge.list /usr/local/nginx/html/repoforge/
/usr/bin/rsync -avrt rsync://mirrors.ustc.edu.cn/epel/ --exclude-from=/usr/local/nginx/html/exclude_epel.list /usr/local/nginx/html/epel/
:wq! #保存退出
chmod +x /home/crontab/yum_rsync.sh #添加脚本执行权限
备注:运行此脚本前,先要创建好同步目录及不需要同步的目录列表文件
cd /usr/local/nginx/html/ #进入目录
touch exclude_centos.list #创建文件
touch exclude_repoforge.list #创建文件
touch exclude_epel.list #创建文件
把不需要同步的目录写到上面对应的文件中,每行一个目录
例如:
vi exclude_epel.list
4/
4AS/
4ES/
4WS/
:wq! #保存退出
四、添加脚本定时执行任务
vi /etc/crontab #在最后一行添加以下代码
0 1 * * * root /home/crontab/yum_rsync.sh #设置每天凌晨1点整开始执行脚本
:wq! #保存退出
service crond restart #重启
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)