为什么从源(16MiB)安装Git大于从Debian存储库(2MiB)安装Git?
上下文:我正在Debian Stretch上从源代码构建Git,以实现最小的持续集成Docker映像。我需要比Debian Stretch Repos中可用的Git更高的版本。
如果我用apt
安装git,则Git二进制文件是2MiB。
$ apt-get update && apt-get install git
$ du -h /usr/bin/git
2.0M /usr/bin/git
如果我从源代码安装Git,则二进制文件为16MiB。我试图模仿Debian的构建过程。
apt-get update
apt-get install -y --no-install-recommends gcc libc-dev zlib1g-dev curl ca-certificates make libssl-dev
export GIT_VERSION=2.23.0
curl -L https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz --output git.tar.gz
tar xvf git.tar.gz
cd git-${GIT_VERSION}
# Options for building git
export NO_CURL=1 NO_EXPAT=1 NO_GETTEXT=1 NO_PERL=1 NO_PYTHON=1 NO_TCLTK=1
export NO_INSTALL_HARDLINKS=1 NO_OPENSSL=1 NO_CROSS_DIRECTORY_HARDLINKS=1
export CFLAGS='-g -O -fdebug-prefix-map=/=. -fstack-protector-strong -Wformat -Werror=format-security'
make -j8 prefix=/usr gitexecdir=/usr/lib/git-core install
make prefix=/usr gitexecdir=/usr/lib/git-core install
$ du -h /usr/bin/git
16M /usr/bin/git