Linux/Deepin全流程安装指南:双显卡-Prime-docker-Nvidia_docker-日常应用
文档内容简要说明
记录个人配置deepin的完整过程
关键词:双系统、双显卡(Nvidia)配置、高分屏配置
本着Linux的开源精神,本文内容只是把找到零碎文章拷贝额不借鉴过来,整合成一篇比较流畅的指南,原文地址在文段开始之前给出link
文档修订记录
2020.05.01
创建文档及目录——Flanker
2020.05.02
完成了包括显卡驱动安装,日常软件安装的撰写——Flanker
2020.05.05
终端美化,docker安装的撰写——Flanker
2020.05.30
搬运至CSDN,什么时候搞完嵌入式大作业什么时候更docker-ROS——Flanker
正文
为什么选择Deepin
- 傻瓜式的U盘制作工具
- Linux平台最傻瓜的安装器: 不需要动分区工具、3步、5分钟装完系统
- 基于Debian滚动更新, 每年发布3~4个版本, 独立维护内核和软件仓(Ubuntu也是基于Debian)
- 独立开发了深度桌面环境:许多发行版都有人移植deepin桌面过去,因为好看
- 第一款linux产品质量级别的深度商店: 一键安装大部分精品应用
- 开发了DeepinWine以完美支持QQ、迅雷等50多款Windows应用(不过TIM最近除了点问题)
- Linux平台最好用的深度截图工具, 功能堪比QQ截图
- 可以监控进程网络、磁盘实时信息的深度系统监视器
- 和国内厂商合作开发了:搜狗输入法、有道词典、网易云音乐
安装过几次manjaro,但是显卡装爆过几次,也卡过回滚式更新出不来
用wubi装过Ubuntu,也比较方便,显卡驱动装爆了(又是Nvidia)
最近一次deepin成功,其他功能还在继续探索
不过对于我们而言,重要的是能不能满足工程需求,这一点我还在摸索,并在适当时候继续更新本文
使用的系统版本
最新的deepin-V20-beta:V20beta-release
为啥用了新的版本?或许是因为基于更新版本的Debian吧(其实是因为好看)
机型配置
作者的机型是XPS-9560,i7-7700HQ,16+2T,GTX1050,4k,在win10基础上进行安装。
可以在网站上查找自己的机型,看开发人员对其兼容性的测试结果,再考虑是否使用:兼容性良好的笔记本型号
制作启动盘
运行deepin-boot-maker.exe文件后弹出深度启动盘制作工具分别点击光盘和U盘,选择对应的镜像和U盘。此处光盘就选刚刚在官网下载的深度系统(Deepin Linux)镜像,而U盘则选择已插入电脑的准备用于做启动盘的U盘。
深度启动盘制作工具界面
选择后点开始便可开始制作启动盘,非常简单。建议在开始前勾选格式化U盘。
深度启动盘制作工具写入镜像
大约两三分钟的时间,深度系统(Deepin Linux)的系统安装U盘就已经制作妥当了。
深度启动盘制作工具写入镜像成功
这里是制作工具的下载地址:启动盘制作工具下载地址
对分区进行调整,并设置BIOS
在开始安装前,打开disk manager,分隔出两个新分区:一个8G的linux exchange格式(作为交换分区),一个64G~inf.G的ext4格式的分区(作为根目录系统安装),虽然没有交换分区也可以正常安装使用,但是一旦占满内存系统就会卡死。
对BIOS的设置进行调整:开机按f12(每个品牌不一样,需自己查询),选择进入bios设置:
- 关闭secure boot
- 检查磁盘模式:若为raid,需把raid切换为achi,这会有一个较长的转换时间。
- 使用UEFI进行启动
开始正式安装
设置之后,再次进入BIOS设置界面,选择启动盘U盘进行启动(当然要插着优盘启动咯),进入:deepin正式安装
进入安装界面,选择需要安装的语言(其实我建议英文,网上大部分参考代码都是英文)。
选择文件格式、挂载点、分配空间等。选择手动安装,选择对应分区(自动没用过,似乎会把整个硬盘格式化?(雾))
这里就要
挂载点 | 挂载点中文名 | 文件系统 | 大小 |
/ | 根分区 | EXT4(推荐) | 最少64G |
swap | 交换分区 | 不设置 | 4G内存以下分配2G,4G以上可不分配 |
点击 安装。
在弹出的确认安装窗口中,点击 确定。
将开始自动安装深度操作系统。
完成后选择立即体验,这时候会重启,注意立即拔出优盘!
双显卡安装时更改grub启动命令行(Nvidia显卡用户)
重启后会进入deepin的grub界面(如下图),注意,此时应按e进入启动命令行。
进入引导文本编辑页面
找到类似如下内容的一行
linux /boot/vmlinuz-4.9.0-deepin13-amd64 root=UUID=57d9aa6c-2452-4374-b4b8-bbd81a2975c2 ro splash quiet
在 quiet 的后面空一格 加入 acpi_osi=! acpi="windows 2009"
加好以后,按F10保存开机
这样应该就可以进入系统了(设置时区,帐号)
进入系统之后,开始设置系统
更改默认启动命令行
命令行小知识
很多操作需要管理员模式。为了让某些指令以管理员权限执行,需要在行首加“sudo”
sudo xxxxxx
并输入密码
在命令行中粘贴代码的快捷键为Ctrl+Shift+V
停止正在执行的操作Ctrl+Z
先说这么多,暂时够用了
然后打开终端(快捷键Ctrl+Alt+T),依次输入:
sudo gedit /boot/grub/grub.cfg
接着,在弹出的文本页面里,再次找到
linux /boot/vmlinuz-4.9.0-deepin13-amd64 root=UUID=57d9aa6c-2452-4374-b4b8-bbd81a2975c2 ro splash quiet
同样的在 quiet 后面空一格,加入 acpi_osi=! acpi="windows 2009"
保存,关闭
接着,在终端里输入
sudo gedit /etc/default/grub
在弹出的文本页面的末尾加入
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT "'acpi_osi=! acpi_osi="Windows 2009"'
这样以后就可以不用每次开机都重复设置了
使用显卡驱动管理器安装intel显卡驱动并切换
当然解决的根本办法还是装好对应的驱动,这里我们先安装集显的驱动:
可以在软件应用市场下载
选择使用英特尔驱动,会自动识别进行安装。
不过,这个时候系统仍然不能识别本人键盘的屏幕亮度调节宏命令。但是在系统设置中可以调节屏幕亮度,先调暗一点,装完闭源驱动后再来折腾零碎小事。
安装Nvidia闭源驱动及Nvidia-prime
接下来安装Nvidia驱动。因为Nvidia驱动闭源,所以系统不能直接安装,开源驱动nouveau又鶸,所以需要这些冗杂的步骤。
Vim的基本使用
这里插播一条vim编辑器的使用教程。一般编辑文本文件有两种编辑器,一种是gedit,一种是vim,vim的使用没有gedit那么直观,是嵌入在命令行中的。
具体学习请跳转网址,这边只说这个情形下咋用:
用户刚刚启动 vi/vim,便进入了命令模式。按下i,切换到输入模式。然后将需要输入的内容输入进去,就像正常编辑文本一样操作即可。当编辑完文本之后,按下esc,退出输入模式,切换到命令模式输入:wq即可保存推出vim(在命令模式下按下:(英文冒号)为进入底线命令模式,其后w 保存文件q 退出程序)
禁用nouveau
新建一个黑名单让系统启动的时候不去加载开源驱动
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
写入以下内容:
blacklist nouveau
options nouveau modeset=0
按ESC键,输入 :wq 保存(注意有个冒号)
重新生成 kernel initramfs:
sudo update-initramfs -u
然后重启
重新进入系统之后输入以下代码检查是否禁用成功
lsmod | grep nouveau
如果没有输出内容,证明禁用成功了。
下载run文件安装nvidia驱动
//其实网上也有使用命令行直接sudo自动安装的,但是我给装爆了,所以建议还是用tty3进行安装
确认显卡型号 使用命令
lspci | egrep "VGA|3D"
红框部分就是你的显卡型号,然后去NVIDIA官方下载对应的驱动
GeForce xx series 是台式机显卡驱动
GeForce xx series (Notebooks) 是笔记本驱动
别下错咯。
比如我这台机器是GTX1050,就按照下图这样设置
下载下来的文件是NVIDIA-Linux-x86_64-xxx.xx.run格式的
按CTRL+ALT+F3进入TTY命令行模式,帐号密码是你登陆系统的帐号和密码。
进入之后先检查之前时候安装过闭源驱动和大黄蜂方案,如果有最好卸载掉。
nvidia-smi
没输出内容证明没有安装过闭源驱动
sudo apt remove --purge nvidia* bumblebee*
安装过闭源驱动用上述方法无法卸载的,尝试
nvidia-uninstall
确认卸载完成之后,下面开始安装
先给安装包赋予运行权限
sudo chmod +x ~/Download/NVIDIA-Linux-x86_64-440.82.run
接着 切换到 运行级别3 来运行驱动安装程序(不切换好像安装不了,进安装界面就直接error)
sudo init 3
运行驱动安装程序
sudo sh ~/Download/NVIDIA-Linux-x86_64-440.82.run
安装里的选项里,只有yes和no的 选yes ,有3个选项的选择中间那个over 的,最后进度条走完那个弹窗的2个选项 选 No,到这一步就算安装完成了,不过不要重启还需要配置,这时候重启可能会黑屏
配置启动脚本
新建一个display_setup.sh
sudo vim /etc/lightdm/display_setup.sh
内容如下
#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
然后赋予权限
sudo chmod +x /etc/lightdm/display_setup.sh
然后在lightdm里配置启用这个脚本
sudo vim /etc/lightdm/lightdm.conf
找到 display-setup-script这一行,去掉前面的注释,将display_setup.sh这个目录填进去
display-setup-script=/etc/lightdm/display_setup.sh
做完这些操作就可以重启了。
如果发现重启之后无法进入桌面,按CTRL+ALT+F3进入TTY命令行模式,可以试试排错,一般来说不能进入桌面,应该是lightdm.service出了问题,可以用
systemctl status lightdm.service
来查看lightdm的状态。
还可以尝试看看日志来确认错误,一般出错的可能在ligthdm和xorg连接上,可以查看x-0.log这个文件来看看问题处在哪里。
安装nvidia-prime
dalao说用这个办法不保证成功,但是bumble-bee又出名地不好用,那就试试叭
要求:
turing架构的GPU(真自动切换,即不用时会自动关闭N卡),非turing架构(假自动切换,你会发现独显一直跑着xorg,以此来实现“自动切换”,目前本人已知pascal,maxwell架构可以使用该方案,欢迎大家测试)
NVIDIA版本:>=435.17(beta源已符合要求)
Xorg-server版本:>=1.20.6-1(beta源低于这个版本:1.20.4)
由于Xorg-server版本不符合要求,接下来需要添加源,终端执行:
sudo nano /etc/apt/sources.list.d/debian.list
然后添加进如下内容:
deb http://mirrors.ustc.edu.cn/debian/ unstable main contrib non-free
保存并退出,为了防止依赖关系混乱,还需要再执行:
sudo nano /etc/apt/apt.conf
往里面加入如下内容:
APT::Default-Release "apricot"; #这么一来,除非你自己指定使用unstable源安装软件,否则apt是不会用的
保存并退出。
接下来刷新你的源列表:
sudo apt update
升级Xorg-server:
sudo apt -t unstable install xserver-xorg xserver-xorg-core
升级完成后,还没完。安装这个包,使用dpkg -i:
sudo dpkg -i nvidia-prime.deb
下载并解压这个包,解压得到.deb包再安装(不是改后缀名!我把.deb包用tar命令给压缩了):
然后注销,重新登录,打开nvidia-settings,如果你是像下图那样显示,证明Prime已经在运作,大功告成。你可能会遇到一个提示,说要用nvidia-xconfig创建文件,不用管它。
如果因为某种原因,没有像上图那样显示,那么你需要在/etc/X11/xorg.conf中显式指定(参见Arch wiki):
sudo nano /etc/X11/xorg.conf
添加如下内容:
Section "Device"
Identifier "iGPU"
Driver "modesetting"
EndSection
Section "Screen"
Identifier "iGPU"
Device "iGPU"
EndSection
Section "Device"
Identifier "dGPU"
Driver "nvidia"
EndSection
注销重登,Prime应该会运作了。如果还不行,请在配置文件中添加BUSID参数,具体方法参考Arch wiki。
有些应用会自动调用你的独显运行,比如虚幻4,如果没有,这么做:
prime-run command #使用prime-run运行软件
以Blender为例:
prime-run blender
如此就很快乐地完成了Nvidia驱动以及prime的安装!
能控制屏幕亮度的快捷键
之前就有一个问题,我的键盘宏命令不能控制屏幕亮度了,我想要解决它
#!/bin/sh
if [ $# -eq 0 ]
then
echo
exit
else
step=$*
display=`xrandr --verbose | grep connected | grep -v disconnected | awk '{print $1}' `
bright=`xrandr --verbose | grep Brightness | tr -d ' Brightness: ' `
s=`echo "scale=2;$bright+$step"|bc`
xrandr --output $display --brightness $s
fi
把上面的脚本内容复制到一个文本文件里,改名成bright.sh放到一个好记的目录(比如我直接放在home目录下:/home/bright.sh),然后在下图界面添加自定义快捷键:
#增加亮度:
sh bright.sh 0.1 #必须给定step值!!
#降低亮度:
sh bright.sh -0.1
然后分别设置组合快捷键就ok了
可以自行调整变化值,有效位数是小数点后两位
这里设置的command也可以在命令行中执行,可以在命令行里先试一下
不过这是更改屏幕输出的明度,并不是DC调光,系统display中的亮度条并没有变化
这里有DC调光的方法,不过本人在快捷键方式中,command不能识别,只能在终端中使用。
#调低亮度
xdotool key XF86MonBrightnessDown
#调高亮度
xdotool key XF86MonBrightnessUp
高分屏-输入法太小
默认安装的输入法其实就挺好用了,缺点……么得象形文字算马(
使用默认输入法(ctrl+space切换),设置中调整字号即可:
在侧边栏中右键输入法-configure-Appearence
Font size更改至30(改一下用一下输入法,调到合适大小即可)
Git安装
sudo apt-get install git
若缺乏依赖项:
sudo apt -f install
Oh-My-Zsh一个舒服的终端
ohmyzsh的安装
sudo apt install zsh curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
或许会遇到这个问题:(域名被污染)
修改hosts
sudo vim /etc/hosts
#添加如下内容:
199.232.68.133 raw.githubusercontent.com
重新执行命令即可,但是下载会比较慢。
安装成功
不过有的图标会出现乱码,在更改主题之前,先下载兼容的字体包
sudo apt-get install fonts-powerline
然后更改主题
# 打开配置文件
sudo gedit ~/.zshrc
# 找到并修改配置文件中的ZSH_THEME="XXX",XXX为默认主题,寻找一个你喜欢的主题名字替换引号中间部分即可[我是用的是agnoster]
ZSH_THEME="agnoster"
#保存退出后执行使生效
source ~/.zshrc
#重启即可生效
右上角选项可以在“switch theme”中更改主题(配色),在settings中更改透明度以及字体。
几个终端插件
接下来装一些比较好用的插件,例如高亮以及自动补全
下载
# 首先跳转当前目录为插件目录
cd ~/.og-my-zsh/plugins
# 下载自动补全插件zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions
# 下载语法高亮插件zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
配置使用插件
# 1.自动补全插件配置
# 打开zsh配置文件
sudo gedit ~/.zshrc
# 找到plugins=(git)在git后面加个空格填写上zsh-autosuggestions即可,大部分插件都是这么配置
plugins=(git zsh-autosuggestions)
# 2.语法高亮插件配置
# 跳转到~/.oh-my-zsh/plugins
cd ~/.oh-my-zsh/plugins
# 查看当前目录所在位置并记录地址
pwd
# 打开zsh配置文件
sudo gedit ~/.zshrc
# 在.zshrc文件最后一行加上
source "$这里填写的就是你之前pwd之后的地址$/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
安装自动跳转autojump
# 1.安装
sudo apt-get install autojump
# 2.配置
#在.zshrc最后一行添加如下
source "/usr/share/autojump/autojump.sh"
wps-官网下载
在app-store中没有提供,前往官网下载:wps-linux下载链接
选择Deb for x64格式,然后找到安装包安装即可
qq轻聊版
从19年9月开始,linux端的tim就无法正常接收用户头像以及聊天图片了……属实烦嗷,不过qq轻聊版还能正常工作
Wechat可以正常使用
网课必备-zoom
在安装之前,需要安装依赖项:
sudo apt-get install libxcb-xtest0
然后安装zoom的包即可
Docker的安装
docker是个啥呢,简单的说就是个效率贼高的虚拟机,然后可以在上面运行一些对外部没啥影响的镜像。这样不容易把系统搞崩掉,分享移植也更简单,更详细的说明见——docker是个啥.破乎
Docker中的基本概念
- 镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
- 容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动,是Docker在镜像的上层创建的一个可写层,镜像本身不变。
- 仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。
deepin论坛上都是用debian装的:docker for Debian官方文档
我觉得应该是因为deepin基于debian内核所以用debian的安装方法吧
#首先卸载就版本(等等你为什么会有旧版
sudo apt-get remove docker docker-engine docker.io containerd runc
#于是乎shell表示没有新增更改
接下来开始安装
#刷新源,并安装一些依赖项
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
- Add Docker’s official GPG key //新增GPG**:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
- Verify that you now have the key with the fingerprint
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
, by searching for the last 8 characters of the fingerprint //验证**正确安装,看fingerprint是否一致就可以了.
$ sudo apt-key fingerprint 0EBFCD88
#以下是返回的内容
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <aaa@qq.com>
sub 4096R/F273FCD8 2017-02-22
添加源
sudo gedit /etc/apt/sources.list.d/docker.list
#内容如下:
deb [arch=amd64] https://download.docker.com/linux/debian buster stable
检查更新并下载
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
检查安装是否成功
- Verify that Docker Engine is installed correctly by running the
hello-world
image.
sudo docker run hello-world
- This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.
成功后会显示这个:
导入并安装nvidia-container-toolkit
#添加**
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
由于deepin这个分支并不是主流分支,所以Nvidia的源是没有for-deepin的。
所以跟之前一样的操作,下载debian10的nvidia-container-toolkit
#选择将debian10的源添加进来,注意正确添加会有几行“deb”打头的返回值
curl -s -L https://nvidia.github.io/nvidia-docker/debian10/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
#更新源,如果正常,将会在HIT几行之后开始GET
sudo apt-get update
#安装,因为国内访问github较慢,下载速度亦不快
sudo apt-get install -y nvidia-container-toolkit
#重启docker
sudo systemctl restart docker
#进行验证,docker检查本地没有对应image后将会从docker-hub拉取可用源,这里下载速度亦不算快
sudo docker run --gpus all nvidia/cuda:10.0-base nvidia-smi
然后出现了报错
添加libnvidia-ml.so到环境变量
根据分析,应当是镜像中无法检索到libnvidia-ml.so文件,所以要找到这个文件的路径(如果存在的话),在这个镜像中添加其为环境变量
先启动一个容器,把镜像加载进去,然后在与容器的交互界面(bash)中,搜一下这玩意儿是不是存在
#-it是进入可以交互的bash的意思
#如果没有-it,则执行命令后半句后会退回到host的命令行,如上图失败截图
sudo docker run -it --gpus all nvidia/cuda:10.0-base
#进入之后发现命令的头部变成了root+blablabla:这个时候是su模式的,命令前就不需要加sudo了
#查询系统中文件名开头为“libnvidia-ml”的文件路径
find -name libnvidia-ml*
那我们把它的路径添加到环境变量中应该就可以了
查询nivdia-docker的系统及版本
. /etc/os-release;echo $ID$VERSION_ID
可以使用apt进行更新安装
#先更新源
apt-get update
#然后安装vim
apt-get install vim
然后更改系统环境变量(PATH)我们希望设置为永久有效的,所以修改profile文件
#打开文件
vim /etc/profile
#在末尾添加如下内容
export PATH=$PATH:/usr/lib/x86_64-linux-gnu
#esc,然后输入:wq回车退出,然后让文件生效
source /etc/profile
#然后再测试nvidia驱动
nvidia-smi
配置成功
exit
#退出容器
注意此时Docker引擎中就有了两个(我多启动了一次所以三个)容器,可使用docker ps -a查看:
当退出容器时,容器的进度将被保留,下次再进入这个容器还可以继续操作:
#使用容器ID启动镜像(此时在后台启动)
sudo docker start 93554a21507d
#进入这个容器
sudo docker attach 93554a21507d
我希望把我的进度保存成镜像(可以分享)
#-m后是说明信息;-a指定用户信息;
#c73f415f4b1b代表容器的id;flanker/nvidia:smi指定目标镜像的用户名、仓库名和 tag 信息
sudo docker commit -m "nvidia-docker smi" -a "flanker" c73f415f4b1b flanker/nvidia:smi
#查看镜像信息
sudo docker images
补一个,古有删库跑路,今有删容器跑路(bushi)的方法
#container_id可以通过ps -a查询
sudo docker rm container_id
然后会返回容器的id,再输入docker ps -a就发现他们不见了(好了可以跑路了
Apollo
- 查看你的CPU是否支持FMA和AVX,否则仿真环境Dreamview无法启动(当在浏览器中输入http://localhos:8888,会出现"Unable to connect"的错误)。原因在于百度默认你计算机的CPU有这两个功能,代码中未提供非此类CPU时真正的解决办法。除非你能力强,马上能修改不完善的代码。
#查询CPU是否支持FMA和AVX
grep fma < /proc/cpuinfo
grep avx < /proc/cpuinfo
#分别在指令集标识中查找,若有则会返回值
- 浏览器必须支持WebGL,否则仿真界面无法显示动画,这实际上隐含了对GPU的要求,可以不是Nvidia的,但要有。百度提供的仅有CPU的编译选项,只是水中花、镜中月。firefox开启webGL的方法
- 必须要能搞到CAN卡的驱动程序,因为这个不是开源的,需要你购买硬件时才能提供,虽然只用到了其中的两个文件。
- 硬盘至少50G,内存至少4G。
之前都是安装apollo的prerequest
#从gitee上克隆apollo,速度非常感人(对了前提要安装git
git clone https://gitee.com/baidu/apolloauto