저는 Ruby 3.2.2 Debian 11 불스아이 이미지를 기본 이미지로 사용하는 도커 컨테이너 안에 있습니다(참조:https://github.com/docker-library/ruby/blob/ed1be47a38a7a24a0aa03c450549afcb592f02a8/3.2/bullseye/Dockerfile)
postgres-client-15
다음을 사용하여 패키지를 설치 하고 싶습니다 .
FROM ruby:3.2.2-bullseye
# ...
RUN curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main 15" >> /etc/apt/sources.list.d/postgresql.list
#...
RUN apt-get update && apt-get install -y apt-transport-https ca-certificates \
&& apt-key adv --no-tty --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 \
&& echo deb https://oss-binaries.phusionpassenger.com/apt/passenger bullseye main > /etc/apt/sources.list.d/passenger.list \
&& apt-get update \
&& apt-get install -y \
autoconf \
build-essential \
cron \
curl \
ghostscript \
git \
less \
libjemalloc2 \
libpq-dev \
libreadline-dev \
libsqlite3-dev sqlite3 \
libssl-dev \
nginx libnginx-mod-http-passenger \
nodejs \
postgresql-client-15 \
redis-server \
vim \
xfonts-base \
xfonts-75dpi \
xmlsec1 \
yarn \
&& rm -rf /var/lib/apt/lists/*
이 오류 메시지와 함께 실패합니다
The following packages have unmet dependencies:
postgresql-client-15 : Depends: libreadline7 (>= 6.0) but it is not installable
명령을 수동으로 실행하면 패키지가 libreadline8
설치된 것을 볼 수 있습니다.
root@42da1438f1d6:/# dpkg -l | grep libread
ii libreadline-dev:amd64 8.1-1 amd64 GNU readline and history libraries, development files
ii libreadline8:amd64 8.1-1 amd64 GNU readline and history libraries, run-time libraries
postgresql-client-15가 종속적인 것 같지만 libreadline7
Debian 11 Bullseye에서는 이 패키지를 사용할 수 없습니다. 이 문제를 해결하는 방법을 아시나요?
Docker 이미지 자체를 업그레이드하는 것은 마음에 들지 않지만 Debian Bookworm에서는 유사한 오류가 발생합니다(일부 패키지는 아직 Bookworm에 사용할 수 없기 때문에 다른 오류 중에서).
답변1
문제는 Buster PostgreSQL 저장소를 사용할 때 발생합니다. 거기에서 postgresql-client-15
사용 가능한 패키지는 libreadline7
.
Bookworm으로 업그레이드할 의향이 있으므로 다음을 사용하는 것이 좋습니다.postgresql-client-15
데비안에서 사용 가능한 패키지, PosgreSQL 저장소를 사용하지 않고:
FROM ruby:3.2.2-bookworm
RUN apt-get update && apt-get install -y --no-install-recommends postgresql-client-15