总结了几个小技巧,用于在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. pytest文档57-计算单元测试代码覆盖率(pytest-cov)

    前言 我们在做测试的时候,经常遇到领导的灵魂拷问:你的测试用例覆盖率是多少,达到100%了么?你如何保证你的测试质量? 测试用例的覆盖率如何统计呢,如何知道开发的代码,我们都测到了,不会存在漏测的情况 ...

  2. selenium元素定位学习笔记

    一,定位原则 稳定 简单灵活 唯一 WebDriver提供了两种方式来定位页面元素,分别是find_element_by_XXX和find_elements_by_XXX.第一种方式的结果是在正常情况 ...

  3. 【二分图】HEOI2012 朋友圈

    题目内容 洛谷链接 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着. 一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大 ...

  4. SQL Server Management Studio (SSMS)单独安装,仅安装连接工具

    简单来说,SSMS是用于远程连接数据库与执行管理任务的一个工具.当安装SQL SERVER时,会默认安装.但也可以单独安装在不是数据库服务器的主机上. SQL Server Management St ...

  5. Anno 框架 增加缓存、限流策略、事件总线、支持 thrift grpc 作为底层传输

    github 地址:https://github.com/duyanming/dymDemo dym 分布式开发框架 Demo 熔断 限流 事件总线(包括基于内存的.rabbitmq的) CQRS D ...

  6. beego增删改查

    package main import ( "fmt" "github.com/astaxie/beego/orm" _ "github.com/go ...

  7. 第三十五章 Linux常规练习题(二)参考答案

    一.练习题一 1.删除用户基本组shanghai03.发现无法正常删除,怎样才能将其删除掉,不能删除用户. groupdel shanghai03 移除其所属组的用户 2.打开多个xshell窗口连接 ...

  8. 操作系统OS基础

    OS: Operating System 操作系统,通用目的的软件程序 主要功能:硬件驱动 进程管理 内存管理 网络管理 安全管理 文件管理OS分类:服务器OS:CentOS,Ubuntu,Windo ...

  9. 【转】time 模块详解(时间获取和转换)

    转自鱼C论坛--https://fishc.com.cn/forum.php?mod=viewthread&tid=51326&highlight=time time 模块 -- 时间 ...

  10. CSS实现鼠标移入弹出下拉框

    前言 最近比较沉迷CSS,所以我现在来做个鼠标的交互效果 HTML <ul> <li>测试</li> <li>测试</li> <li ...