util-linux是Linux系统中不可或缺的核心工具集,包含了大量基础系统管理工具,如磁盘分区工具fdisk、文件系统挂载管理mount、块设备信息查看lsblk、系统登录日志last等,这些工具是系统日常运维、故障排查和设备管理的基础,因此正确安装util-linux至关重要,以下是详细的安装方法,覆盖主流Linux发行版及源码编译安装场景。
通过包管理器安装(推荐)
大多数Linux发行版已预装util-linux,若因卸载或系统最小化安装导致缺失,可通过包管理器快速安装,不同发行版的包管理器及命令如下表所示:
发行版 | 包管理器 | 安装命令 | 验证安装命令 |
---|---|---|---|
Ubuntu/Debian | apt | sudo apt update sudo apt install util-linux |
util-linux -v 或 dpkg -l util-linux |
CentOS/RHEL 7及以下 | yum | sudo yum update sudo yum install util-linux |
rpm -q util-linux |
CentOS/RHEL 8及以上 | dnf | sudo dnf update sudo dnf install util-linux |
rpm -q util-linux |
Arch Linux | pacman | sudo pacman -Syu sudo pacman -S util-linux |
pacman -Q util-linux |
Fedora | dnf | sudo dnf update sudo dnf install util-linux |
rpm -q util-linux |
openSUSE | zypper | sudo zypper refresh sudo zypper install util-linux |
zypper info util-linux |
说明:
- 执行安装命令前,建议先更新包索引(如
apt update
、yum update
),确保获取到最新版本。 - 验证安装时,
util-linux -v
会显示版本号(如“util-linux 2.37.2”),包管理器查询命令(如dpkg -l
)会显示包状态(“ii”表示已安装)。
源码编译安装(适用于自定义需求)
若需安装特定版本、自定义工具集(如仅启用部分工具)或适配特殊系统环境,可通过源码编译安装,以下是详细步骤:
准备依赖环境
编译util-linux需基础开发工具及依赖库,常见依赖如下:
- 编译工具:gcc、make、autoconf、automake
- 依赖库:ncurses-devel(终端界面支持)、zlib-devel(压缩功能)、libcap-devel(权限管理)
不同发行版的依赖安装命令:
- Ubuntu/Debian:
sudo apt install build-essential autoconf automake libncurses-dev zlib1g-dev libcap-dev
- CentOS/RHEL:
sudo yum install gcc make autoconf automake ncurses-devel zlib-devel libcap-devel
- Arch Linux:
sudo pacman -S base-devel ncurses zlib libcap
下载源码
访问util-linux官方镜像站(https://www.kernel.org/pub/linux/utils/util-linux/)下载最新稳定版源码包(如util-linux-2.39.1.tar.xz
),或通过wget
直接下载:
wget https://www.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.1.tar.xz
解压与配置
解压源码包并进入目录:
tar -xf util-linux-2.39.1.tar.xz cd util-linux-2.39.1
执行./configure
脚本配置安装参数,常用参数如下:
--prefix=/usr
:指定安装路径(默认为/usr
,与系统包管理器路径一致,避免冲突)--disable-all-programs
:禁用所有工具,后续通过--enable-XXX
手动启用所需工具(如--enable-fdisk --enable-mount
)--enable-shared
:生成共享库(推荐,依赖其他程序时需动态链接)
示例配置(启用所有工具,安装到/usr
):
./configure --prefix=/usr --enable-shared --enable-all-programs
编译与安装
使用make
进行编译(-j$(nproc)
可并行编译,加快速度):
make -j$(nproc)
编译完成后,执行安装(需root权限):
sudo make install
验证与更新动态链接库
安装完成后,通过util-linux -v
验证版本,若系统提示找不到动态链接库,执行以下命令更新缓存:
sudo ldconfig
注意事项
- 避免卸载系统预装版本:util-linux是系统核心工具集,卸载可能导致mount、fdisk等基础命令失效,切勿直接卸载,若需更新,优先使用包管理器(如
apt upgrade util-linux
)。 - 源码安装路径冲突:若源码安装路径与包管理器路径一致(如
/usr
),后续包管理器更新时可能覆盖源码版本,建议自定义路径(如--prefix=/usr/local/util-linux
),并通过export PATH=/usr/local/util-linux/bin:$PATH
添加到环境变量。
FAQs
Q1:如何检查当前系统是否已安装util-linux以及版本?
A1:可通过以下两种方式检查:
- 直接命令验证:执行
util-linux -v
,若已安装会显示版本号(如“util-linux 2.37.2”);若提示“command not found”,则未安装。 - 包管理器查询:
- Ubuntu/Debian:
dpkg -l util-linux
(查看包状态,“ii”表示已安装) - CentOS/RHEL:
rpm -q util-linux
(显示包名及版本) - Arch Linux:
pacman -Q util-linux
(显示版本信息)
- Ubuntu/Debian:
Q2:源码编译安装时提示“configure: error: cannot find ncurses headers”怎么办?
A2:该错误表示缺少ncurses开发库(头文件),需根据发行版安装对应依赖:
- Ubuntu/Debian:执行
sudo apt install libncurses-dev
- CentOS/RHEL:执行
sudo yum install ncurses-devel
- Arch Linux:执行
sudo pacman -S ncurses
安装完成后,重新运行./configure
即可解决,若仍报错,可通过./configure --help
查看完整依赖列表,或参考源码包中的INSTALL
文档。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/14099.html