《嵌入式 Linux应用程序开发标准教程(第2版)》——2.4 实验内容

简介:

本节书摘来自异步社区《嵌入式 Linux应用程序开发标准教程(第2版)》一书中的第2章,第2.4节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.4 实验内容

嵌入式 Linux应用程序开发标准教程(第2版)

2.4.1 在Linux下解压常见软件

1.实验目的

在Linux下安装一个完整的软件(嵌入式Linux的必备工具——交叉编译工具),掌握Linux常见命令,学会设置环境变量,同时搭建起嵌入式Linux的交叉编译环境(关于交叉编译的具体概念在本书后面会详细讲解),为今后的实验打下良好的基础。
2.实验内容

在Linux中解压cross-3.3.2.tar.bz2,并添加到系统环境变量中去。
3.实验步骤

(1)将光盘中的cross-3.3.2.tar.bz2复制到Windows下的任意盘中。

(2)重启机器转到Linux下,并用普通用户身份登录。

(3)打开“终端”,并切换到超级用户模式下。

命令为:su - root

(4)查看cross-3.3.2.tar.bz2所在的Windows下对应分区的格式,并记下其文件设备名称,如“/dev/hda1”等。

命令为:fdisk -l

(5)使用mkdir命令在“/mnt”新建子目录作为挂载点。

命令为:mkdir /mnt/win

(6)挂载Windows相应分区。

若是vfat格式,则命令为:mount –t vfat /dev/hda* /mnt/win。

 注意

由于ntfs格式在Linux的早期版本中是不安全的,只能读,不能写,因此最好把文件放到fat32格式的文件系统中。

(7)进入挂载目录,查看是否确实挂载上。

命令为:cd /mnt/win;ls

(8)在/usr/local下建一个名为arm的目录。

命令为:mkdir /usr/local/arm

(9)将cross-3.3.2.tar.bz2复制到刚刚创建的目录中。

命令为:cp /mnt/win/cross-3.3.2.tar.bz2 /usr/local/arm

 注意

若cross-3.3.2.tar.bz2在当前目录中,则可将命令简写为:cp ./cross-3.3.2.tar.bz2 /usr/local/arm。

(10)将当前工作目录转到“/usr/local/arm”下。

命令为:cd /usr/local/arm

 想一想

为什么要将此目录创建在“/usr/local”下?

(11)解压缩该软件包。

命令为:tar jxvf cross-3.3.2.tar.bz2

(12)将此目录下的/bin目录添加到环境变量中去。

命令为:export PATH=/usr/local/arm/3.3.2/bin :$PATH

 注意

用此方法添加的环境变量在掉电后会丢失,因此,可以在“/etc/bashrc”的最后一行添加以上命令。

(13)查看该路径是否已添加到环境变量中。

命令为:echo $PATH
4.实验结果

成功搭建了嵌入式Linux的交叉编译环境,熟悉Linux下常用命令,如su、mkdir、mount、cp、tar等,并学会添加环境变量,同时对Linux的目录结构有了更进一步的理解。

2.4.2 定制Linux系统服务

1.实验目的

通过定制Linux系统服务,进一步理解Linux的守护进程,能够更加熟练运用Linux操作基本命令,同时也加深对init进程的了解和掌握。
2.实验内容

查看Linux系统服务,并定制其系统服务。
3.实验步骤

(1)查看系统的默认运行级别。

命令为:cat /etc/inittab(假设当前运行级别为N)

(2)进入相应级别的服务脚本目录,查看哪些服务是系统启动的独立运行的服务,并做下记录。

命令为:cd /etc/rc.d/rcN.d

(3)利用命令查看系统开机自启动服务,与上次查看结果进行比较,找出其中的区别,并思考其中的原因。

命令为:chkconfig –list

(4)记录chkconfig –list命令中由xinet管理的服务,并将其中启动的服务做下记录。

(5)进入xinet配置管理的相应目录,查看是否与chkconfig –list所得的结果相吻合,并查看相应脚本文件。

命令为:cd /etc/xinetd.d

(6)将sshd服务停止。

命令为:service sshd stop

(7)将sshd服务设置为开机不启动。

命令为:chkconfig –level N sshd stop

(8)查看该设置是否生效。

命令为:chkconfig –list

(9)查看系统中所有服务及其端口号列表。

命令为:cat /etc/services

(10)将sshd服务端口号改为4022。

命令为:vi /etc/services

(11)重启sshd服务,验证所改的端口号是否生效。

命令为:service sshd start

(12)重启Linux系统,验证所改的服务开机启动是否生效。
4.实验结果分析

本实验通过验证Linux系统服务的启动状态,进一步明确Linux系统服务启动的流程,更深入地理解了Linux系统操作。

本实验还通过定制Linux系统服务sshd的开机启动状态和端口号,熟悉了Linux的系统定制步骤。

相关文章
|
30天前
|
Ubuntu 网络协议 Linux
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
105 2
|
14天前
|
安全 Linux
Linux查看和剔除当前登录用户详细教程
Linux查看和剔除当前登录用户详细教程
13 0
Linux查看和剔除当前登录用户详细教程
|
15天前
|
Linux 网络安全 数据安全/隐私保护
使用宝塔Linux搭建DVWA靶场保姆级教程
这是一篇详细的教程,作者基于其在Web渗透测试领域的学习经验,利用宝塔Linux面板搭建了DVWA靶场。从安装Linux宝塔面板到通过Docker运行DVWA容器,每一步都有详尽的文字描述和配图指导,确保读者能够顺利地进行实践操作,非常适合初学者快速上手并掌握相关技能。
|
16天前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
16 2
|
17天前
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
|
14天前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
27 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
14天前
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
77 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
|
14天前
|
Linux 网络安全 开发工具
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
本文介绍了如何基于Linux Kernel 5.15.102版本和BusyBox创建一个自定义的迷你Linux ARM系统,并使用QEMU进行启动和调试,包括内核和BusyBox的编译配置、根文件系统的制作以及运行QEMU时的命令和参数设置。
73 0
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
|
14天前
|
NoSQL Linux 编译器
内核实验(一):使用QEMU+GDB断点调试Linux内核代码
如何配置环境并使用QEMU虚拟机结合GDB进行Linux内核代码的断点调试,包括安装QEMU、交叉编译工具链,编译内核以及通过GDB远程连接进行调试的详细步骤。
28 0
内核实验(一):使用QEMU+GDB断点调试Linux内核代码
|
20天前
|
Ubuntu 网络协议 Linux
Linux下快速搭建七日杀官方私人服务器教程
本文提供了一份详尽的《七日杀》服务器搭建指南,专为Linux系统设计。教程分为九大部分,涵盖从前期准备到服务器维护的全过程。主要内容包括:选择具备公网IP的云服务器、安装Ubuntu 20 X64系统、下载SteamCMD等必备软件;详细指导如何配置服务器、设置防火墙及端口规则、启动与关闭服务器;此外还提供了服务器管理、环境配置(如设置swap分区)等实用技巧。适合有一定Linux基础的玩家参考实践。