文章目录
即将学习嵌入式 linux 系统编程的小伙伴,基本上都是在虚拟机上安装 ubuntu 系统来学习的。但是作为初学者,可能并不知道什么是虚拟机、怎么安装虚拟机。同时,对 linux 系统也有很多不解, 比如什么是 linxu 系统、linux 系统发行版该选哪个学习等等诸多问题。那么本篇博文将一一解答这些问题,并且把学习 linux 系统编程的环境搭建好,方便后期的学习。
一、前期准备
1. 硬件要求
众所周知,只要涉及到学习编程,电脑必不可少。但并不是所有的电脑都可以用来学习编程,必须有个最低配置要求。由于本篇博文使用的虚拟机是 vmware workstation pro 17,该软件对主机系统的要求如下:
- 2011 年或之后推出的兼容的 64 位 x86/amd64 cpu
- 1.3 ghz 或更快的内核速度
- 最低 2 gb ram、建议 4 gb 或更高
而虚拟机运行的 ubuntu 22.04 有如下的推荐配置:
- 双核 2 ghz 处理器或更高
- 4 gb 系统内存
- 25 gb 磁盘存储空间
- 可访问的互联网
- 光驱或 usb 安装介质
综合以上配置要求,cpu 选择上至少要四核 2 ghz 以上的处理器,运行内存至少 8 gb 以上(4 gb 给虚拟机的系统用了,剩下的还得用于 windows 系统和其他软件的开销)。
所以请各位小伙伴根据以上的各个要求选择电脑,本次我使用的是 2014 年华硕生产的笔记本电脑 a550jk4200,配置如下图所示,符合所有要求(这个是十年前的配置了,放到现在可以说是相当的拉跨了),也是我目前现有的电脑中能找到的配置最低的电脑了。
2. 软件下载
2-1. 下载虚拟机运行软件
首先来回答一下什么是虚拟机?
说白了,我们学习 linux 系统编程,就必须要有 linux 系统的环境,用虚拟机软件就是为了有个能运行 linux 系统的环境。在当前的电脑用虚拟机软件虚拟出另一台“电脑”(虚拟机),并在上面安装 linux 系统,这样就可以放心大胆地进行各种 linux 练习而无须担心操作不当导致宿主机系统崩溃了。并且还可以举一反三,将一台电脑变成三台、四台,再分别安装上其他的系统。
那为什么不直接使用 linux 主机呢?而对于大多数人来说,使用的都是 windows 系统,不管是把现有的电脑刷机成 linux 系统,还是再去花钱买一个专属 linux 系统的电脑,都是不是明智的选择。所以在现有的条件下,使用虚拟机软件运行 linxu 系统才是最经济和最实际的选择。
本次安装的虚拟机软件是 vmware workstation pro 17,也是目前 windows 最主流的虚拟机软件。
官方下载链接:download vmware workstation pro
点击上面的链接进入下载网页后,下滑到下方有下载按钮,点击左边的download now
进行下载。这里有很多初学者会点右边的download now
下载,可能是认为我们安装的 linux 系统,所以下载带有 “linux” 字样的。这里解释一下,此处的 “linux” 表示这个软件是在 linux 环境下安装并使用的,而我们是要在 windous 的环境下运行虚拟机,所以要下载左边的软件,切记别下载错了。
2-2. 下载 ubuntu22.04
关于什么是 linux 以及 linux 发行版等问题,可以在linux_百度百科 (baidu.com)上找到答案,这里不做过多的赘述。
那么为什么嵌入式行业钟爱 ubuntu 系统呢?
这里简单说一下,之后会另写一篇博客进行解释。ubuntu 是使用最广泛的 linux 发行版之一,它稳定、可靠、维护良好,并拥有庞大的追随者社区,并且有广泛的编程工具和认证硬件。
本文选用的 linux 发行版是 ubuntu22.04,主要原因是后期我会发表一些 orangepi zero 2 交叉编译的博文,需要用到 ubuntu22.04(其他版本的 ubuntu 不支持)的环境。
官方下载链接:下载ubuntu桌面系统 | ubuntu
点击上面的链接进入下载网页后,单击下图标注的下载按钮即可。
二、安装虚拟机
双击打开下载好的虚拟机软件安装包。
稍等一会进入安装程序,此界面直接点击“下一步”按钮。
勾选“我接受许可协议中的条款”,再点击“下一步”。
默认安装位置是“c:\program files (x86)\vmware\vmware workstation\”,点击旁边的“更改…”按钮可以修改安装路径,我这里修改成“d:\vmware\vmware workstation\”。(习惯把软件安装在 d 盘)
,点击“下一步”。
这里我默认全部勾选上,你们可以按照自己的习惯选择,点击“下一步”。
点击“安装”即可,大概需要 2 ~ 3 分钟(由电脑配置而定)。
安装完成后,点击“许可证”按钮,在下面列举的密钥中任选一个激活软件,如果密钥失效,可以把每一个都是一遍(亲测全部有效)。
4a4rr-813dk-m81a9-4u35h-06knd
nz4rr-ftk5h-h81c1-q30qh-1v2la
ju090-6039p-08409-8j0qh-2yr7f
4y09u-ajk97-089z0-a3054-83kla
4c21u-2kk9q-m8130-4v2qh-cf810
mc60h-dwhd5-h80u9-6v85m-8280d
za30u-dxf84-4850q-ummxz-w6k8f
ac590-2xw97-48efz-tzpqe-myhea
yf39k-dlfe5-h856z-6nwze-xq2xd
ac15r-fnz16-h8dwq-wfpnv-m28e2
cz1j8-a0d82-489lz-zmzqt-p3kx6
ya11k-6ye8h-h89zz-exm59-y6ar0
把密钥粘贴进来后,点击“输入”按钮。
最后单机“完成”按钮,完成安装。
三、创建 ubuntu 系统虚拟机
双击打开刚刚安装好的 vmware workstation pro 17,进入软件后,点击“创建新的虚拟机”。
进入虚拟机安装向导,选择“自定义(高级)”的选项,点击“下一步”。
再次单击“下一步”。
选择“安装程序光盘映像文件”,点击输入框旁边的“浏览”按钮。
根据下载路径,找到下载好的 ubuntu 镜像安装包(自己下载的东西,别说不知道在哪个位置,真如此的话,别学编程了),双击选择。
如果能看到如图标注的小字,说明安装包是对的,并且可以正常安装,这时点击“下一步”。
全名和密码可以随便写,用户名只能用小写字母、数字和破折号,输入完毕后,点击“下一步”。
虚拟机名称我习惯修改成“ubuntu22.04_64bits”(个人习惯,用默认的也行),虚拟机的路径我修改到了“h:\virtual machines\ubuntu22.04_64bits”,这个要根据自己的实际情况修改,因为这关系到硬盘空间的大小,建议选择可用空间比较大的盘符。
每个处理器的内核数量修改成 2,单击“下一步”。
内存选择建议 4 gb,单击“下一步”。
网络类型一定要选择桥接!这个非常重要,很多小伙伴在后期学习网络编程时,发现虚拟机和宿主机(安装虚拟机的电脑)用的是同一个 ip,很多网络编程的功能想验证都验证不了。选择桥接网络,可以让虚拟机有一个属于自己的 ip 地址,后续用 ssh 或者 samba 访问都方便很多。
这里在插一句题外话,很多小伙伴可能还在上大学,使用的是校园网,根据我对有多个小伙伴反应的情况来看,有一些校园网的网口只能有一个 ipv4 的地址,插入交换机也不能用多个 ip,因此不能使用桥接功能。这里我能想到的唯一解决办法就是买个路由器来解决,也确实解决问题了,原理就是用路由器的 dhcp 功能,来管理分配 ip 地址,这样就可以使用桥接网络了。
直接默认,单击“下一步”。
同样默认,单击“下一步”。
同样默认,单击“下一步”。
硬盘容量默认是 20 gb,我直接使用了 80 gb(打铁还需自身硬,我这个盘符 210 gb),单击“下一步”。
文件名我选择默认,单击“下一步”。
到这一步已经完成了,下图没有把“创建后开启吃虚拟机”的选项取消,如果没有取消,单击“完成”按钮后,会直接进入 ubuntu 系统。
如果取消,单击“完成”按钮后,就会停在如下图所示的界面,表示虚拟机已经创建好了。
注意,到这一步实是把 ubuntu 的虚拟机创建好了,并不是把 ubuntu 系统安装了,正式的安装需要启动虚拟机。
四、ubuntu 系统安装过程的配置
虚拟机创建好后,可以通过点击下图标注的两个按钮中的任意一个进入启动虚拟机。
稍等片刻后,进入如下图的界面,建议直接点“continue”,而不是改成中文。这里解释一下,很多博主会教你们修改成中文,这样使用起来确实方便,但是本着学习的态度,我们应该要去适应全英文的开发环境,毕竟将来的工作环境还是英文居多。
这里可以选择默认的选项,直接点“continue”。如果想要比较快的安装好系统,可以选择“minimal installation”(最小安装方式),然后把“download updates while installing ubuntu”也取消勾选,这样的安装速度最快。
下图所示的界面检测到本台电脑(虚拟机)没有操作系统,询问是否要安装操作系统,默认选项“erase disk and install ubuntu”就是安装操作系统的选项,只是会清空虚拟机所有的磁盘(是本台虚拟机的磁盘,不是宿主机的磁盘,所以不要大惊小怪),直接点“install now”即可。
如果提示这个界面(可能不是所有人都有),直接点击“continue”。
时区选择“shanghai”(上海的拼音,直接用鼠标在地图上点,作为中国人,学了那么久地理,别说连上海的大概位置都指不出来),然后点击“continue”。
然后输入姓名、电脑名、账户和密码,账号会最终显示在终端,密码我一般都用“1”(反正是虚拟机)。
接着就进入漫长的安装过程了,安装时长根据电脑配置决定(我这台老古董安装了 20 分钟)。
安装完成,系统提示想要重启虚拟机,直接点“restart now”重启。
看到这个界面,系统也算是安装成功了。
点击账号图标,输入密码后按回车进如系统。
初次进入 ubuntu 系统会有一个欢迎界面,内容忽略,直接点击右上角的“skip”跳过。
这里是提示是否要升级成 ubuntu pro,目前没测试过,建议默认选择“skip for now”,然后点击“next”。
这个是 ubuntu 系统的改善建议,改成“no, don’t send sysytem info”,然后点击“next”。
到这一步直接点“done”跳过,ubuntu 系统初次开机的工作就算完成了。
五、更换国内镜像源
ubuntu 系统的软件源默认是国外的网站,升级或下载软件都很不方便(有时候都访问不了),因此建议换成国内的镜像源。在更改软件源之前,最好先备份原有的软件源列表文件,以防止意外情况导致系统无法正常更新或安装软件。
先按快捷键ctrl + alt + t
,调出终端(以后凡是有关要输入命令的操作,都要调出终端,之后不再赘述)。如果觉得字体太小了,可以按快捷键ctrl + shift + =
,字体要是太大,需要缩小,可以按快捷键ctrl + -
然后输入以下命令进行备份:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
再次照顾一下初学者,习惯使用ctrl + c
和ctrl + v
进行复制粘贴的小伙伴,会发现在 ubuntu 终端用不了。其实 ubuntu 系统终端也有复制粘贴的快捷键,而且在 windows 系统也通用,只是知道的人太少了。在 ubuntu 系统终端复制使用 ctrl + insert
,粘贴快捷键是shift + insert
。因为现在很多人使用的键盘都不是 104 全键盘,很多键盘上都没有“insert”(有的键盘是缩写:ins),所以导致很多人用不了,也就不知道有这么一回事了。
回到正题,把命令粘贴或输入后,按回车健执行,由于用到 sudo(超级用户)的权限,需要输入账户密码,密码输入时是不会在终端显示任何符号的(注意:是任何符号都不显示,只能纯盲打),输入完毕直接回车确认即可。只要是执行成功,不会有任何提示,而是可以继续输入命令,如下图所示。
对于新手,就不教太复杂的命令行的方式来修改镜像源了,直接用鼠标点击左下角的“show applications”(桌面左下角九个小点的图标)。
找到并点击“software & updates”。
点击“download from”旁边的下拉框,选择“other”。
上滑鼠标找到“china”,展开后选择“mirrors.aliyun.com”,然后点击"choose server"保存,最后输入密码即可。
修改完直接关闭界面即可。
关闭时后弹出下图所示的弹出,直接关闭就可以了。
运行以下命令更新软件源:
sudo apt update
更新软件源后,可以通过以下命令升级系统中已安装的软件包(命令后面的-y
可以跳过确认询问):
sudo apt upgrade -y
六、设置静态 ip
有时候我们会发现,ubuntu 的 ip 地址会改变,如果后续有 ssh、samba 等使用需求,这时就需要配置静态 ip 以保证这些功能的正常使用。
设置 ubuntu 系统的静态 ip,请查阅《ubuntu22.04 设置静态 ip 的方法》。
七、安装常用软件
刚安装好的系统缺少了许多常用软件,如 gcc、git 等。
1. 编译工具
基本的编译和构建软件工具可以用下面的命令进行安装,build-essential
软件包组包含了gcc
、g++
、make
等编译工具和构建工具,也包含了标准 c 库和头文件。
sudo apt install build-essential -y
2. 代码管理工具
考虑到之后或许需要用到git
拉取代码,可以把 git 工具也一起安装了。
sudo apt install git-all -y
3. 安装代码编辑软件(vim)
刚刚安装好的 ubuntu 系统自带有 vi,但是很多人都会发现在编辑模式下方向键和退格键都不能正常使用,主要是因为 ubuntu 自带的 vi 的版本太低了,所以最好先把系统自带的 vi 编辑器卸载干净后,再安装最新的 vim。
想要彻底卸载 vim,可以输入下面的命令:
sudo apt-get remove vim vim-runtime vim-tiny vim-common vim-scripts vim-doc -y
等卸载完毕后,在输入下面的安装命令:
sudo apt-get install vim -y
八、安装配置 samba 服务器
samba 是一个开源软件套件,它提供了在 linux 和 unix 系统上实现与 windows 操作系统共享文件和打印机的功能。通过 samba,linux 或 unix 系统可以像 windows 一样与其他计算机共享文件和打印机,并且可以使用 windows 文件共享协议(smb/cifs)来实现。
如果需要配置 samba服务器,请查阅《基于ubuntu22.04的samba服务器搭建教程(新手保姆级教程)》。
发表评论