前言

好久不见,甚是想念,大家好,我是小沐。
不好意思,又拖更啦,因为之前就说了,准备出自己的学习笔记系列嘛,然后自己发现自己的笔记记得实在是太乱了(小沐自己太懒了),要不是趁着这个机会拿出来整理一下,我估计这笔记也就当垃圾丢了……这篇文章,我结合了最近自己私下回复的一些问题,做出了一些调整,希望能够帮助到各位萌新同学。此次的教程呢,也适用于在一个外接固态的安装。本文会介绍我自己的Ubuntu分区方案,我感觉很适合萌新用。

正文

提一嘴,安装Ubuntu的话,此方案无论什么版本Ubuntu皆适用

(多图预警)
那直接干货,本次就不和大家聊天了,因为东西挺多的,大家沉浸式体验。

首先呢,我们来到我们的Windows下面,给我们即将要安装的Ubuntu系统分出合适的内存空间:
此电脑,然后选择管理

进入管理之后呢,我们选中一个分区,进行压缩卷,压出适当容量的空间给Ubuntu:

这里我给自己压出200GB,这是我的机械硬盘哈,使用机械硬盘就是读取文件会比较慢,但是影响并不大(自我感觉),大家可以自行选择。

压缩完成之后(我压缩了200GB,压缩完后我们不要对其进行格式化,就让他黑着,这方便我们后面双系统的安装。)

然后呢我们来制作启动u盘,这里呢我给大家推荐一个特别好用的装机神器——Ventoy,Ventoy是一款国人开发的新一代多ISO启动引导程序,这款工具最大的优点就是无需格式化优盘,用户只需要将所需的ISO镜像文件拷贝至优盘中即可在Ventoy界面中选择自己想要的ISO镜像文件。
使用Ventoy五大优势:
广泛兼容:支持包括Windows 10、Windows 8.1、Windows 7、WinPE 系统以及Ubuntu等多种Linux发行版。

无需格盘:该工具可以直接安装到U盘上且不需要将其他镜像刻录U盘,用户需要做的仅仅是将ISO复制到U盘中。

启动兼容:无差别支持Legacy BIOS 和UEFI模式,无论你的电脑主板使用什么模式Ventoy都可以自动检测识别。

大型文件:该工具也支持将超过4GB的镜像文件复制到U盘,这点很重要因为Windows 10 镜像文件已超过4GB。

其他优势:可并存多个操作系统镜像无需每次使用重新格盘刻录、启动过程中支持写保护、版本升级不丢失数据。

它的安装地址:https://www.ventoy.net/cn/download.html
下载windows下的就可以,一来我们还没装Linux,二来windows下的安装比较简单,我就不啰嗦了,.exe文件一运行就知道了撒,但我怕有同学依旧不会,我给大家找了个教程,如下:https://zhuanlan.zhihu.com/p/137477151
我们利用这个做好U盘之后呢,我们就可以把提前准备好的Ubuntu镜像放到U盘里了,至此我们的U盘就做好了。
Ubuntu镜像下载的话,官网的太慢了,我是在网易下的,网址:http://mirrors.163.com/

进来之后选择Index of /ubuntu-releases/,什么版本都有,很全。

当我们把U盘制作完成之后呢,下面就是进入我们自己电脑的BIOS设置,关闭Secure Boot,并且打开U盘启动(不同的电脑不一样,有的电脑是一个选项打开就行,有的电脑是移动U盘的引导项,所以这里呢,大家根据自己电脑的型号自行查阅,这里设置的时候呢推荐大家插着我们做好的启动U盘,毕竟有的电脑是改引导项,如果没插U盘引导项是没有的……)修改完成之后重启,那么你将会见到类似如下界面:

然后我们选择Ubuntu18.04的选项(我这个图并没有展示我的18系统)
进入U盘系统:

选择桌面的install Ubuntu18.04 .5 LTS,进入如下,然后我们选择我们安装使用的语言(乖,英文不好,就选汉语)

下一步,接下来选择安装的语言

下一步,来到无线设置,这里我们暂时不连接无线这样系统就不会联网更新,会根据俄本地文件进行安装,速度快,更新操作等我们安装好之后再说哈

选择正常安装,毕竟我们是来制作学习系统的,视频软件啥的还是要的。

这里注意啦,我们选择其他选项,还记得我们压缩好的卷吧,我们会在这里找到它。

如下图显示,不出意外的话你将会在这里看到和我们压缩出来的对应大小的空闲盘(我这里是200GB,上文说了我压缩了200GB出来)

接下来就是我的分区方案啦(很多人人不知道怎么分区哈):我呢,是这样分区的,我把我的Ubuntu系统分了四个部分,分别是根目录(盘符:/)、保留bios启动区域(存放grub引导的)、交换空间、home目录(盘符:/home),这四部分呢大小分配如下:保留bios启动区域=1024Mb(1GB,足够了,这都超标给的)、交换空间=8192Mb(8GB,其实不分,但是我喜欢分上,以防万一)、根目录(盘符:/)和home目录平分剩下的所有,也就是说有9GB固定了用处,其他的全部被根目录还有home目录平分。因为我也是萌新过来的嘛,我自己当时找环境配置,基本上都是看找教程来,有的教程吧就写的很隐晦,它很多东西不告诉你会装在根目录还是home目录,小沐比较天真,吃了很大的亏(根目录分的小,导致不够用),为了减少大家根目录分的太小导致后面的不便,所以我建议大家根目录和home他俩平分,正所谓哥俩好分的均,不打架。还有就是我的都是逻辑分区,ext4日志文件系统,这些大家看图就OK啦(我的分区大小注意啦,我是200GB,大家注意自己算一下)。




分区完成之后呢,就是设置安装启动引导器的设备,还记得我们上面建立的保留bios启动区域吧,这个区域就是用来干这个的,选择对应的盘符。(我的是/dev/sda8)

接下来就是一直下一步:

这里就是上海:

这里密码,你自己随便设置,建议简单(我的就一个数),你的计算机名字,你可以选择把它缩短一点,比如我,我的就是:用户名-pc(之后配置多机通讯方便)

静静等待安装成功,然后就会跳出让你重启的命令,这时候你就可以选择立即重启了。立即重启之后就可以拔掉U盘了,但是这个必须要等一下才能拔,你得等U盘里的系统运行结束,否则容易让坏U盘……所以,我建议大家不要点立即重启,回到U盘系统去关机,然后再拔掉U盘,然后在重启,这样大家就可以完美的进入做好的系统了,这个时候呢我们引导项就是grub了,这里默认等几秒后启动Ubuntu,然后这里我们可以改成默认启动windows,不过我一般都是在ubuntu上进行平时的学习工作啥的,所以我就没改,大家根据自己的意愿改(有个教程地址:https://blog.csdn.net/yp321/article/details/9365093)。

ok,那么现在我们已经装好我们的Ubuntu系统啦,那么接下来我们要做什么呢?好兄弟,你想想如果拿到一个新手机你怎么做,没错,先连WiFi,在下载王者(啊,不是,开个玩笑哈……)。咱们也是一样的步骤嘛,先连接WiFi,在右上角,如图。这里点开就可以看到WiFi的连接按钮了(其实和虚拟机一样的啦)。

接下来就是进入软件和更新(显示所有应用就可以看到)选择一个中国的源。

然后关闭,ctrl+alt+t打开终端输入:sudo apt update
更新一下,到此换源完成,记得每次换源都要记得更新。
正好我们更新了源接下来我们刷新一下自带的环境吧。继续在终端输入:sudo apt upgrade
之后就是静静等待更新完毕。
好,整个环境更新完毕,接下来就是安装ROS啦!

ROS安装,此时大家要注意Ubuntu对应的ROS版本了此处:Ubuntu18.04安装的是melodic

安装ROS源:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

安装melodic桌面版ros-melodic-desktop-full

sudo apt update
sudo apt install ros-melodic-desktop-full

那接下来,根据官方的方法,就是让很多人都头疼的rosdep了,这里我们不再用rosdep了,我们改用大佬 鱼香ROS(大佬公众号就叫这个哈)的rosdepc。

sudo pip install rosdepc

如果显示没有pip可以试试pip3。

sudo pip3 install rosdepc

如果还没有的话(娃,咱可能有点脸黑,没事,最后必成)

sudo apt-get install python3-pip 
sudo pip3 install rosdepc

安装完成后,接下来

sudo rosdepc init
rosdepc update

分分钟解决战斗!!!
此方案的解决办法呢,大佬有在博文介绍到:博文如下
https://mp.weixin.qq.com/s?__biz=MzkzMzI2MTU2Nw==&mid=2247484207&idx=1&sn=e2762a8a9bf9c1a44fea4d365bfc9c2f&chksm=c24e7abff539f3a9d557d46188a6af3e2f385850c0df1721a9f8cb2ac90873e1f7353b9a1282&mpshare=1&scene=23&srcid=0810jg4pcvVU3riSW317jcgL&sharer_sharetime=1628651354953&sharer_shareid=665e519f467904f543b2246837924a0e#rd

这里可能就要问一下这个安不安全啊什么的,这个方案其实并不是第一次见,不知道大家有没有看过赵虚左老师的课哈,赵老师给出的方案其实也是这方案,把代码拉取到gitee上,再修改一下本地的文件再进行rosdep, 然后鱼香ROS这位大佬,多做了一步,他做了pip的安装包,让我们用起来更加方便。

然后呢我们在终端加入ros环境的永久环境变量:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

在添加一下其他依赖项:

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

那这一步我们就完美的装好了我们的ros了。
我们可以运行ROS的经典小乌龟玩耍一下:
新开三个终端,分别输入

roscore 
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

然后在turtle_teleop_key的终端按下上下左右就可以控制小乌龟运动啦!

关于gazebo的一些小问题

初次安装ros打开gazebo报错:
[Err] [REST.cc:205] Error in REST request

解决方式:
打开终端输入:sudo gedit ~/.ignition/fuel/config.yaml
然后将 url : https://api.ignitionfuel.org 用 # 注释掉
添加 url: https://api.ignitionrobotics.org

第一次打开gazebo会卡在启动界面。
解决方法:首先分析一下这种情况大概率是gazebo没有模型库,那我们首先排除这个问题,这个时候呢我们只要在我们的home文件夹下,按下ctrl+ h打开我们的隐藏文件夹就可以看到有一个叫./gazebo的文件夹

进入,然后

如果没有的话那就是因为这个文件了。我把文件放在了自己的码云上大家可以自取:
网址:https://gitee.com/xiaomuxingyan/models
git命令:git clone https://gitee.com/xiaomuxingyan/models.git

结语

这里和初学者说一句:学习其实就是一个不断试错的过程,学习ros也是一样的,不要因为问题太多了就害怕了不想继续尝试了,我们在做之前把环境做好备份(以防万一,怕崩溃,如何备份可以采取我之前写的timeshift博文),就直接试没必要怕,畏畏缩缩是做不好技术的!各位加油,为了梦想前进!
最近准备更一篇如何更新显卡驱动的文章,感觉还挺多人问的。