目录 /etc/fstab 文件的作用是什么? Linux 内核的图形化启动是怎么回事? Linux 系统中的文件名是否以大小写来进行区别? 「GRUB 中无法找到硬盘」怎么解决? 「GRUB 及配置文件中对磁盘分区的表示与 /dev 中的设备文件」有什么不同? GRUB 的配置文件是什么?有什么用? rootfs 根文件系统是什么? 内存磁盘(RAM Disk)是什么? 内存磁盘的大小是怎么弄的? 内存文件系统是怎么回事? 根文件系统与内存文件系统有什么关系? 辅助系统的作用是什么? 辅助文件…
目录 autoreconf 命令的作用是什么? aclocal automake -a autoconf 一条命令搞完三面三步 既然有其他的「编译控制软件」为何还是使用 make 来进行编译控制? Module-Init-Tools 软件包的作用是什么? Patch 软件包的作用是什么? Psmisc 软件包的作用是什么? Rsyslog 软件包的作用什么? sysvint 软件包的作用是什么? Udev 软件包的作用是什么? DHCPCD 软件包的作用是什么? Xz-Utils 软件包的作用是…
目录 Binutils 软件包有什么用? make -k 的作用是什么? man-pages 里有几种文档?分别表示什么意思? 如何查询指定目录的 man-pages ? 如何使用 make 命令的同时,修改 makefile 中的文件的值? pkg-config 软件包的用途是什么? Ncurses 软件包的作用是什么? Util-linux-ng 软件包的作用是什么? coreutils 软件包的作用是什么? Iana-etc 软件包的作品用是什么? M4 软件包的作用是什么? Procps…
目录 /dev 目录是干什么的? /proc 和 /sys 目录是干什么的? udev 这个软件是干什么用的? 目录映射是临时性的,还是永久性的? 命令行里大括号 "{}" 的作用是什么? 设置目录权限为 "1777" 表示什么? ls -l 后,第一列第一个字符表示什么?第三列和第四列又表示什么? exec 命令的特点是什么? 其他函数库文件都已 lib 开头,那么 ld 开头的函数库文件有什么不同呢? ldd /bin/cat 的结果如何解析? 是 ldd 命令…
交叉编译是什么? 交叉编译就是在一个系统上,编译生成另外一个系统运行的程序文件. 「硬件体系结构」和「操作系统」的关系是什么? 硬件体系结构也可以称为架构,主要是通过 CPU 的指令集来进行区分的,操作系统通常是以内核来进行区分的. 一种体系结构可以运行多种操作系统,一种操作系统也可能运行在不同的体系结构上,所以称呼一种系统平台时将二者结合起来,如 X86_Linux,表示在 x86 平台上运行 Linux 系统,MIPS Linux 表示在 MIPS 上运行 Linux 系统. 「本地编译」和…
Linux 系统定制原理 虚拟根目录 我们的目标是为了完成目标系统(也就是我们要做的系统),他是一个可以独立运行的系统,不依赖雨主系统和临时系统,根据 Linux 系统的特点它需要存放在根目录下面,但是却有一个问题,主系统在制作目标系统的过程中,他是一直运行的,因为你制作过程中需要用到主系统的命令,也就是说这个主系统也是挂载在根目录下面的,两个系统都分别需要有根目录,就会出现矛盾,因为根目录只能有一个. 为了解决这个问题,就有了虚拟根目录. Linux 内核启动时简历的根目录称为真正的根目录,虚…
第二章.基础准备--Linux 系统定制原理 Linux 系统的组成及架构 共享库和静态库 在 Linux 系统中,函数库包含两种形式:共享库和静态库. 共享库 共享库在程序运行时,为其提供所需要的函数,所以程序运行时该共享库必须存在系统中,且能够被系统找到并且使用. 静态库 静态库在编译程序的期间就将各种函数编译到程序中,程序运行的时候,即使该静态库不存在也可以正常调用其中的函数. C 库及各类功能库 在常规的 Linux 系统中,一般提供一个 C 函数库的实现,所谓的 C 函数库就是将标准…
目录 tee 命令的缺陷是什么?如何解决这个缺陷? /etc/ld.so.conf 文件的作用是什么? 动态链接和静态链接有什么不同? 动态编译 静态编译 共享库为什么会有版本?共享库的版本升级原理是怎样的? tee 命令的缺陷是什么?如何解决这个缺陷? tee 命令只接收标准输入,而如果明林广化寺用了错破五输出则错误输出的内容无法被 tee 接受到,为了让错误信息也能够被记录,我们将标准错误输出重定向到标准输出中,在命令中使用 2>&1 重定向错误输出. /etc/ld.so.conf 文…
汇编链接器(Binutils) 这是一个软件包,这个软件包其实是一个工具集,里面含有了大量的用于汇编程序活着读取二进制文件相关的程序. CC 它是一条命令的别名,这条命令的作用是使用 GCC 的 C 语言编译器. CXX 它是一条命令的别名,用于指定 GCC 的 C++ 编译器. CFLAGS 用于设置编译 C 程序时传递给编译器的参数. CXXFLAGS 用于设置编译 C++ 程序的时候传递给编译器的参数. LDFLAGS 用于设置在链接过程中使用的参数. 如何让 make 命令定向处理指定的…
需要注意的是,制作操作系统权限全程都要用 root pushd 和 popd 为了方便目录管理,所以出现了这种两个命令,他们的原理就是利用堆栈来实现目录管理. 这两个命令,pushd 负责将指定的目录压入堆栈,语法如下 pushd 你想要压入堆栈的命令 popd 负责将压入堆栈的目录弹出去,使用的后进先出的原则. 如何利用 configure 文件来进行配置? 一般 Linux 的源代码的编译安装等都需要进行配置,这个配置的作用就是检测当前的运行环境是怎样的,究竟适合开启软件的什么功能. 并且你…