
reprepro
부분 로컬 데비안 미러를 생성하는 데 사용하고 있습니다 . 내 conf/updates
파일은 다음과 같습니다.
Name: update-wheezy
Method: http://ftp.tu-graz.ac.at/mirror/debian
Suite: wheezy
Components: main contrib non-free
Architectures: i386
FilterList: purge mirror.packages
FilterList
mirror.packages
현재 설치된 모든 패키지가 포함된 파일을 가리킵니다 . 다음을 사용하여 이 파일을 만듭니다 dpkg
.
dpkg --get-selections > conf/mirror.packages
여태까지는 그런대로 잘됐다. 잘 작동한다. 그런데 로컬 저장소에 일부 패키지가 누락된 것을 발견했습니다. 의 출력에는 dpkg --get-selections
패키지 이름이 로 끝나는 일부 줄이 포함되어 있습니다 :i386
. 예:
libxxf86dga1:i386 install
libxxf86vm1:i386 install
lighttpd install
정확히 해당 i386
패키지가 누락되었습니다. 접미사를 제거하여 이 문제를 해결했습니다.
dpkg --get-selections | sed 's/:i386//g' > conf/mirror.packages
이제 내 질문은 다음과 같습니다.
- 이것은 담당자의 버그입니까? 아니면 내가 뭔가 잘못하고 있는 걸까요? 매뉴얼 페이지
FilterList
에는dpkg --get-selections
. dpkg
아키텍처를 억제 할 수 있는 방법이 있습니까 ?- 일부 패키지에는 접미사가 있지만
:i386
대부분에는 없는 이유는 무엇입니까? - 어쨌든 패키지 이름에 아키텍처 부분이 포함된 이유는 무엇입니까? 동일한 시스템에서 서로 다른 아키텍처의 동일한 패키지를 가질 수 있습니까?
답변1
:i386은 패키지 이름의 일부가 아니지만 패키지의 아키텍처를 나타냅니다. 이는 여러 아키텍처("multiarch")에서 패키지를 설치하기 위한 지원을 데비안에서 도입한 결과입니다.
보다https://wiki.debian.org/Multiarch더 많은 정보를 위해서.
나는 특정 패키지에 대해 아키텍처가 표시되는지 여부를 결정하는 요인에 대해 긍정적이지 않습니다. 처음에는 패키지가 외국 아키텍처에서 나온 경우에만 표시되는 것으로 생각했지만 nharrer의 의견을 보면 분명히 착각했습니다. nharrer의 목록을 보고 다른 컨텍스트에 대해 생각해 보면 :<architecture>가 모든 "multi-arch:same" 패키지에 대해 표시될 수 있다고 생각합니다.
나는 reprepro의 필터 목록 기능이 multiarch보다 앞서서 :i386이 의미하는 바를 이해하지 못하므로 이를 패키지 이름의 일부로 취급한다고 생각합니다.