기본 시스템에 적용하기 전에 업데이트를 테스트하기 위해 VM에서 준비 환경을 설정하려고합니다.
이를 위해 VM에 데비안 위지 (기본 시스템과 동일)를 기본 설치 한 다음 VM 내에서 루트로 실행했습니다.
# dpkg --clear-selections
# dpkg --add-architecture i386
# apt-get update
# ssh me@main-system 'dpkg --get-selections | grep -v deinstall' | \
dpkg --set-selections
불행히도 i386 아키텍처가 필요합니다. 시스템은 amd64 기본입니다.
dpkg --set-selections
VM에서 실행 하는 데 문제가 있습니다. 특별한 처리가 필요한 패키지가 있습니다 (실제로 스테이징 환경을 원하는 주요 이유입니다). 그러나 위의 마지막 명령을 실행하면 다음과 같은 가젤 리언 라인이 생깁니다.
dpkg: warning: package not in database at line NNN: package-name
기본 시스템에서 실제로 사용할 수있는 패키지 예는 xterm
, yelp
및 zip
입니다.
이제 내 질문에 :
하나의 데비안 시스템에서 다른 데비안 시스템으로 패키지 선택 목록을 전송 한 다음 ( Wheezy에서 동일한 데비안 릴리스 레벨을 가정) 그 변경 사항을 적용하는 특정 프로세스는 무엇입니까 ? 목표는 모두가 일을 적도록, 설치된 패키지의 동일한 목록을 가지고있다 diff
의 출력 사이 dpkg --get-selections
또는 dpkg --list
두 다시 차이를 보여주는로 제공합니다.
grep -v deinstall
부분에서 차용 하고 후에 제거되는 것을 방지 패키지dpkg --set-selections
우분투 질문에 이상.
VM의 소스를 기본 시스템과 동일하게 변경하고 다음을 설치했습니다 apt-transport-https
.
deb https://ftp-stud.hs-esslingen.de/debian/ wheezy main non-free
deb-src https://ftp-stud.hs-esslingen.de/debian/ wheezy main non-free
deb https://ftp-stud.hs-esslingen.de/debian/ wheezy-updates main non-free
deb-src https://ftp-stud.hs-esslingen.de/debian/ wheezy-updates main non-free
deb [arch=amd64] http://archive.zfsonlinux.org/debian wheezy main
--set-selections 출력을 보면 다음과 같습니다.
dpkg: warning: package not in database at line 1: a2ps
dpkg: warning: package not in database at line 1: abiword
dpkg: warning: package not in database at line 1: abiword-common
dpkg: warning: package not in database at line 1: abiword-plugin-grammar
dpkg: warning: package not in database at line 1: abiword-plugin-mathview
dpkg: warning: package not in database at line 1: accountsservice
dpkg: warning: package not in database at line 1: acl
dpkg: warning: package not in database at line 4: aglfn
dpkg: warning: package not in database at line 4: aisleriot
dpkg: warning: package not in database at line 4: alacarte
dpkg: warning: package not in database at line 4: alien
...
줄 번호가 이상하게 보였으며 --get-selections 출력의 해당 부분은 다음과 같습니다.
a2ps install
abiword install
abiword-common install
abiword-plugin-grammar install
abiword-plugin-mathview install
accountsservice install
acl install
acpi-support-base install
acpid install
adduser install
aglfn install
aisleriot install
alacarte install
alien install
그 사이에 있음을 공지 acl
하고 aglfn
있다 acpi-support-base
, acpid
그리고 adduser
있는 오류가보고되고있다 . 그것은 오류가보고되고있는 패키지가 하나되는 것 같습니다 un
에 따라 dpkg -l
, 또는 dpkg -l
그들에 대해 전혀 생각을하지 않습니다 ( dpkg-query: no packages found matching ...
). 로컬에 설치된 패키지가 있지만 많지는 않다는 것을 알고 있습니다. 목록에서 훨씬 더 먼 곳 i386
까지 (--get-selections 출력의 342 행) 계산 하지 않습니다 .gcc-4.7-base:i386 install
dpkg --get-selections
(그리고 나는 당신이 의미 가정 dpkg --set-selections
증명서를?)? 전자조차도 3,600 줄 이상이며 약 100KB입니다.
/var/lib/dpkg/Packages
(더 긴) 사본 도 유용 할 수 있습니다. 이것은 패키지 파일이 손상된 증상 일 수 있습니다.
dpkg --get-selections … | … dpkg --set-selections
패키지 선택을 복제하는 방법입니다. 그것이 당신을 위해 실패하는 경우, 당신은 이유에 대한 자세한 정보를 제공해야합니다. 전체 소스 세트를 두 시스템,에 대한 출력dpkg --get-selections
및 전체 사본 모두에 게시하십시오dpkg --get-selections
(어떻게 작동하고 작동하지 않는지 확인하여 패턴을 식별 할 수 있음). 주 시스템이 amd64 또는 i386 인 경우? i386 아키텍처를 추가하지 않으면 작동합니까?