《手把手教你构建自己的 Linux 系统》学习笔记(8)

目录

  • Binutils 软件包有什么用?
  • make -k 的作用是什么?
  • man-pages 里有几种文档?分别表示什么意思?
  • 如何查询指定目录的 man-pages ?
  • 如何使用 make 命令的同时,修改 makefile 中的文件的值?
  • pkg-config 软件包的用途是什么?
  • Ncurses 软件包的作用是什么?
  • Util-linux-ng 软件包的作用是什么?
  • coreutils 软件包的作用是什么?
  • Iana-etc 软件包的作品用是什么?
  • M4 软件包的作用是什么?
  • Procps 软件包的作用是什么?
  • Readline 软件包的作用什么?
  • Libtools 软件包的作用是什么?
  • Inetutils 软件包的作用是什么?
  • Autoconf 软件包的功能是什么?
  • Automake 软件包的功能是什么?
  • File 软件包的功能是什么?
  • Findutils 软件包的作用是什么?
  • Flex 软件包的作用是什么?
  • Groff 软件包的作用是什么?
  • IPRoute2 软件包的作用是什么?

Binutils 软件包有什么用?

这个软件包是由 GNU 组织提供的一个二进制处理工具集,因此也称为 GNU Binutils,其中包含了连接器,汇编器和一些用于目标文件处理的工具。

make -k 的作用是什么?

使用 make 命令进行编译、安装、测试等过程中如果发声错误了将导致执行终端,有些错误是不影响结果的饿,如果却是某个不重要的文件,单 make 的检查机智会在错误发声时停止,不能完成整个执行过程,针对这样的情况 make 提供了一个 k 参数来解决。

使用 k 参数允许 make 在发声错误时仍然继续后面的步骤直到结束。

man-pages 里有几种文档?分别表示什么意思?

通常 makn 手册存放在 /usr/share/man 目录中,分为 1~8 类的文档,分别对应目录 man1~man8,其中数字的含义如下:

1,标准命令(Standard commands)

2,系统调用(System call)

3,库函数(Library functions)

4,设备说明(Special devices)

5,文件格式(File formats)

6,游戏和娱乐(Games and toys)

7,杂项(Miscellaneous)

8,管理员命令(Administrative Commands)

如何查询指定目录的 man-pages ?

通常在 man 命令后面会跟随需要查看的内容,man 命令会自动从这些目录中挑选一个附和要求的手册显示出来,如果在多个目录中存在名称相同的手册文件,可以通过指定显示那个类别的手册,命令格式如下:

man [数字] <手册名>

不指定则使用数字最小类别的手册。

例如想要看 free 相关的手册,标准命令类别中是显示内存信息的命令,而在库函数类别中则存在同名函数,功能是四方被分配的内存,这时如果使用 man free 显示的是标准命令中 free 的使用手册,使用 man 3 free 将显示 free 函数使用方法。

如何使用 make 命令的同时,修改 makefile 中的文件的值?

make 命令可以是对 make file 文件中定义的变量进行外部赋值,打开一个 makefile 文件会看到其中有很多变量的复制,如 prefix ,所有的变量会设置一个默认的值,如果需要改变某个变量可以直接去修改 makefile 文件,但是这样做会比较麻烦,一个软件包目录通常包含了很多的子目录,每个子目录中都有 makefile 文件,这时就需要修改所有对变量进行定义的文件,这个过程会非常的繁琐,缺乏灵活性。

make 命令支持在命令行中对 makefile 文件定义的变量进行复制,该方法非常方便而且灵活,该方法是:

make [变量名]=[变量值] [流程标记]

也可以对多个变量进行复制,例如下面的命令:

make prefix=/opt docdir=/usr/doc install

分别对 prefix 和 docdir 两个变量进行了赋值。

pkg-config 软件包的用途是什么?

这个软件包用于读取某些软件包的安装信息的,安装信息包含在以 .pc 作为后缀名的信息文件。

调用 pkg-config 命令可以方便的获得某个软件的安装、配置等信息,当然前提是这样软件提供了信息文件。

一般来说,当某个软件包提供了 .pc 的信息文件,意味着这个软件希望通过一种通用的方式来告诉这个软件包安装的信息,如安装目录或者配置等内容,其他程序可以通过 pkg=config 命令来获得想要了解的关于该软件包的信息。

Ncurses 软件包的作用是什么?

这个软件包提供了在控制台上进行窗口绘制的函数库,为字符终端下制作界面化的软件提供了支持,程序员通过调用这些函数库中的函数可以方便的在字符终端下制作如窗口、按钮等界面元素。

这个软件包提供了一些非常常用的终端处理命令,比如 clear 和 reset 命令。

Util-linux-ng 软件包的作用是什么?

这个软件包中包含了许多 linux 系统下的专用工具,比如对文件系统进行操作,管理硬盘,磁盘分区和内核消息获取工具等。

coreutils 软件包的作用是什么?

这个软件包包含了许多在 linux 下常用的命令,如用于列出目录内容的 ls 命令,复制文件用的 cp 命令等。

Iana-etc 软件包的作品用是什么?

这个软件包中包含了各种网络服务协议以及端口使用的数据文件。

M4 软件包的作用是什么?

这个软件包提供了一个宏处理命令—— m4 ,该命令用于处理 m4 格式的文件,m4 格式的文件是一种使用特殊表达式(宏)来表示如何处理文本的文件。

很多源代码中都用到了 m4 格式的文件,必须安装 M4 软件包才能正确处理这类文件,m4 命令也是编译软件的常用命令,将其安装在目标系统中来满足某些软件包的编译条件。

Procps 软件包的作用是什么?

这个软件包中包含了几个用于监视系统进程的程序。

Readline 软件包的作用什么?

这个软件包提供了命令行编辑和历史记录功能的函数库。

Libtools 软件包的作用是什么?

这个软件包中包含了处理通用函数库的命令,这些命令将使用共享函数库的复杂性隐藏在同一的、可移植的接口中。

Inetutils 软件包的作用是什么?

这个软件包中包含了一些基本的网络程序,如 ping、arp 等,这些命令在系统配置网络或者测试网络的过程中会使用到。

Autoconf 软件包的功能是什么?

这个软件包包含了能用于生成自动配置源代码的 shell 脚本,开发者可以用 autoconf 提供的命令自动生成软件的配置脚本,很多软件包配置过程中使用的 configure 脚本就是借助该工具来生成的。

Automake 软件包的功能是什么?

这个软件包与 autoconf 软件包配合使用,用于提供产生 makefile 文件的命令。

File 软件包的功能是什么?

这个软件包包含了一个用于判断文件类型的工具。

Findutils 软件包的作用是什么?

这个软件包提供了一个根据条件来进行文件查找的命令 find,find 命令即可以从目录中进行查找(递归搜索目录),也能够在数据库中进行查找(通常在目录中查找快速,单在数据库没有及时更新的情况下,结果不可靠)

find 命令还可以对符合条件的文件进行处理,比如删除,修改权限等。

Flex 软件包的作用是什么?

这个软件包中包含的 flex 命令可以按照模式化的文本来生成相应的程序文件。

Groff 软件包的作用是什么?

这个软件包包含了几个处理和格式化文本的程序。

IPRoute2 软件包的作用是什么?

这个软件包中包含了一些基于 IPv4 网络的命令程序。

Kbd 软件包的作用是什么?

Kbd 软件包中包含了键盘映射表和键盘设置工具。

你可能感兴趣的:(《手把手教你构建自己的 Linux 系统》学习笔记(8))