本文最后更新于71 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
- 下载源码并修改
wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.3.tar.xz
tar -xf util-linux-2.39.3.tar.xz
vim login-utils/su-common.c - vim Dockerfile
# 使用基础镜像
FROM ubuntu:20.04
# 设置非交互模式,避免 tzdata 等卡住
ENV DEBIAN_FRONTEND=noninteractive
# 设置时区为中国上海(可自行修改)
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
apt-get update && \
apt-get install -y tzdata && \
dpkg-reconfigure -f noninteractive tzdata
# 安装构建 util-linux 所需的全部依赖
RUN apt-get update && apt-get install -y \
libpam0g-dev \
sqlite3 \
libsqlite3-dev \
build-essential \
autoconf \
automake \
libtool \
gettext \
flex \
bison \
autopoint \
git \
wget \
curl \
pkg-config \
libudev-dev \
libblkid-dev \
libmount-dev \
libuuid1 \
man-db \
locales \
&& apt-get clean
# 设置 locale 避免文档生成乱码等问题
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
# 设置工作目录
WORKDIR /src
# 默认进入 shell,方便你复制源码进来或手动 git clone
CMD ["/bin/bash"]
- 容器运行
sudo docker build -t util-linux-dev .
sudo docker run -it –rm -v $PWD/util-linux-master:/src util-linux-dev ”注意 –rm 停止容器就删除“ ”-v 把源码挂载到 容器的src路径“ - 编译
./autogen.sh
./configure –enable-su –with-pam
make su