설치해 보려고 합니다cdebconf-udeb
Debian Buster Docker 컨테이너에 있지만 apt search cdebconf-udeb
결과는 비어 있습니다. 정말로 원할 경우 이 패키지를 설치하려면 어떻게 해야 합니까?
문맥
Docker 이미지를 구축 중입니다. 내 의존성 중 하나는tzdata
그것은 그 자체에 달려있다debconf-2.0
(또는 debconf
).
지금debconf-2.0
cdebconf
debconf
, 또는 에서 제공할 수 있습니다 cdebconf-udeb
. cdebconf
둘 다 debconf
에 (재귀적) 종속성을 갖습니다 perl-base
. 컨테이너의 크기를 최소화하고 Perl 종속성을 제거하고 싶습니다. cdebconf-udeb
Perl 종속성이 없고 여전히 제공되는 패키지를 설치하여 시도해 볼 수 있다고 생각했습니다 debconf-2.0
. 그러나 적성에서 패키지를 찾을 수 없는 것 같습니다.
cdebconf-udeb
나는 이것이 debian-installer 이미지를 빌드하는 데만 사용되며 일반 데비안 시스템에는 사용되지 않는다는 것을 알고 있습니다 . 하지만 여전히 이를 사용하여 Docker 이미지를 최소화할 수 있는지 확인하고 싶었습니다.
내가 설치해도 돼?cdebconf-udeb
Docker 컨테이너를 최소화하시겠습니까?
알아요이 비슷한 질문, 하지만 댓글에서 새로운 질문을 하라는 제안을 받았습니다.
답변1
이것은 컨테이너의 크기를 줄이는 재미있는 방법입니다! 관련된 모든 위험은 결과 컨테이너 이미지로 제한됩니다...
apt
& 회사는 마이크로소프트로 무엇을 해야할지 모르기 deb
때문에 귀하가 직접 업무를 수행해야 합니다. 의 경우 cdebconf-udeb
이는 udeb
대상 아키텍처에 맞는 항목과 libc6-udeb
, libdebian-installer4-udeb
및 을 다운로드하는 것을 의미합니다 libtextwrap1-udeb
. 그런 다음 dpkg -i
.deb
너~ 할 것이다경우에 따라 중복 라이브러리가 발생하고 deb
마이크로 변형에 표준 변형에서 지원하는 모든 기능이 포함되어 있는지 확실하지 않으므로 문제가 발생할 수 있습니다. 결국 포기할 기본 패키지에 의존하는 모든 경우에도 마찬가지입니다. 예를 들어 perl-base
패키지는 버전이 지정된 종속성을 요구하지 않는 한 기본 패키지에 대한 종속성을 선언해서는 안 됩니다. 모든 패키지는 모든 기본 패키지가 설치되어 있다고 가정할 수 있습니다.
답변2
Stephen의 답변을 바탕으로 다음을 시도했습니다.
# docker build --tag udeb-experiment --file ./Dockerfile .
FROM debian:buster-slim
RUN apt-get update \
&& apt-get install --quiet --yes --no-install-recommends \
wget \
&& apt-get clean \
&& mkdir /tmp/debs \
&& cd /tmp/debs \
&& wget http://ftp.de.debian.org/debian/pool/main/g/glibc/libc6-udeb_2.28-10_amd64.udeb \
&& wget http://ftp.de.debian.org/debian/pool/main/c/cdebconf/cdebconf-udeb_0.249_amd64.udeb \
&& wget http://ftp.de.debian.org/debian/pool/main/libd/libdebian-installer/libdebian-installer4-udeb_0.119_amd64.udeb \
&& wget http://ftp.de.debian.org/debian/pool/main/libt/libtextwrap/libtextwrap1-udeb_0.1-14.2_amd64.udeb \
&& dpkg -i --force overwrite ./*.udeb \
&& apt-get purge --auto-remove --yes --allow-remove-essential \
wget \
&& apt-get clean \
&& rm --recursive --force /var/lib/apt/lists/* /tmp/debs
그러면 일부 라이브러리가 udeb로 덮어쓰여집니다. 그러나 이는 크기를 줄이지 않으며 Perl 종속성을 제거하지도 않습니다. Apt는 여전히 debconf
설치된 종속성을 나열합니다. 또한 이로 인해 설치하려는 다른 패키지에 다운스트림 문제가 발생했습니다.