最近在开发的时候使用到了堡垒机,说下堡垒机是啥?堡垒机实际上是一个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小白到能知道怎么使用命令拉源码创建用户名等等,还是有很大的进步