总结了几个小技巧,用于在ceph编译过程中,能够更快一点

修改clone的地址

git clone https://github.com/ceph/ceph.git

可以修改成

git clone git://github.com/ceph/ceph.git

某些时候可能可以加快一些

根据需要下载分支

假如现在想看10.2.5版本的代码

常规做法

先下载整个库

git clone git://github.com/ceph/ceph.git all

总共的下载对象数目为46万

Counting objects: 460384

这个是包含所有的分支和分支内的文件的所有版本的

我们切换到分支

[root@lab8106 mytest]#cd all
[root@lab8106 all]# git branch
* master
[root@lab8106 all]# git checkout -b all10.2.5 v10.2.5
Switched to a new branch 'all10.2.5'
[root@lab8106 all]# git branch
* all10.2.5
master
[root@lab8106 all]# ls -R|wc -l
4392
可以看到有这么多的文件

现在只复制一个分支的

[root@lab8106 mytest]# git clone -b v10.2.5 --single-branch   git://github.com/ceph/ceph.git single

总共下载的对象数目为34万

Counting objects: 344026

[root@lab8106 mytest]# cd single/
[root@lab8106 single]# git checkout -b single10.2.5
Switched to a new branch 'single10.2.5'
[root@lab8106 single]# git branch
* single10.2.5
[root@lab8106 single]# ls -R |wc -l
4392

现在只复制一个分支的最后一个版本的代码

[root@lab8106 mytest]# git clone -b v10.2.5 --single-branch --depth 1  git://github.com/ceph/ceph.git singledep1

总共下载的对象数目为3682

Counting objects: 3682

[root@lab8106 mytest]#  cd singledep1/
[root@lab8106 singledep1]# git checkout -b singledep110.2.5
Switched to a new branch 'singledep110.2.5'
[root@lab8106 singledep1]# git branch
* singledep110.2.5
[root@lab8106 singledep1]# ls -R |wc -l
4392

从上面的可以看到三个版本的代码是一致的,那么区别在哪里

  • clone:包含所有分支和分支的所有文件版本
  • clone single-branch:包含指定分支和指定分支的所有文件的版本
  • clone single-branch depth 1 :包含指定分支和指定分支的最后一个版本的文件

准备编译前的install-deps慢

提前准备好epel

yum install http://mirrors.aliyun.com/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
rm -rf /etc/yum.repos.d/epel*

装完了删除,这个是为了绕过包验证

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

删除慢速的 aliyuncs

sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo

install-deps.sh第72行的需要修改

yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/$MAJOR_VERSION/x86_64/

执行下面的命令

sed -i 's/https:\/\/dl.fedoraproject.org\/pub\//http:\/\/mirrors.aliyun.com\//g' install-deps.sh

然后执行install-deps.sh,这样会快很多的

总结

目前就这么多,后续有更多的影响速度的地方会增加上去

Ceph编译加速的小技巧的更多相关文章

  1. 编译Release版本小技巧

    原文:编译Release版本小技巧 由于项目中要部署的App有很多,每次发布一个版本后都有一堆垃圾文件,部署在众多的终端机上不注意的话十分容易搞错.记得以前在VS中是可以设置下不生成vhost和pdb ...

  2. 【UE4 调试】C++ 几种编译方法和小技巧

    编译方法 Visual Studio 2019 编译 默认编译 UnrealVS 快速编译 Editor 编译 一般 vs 编译完后,Editor会跟着热编译(有声音) 如果发现编译后代码没更新到Ed ...

  3. 新技能get√10个PS加速小技巧让你的PS不再卡

    如果你在处理较大尺寸的图片.使用像HDR.图像合成或者3D和视频等类似的功能,优化Photoshop的性能是非常关键的.这篇文章中,我会为大家介绍几种提高Photoshop性能的建议,使其在你的电脑上 ...

  4. 【Linux】make编译的小技巧

    ------------------------------------------------------------------------------------------------- | ...

  5. QT小技巧—更好管理项目(增加预编译头文件,并且指定moc文件的生成位置)good

    预编译加速编译 QT也可以像VS那样使用预编译头文件来加速编译器的编译速度.首先在.pro文件中加入: CONFIG += precompiled_header 然后定义需要预编译的头文件: PREC ...

  6. iOS工作小技巧及填坑记录

    以下是本人在iOS开发工作中使用的一些小技巧,记录一下. 1.使用XXX.pch文件便捷开发+加速Build 在IOS开发的项目中有一个XX_Prefix.pch XX_Prefix.pch:扩展名. ...

  7. Android开发的那些坑和小技巧

    1.android:clipToPadding 意思是控件的绘制区域是否在padding里面.默认为true.如果你设置了此属性值为false,就能实现一个在布局上事半功陪的效果.先看一个效果图. 上 ...

  8. Android小技巧

    一.android:clipChildren属性 效果图 看到这个图时你可以先想想如果是你,你怎么实现这个效果.马上想到用RelativeLayout?NO,NO,NO,,, 实现代码 <?xm ...

  9. iOS:小技巧(不断更新)

    记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...

随机推荐

  1. 【自学编程】新手经常遇到的10大C语言基础算法,珍藏版源码值得收藏!

    算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手.本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数 ...

  2. 最大子段和之M子段和

    最大M子段和 题目模型 N个整数组成的序列 \(a_1,a_2,a_3,-,a_n\) ,将这N个数划分为互不相交的M个子段,并且这M个子段的和是最大的. 问题分析 方法一: 看到序列,我们首先要尝试 ...

  3. utf-8和utf-8-sig的区别

    前言:在写入csv文件中,出现了乱码的问题. 解决:utf-8 改为utf-8-sig 区别如下: 1."utf-8" 是以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有 ...

  4. apache的ab压力测试介绍

    1.ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力. ab命令对发出负载的计算机要求很低,既不会占 ...

  5. 无法为数据库 'tempdb' 中的对象分配空间,因为 'PRIMARY' 文件组已满

    错误描述 消息 1105,级别 17,状态 2,第 1 行无 法为数据库 'tempdb' 中的对象 'dbo.SORT temporary run storage:  140737503494144 ...

  6. 在VMware虚拟机Ubuntu使用traceroute

    Linux traceroute命令用于显示数据包到主机间的路径 traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置. Ubuntu命令行输入: 后面 ...

  7. JMeter实战(二) 运行原理

    运行原理 如果不用工具,要做 100 并发的压力测试,得想办法组织 100 个人,每个人操作1台电脑,一声令下,100 个人同时点击,对系统造成 100 并发.现实中,很难找 100 个人和 100 ...

  8. FFmpeg 将大量图片合成为视频 video

    1.基本格式终端输入: ffmpeg -f image2 -i /home/ttwang/images/image%d.jpg tt.mp4其中/home/ttwang/images/images%d ...

  9. 上午小测1 B.序列 哈希表+数学

    题目描述 \(EZ\) 每周一都要举行升旗仪式,国旗班会站成一整列整齐地向前行进. 郭神摄像师想要选取其中一段照下来.他想让这一段中每个人的身高成等比数列,展示出最萌身高差.但他发现这个太难办到了.于 ...

  10. eclipse配置springMVC

    基础还是创建一个Dynamic web project. WEB-INF/lib中添加必需的jar. commons-logging-1.1.3.jar spring-aop-4.3.6.RELEAS ...