wsl2安装百度apollo及其基本配置
一、 wsl2的开启
- 首先 WSL2 gui 需要
Windows 11 Build 22000版本以上才支持 - 利用管理员权限打开PowerShell 执行
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
执行后重启计算机
- 更新wsl内核
从https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi获取WSL2 Linux内核更新包并运行
或者
wsl --update //尝试更新
- 切换成wsl2
wsl --set-version Ubuntu-18.04 2 //镜像名字需要和已安装的一致
- 设置默认版本
wsl --set-default-version 2
- 查看状态
wsl -l -v
#输出
Name State Version
Ubuntu Stopped 2
二、Ubuntu的安装(Linux发行版安装)
微软商店搜索Ubuntu下载即可,打开下载好的Ubuntu,系统初始化输入用户名和密码
三、配置Ubuntu
1. 换国内源
//备份list文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
//修改list文件
sudo vim /etc/apt/sources.list
删除所有内容替换下面内容(选一)(可在vim的命令模式下,使用gg将光标移到文件首行,使用dG命令清空文件)
阿里云
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
中科大
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
清华
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
华为
sudo sed -i "s@http://.*archive.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
- 更新软件列表
sudo apt-get update
sudo apt-get upgrade
- 解决中文乱码
(1) 安装相关包
sudo apt install language-pack-zh-hans
sudo dpkg-reconfigure locales #这一步要选择en_US.UTF-8和zh_CN.UTF-8, 并且zh_CN.UTF-8为默认语言
sudo apt install fontconfig
(2) 安装Windows字体
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>
或者复制windows的字体到/usr/share/fonts/下
sudo cp -r /mnt/c/Windows/Fonts /usr/share/fonts/windows
(3) 刷新字体缓存
fc-cache -f -v
(4) 重启 wsl 即可
wsl --shutdown
输入法设置(待定)
(1) 安装fcitx
sudo apt install fcitx dbus-x11 im-config fcitx-sunpinyin
(2)编辑/etc/locale.gen文件
sudo vim /etc/locale.gen
# 找到 # zh_CN.UTF-8 这一行,取消注释
zh_CN.UTF-8
(3) 编辑~/.profile文件
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
fcitx-autostart &>/dev/null
(4) 刷新~/.profile 或者wsl --shutdown
source ~/.profile
fcitx 默认输入法切换快捷键是ctrl+space,使用时须先关闭主机输入法
- 设置wsl2的cpu和内存
按下Windows + R 键,输入%UserProfile%并运行进入用户文件夹,新建文件 .wslconfig
[wsl2]
memory=16GB #内存最大值
swap=32GB #虚拟内存最大值
processors=4 #cpu核最大值
localhostForwarding=true
然后运行cmd,输入 wsl --shutdown 来关闭当前的子系统,重新运行bash进入子系统
- 一些gui界面
sudo apt install Nautilus #Nautilus 文件管理
sudo apt install firefox #firefox 浏览器
sudo apt install gedit #gedit 文本编辑器
sudo apt install stacer #stacer linux任务管理器
sudo apt install timeshift #timeshift linux备份软件
sudo timeshift-gtk #timeshift 的运行指令
四、备份还原
- 查看已安装的Linux发行版
$ wsl -l --all -v
- 导出Linux发行版tar文件到D盘
$ wsl --export Ubuntu-18.04 d:/wsl-ubuntu-18.04.tar
- 注销当前Linux发行版
$ wsl --unregister Ubuntu-18.04
- 重新导入并安装WSL2到D盘
$ wsl --import Ubuntu-18.04 d:/wsl-ubuntu-18.04 d:/wsl-ubuntu-18.04.tar --version 2
- 设置默认登录用户为安装时用户名
$ ubuntu1804 config --default-user USERNAME
五、文件访问
在文件夹路径中或者win+R输入
\\wsl$
wsl访问window
(1) cd /mnt/盘符 例如进入D盘:
cd /mnt/d
(2)在对应目录下执行
explorer.exe .
六、vscode连接
- vscode下载Remote - WSL 扩展
- 在Linux发行版(Ubuntu)的命令行中输入
code .即可在Windows端启动VS Code并自动远程连接到WSL2中。如果首次启动VS Code还会在WSL2中安装一些必要依赖包。 - vscode中的终端就是wsl2中的终端
七、安装docker
1.安装Docker Desktop(方便,但是后续需要配置一下端口)
点击Install Docker Desktop on Windows | Docker Documentation下载Docker Desktop,专门为wsl2开发的工具,直接默认选项安装完成即可。
安装完成后在设置中 Resources-> WSL INTEGRATION 选中自己下载的linux发行版。
- 在Ubuntu中安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
//执行安装时会提示建议安装Docker Desktop,可以忽略,等一下就会自动安装。
//WSL DETECTED: We recommend using Docker Desktop for Windows.
//检验安装结果
docker -v
#安装docker-compose
sudo apt install docker-compose //安装命令
docker-compose -v //验证安装
#启动docker
sudo service docker start
八、gitee设置
ssh-keygen -t ed25519 -C "2972795779@qq.com" #连按三次回车
cat ~/.ssh/id_ed25519.pub
复制公钥到gitee的仓库进行公钥部署 SSH公钥 - Gitee.com
首次使用确认
ssh -T git@gitee.com
九、拉取apollo
- 第一次进行编译(内存小于16的先看第二步)
sudo bash docker.sh
#进入docker
cd apollo
sudo bash docker/scripts/dev_into.sh
#编译
bash apollo.sh build
#开启dreamview
bash scripts/bootstrap.sh
#关闭dreamview
bash scripts/bootstrap.sh stop
- 内存不够临时开启swap(出现internal compiler error:killed)
#free -m 查看内存低于16g扩大swap交换
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
sudo mkswap /swapfile #通知系统挂载swap;
sudo swapon /swapfile #通知系统启用swap;
sudo swapon -s #查看信息;
#移除swap
sudo swapoff /swapfile && sudo rm /swapfile
- 打开DreamView 交互系统
cd ~/apollo
#运行docker
bash docker/scripts/dev_start.sh
#进入
sudo bash docker/scripts/dev_into.sh
#启动dreamview
bash scripts/bootstrap.sh
#关闭dreamview
bash scripts/bootstrap.sh stop
#如果在wsl2中访问直接打开localhost即可,主机环境打开需把localhost切换成wsl地址,该地址是动态的,每次重启wsl会变#使用ifconfig 查看 eth0 的inet即wsl ip
ifconfig
- 如果本地浏览器无法访问是因为docker Desktop不支持,进行如下操作或者安装linux版本docker
由于 Docker Desktop for Windows 不支持主机网络驱动程序,在这种情况下,apollo docker 脚本将在您无法访问的隔离 netork 命名空间中创建主机网络。您可以查看官方文档:
主机网络驱动程序仅适用于 Linux 主机,在 Docker Desktop for Mac、Docker Desktop for Windows 或 Docker EE for Windows Server 上不受支持。
我使用端口映射来解决问题:
修改 docker/scripts/dev_start.sh:
将“--net host \ ”替换为“-p 8888:8888 \ ”
修改脚本/引导.sh:
将 DREAMVIEW_URL=“http://localhost:8888” 替换为 DREAMVIEW_URL=“http://0.0.0.0:8888"
然后按照安装部分进行操作,您可以通过 http://${wsl2实例ip}:8888访问dreamview。
在我的情况下,我的wsl2实例IP是172.20.88.30,所以我可以通过 http://172.20.88.30:8888/ 来访问Web服务
我在Ubuntu里打开火狐使用http://0.0.0.0:8888可以访问,系统外仍不行
附录
docker.sh的内容
#!/bin/bash
function install_prepare()
{
sudo apt update
#sudo apt upgrade -y
sudo apt install gcc g++ git vim curl make cmake gedit unzip cutecom can-utils net-tools -y
}
function install_docker()
{
sudo modprobe overlay
sudo docker -v 1>/dev/null 2>&1
if [ $? -eq 0 ]
then
id | grep "docker" 1>/dev/null 2>&1
if [ $? -eq 0 ]
then
echo "docker is OK!"
return 1
else
sudo gpasswd -a $USER docker
sudo usermod -aG docker $USER
sudo systemctl restart docker
echo "please reboot the computer and run the scripts again!"
return 2
fi
else
curl https://get.docker.com | sh && sudo systemctl --now enable docker
sudo systemctl restart docker
sudo gpasswd -a $USER docker
sudo usermod -aG docker $USER
sudo systemctl restart docker
sudo chmod 777 /var/run/docker.sock
echo "please reboot the computer and run the scripts again!"
return 3
fi
return 0
}
function clone_apollo()
{
cd ~
git init
git clone -b edu_sim_contest git@gitee.com:ApolloAuto/apollo.git
cd ~/apollo
bash docker/scripts/dev_start.sh -y
}
function main()
{
install_prepare
install_docker
clone_apollo
return 0
}
main "$@"
wsl2安装百度apollo及其基本配置的更多相关文章
- 百度Apollo安装说明
前言:最近在和百度Apollo合作,Apollo的人很nice,大家都在全力帮助我们解决问题.但Apollo系统有点难搞,安装起来很费劲,为了避免再次踩坑,留下笔记,流传后人,O(∩_∩)O. 1. ...
- Java 学习第一步-JDK安装和Java环境变量配置
Java学习第一步——JDK安装及Java环境变量配置 [原文] 2014-05-30 9:09 Java SE 阿超 9046 views Java作为当下很主流的编程语言,学习Java的朋 ...
- windows+linux下jdk安装及java环境变量配置
对于初学java的用户来说,可能第一件要做的事情就是安装jdk及配置环境,以下内容主要讲述windows及linux下jdk的安装以及环境变量的配置. 1.首先下载相应平台可用版本jdk安装文件,可以 ...
- drupal7 安装百度编辑器Ueditor及后续使用
参考文章:drupal7安装百度编辑器ueditor 一.下载 1.需要下载安装的模块: 1.1.wysiwyg 1.2.ueditor 1.3Libraries 下载后安装在\sites\all\m ...
- win10 64位下装Virtual Box安装Linux(centOS)配置联网
第一步:安装VritualBox 百度"VritualBox"下载安装即可: 第二步:下载Linux镜像系统并安装 这里写出我参照的博客,很详细,我就不累赘了! 原文地址:http ...
- 基于Windows环境下Myeclipse10.0下载安装破解及jdk的下载安装及环境变量的配置
jdk的安装及环境变量的配置 1.安装JDK开发环境 附上jdk安装包的百度云链接 链接:http://pan.baidu.com/s/1mh6QTs8 密码:jkb6(当然自行去官网下载最好哒,可以 ...
- .NET Core微服务之基于Apollo实现统一配置中心
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于统一配置中心与Apollo 在微服务架构环境中,项目中配置文件比较繁杂,而且不同环境的不同配置修改相对频繁,每次发布都需要对应修改 ...
- windows系统dokuwiki安装部署设置 xampp环境配置
简单记录一次安装dokuwiki的过程 dokuwiki下载 dokuwiki下载地址 https://download.dokuwiki.org/ 下载前有一些可选项目,版本.语言.插件,可以按照需 ...
- 百度Apollo搭建步骤(待更新)
百度Apollo搭建步骤 ##一.安装ubuntu16.04 无需多说,安装完成打开命令行. ##二.下载Apollo镜像 git clone https://github.com/ApolloAut ...
随机推荐
- R语言_格兰因果检验
#当前文件路径 getwd() #设置当前路径,注意转译 setwd("C://Users//Administrator//Desktop//R_test") #导入数据 data ...
- linux创建磁盘阵例10
Linux创建RAID10 生产环境中用到的服务器一般都配备RAID阵列卡,尽管服务器的价格越来越便宜,但是我们没有必要为了做一个实验而去单独购买一台服务器,而是可以学会使用mdadm命令在Linux ...
- XCTF练习题---WEB---Training-WWW-Robots
XCTF练习题---WEB---Training-WWW-Robots flag:cyberpeace{e37180e3f5ad17b4ac71a131e2de1fcb} 解题步骤: 1.观察题目,打 ...
- xpath & csv文件读写
原理:拿到网页源代码并且进行分析 关键词:etree .xpath a[@href="dapao"] a/@href text() impo ...
- 关于5G技术,这是我见过最通俗易懂的讲解了
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 1 一个简单且神奇的公式 今天的故事,从一个公式开始讲起. 这是一个既简单又神奇的公式.说它简单,是因为它一共只有 3 个字 ...
- 图解 Git 工作原理
此页图解 git 中的最常用命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 上面的四条命令在工作目录.暂存目录(也叫做索引)和仓库之间复制文件. git add fil ...
- Json序列化与反序列化导致多线程运行速度和单线程运行速度一致问题
紧跟上篇文章 十个进程开启十个bash后一致写入命令执行完毕之后产生了很多很多的文件,博主需要对这些文件同意处理,也就是说对几十万个文件进行处理,想了又想,单线程处理那么多数据肯定不行,于是乎想到了使 ...
- REST APIs
REST APIs 旨在通过HTTP 的动作语义METHOD, 以替代各种传统CRUD 操作所带来的命名问题,例如 "/userAdd"."/userDelete&quo ...
- How to fetch data with React Hooks
Where can I make API call with hooks in react? Async useEffect is pretty much unreadable How to fetc ...
- 【Azure Developer】使用Azure PubSub服务示例代码时候遇见了.NET 6.0的代码转换问题
问题描述 当本地环境中安装.NET 6.0后,用指令 dotnet new web 或 dotnet new console 生成的项目,使用的都是新模板生成的Program.cs文件.里面去掉了n ...