安装Repo拉取远程仓库里Android源码的操作步骤(实测可行,Ubuntu服务器)

最近在开发的时候使用到了堡垒机,说下堡垒机是啥?堡垒机实际上是一个ubuntu的操作系统,需要在上面使用linux的命令,那堡垒机呢,就是为起到一个管理资产的作用。 
那么搞清楚这个堡垒机,实际上操作起来就很方便了,如果需要拉源码,首先就要配置一系列的环境 
这里先了解下简单的linux命令,在此之前我还是linux的小白 
cd ..           回到上一级目录 
ls -a           当前目录下的文件夹,包括隐藏文件 
pwd           展示当前目录的路径 
df -h          展示系统文件磁盘使用情况 
ll                展示目录下的其他文件的属性 
cd ~           回到主目录 
mkdir         创建新的目录 
cat              查看的文件名 
su  用户名    切换到普通用户         
 
这些最简单的命令,在我拉源码的时候都有用到一定要熟悉并操作 
当然我在拉源码的时候也遇到了很多问题,都是一步一个坑踩过来的,对于小白第一次在Ubuntu上拉源码,首先一定要知道你的大容量磁盘在哪里,不然很可能全都配置好了以后,同步代码到一半就断开了,提示磁盘空间不足,就很头大。 
还有一个特别要注意的是,如果公司给了你root的权限,千万不要直接使用root拉,一定要在普通用户或者是自己用户里面拉源码,如果公司并没有在系统里给你创建用户名还需要自己使用root权限创建普通用户名 
以下命令操作: 
连接主机后通过 sudo su 命令 ,进入root权限 
执行 # adduser user 
        #passwd   user 
输入你的密码后就可以使用 su user 切换用户了(这里要注意!!!输入密码是不会进行显示的,一定要仔细!有两次确认) 
 
那么创建好自己的用户名和了解到磁盘路径后,就可以对Ubuntu进行一个Repo的安装,我们一般都是通过Repo来拉git上的源码 
1.拉取repo引导环境 (一定是普通用户,看命令符$就是普通用户,#就是超级管理员root) 
2.创建空白文件夹(一定要是大磁盘目录下) 
$ mkdir ~/.bin 
 
3.拉取引导文件,命名为repo 
$ cd ~/.bin 
$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
$ chmod a+x ~/.bin/repo


4.拉取清华的镜像库
$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/git-repo


5.然后配置相关的环境
$ export PATH=$PATH:~/.bin
$ export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'


6.验证repo是否安装成功
$ repo version
如果成功的话一般会显示版本好,如果提示以下
repo not installed>
出现这个问题不用管,python支持的问题,可以先从仓库拉代码试试,会重新下载repo并修复


7.就可以使用repo init 拉取现有的manifest ,一般源码提供的都是manifest的文件例如
$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest


8.如果在第7步骤的时候拉不下来提示如下Permission denied (publickey,keyboard-interactive) 
manifests: 
fatal: Could not read from remote repository. 

原因是因为没有配置SSH密钥的原因。 
解决办法: 
1.首先通过命令,查询当前目录下有没有密钥 
$ cat ~/.ssh/id_rsa.pub 
如果提示No such file or directory 
那么需要重新创建一个ssh 密钥,并将这个密钥复制粘贴到gitLab中 
使用命令如下 
$ ssh-keygen -t rsa -C "[email protected]"  并一直回车,直到出现 
The key's randomart image is: 
+---[RSA 3072]----+ 
|..o.o=oo+ .  ... | 
| o..+.*++. .. .  | 
|oE . = = =.+   . | 
|o     + O =.. o  | 
|     o +S=.  + . | 
|      = ...o. .  | 
|     . o .. .    | 
|      .  ..o     | 
|       .. o..    | 
+----[SHA256]-----+ 
就说明创建好了,然后执行cat ~/.ssh/id_rsa.pub 将显示出来的密钥复制到gitlab中,就完成密钥配置了 
 
9.再次使用repo init 拉取现有的manifest 
$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest 
如果提示error.GitError: manifests var:  
*** Please tell me who you are.Run 

  git config --global user.email "[email protected]
  git config --global user.name "Your Name"
 
那么需要执行,配置下git的用户名和邮箱 
$  git config --global user.email "[email protected]
$  git config --global user.name "Your Name" 
 

10.再次使用repo init 拉取现有的manifest 
$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest 
提示: 
Enable color display in this user account (y/N)? y 
repo has been initialized in 你的目录名 

这就说明repo已经完成初始化,随时可以拉取代码了 
 
11.如果觉得拉取代码很慢的,还需要去配置相关的网络提速代理 
通过 
$ vi ~/.gitconfig
$ vi ~/.netrc

插入公司提供的代理url


12.就可以同步代码了,执行
$ repo sync -j4


13.然后就是等待代码同步,过程很慢,要几个小时
此上都是在开发过程中一步步摸索爬坑总结出来了,不能截图,所以有什么不理解的也可以底下留言讨论,总的来说从linux小白到能知道怎么使用命令拉源码创建用户名等等,还是有很大的进步

猜你喜欢

转载自blog.csdn.net/qq_37870139/article/details/131115484