嵌入式 Linux 入门(八、Linux 下的软件安装)
前言
我们前面的文章基本上都是对 Linux 系统本身的说明与学习,那么我们在以后嵌入式开发的过程中肯定需要安装各种各样的软件,那么在 Linux 系统下面如何安装软件呢?
那么本文最主要的目的是学会在 Ubuntu 下面如何安装不同的软件,同时也简单的说明一下软件安装工具以及 Ubuntu 的包管理。
嵌入式 Linux 入门系列博文:
嵌入式 Linux 入门(一、Linux 基本介绍及文件结构)
https://xie.infoq.cn/article/1adbc03be480d8203f8b1ed4a
嵌入式 Linux 入门(二、Linux 文件系统、文件类型及权限管理)
https://xie.infoq.cn/article/4d2e926fda47f2eff019ae0e4
嵌入式 Linux 入门(三、Linux Shell 及常用命令说明)
https://xie.infoq.cn/article/b25c452df449abc1806ba446a
嵌入式 Linux 入门(四、Linux 下的编辑器 — 让人爱恨交加的 vi )
https://xie.infoq.cn/article/d87223a72889208660ecbec17
嵌入式 Linux 入门(五、Shell 脚本编程上:认识 Shell 脚本)
https://xie.infoq.cn/article/16e4569fa32dce00a39eaddaf
嵌入式 Linux 入门(六、Shell 脚本编程下:Shell 脚本语法)
https://xie.infoq.cn/article/1e982eb296024089baf5c1ca0
嵌入式 Linux 入门(七、Linux 下的环境变量)
https://xie.infoq.cn/article/2204ed2ccaf662eccba3024d8
我是矜辰所致,全网同名,尽量用心写好每一系列文章,不浮夸,不将就,认真对待学知识的我们,矜辰所致,金石为开!
一、Linux 系统的软件包管理
在开头,先简单说明一个东西,我们下载一个跨平台的程序,根据不同的平台会提供不同的安装包,比如下图,我们熟悉的 Vscode ,我们在官网下载地址可以看到不同平台的下载不是不同的软件包,如下图:
那这里我们注意到如果下载 Linux 下面的 VScode ,有 2 个软件包: 一个是.deb
一个是.rpm
。
1.1 Ubuntu 下的软件包
这两种不同的包是到底用哪个呢? 就引出了我们今天要说明的第一个问题,Linux 系统的软件包管理。
此部分可以仅作为知识了解,知道有这个一个东西即可。
一般而言,大多数 linux 发行版分别属于两大包管理技术阵营:Debian 的.deb
,和 RedHat 的.rpm
。
我们在系列文章第一篇的时候讲过 Linux 的版本时候说到过这两个东西:
对于不同的 Linux 发行版本,他们的包管理系统是不一样的:
那么这里我们只需要知道,我们使用的是 Ubuntu 系统,使用的软件包为.deb
格式的即可。
那知道了我们在 Ubuntu 下使用的.deb
格式的软件包,那么还得 Ubuntu 知道 .deb
软件包的使用工具:
这里我们要知道 2 个工具, dpkg 和 apt-get:
dpkg 管理系统的里 deb 包,可以对其安装、卸载、deb 打包、deb 解压等操作,
apt-get 可以在线下载 deb 包 安装
1.2 dpkg 工具
dpkg 工具,Ubuntu 底层的包管理工具,主要用于对已下载到本地和已经安装的 deb 包进行管理。
这个工具记住他的使用就可以,他的常用命令如下:
在下文介绍软件安装方法的时候,会有更多的实例说明。
1.3 install 命令
install
命令:将编译后的文件安装到系统中。
命令install
通常和命令 apt-get
组合在一起使用的。
在上面得三种形式中,将源文件复制到目标文件或将多个源文件复制到一个已存在的目录中同时设置其所有权和权限模式,在第四种形式会创建指定的目录。
这部分不理解问题不大,以后用到自然就明白。
1.4 apt-get 命令
apt-get 命令,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
它与上面的我们介绍的 install 命令构成了 Ubuntu 下最常见的下载和安装软件的方法,我们最常用的一条命令为的 apt-get install xxxx
:
这个命令也可以加一些参数,加参数的格式为:
apt-get 命令同上面 dpkg 一样记住使用就可以,他的常用命令如下:
apt-get 可添加的参数如下:
1.5 Ubuntu 更换软件源
我们在 Ubuntu 中使用 命令 apt-get install xxxx
下载软件之前,需要更换一下软件下载源。
APT 采用 C/S 模式,也就是客户端/服务器模式,一般来说我们的 PC 机作为客户端,当需要下载软件的时候就向服务器请求,因此我们需要知道服务器的地址,也叫做软件源或者更新源,这个一般默认使用的是国外的软件源(服务器)。
Ubuntu 安装完成就是国外的,所以我们需要修改软件源为国内的服务器,如下图操作:
上面点击软件更新器,然后继续进行下面操作:
选择中国的服务器,就设置完成。
在韦东山老师的教学文档中,还教了另外一种方式,直接修改配置文件:
首先备份源列表文件 sources.list:
打开 sources.list 文件修改选择合适的源,替换原文件的内容,保存编辑好的文件, 以阿里云更新服务器为例:
在文件最前面添加阿里云镜像源:
在我们使用 APT 工具下载安装或者更新软件的时候,首先会在下载列表中与本机软件进行对比,看一下需要下载哪些软件,或者升级哪些软件,默认情况下 APT 会下载并安装最新的软件包,被安装的软件包所依赖的其它软件也会被下载安装或者更新。
二、apt 与 apt-get
我们上面介绍的是:apt-get, 但是我们还经常看到 apt 这个命令,怎么少了个 get ?
2.1 两者的关系
简单来说:
apt 是新版的包管理工具,解决 apt-get 命令过于分散的问题。
简单来说就是:apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。
apt 可以看作 apt-get 和 apt-cache 命令的子集, 可以为包管理提供必要的命令选项。
这里推荐一篇说得比较好的文章:Linux中apt与apt-get命令的区别与解释
本小节大多内容引用至上面的文章:
apt 具有更精减但足够的命令选项,而且参数选项的组织方式更为有效。除此之外,它默认启用的几个特性对最终用户也非常有帮助。
虽然 apt 与 apt-get 有一些类似的命令选项,但它并不能完全向下兼容 apt-get 命令。也就是说,可以用 apt 替换部分 apt-get 系列命令,但不是全部。
在有些小的细节处理上,还是得使用 apt-get 命令,具体呢在使用命令的时候可以根据提示进行操作。
2.2 使用 apt 还是 apt-get 呢?
我个人建议是无所谓,可能是我抱着都能用的态度,万一这个不行就用那个 = =!
好吧,但是作为一些前辈还是建议尽量使用新版的 apt ,毕竟新的东西更可能有发展前景。
上面推荐文章说:
作为一个常规 Linux 用户,系统极客建议大家尽快适应并开始首先使用 apt。不仅因为广大 Linux 发行商都在推荐 apt,更主要的还是它提供了 Linux 包管理的必要选项,最重要的是,apt 命令选项更少更易记,因此也更易用。
三、软件安装方法
上面说到过,软件安装是编译完成以后使用命令install
来安装到系统中, 嵌入式 Linux 开发使用得最多的方法就是自行编译源码后进行安装。
但是本文暂时不讨论上述方式,只讲一下安装一些现成的软件包,主要是目的是为了入门者可以方便的搭建好自己的开发环境,下面介绍一下现成软件的安装方法:
3.1 下载.deb 安装包
如本文开头的 Vscode 软件包一样,我们可以在对应的网站下载.deb
软件包,然后放入 Ubuntu 中进行安装。
我们直接用示例说明,我下载了一个 QQ 的安装包:
3.1.1 图形化界面双击安装
在有图形化界面的时候,我们直接可以通过和 Windows 下一样的双击操作进行安装。
这里就不演示,简单。
3.1.2 dpkg 命令安装
上面我们讲过 dpkg 命令,安装软件: dpkg -i xxxx.deb
,那么我们来测试一下:
安装完了以后怎么启动呢? 随便测试了一下,直接输入 qq ,就启动了:
当然,也可以在左下角那 9 个点:显示应用程序里面用图形化界面打开:
3.2 应用商店安装
其实在我们安装的虚拟机环境中,有可视化图形界面,里面有 Ubuntu 的应用商店,我们需要什么软件,可以直接搜索进行安装,如下图:
那么这种方式基本上就和 windows 下一样了,只是他不需要你选择安装路径,因为在 Ubuntu 下面会自动选择好路径。
3.3 ☆ 使用 apt 命令安装 ☆
学会使用 apt 安装是本文的核心,这是必须要掌握的方法!! 但其实也蛮简单的,记住前面讲过的一个指令:apt-get install xxxx
举几个例子,我这里都已经安装过了,这里在进行升级:
结语
本文相对前面还是比较简单的,基本上记住一条指令:apt-get install xxxx
就可以满足大部分情况下的软件安装,周末轻松一点 O(∩_∩)O~ 。
学会了 Linux 下的软件安装,这下我们可以在我们的虚拟机中安装我们所需要的软件,搭建好我们的开发环境。
好了,本文就到这里,谢谢大家!
版权声明: 本文为 InfoQ 作者【矜辰所致】的原创文章。
原文链接:【http://xie.infoq.cn/article/14c3d085726f5faef8f785d90】。文章转载请联系作者。
评论