专栏首页嵌入式学习esp8266之lubuntu的环境搭建(1)——linux系统升级(从14.04.1升级到16.04.6)

esp8266之lubuntu的环境搭建(1)——linux系统升级(从14.04.1升级到16.04.6)

0、序言 本来可以直接使用乐鑫公司搭建好的linux环境的,他是基于14.04.1的版本,其实也不是很老,而且安信可也有ESP32 lubuntu下的环境,把ESP32和ESP8266开发环境都集成到lubuntu 32位虚拟机中,但是是百度云链接,因此暂时不下载,保存先,该虚拟机在VMware12以上环境下打开,请广大开发者自行下载。

后来,想折腾一下,在原来的基础上升级一下,以前也真是没有接触过,趁疫情的原因,尝试一把。

1、安装基础环境 a、把乐鑫官方提供的lubuntu环境下载,速速超级快,链接可以参考8266的编程指南《2a-esp8266-sdk_getting_started_guide_cn》pdf

b、把vmbox下载,上面下载好的压缩包里面有这个软件,我重新下载新的。一样可以使用的。然后安装这个软件。我的结果如下:

2、创建虚拟机

导入 ESP8266_lubuntu_20141021.ova文件,找一个硬盘空间大一点的,导入即可。 期间遇到了一点小小的挫折,就是bios没有开启虚拟化,会出现如下的报警,因此要解决“VT-X”的问题。

那么就进入bios的cpu选项,security选项,把所有的选项都enable,这样就可以看到虚拟化已开启的信息了。

开启界面如下:

我这个是i3 6006U的cpu,台式机的i3-8100就没有问题,应该是考虑到性能原因了。上面也是找了很多网站才发现的解决方案。

3、更新软件源

道理都懂,感谢国内的软件提供商,方式有3种, A、命令行来更新,这个可以参考中科大的镜像源说明help文档,参考;https://mirrors.ustc.edu.cn/repogen/ http://mirrors.ustc.edu.cn/help/ubuntu.html 现在linux的发展越来越好了,感谢国家的大学提供了这么多的软件源,使我们能够快素更新软件。

B、编辑文件更新,vim /etc/apt/sources.list,替换成中科大或清华的,我使用清华的。 参考清华大学的使用帮助:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

C、图形界面更新 就是简单的,软件升级那里即可。

最后输入 sudo apt-get update

sudo apt-get upgrade

sudo apt-get update 仅仅是从 sources.list 文件定义的源中取同步包的索引文件而并没有真正意义上的更新软件,而 sudo apt-get upgrade 命令才是根据 upgrade 同步后的包的索引文件来进行软件地更新。

4、开始升级系统

升级系统使用的是 sudo apt-get dist-upgrade,更新软件和系统升级都需要比较长的时间。

这是我更新完毕的画面:

在更新期间,会提示你个别信息,需要自己去确认的,之前因为我没有合理处理grub的部分,导致软件升级出问题,索性就系统升级了。

还好系统升级了,完美无瑕的进入了16.04.6的版本,之前我设置的alias也都是没有改变(这鞥可以选择,反正升级比较人性化,易用化),很舒服。

5、删除不必要的软件,给Ubuntu系统清理垃圾

参考:https://blog.csdn.net/levon2018/article/details/81746613

不过与你想象的可能有很大的不同,Ubuntu系统在运行时是不会产生无用垃圾的。这一点与Windows系统有很大的不同。但是我们在升级系统时,软件管理器下载的软件包,系统则不会自动删除,其实这样做也是考虑到你可能会再次安装从而加快再次安装的速度考虑。当然了,我们普通用户,一旦下载安装完毕,其安装包也就没有存在的必要了,当然如果你是要安装更新并管理一大堆电脑的系统管理员就另当别论咯。更何况,我们再次安装时,只要你选择了一个合适的软件源,那下载速度一样是飞快的。因此,我们隔一段时间就可清理一下apt-get等软件管理器下载下来的安装包咯。

a、我们先看一下,这些安装包占了多大空间吧。按快捷键ctrl+alt+t打开终端,输入命令

du –h /var/cache/apt/archives

回车之后,我们就可以看到安装包所占用的空间咯。

那我们就来删除这些软件包吧。若你生性小心谨慎,那就只删除那些你已经将其卸载掉的软件的软件。删除你已经卸载掉的软件包的命令为

sudo apt-get autoclean

若你想清理出更多的空间,而且网速又比较快的话,那你大可以把电脑上存储的安装包全部卸载咯,命令为

sudo apt-get clean

还有一类软件包,我们每个人都应该删除,那就是你已经卸载了,但是一些只有它依赖而别的软件包都不需要的软件包还留在你的系统里。说简单点就是,类似于你在windows系统中卸载软件时残留在系统里的垃圾咯。卸载这些孤立包的命令为

sudo apt-get autoremove

b、删除不用的老旧内核 若你的系统更新过好多次,如Ubuntu,在系统升级的过程中,其所使用Linux内核也可能更新。因此,升级多次后,你的boot文件夹就会变得比较大,其原因就是因为虽然系统更新升级了新内核,但是老内核依然留在了你的系统中。也许你会说系统太笨了,不知道升级了新的就该把老的删除吗?实际上,不删除掉老的内核也是一种安全测试。虽然说,系统升级包在释放出之前已经进行了广泛的测试,但依然可能有意外存在,所以才不删除掉老的内核,以便于使用新升级的内核无法启动时,你能马上使用老内核进行启动,不至于导致你无法进入系统的悲剧。不过在你升级完毕,重启后能进入系统后,说明新内核已经很好的兼容了你的电脑,那么你就可以放心大胆的删除掉老内核咯,也好腾出更多空间让你使用哦。

不过老内核时一定要小心,那就是——千万不要删错咯。所以删除之前要先看一看你现在正在使用的内核是哪一个。方法是在终端中输入命令

uname –r,然后看其显示的内核版本是多少。看准了自己使用的内核后,你就可以放心大胆的删除那些不用的老内核。

打开终端,敲入命令dpkg --get-selections | grep linux

然后将不用的内核文件image、头文件headers删除掉就可以咯。在终端中输入命令

sudo apt-get purge 内核文件名 头文件名

删除内核后,就可以省下很多空间哦 这块我没有很完整的截图,但是删除完后,我只剩两个内核:

dpkg --get-selections |grep linux-image命令可以查看内核信息

参考:https://www.cnblogs.com/yc_sunniwell/archive/2010/07/15/1778265.html

https://blog.csdn.net/hahavslinb/article/details/45196961

由于保守起见,没有删除generic这个。暂时不影响,随便他了。

6、压缩虚拟机 vdi 文件

升级后,虚拟机文件变得很大了,6.9G了,本来才2.3G

因此网上找方法:参考了https://tsov.net/uupee/23672/

我按照下面的步骤进行的:

virtualBox压缩虚拟机文件 一、启动虚拟机 在虚拟机系统里执行: 碎片整理: sudo dd if=/dev/zero of=zero.fill 删除碎片文件: sudo rm -f zero.fill 完成指令后关闭虚拟机。 二、宿主机以管理员模式打开命令提示符,执行以下命令: cd 虚拟机安装的目录。 开始执行压缩命令: VboxManage modifyhd "虚拟机文件名.vdi" --compact

压缩命令如下画面:也是等待一段时间的。

最后我的虚拟机文件只有4G多了。

7、总结

为何我折腾一下升级呢,其实是不用升级的,清华大学的镜像源中有14.04的,最老可以使用12.04的,说明使用14.04是可以的。但是纵向多学习一下,而且升级了系统对自己了解linux比较有好处。因此特意花了一晚上和一早上的时间来 折腾一下,巩固以前Linux的操作,找回过去的记忆。

下一篇文章记录下如何用共享文件来学习c语言的编译。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在scite编辑器中使用astyle格式化c代码

    用 vc6 很喜欢 alt+F8 的功能. 能够格式化代码. scite 没有这个功能. 今天看它的配置文件发现这么两行:

    用户4645519
  • 在stm32开发可以调用c标准库的排序和查找 qsort bsearch

    在嵌入式开发中,可以使用c标准库自带的库函数,而不用自己去早轮子,qsort 和bsearch就是其中的两个比较好用的

    用户4645519
  • FreeBSD虚拟机——小折腾

    最近,突然想起来Linux了,因为前段时间接触了DOS命令,提高了自己的工作效率,这会想再温习下Linux的CLI,无奈windows下unix命令,水土不服,...

    用户4645519
  • 沉睡中的大学生:你不失业,天理难容

    当你看到这个标题的时候,可能会觉得我是个标题党吧,但是首先澄清下,我不是标题党,我也不做标题党,从某种程度上说,我有些时候也是深受其害的。 ...

    compassblog
  • JVM ClassFile Structure

    魔数,判断文件是否是能被虚拟机接受的class文件,固定值为 0xCAFEBABE

    itliusir
  • Android学习第七弹之手势操作

    在昨天我们讲了Android的OnTouch触摸事件,有时候触摸和手势是相互联系的,密不可分的关系,所以上节我们讲了触摸事件,今天我们自然而然的就需要讲手势操作...

    非著名程序员
  • Django源码学习-12-ContextMixin 上下文

    Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(...

    小团子
  • 停课不停学!深圳罗湖联手腾讯教育打造多元化防疫解决方案

    ? 2月17日,深圳市中小学“在线开学”。为做好防疫期间中小学“停课不停教 停课不停学”的工作,秉承“全区统筹,推荐平台,学校组织,年级授课,班级管理,精准施...

    鹅老师
  • 基于bmob快速搭建小程序用户模块

    客户端调用wx.login()后获取的code,后端人员拿到code和微信换取openid和session_key;

    疯狂的小程序
  • vue使用canvas签名之PC端

    在一些项目业务中,经常会使用到画板,让用户自己去写/画一些东西做标示,比如说在线签电子合约、签名等,如果不用插件,那么如何使用h5的canvas画布来实现这一需...

    流眸

扫码关注云+社区

领取腾讯云代金券