데비안 고정 - 안정적인 릴리스를 사용하지만 필요한 경우 테스트/불안정한 버전에서 설치 | 가능한 경우 안정적인 백포트에서도 종속성을 설치합니다.

데비안 고정 - 안정적인 릴리스를 사용하지만 필요한 경우 테스트/불안정한 버전에서 설치 | 가능한 경우 안정적인 백포트에서도 종속성을 설치합니다.

Debian 6(Squeeze) x86 서버를 구성 중이고 필요한 경우 테스트 또는 불안정한 패키지를 설치하고 싶어서 고정을 사용합니다.

/etc/apt/sources.list를 다음과 같이 구성했습니다.

deb http://ftp.br.debian.org/debian stable main
deb http://ftp.br.debian.org/debian stable-updates main
deb http://security.debian.org/ stable/updates main

deb http://backports.debian.org/debian-backports squeeze-backports main

deb http://ftp.br.debian.org/debian testing main
deb http://ftp.br.debian.org/debian testing-updates main
deb http://security.debian.org/ testing/updates main

deb http://ftp.br.debian.org/debian unstable main

내 /etc/apt/preferences는 다음과 같습니다.

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=stable-updates
Pin-Priority: 700


Package: *
Pin: release a=squeeze-backports
Pin-Priority: 675


Package: *
Pin: release a=testing
Pin-Priority: 650

Package: *
Pin: release a=testing-updates
Pin-Priority: 650


Package: *
Pin: release a=unstable
Pin-Priority: 600

apt-cache 정책을 실행하면 다음을 얻습니다.

100 /var/lib/dpkg/status
   release a=now
600 http://ftp.br.debian.org/debian/ unstable/main i386 Packages
   release o=Debian,a=unstable,n=sid,l=Debian,c=main
   origin ftp.br.debian.org
650 http://security.debian.org/ testing/updates/main i386 Packages
   release o=Debian,a=testing,n=wheezy,l=Debian-Security,c=main
   origin security.debian.org
650 http://ftp.br.debian.org/debian/ testing-updates/main i386 Packages
   release o=Debian,a=testing-updates,n=wheezy-updates,l=Debian,c=main
   origin ftp.br.debian.org
650 http://ftp.br.debian.org/debian/ testing/main i386 Packages
   release o=Debian,a=testing,n=wheezy,l=Debian,c=main
   origin ftp.br.debian.org
675 http://backports.debian.org/debian-backports/ squeeze-backports/main i386 Packages
   release o=Debian Backports,a=squeeze-backports,n=squeeze-backports,l=Debian Backports,c=main
   origin backports.debian.org
700 http://security.debian.org/ stable/updates/main i386 Packages
   release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=main
   origin security.debian.org
700 http://ftp.br.debian.org/debian/ stable-updates/main i386 Packages
   release o=Debian,a=stable-updates,n=squeeze-updates,l=Debian,c=main
   origin ftp.br.debian.org
700 http://ftp.br.debian.org/debian/ stable/main i386 Packages
   release v=6.0.6,o=Debian,a=stable,n=squeeze,l=Debian,c=main
   origin ftp.br.debian.org

내가 직면한 문제는 일부 테스트 패키지를 설치하려고 할 때입니다. 전임자:

apt-get install ruby1.9.1-dev/testing

손상된 패키지 메시지를 받았습니다.

The following packages have broken dependencies:
 ruby1.9.1-dev : Depends: libruby1.9.1 (= 1.9.3.194-5) but 1.9.2.0-2 is set to be installed
E: Broken Packages

이는 테스트에서 설치하고 싶지만 데비안은 안정 버전에서 종속성을 설치하려고 시도한다는 의미입니다. 나는 내가 할 수 있는 일을 안다:

apt-get install -t testing ruby1.9.1-dev

테스트에서 모든 종속성을 설치하여 작동하지만 가능한 한 많은 안정적인 패키지를 사용하고 싶습니다(사용 가능한 경우 안정적인 패키지에서 종속성을 설치).


내가 가진 또 다른 문제는 다음과 같은 패키지를 설치하는 경우입니다.

apt-get install -t testing ruby1.9.1-dev

그런 다음 테스트 중인 ruby1.9.1-dev 종속성으로 설치된 라이브러리에 의존하는 다른 패키지를 설치해 보십시오.

apt-get install gcc

또한 "손상된 패키지" 오류가 발생합니다.


질문은 다음과 같습니다.

안정 버전에 대해 가능한 많은 종속성을 설치하면서 테스트 패키지를 설치하는 방법은 무엇입니까?

안정적인 버전에서 사용할 수 없는 테스트 패키지를 다음을 실행하여 자동으로 설치할 수 있습니까?

apt-get install package_name

?

답변1

가능한 해결책을 찾았습니다

내 /etc/apt/preferences를 다음으로 변경했습니다.

Package: *
Pin: release a=stable
Pin-Priority: 999

Package: *
Pin: release a=stable-updates
Pin-Priority: 999


Package: *
Pin: release a=squeeze-backports
Pin-Priority: 995


Package: *
Pin: release a=testing
Pin-Priority: 993

Package: *
Pin: release a=testing-updates
Pin-Priority: 993


Package: *
Pin: release a=unstable
Pin-Priority: 991

그런 다음 가능한 경우 안정적인 릴리스 또는 백포트의 종속성을 설치하는 테스트 패키지를 설치할 수 있습니다. 이렇게 하려면 다음을 실행해야 합니다.

apt-get -t stable install [PACKAGE NAME]/testing

예를 들어, 다음을 실행하면:

apt-get -s -t stable install imagemagick/testing

설치될 패키지 목록을 가져옵니다.

Inst locales [2.11.3-4] (2.13-37 Debian:testing [all]) []
Inst libc-bin [2.11.3-4] (2.13-37 Debian:testing [i386]) [libc6:i386 ]
Inst libc6 [2.11.3-4] (2.13-37 Debian:testing [i386]) [libc6-i686:i386 on libc6:i386] [libc6-i686:i386 ]
Inst libc6-i686 [2.11.3-4] (2.13-37 Debian:testing [i386])
Inst libuuid-perl [0.02-4] (0.02-5 Debian:testing [i386]) []
Inst perl-base [5.10.1-17squeeze4] (5.14.2-16 Debian:testing [i386]) [liblocale-gettext-perl:i386 on perlapi-5.10.0:i386] [liblocale-gettext-perl:i386 libtext-charwidth-perl:i386 libtext-iconv-perl:i386 ]
Inst libtext-charwidth-perl [0.04-6] (0.04-7+b1 Debian:testing [i386]) [liblocale-gettext-perl:i386 on perlapi-5.10.0:i386] [liblocale-gettext-perl:i386 libtext-iconv-perl:i386 ]
Inst liblocale-gettext-perl [1.05-6] (1.05-7+b1 Debian:testing [i386]) [libtext-iconv-perl:i386 ]
Inst libtext-iconv-perl [1.7-2] (1.7-5 Debian:testing [i386])
Inst gcc-4.7-base (4.7.2-5 Debian:testing [i386])
Inst multiarch-support (2.13-37 Debian:testing [i386])
Inst libstdc++6 [4.4.5-8] (4.7.2-5 Debian:testing [i386])
Inst libattr1 [1:2.4.44-2] (1:2.4.46-8 Debian:testing [i386])
Inst liblzma5 (5.1.1alpha+20120614-2 Debian:testing [i386])
Inst libcap2 (1:2.22-1.2 Debian:testing [i386])
Inst libdb5.1 (5.1.29-5 Debian:testing [i386])
Inst libgpg-error0 (1.10-3.1 Debian:testing [i386])
Inst libgcrypt11 (1.5.0-3 Debian:testing [i386])
Inst libp11-kit0 (0.12-3 Debian:testing [i386])
Inst libtasn1-3 (2.13-2 Debian:testing [i386])
Inst libgnutls26 (2.12.20-2 Debian:testing [i386])
Inst libgssapi-krb5-2 [1.8.3+dfsg-4squeeze6] (1.10.1+dfsg-3 Debian:testing [i386]) []
Inst libk5crypto3 [1.8.3+dfsg-4squeeze6] (1.10.1+dfsg-3 Debian:testing [i386]) []
Inst libkrb5-3 [1.8.3+dfsg-4squeeze6] (1.10.1+dfsg-3 Debian:testing [i386]) []
Inst libkrb5support0 [1.8.3+dfsg-4squeeze6] (1.10.1+dfsg-3 Debian:testing [i386])
Inst libidn11 (1.25-2 Debian:testing [i386])
Inst libpcre3 (1:8.30-5 Debian:testing [i386])
Inst libxml2 (2.8.0+dfsg1-7 Debian:testing [i386])
Inst imagemagick-common (8:6.7.7.10-5 Debian:testing [all])
Inst libavahi-common-data (0.6.31-1 Debian:testing [i386])
Inst libavahi-common3 (0.6.31-1 Debian:testing [i386])
Inst libdbus-1-3 (1.6.8-1 Debian:testing [i386])
Inst libavahi-client3 (0.6.31-1 Debian:testing [i386])
Inst libffi5 (3.0.10-3 Debian:testing [i386])
Inst libglib2.0-0 (2.33.12+really2.32.4-3 Debian:testing [i386])
Inst libcroco3 (0.6.6-2 Debian:testing [i386])
Inst libcups2 (1.5.3-2.13 Debian:testing [i386])
Inst libjpeg8 (8d-1 Debian:testing [i386])
Inst libpng12-0 (1.2.49-1 Debian:testing [i386])
Inst libjbig0 (2.0-2 Debian:testing [i386])
Inst libtiff4 (3.9.6-10 Debian:testing [i386])
Inst libcupsimage2 (1.5.3-2.13 Debian:testing [i386])
Inst libdatrie1 (0.2.5-3 Debian:testing [i386])
Inst libdjvulibre-text (3.5.25.3-1 Debian:testing [all])
Inst libdjvulibre21 (3.5.25.3-1 Debian:testing [i386])
Inst ttf-dejavu-core (2.33-3 Debian:testing [all])
Inst fontconfig-config (2.9.0-7.1 Debian:testing [all])
Inst libfontconfig1 (2.9.0-7.1 Debian:testing [i386])
Inst libjasper1 (1.900.1-13 Debian:testing [i386])
Inst libxau6 (1:1.0.7-1 Debian:testing [i386])
Inst libxdmcp6 (1:1.1.1-1 Debian:testing [i386])
Inst libxcb1 (1.8.1-2 Debian:testing [i386])
Inst libx11-data (2:1.5.0-1 Debian:testing [all])
Inst libx11-6 (2:1.5.0-1 Debian:testing [i386])
Inst libgdk-pixbuf2.0-common (2.26.1-1 Debian:testing [all])
Inst libgdk-pixbuf2.0-0 (2.26.1-1 Debian:testing [i386])
Inst libgomp1 (4.7.2-5 Debian:testing [i386])
Inst x11-common (1:7.6+8~bpo60+1 Debian Backports:squeeze-backports [all])
Inst libice6 (2:1.0.8-2 Debian:testing [i386])
Inst liblcms1 (1.19.dfsg-1.2 Debian:testing [i386])
Inst liblqr-1-0 (0.4.1-2 Debian:testing [i386])
Inst libltdl7 (2.4.2-1.1 Debian:testing [i386])
Inst liblcms2-2 (2.2+git20110628-2~bpo60+1 Debian Backports:squeeze-backports [i386])
Inst libsm6 (2:1.2.1-2 Debian:testing [i386])
Inst libxext6 (2:1.3.1-2 Debian:testing [i386])
Inst libxt6 (1:1.1.3-1 Debian:testing [i386])
Inst libmagickcore5 (8:6.7.7.10-5 Debian:testing [i386])
Inst libpixman-1-0 (0.24.0-1~bpo60+1 Debian Backports:squeeze-backports [i386])
Inst libxcb-render0 (1.8.1-2 Debian:testing [i386])
Inst libxcb-shm0 (1.8.1-2 Debian:testing [i386])
Inst libxrender1 (1:0.9.7-1 Debian:testing [i386])
Inst libcairo2 (1.10.2-7~bpo60+1 Debian Backports:squeeze-backports [i386])
Inst libilmbase6 (1.0.1-4 Debian:testing [i386])
Inst libmagickwand5 (8:6.7.7.10-5 Debian:testing [i386])
Inst libopenexr6 (1.6.1-6 Debian:testing [i386])
Inst libthai-data (0.1.18-2 Debian:testing [all])
Inst libthai0 (0.1.18-2 Debian:testing [i386])
Inst libxft2 (2.3.1-1 Debian:testing [i386])
Inst fontconfig (2.9.0-7.1 Debian:testing [i386])
Inst libpango1.0-0 (1.30.0-1 Debian:testing [i386])
Inst librsvg2-2 (2.36.1-1 Debian:testing [i386])
Inst libwmf0.2-7 (0.2.8.4-10.2 Debian:testing [i386])
Inst libmagickcore5-extra (8:6.7.7.10-5 Debian:testing [i386])
Inst libpaper1 (1.1.24+nmu2 Debian:testing [i386])
Inst poppler-data (0.4.5-10 Debian:testing [all])
Inst libsystemd-login0 (44-7 Debian:testing [i386])
Inst krb5-locales (1.10.1+dfsg-3 Debian:testing [all])
Inst libclass-isa-perl (0.36-3 Debian:testing [all])
Inst perl-modules (5.14.2-16 Debian:testing [all]) []
Inst perl (5.14.2-16 Debian:testing [i386]) []
Inst libswitch-perl (2.16-2 Debian:testing [all])
Inst dbus (1.6.8-1 Debian:testing [i386])
Inst fonts-droid (20101110+git-3~bpo60+1 Debian Backports:squeeze-backports [all])
Inst libijs-0.35 (0.35-8 Debian:testing [i386])
Inst libjbig2dec0 (0.11+20120125-1 Debian:testing [i386])
Inst libgs9-common (9.05~dfsg-6.3 Debian:testing [all])
Inst libgs9 (9.05~dfsg-6.3 Debian:testing [i386])
Inst gsfonts (1:8.11+urwcyr1.0.7~pre44-4.2 Debian:6.0.6/stable, Debian:testing, Debian:unstable [all])
Inst ghostscript (9.05~dfsg-6.3 Debian:testing [i386])
Inst hicolor-icon-theme (0.12-1 Debian:6.0.6/stable, Debian:testing, Debian:unstable [all])
Inst imagemagick (8:6.7.7.10-5 Debian:testing [i386])
Inst libexiv2-12 (0.23-1 Debian:testing [i386])
Inst libglib2.0-data (2.33.12+really2.32.4-3 Debian:testing [all])
Inst libnetpbm10 (2:10.0-15+b1 Debian:testing [i386])
Inst libpaper-utils (1.1.24+nmu2 Debian:testing [i386])
Inst librsvg2-common (2.36.1-1 Debian:testing [i386])
Inst netpbm (2:10.0-15+b1 Debian:testing [i386])
Inst sgml-base (1.26+nmu3 Debian:testing [all])
Inst shared-mime-info (1.0-1+b1 Debian:testing [i386])
Inst liblensfun-data (0.2.5-2 Debian:testing [all])
Inst liblensfun0 (0.2.5-2 Debian:testing [i386])
Inst ufraw-batch (0.18-2 Debian:testing [i386])
Inst xml-core (0.13+nmu2 Debian:testing [all])

일부 안정적이고 백포트된 패키지가 설치될 예정입니다(테스트에 따라 설치되었습니다).


이제 안정 버전에서 패키지를 설치하려면 다음 명령을 실행합니다.

apt-get -t stable install [PACKAGE NAME]/stable

질문 2(테스트 종속성으로 설치된 라이브러리에 의존하는 다른 패키지 설치)에 설명된 문제 때문에 이 작업을 수행했습니다.

테스트를 통해 ruby1.9.1-dev를 설치하는 경우:

apt-get -t stable install --no-install-recommends ruby1.9.1-dev/testing

테스트에서는 libc6을 포함한 일부 라이브러리를 설치하지만 gcc는 설치하지 않습니다. 그런 다음 안정 버전에서 gcc를 설치하려면 다음을 실행하면 됩니다.

apt-get install gcc

오류가 발생합니다 Broken package. 내가 시도하면 :

apt-get -t stable install gcc

테스트와 함께 gcc를 설치합니다. 안정 버전에서 gcc를 설치하려면 다음을 실행해야 했습니다:

apt-get -t stable install gcc/stable

알아채다패키지를 다운그레이드할 수 있습니다., 그러나 이 경우에는 패키지를 다운그레이드하지 않습니다.

These extra packages will be installed:
  binutils cpp cpp-4.4 cpp-4.7 gcc gcc-4.4 gcc-4.4-base gcc-4.7-base libgcc1 libgmp10 libgomp1 libmpc2 libmpfr4 libstdc++6
Suggested packages:
  binutils-doc cpp-doc gcc-4.4-locales gcc-4.7-locales gcc-multilib make manpages-dev autoconf automake1.9 libtool flex bison gdb gcc-doc gcc-4.4-multilib
  libmudflap0-4.4-dev gcc-4.4-doc libgcc1-dbg libgomp1-dbg libmudflap0-dbg libcloog-ppl0 libppl-c2 libppl7
The following NEW packages will be installed:
  binutils cpp cpp-4.4 cpp-4.7 gcc gcc-4.4 gcc-4.7-base libgmp10 libgomp1 libmpc2 libmpfr4
The following packages will be updated:
  gcc-4.4-base libgcc1 libstdc++6
3 updated packages, 11 new installed packages, 0 to be removed and 159 not updated.
Inst gcc-4.7-base (4.7.2-5 Debian:testing [i386])
Inst libgcc1 [1:4.4.5-8] (1:4.7.2-5 Debian:testing [i386])
Inst libstdc++6 [4.4.5-8] (4.7.2-5 Debian:testing [i386])
Inst libgmp10 (2:5.0.5+dfsg-2 Debian:testing [i386])
Inst libgomp1 (4.7.2-5 Debian:testing [i386])
Inst libmpfr4 (3.1.0-5 Debian:testing [i386])
Inst libmpc2 (0.9-4 Debian:testing [i386])
Inst binutils (2.22-7.1 Debian:testing [i386])
Inst cpp-4.7 (4.7.2-5 Debian:testing [i386])
Inst cpp (4:4.7.2-1 Debian:testing [i386])
Inst gcc-4.4-base [4.4.5-8] (4.4.7-2 Debian:testing [i386])
Inst cpp-4.4 (4.4.7-2 Debian:testing [i386])
Inst gcc-4.4 (4.4.7-2 Debian:testing [i386])
Inst gcc (4:4.4.5-1 Debian:6.0.6/stable [i386])

gcc는 안정 버전에서 설치됩니다.


또한 참고하세요.

APT::Default-Release "stable";

/etc/apt/apt.conf.d/70debconf에서는 .predecessor를 사용할 필요가 없는 것 같습니다 -t stable.

Instead of
    apt-get -t stable install gcc/stable

I could just run
    apt-get install gcc/stable

이는 내 목표가 stable 이라고 지정했기 때문입니다 70debconf.



이것은 해킹에 가깝기 때문에 다른/더 나은 솔루션이 있는지 궁금합니다.

관련 정보