Linux创客实战(txt+pdf+epub+mobi电子书下载)


发布时间:2020-11-06 07:18:09

点击下载

作者:(美)亚伦·纽科姆(Aaron Newcomb)

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Linux创客实战

Linux创客实战试读:

前言

我在当地社区创建创客空间(Makerspace)时,注意到一些特别有趣的学习趋势。有些人等别人分享了一些有益的基本技巧后才愿意学习新技能。有些用户在不知道自己正在做什么的情况下直接开始学习新技能。这样会减缓学习进展,当然如果有人为他们提供正确指导的话,那么就会改善学习进程了。在这两种情况下,只需在最初给予学习者一点指导,就可以加快学习进程。

学习如何使用Linux来制作、构建项目并非易事。在许多情况下,创客可以直接将网站教程剪切并粘贴到Linux命令行中,但是却不理解他们实际在做什么,只有在想要修改或调整某些内容以适应个人需求时才会感到沮丧。此外,许多创客都不愿意使用树莓派或与之类似的开发板,这是因为他们认为Linux太过陌生,而且在许多教程中使用其命令行会比使用GUI更难一些。

本书旨在克服这些恐惧,并为在项目中使用Linux操作系统提供了深度学习和探索的基础。Linux只是创客工具箱中的一个工具而已。也许它与你之前使用的其他操作系统有所不同,但是一旦你掌握了高效使用它的技巧,那么便无须担忧其操作性,在这一点上,Linux与所有的工具都是一样的。事实上,Linux是一个强大的操作系统,你可能会爱上它,甚至选择每天使用它。

Linux是一个已经存在多年的功能强大的开源操作系统,现在广泛用于运行服务器和网站。但是大多数学生和创客在第一次使用树莓派或类似的单板计算机(SBC)(例如BeagleBone Black或Intel Galileo)开展项目时会遇到Linux。本书是第一本专门针对创客而非程序员和管理员介绍Linux操作系统的书。通过更深入地了解Linux,创客们可以在工具箱中添加能帮助他们更轻松地构建项目的其他工具。

考虑到这本书是针对如今的创客们撰写的,所以它主要围绕在树莓派上运行的Linux的Raspbian发行版,因为该平台是当今生态系统中产量最高的版本。然而涉及的大多数主题将广泛适用于其他Linux发行版,如果需要详细区分版本的时候我会指出来。为此,本书将重点介绍创客们需要了解的基本原则,避免与构建项目无关的细节。加载完操作系统后,我会介绍Linux的工作原理、如何使用命令行、如何控制设备以及大量有助于高效操作的提示和技巧。

在本书中,你会发现一个叫作“试一试”的部分。在这个部分,你可以将在本书中学到的知识付诸实践,同时也可以探索更多尝试新概念的机会。本书还有一些插图和图片,这些有助于你理解在树莓派上使用Linux时遇到的情况。

对于可能好奇“所有这些是如何开始的呢?”或者“Linux最终如何按照它的方式组装起来的呢?”等问题的读者,我在附录A中介绍了Linux的简史。本书的排版约定

斜体字(Italic)

表示新的术语、链接、电子邮箱地址、文件名和文件扩展名。

等宽字体(Constant width)

用于程序清单,也用于在段落中引用程序元素,例如变量名、函数名、数据库、数据类型、环境变量、程序语句和关键词。

加粗等宽字体(Constant width bold)

表示应该由用户输入的命令或者其他文字信息。

斜体的等宽字体(Constant width italic)

表示此处应该替换为由用户提供的数值,或者根据上下文确定的数值。Safari在线图书

Safari Books Online针对企业、政府、教育机构和个人提供了不同的购买计划,你可根据实际需求进行选购。

用户可以访问上千种图书、培训视频、学习路径、互动教材和专业的播放列表,这些内容来自超过250个出版商,包括O'Reilly Media、哈佛商业评论、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Adobe、Focal Press、Cisco Press、John Wiley&Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones&Bartlett和Course Technology等。关于Safari在线图书的更多信息,请访问http://oreilly.com/safari。如何联系我们

请将关于本书的宝贵意见和问题发送给出版商,地址:Make:1160 Battery Street East,Suite 125 San Francisco,CA 94111

877-306-6253(美国或者加拿大)

707-639-1355(国际或者本地)

我们有一个关于本书的网页,上面罗列了勘误表、示例和其他附加信息,网址:http://bit.ly/linux_for_makers。

Maker Media团结、鼓励、告知和悦纳一个聚集了众多智慧之人的成长型社区,这些人在家里的后院、地下室和车库进行着令人惊叹的项目。Maker Media宣告你可以行使调整、入侵以及让任何技术为你服务的权利。Maker Media的观众继续成长为一个成长型的文化和社区,我们相信这样可以让我们自己、环境、教育系统乃至我们的世界都会变得更好。Maker Media倡导的不是一个人,而是一个全球性的变革运动,我们称之为创客运动(Maker Movement)。

想要了解更多关于Make:的内容,敬请访问我们的网站:

Make:magazine:http://makezine.com/magazine

Maker Faire:http://makerfaire.com

Makezine.com:http://makezine.com

Maker Shed:http://makershed.com

想要评论或者询问关于本书的技术性问题,请发送电子邮件到bookquestions@oreilly.com。致谢

我要感谢我的妻子Jennifer和孩子Stephen、Olivia和James,感谢他们在我撰写本书时的耐心相伴。因为写书我推掉了很多已经计划好的周末和晚上的家庭活动,但是他们一直支持我。

感谢James在1997年向我介绍了Linux。如果你知道有人可能喜欢Linux或树莓派的话,就把它介绍给他们!

很感谢编辑Patrick,以及Maker Media和O'Reilly Media的所有员工的支持,感谢他们在本书撰写、编辑和审阅过程中给予我的指导。

我也想感谢那些花费时间审校本书并提供许多极好建议的人们:Robert Shaver、Christoph Zimmermann、Jim Kennon、Rashed Harun以及Broedy Bowers。第1章入门

树莓派是一种单板计算机(SBC),顾名思义,它是一个基于单个印刷电路板(PCB)的完整的计算机系统。和大多数SBC一样,树莓派无须开箱即可充电和使用。它具有与其他计算机相同的嵌入开发板基本组件:中央处理单元(CPU)、存储器、视频处理器、音频和网络。

树莓派没有外带存储设备。在计算机或笔记本电脑上,大多数人使用硬盘驱动器来存放操作系统及其所有文件。如果使用树莓派,你可以使用SD卡作为主存储设备。所以在我们可以使用Linux来处理事情之前,我们需要在SD卡上加载使用树莓派时你喜欢使用的操作系统。为了达到最佳效果,你应该使用至少有8GB可用容量的SD卡。什么是磁盘镜像?

磁盘镜像(disk image)是表示整个存储设备的时间点副本的单个文件。正如照片是能够包含不同人物或物体的图像,磁盘镜像可以包含大量不同的分区、目录和文件。

这个过程可能会让一些人感到困惑,所以我们把它分步拆解,一次一个步骤,分步学习。这些步骤包括从互联网上下载压缩的磁盘镜像,在本地计算机上解压缩该镜像,将该镜像写入SD卡,最后启动树莓派。你会发现这些步骤也适用于其他SBC,但是镜像文件会改变,因为使用的主板具有专门的操作系统。

在本章中我将提到一些你可能不太了解的概念,如文件系统、终端模拟器和命令行。不用担心不懂这些,我们将在第2章中深入介绍这些内容。现在,我们只需要运行它,以便在阅读本书时使用自己的树莓派。开始学习之前,你需要具备一台能够联网的台式机或笔记本电脑。选择并下载磁盘镜像

找寻最新版的树莓派磁盘镜像的最佳地方是树莓派基金会网站(http://raspberrypi.org/downloads)。当你访问该网站时,会看到有多个可供选择的磁盘镜像。树莓派基金会官方支持的是NOOBS和Raspbian。NOOBS本质上是一个可以在树莓派上运行Raspbian以及其他几个操作系统的安装程序。NOOBS可以自动执行本章中描述的几个任务,但并不是最终使用的实际操作系统。相反,下载操作系统是安装过程的一部分。另一方面,Raspbian包含实际的操作系统,安装方法是将磁盘镜像手动写入SD卡中。

我建议选择Raspbian镜像。原因如下:首先,如果你学习了标准安装程序,安装NOOBS可能就没那么复杂,但实际上使用Raspbian比使用NOOBS更容易、快速。其次,学习Raspbian的安装过程将会教你如何加载之后可能想尝试的任何磁盘镜像,而且本书的目的在于让你学会如何利用所学内容解决实际问题。最后,由于使用此安装过程加载Raspbian会使SD卡上的磁盘布局和结构更标准,这会让图片的备份更容易保存。这些操作有助于在SD卡或树莓派发生损坏的时候,保护你的工作成果以及防止数据丢失,而这肯定是你需要的。

单击Raspbian链接并下载Raspbian Jessie文件。之后,如果你不想使用桌面(请参阅第3章),可以选择Raspbian Jessie Lite文件,该文件较小,但未预先包装在桌面环境中。将ZIP文件保存在之后可以轻松找到的位置,如“Downloads(下载)”文件夹。在撰写本文时,该ZIP文件名如下:2017-01-11-raspbian-jessie.zip。解压缩磁盘镜像

为了便于下载,磁盘镜像会被压缩成较小的文件。压缩文件基本上会使用一个算法来清除所有的空格并复制现有的信息。例如,想象一下,将一篇文章或文本的单词之间的所有空格移除然后发送给朋友。它会使成品更小,但也更难阅读。所以为了利用磁盘镜像,首先需要将其解压。这会需要软件解压磁盘镜像,在多数情况下,桌面或笔记本电脑上有可用的解压缩软件。Windows

在Windows的最新版本中,你需要的解压缩软件已经内置到File Explorer(文件资源管理器)中了。只需打开它并找到你保存ZIP文件(压缩文件)的文件夹。双击ZIP文件打开它。单击Extract(解压)按钮将磁盘镜像保存到可以轻松找到的位置。可以是原来保存ZIP文件的同一个文件夹(见图1-1)。图1-1:使用Windows解压磁盘镜像macOS

当你使用最新版本的Safari下载ZIP文件时,ZIP文件将默认自动解压并保存在“Downloads(下载)”文件夹中。如果你使用的是旧版本,则macOS有一个名为Archive Utility(文件存档管理器)的内置工具来解压文件。只需双击下载的ZIP文件,Archive Utility将解压缩你的文件(见图1-2)。

完成此过程后,你将看到解压出来的.img文件在桌面上或保存ZIP文件的位置出现。图1-2:Archive Utility程序在macOS上运行Linux

Linux的大多数发行版还附带提取压缩文件的内置程序。在桌面上,可以打开文件浏览器,并双击已经下载的ZIP文件。这将打开Archive Manager(存档管理器),并允许提取镜像文件(见图1-3)。图1-3:使用Linux提取磁盘镜像

也可以从命令行轻松地执行此操作。打开一个终端模拟器并输入:

这一操作假定将ZIP文件保存到默认的下载位置,并且文件名正确。这个过程要有耐心,因为这个文件很大,会需要一些时间解压。详情见图1-4。命令行混淆

还不习惯使用命令行?命令行是本书的重要组成部分。你将在接下来的几章中了解更多信息。图1-4:使用Linux命令行提取磁盘镜像将磁盘镜像写入SD卡

请注意,在此步骤之后,SD卡上原来的文件都会被删除。Windows

将磁盘镜像写入SD卡时,Windows是当前最简单的操作系统。但是,不同于macOS和Linux,它需要先下载一些软件。打开浏览器并下载Win32 Disk Imager应用程序(https://sourceforge.net/projects/win32diskimager/)。

通过双击已经下载的文件来安装应用程序。安装成功后,将SD卡连接到计算机,并记下Windows分配的驱动器盘符。现在打开应用程序。首先检查的是,应用程序选择的驱动器盘符实际上是否为对应于SD卡的驱动器盘符。Win32 Disk Imager应用程序对于只选择SD卡是非常好的,但是对此你要认真检查,因为要擦除驱动器,而且绝对不会想在Windows上擦除C:驱动器。

现在单击蓝色文件夹图标,选择在上一步中提取的镜像文件,见图1-5。图1-5:Win32 Disk Imager程序界面

选择正确的文件后,可以单击“Write(写入)”按钮。这会覆盖SD卡上的所有数据。完成该过程后,关闭Win32 Disk Imager应用程序。打开File Explorer(文件资源管理器),右键单击SD卡驱动器盘符,然后选择Eject(弹出)。在移除SD卡之前,请务必确保计算机在后台完成了文件的写入操作。macOS

和Linux一样,macOS已经拥有将镜像写入SD卡所需的所有软件。但是,你需要使用命令行。打开Finder并选择Applications(应用程序)→Utilities(实用程序)→Terminal(终端),见图1-6。图1-6:在macOS上查找Terminal(终端)程序

插入SD卡,稍等片刻,macOS会对其进行识别。在终端窗口中使用diskutil list命令输出附加到Mac的所有磁盘列表:

识别代表SD卡的磁盘(不是分区)(如disk1,而不是disk1s1),如图1-7所示。图1-7:diskutil list命令的示例输出

在这种情况下,我有一个64GB的SD卡,macOS将其识别为disk1。

通过使用diskutil unmountDisk命令和磁盘名称来卸载SD卡,为复制数据做准备(见图1-8):图1-8:使用diskutil卸载磁盘

现在我们需要将镜像文件复制到SD卡上。我们将使用数据复制器或dd命令。一定要确保你获取的是正确的磁盘编号,以免覆盖系统磁盘!还需要对此命令使用Super-UserDO(sudo)。sudo是常规用户运行命令的安全方式,通常需要获取管理员权限:

如果你正在使用sudo,需要输入密码。如果你安装了GNU coreutils,可能会导致错误:

不要担心刚刚出现的状况,只需要在命令的bs=部分使用大小为1m的代码块即可解决问题,如下所示:

这将需要几分钟的时间,具体时间取决于镜像文件大小。可以通过按Ctrl-T发送SIGINFO信号检查进度(见图1-9)。如果此命令仍然失败,请尝试使用disk命令取决rdisk命令。图1-9:在macOS上使用dd实用程序

在这种情况下,dd命令传输了549个1 MB代码块。终端会在完成时给予提示。最后,在断开SD卡之前先运行最后一个命令:

这会确保在后台可能发生的所有写入SD卡的任务都已完成。现在可以移除SD卡了。Linux

将SD卡连接到计算机之前,请运行以下命令:

这将显示连接到系统的所有物理驱动器。请注意驱动器的大小和磁盘的名称,见图1-10。图1-10:使用fdisk查找物理磁盘

现在将SD卡连接到计算机上,稍等片刻,Linux PC会对其进行识别。它可以自动安装并显示驱动器上的所有分区。现在再次运行相同的命令。这次你会注意到一个新的驱动器(见图1-11)。请记住磁盘名称和大小。磁盘名称对于进行下一步很重要。

现在运行以下命令将镜像文件写入SD卡。请注意使用的是SD卡的磁盘名称,而不是你的系统磁盘名称:

将/YourSDCardName替换为标识SD卡的磁盘名称,最后使用*:图1-11:使用fdisk查找物理磁盘(续)

当然,在dd命令的if=部分替换文件名,并在of=部分替换SD卡的磁盘名称。根据计算机和SD卡的写入速度,最后一个命令可能需要10分钟才能完成。一旦完成,会提示返回(见图1-12)。图1-12:在Linux上使用dd实用程序

最后,在断开SD卡之前,运行最后一个命令:

这将确保在后台可能发生的所有写入SD卡的操作已经完成了,现在可以移除SD卡。首次启动树莓派

现在魔法时间到。你可以将SD卡插入树莓派中,但是在连接电源之前,要确保已经连接显示器,并且可以使用的电源至少为1安培(通常在电源上显示为1A)或更多,2安培(2A)更好。较新的智能手机充电器应该是好用的,通过USB将树莓派连接到笔记本电脑或PC上。

当启动树莓派时,你会注意到屏幕顶部有四个树莓派标志,黑色屏幕上有一堆滚动文字,每行上都有很多绿色的OK文本。这时不要惊慌,这是正常的,表明Linux正在启动操作系统并启动一些服务(更多相关信息参见第2章)。

当树莓派完成启动后,你可能想要在开始制作项目之前调整几个设置。其他SBC可能需要或不需要这些调整。另外,要牢记操作系统的开发人员一直在更新系统这件事。较新版本的Raspbian可能不需要此处提供的所有建议。扩展文件系统

当你下载的镜像文件被创建时,镜像文件创建者首先会将其压缩来加快下载速度,这一点创建者做得很棒。首次启动系统时,你只拥有4GB的空间,即使你的实际SD卡比这个容量更大,但是能够使用的也只有大约700 MB的空间。将镜像加载到SD卡上后,你可能希望扩展文件系统来使用所有的额外空间。在最新版本的Raspbian中,这会在第一次启动时自动发生。你将会注意到,在第一次启动系统时,系统将在短时间内重新启动。这是正常的,因为系统必须重新启动才能识别文件系统的新容量。对于Raspbian的旧版本,在树莓派桌面上,单击看起来像一个黑色的显示器的图标。这将打开一个终端模拟器,我们将用它来访问命令行。在弹出的窗口中,运行以下命令:

这会打开树莓派配置应用程序,如图1-13所示。

按Enter键(回车键)选择Expand Filesystem(扩展文件系统)选项。几秒钟后,会出现另一个界面,告诉你已经调整根文件系统的大小。更改本地化选项

在默认情况下,Raspbian镜像是在英国使用的,因为英国是树莓派基金会所在地。如果你居住在另一个国家,你会希望设置自己的树莓派使用本地时区、键盘布局和语言设置。相信我,在键盘上输入双引号字符,而树莓派上却显示为@符号,这会带来极大的挫败感。图1-13:raspi-config界面

遵循相同的程序,使用键盘上的下移键选择Localisation Options(本地化选项)或按相应的数字键。我们将在此菜单中配置所需的三个选项,但现在从Change Locale(更改区域)设置开始。按此选项里的Enter键继续,你应该看到类似于图1-14的界面。图1-14:raspi-config中的区域设置菜单

你有可能不自觉地在屏幕中选择“All locales(所有区域设置)”,但是这不是一个好主意。你的树莓派会花费很长时间来配置你可能永远不会使用的数百种语言的设置。相反,你可以滚动选择与你最常用的语言相匹配的语言环境。如说明所示,选择以UTF-8结尾的选项。例如,在美国,当选择指标位于你选择的选项旁边时,可以通过按空格键选择en_US.UTF-8。我不会详解本书中的全部代码的所指内容,但是你可以在线查找语言代码列表(https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)。

一旦你选择了自己的区域,按Enter键移至下一个界面,它会询问你的默认语言环境是什么。使用方向键选择刚刚的区域设置,然后再次按Enter键。树莓派将生成所需的信息,并返回到主要的树莓派配置界面。

现在来设置你的时区。从主屏幕再次选择Localisation Options,然后选择Change Timezone(更改时区)。这将显示一个类似于图1-15的界面。图1-15:更改raspi-config中的时区

使用键盘上的方向键和Enter键浏览此菜单以选择你的时区。如果你在美国,你会更容易在菜单中找到并选择America菜单项。然后,可以输入离你最近的城市名的首字母来找到正确的时区。按Enter键确认选择并设置时区。然后,将返回到树莓派的主配置界面。

最后也是最重要的一步,需要设置键盘布局。再次选择Localisation Options,然后选择Change Keyboard Layout(更改键盘布局)。你会看到类似于图1-16的界面显示。

使用方向键选择你正在使用的键盘。对于大多数用户而言,如果在美国,它将是通用的104键PC键盘。如果在欧洲或其他地方,则是通用的105键(Intl)PC键盘。按Enter键移至下一个界面。

屏幕中将列出键盘预先设置的英语(英国)布局。如果你不在英国,可以通过从此菜单中选择“Other(其他)”并按Enter键找到你的键盘布局(见图1-17)。图1-16:更改raspi-config中的键盘布局图1-17:更改raspi-config中的键盘布局(续)

在下一个界面上,选择键盘的初始国家,然后按Enter键。现在可以选择布局。使用方向键将光标移动到列表的顶部,你可以在其中找到可以选择的通用布局,然后按Enter键选择它。

有几个可以切换的页面,只需在每个界面上按Enter键即可在这些界面上选择默认值。然后,将返回到树莓派的主配置界面。

按Tab键或使用方向键访问“Finish(完成)”按钮,然后按Enter键。你将被询问是否要立即重新启动。选择Yes(是),然后按Enter键,将重新启动树莓派。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载