6.56. Util-linux-2.12r

Util-linux 软件包包含许多工具。其中比较重要的是加载、卸载、格式化、分区和管理硬盘驱动器,打开 tty 端口和得到内核消息。
预计编译时间:0.2 SBU
所需磁盘空间:17.2 MB

6.56.1. FHS 兼容性说明

  • FHS 推荐使用 /var/lib/hwclock 目录代替常用的 /etc 目录以定位 adjtime 文件。要将 hwclock 编译成与 FHS 兼容的程序,运行下面的命令:
    sed -i 's@etc/adjtime@var/lib/hwclock/adjtime@g' 
    hwclock/hwclock.c
    mkdir -p /var/lib/hwclock
    

6.56.2. 安装 Util-linux

  • Util-linux 在基于新版本的 Linux-Libc-Headers 编译时会出错,下面的补丁修正了这个问题:
    patch -Np1 -i ../util-linux-2.12r-cramfs-1.patch
    
  • 为编译 Util-linux 做准备:./configure
  • 编译软件包:make HAVE_KILL=yes HAVE_SLN=yes
  • make 参数的含义:
    • HAVE_KILL=yes:防止编译和安装 kill 程序(已经由 Procps 安装了)。
    • HAVE_SLN=yes:防止编译 sln 程序(这是静态连接的 ln ,已经由 Glibc 安装了)。
  • 这个软件包没有附带测试程序。
  • 安装软件包:
    make HAVE_KILL=yes HAVE_SLN=yes install
    

6.56.3. Util-linux 的内容

  • 安装的程序:
    • agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt, colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk, flock, fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, line, logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, namei, pg, pivot_root, ramsize(→rdev), raw, rdev, readprofile, rename, renice, rev, rootflags(→rdev), script, setfdprm, setsid, setterm, sfdisk, swapoff(→swapon), swapon, tailf, tunelp, ul, umount, vidmode(→rdev), whereis, write
  • 简要描述:
    • agetty:打开 tty 端口,为登录名称建立命令控制符,并引出 login 程序
    • arch:报告机器的体系结构
    • blockdev:在命令行中调用块设备的 ioctl
    • cal:显示一个简单的日历
    • cfdisk:处理指定设备的分区表
    • chkdupexe:找出重复的可执行文件
    • col:过滤回显反馈线
    • colcrt:过滤那些 nroff 终端不具备输出的能力,比如高分点距、半线距
    • colrm:过滤掉给出的列
    • column:把输出格式化为几列
    • ctrlaltdel:设置 CTRL+ALT+DEL 组合键的功能为硬重启或软重启
    • cytune:查询和修改 Cyclade 驱动器的中断入口
    • ddate:把阳历日期转换为 Discordian 日期
    • dmesg:显示内核的启动信息
    • elvtune:调整块设备的相互作用和性能
    • fdformat:低级格式化一张软盘
    • fdisk:磁盘分区管理程序
    • flock:得到一个文件锁,并根据状态执行一个命令
    • fsck.cramfs:对 Cramfs 文件系统的一致性进行检查
    • fsck.minix:对 Minix 文件系统的一致性进行检查
    • getopt:在给出的命令行进行选项和参数解析
    • hexdump:用用户指定的方式(包括ASCII, 十进制, 十六进制, 八进制)显示一个文件或者标准输入的数据
    • hwclock:查询和设置硬件时钟(也被称为 RTC 或 BIOS 时钟)
    • ipcrm:删除给定的进程间通信(IPC)资源
    • ipcs:提供 IPC 状态信息
    • isosize:报告 iso9660 文件系统的大小
    • line:单行拷贝
    • logger:设置系统日志的入口
    • look:显示以某个给定字符串开头的行
    • losetup:启动和控制回环(loop)设备
    • mcookie:为 xauth 生成 magic cookies (128位的随机16进制数)
    • mkfs:在一个设备(通常是一个硬盘分区)设备上建立文件系统
    • mkfs.bfs:创建一个 Santa Cruz Operations (SCO) bfs 文件系统
    • mkfs.cramfs:创建 cramfs 文件系统
    • mkfs.minix:创建 Minix 文件系统
    • mkswap:初始化指定设备或文件,以用做交换分区
    • more:分屏显示文件,但没有 less 好用
    • mount:把一个文件系统从一个设备挂载到一个目录
    • namei:显示指定路径的符号链接
    • pg:显示文本文件内容,一次显示一屏
    • pivot_root:使某个文件系统成为当前进程的根文件系统
    • ramsize:显示或者改变 RAM disk 的大小
    • raw:将一个原始的 Linux 字符设备绑定到一个块设备
    • rdev:查询和设置内核的根设备和其他信息
    • readprofile:显示内核侧写文件 /proc/profile 的信息
    • rename:对文件进行重命名
    • renice:修改正在运行进程的优先级
    • rev:颠倒一个文件每行字符的顺序
    • rootflags:在挂载根设备时查询和设置额外的信息
    • script:为终端会话过程建立一个 typescipt 文件,记录会话过程中终端的输出。
    • setfdprm:设置用户定义的软盘参数
    • setsid:在一个新的会话中运行程序
    • setterm:设置终端属性
    • sfdisk:磁盘分区表管理工具
    • swapoff:取消对指定交换设备和交换文件的使用
    • swapon:使指定的交换设备和交换文件生效
    • tailf:跟踪一个日志文件,显示日志的最后10行,并将日志中新的记录也显示出来。
    • tunelp:设置打印设备的参数
    • ul:用来将指定文件中出现的下划线使用指定终端画下横线的序列
    • umount:卸载一个被挂载的文件系统
    • vidmode:查询和设置视频模式
    • whereis:确定某命令二进制文件、源文件、手册文档的位置
    • write:发一个消息给另一个用户,如果他开启了 writting 的话。
下一节:Vim 软件包包含一个强大的文本编辑器。
预计编译时间:0.4 SBU
所需磁盘空间:47.4 MB