여러 패키지에서 apt-get을 사용할 때 "크기 불일치"얻기


9

apt-get을 사용하여 여러 패키지를 다운로드하는 데 문제가 있습니다. 지금까지 'opencv'와 'gstreamer'를 사용 하여이 문제를 해결했습니다. opencv를 사용하면 많은 파일을 가져온 다음 아래 오류와 함께 반환됩니다. 몇 가지 다른 미러를 시도했는데 모두 동일한 파일에서 오류가 발생했습니다.

Do you want to continue [Y/n]? y
Get:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libopencvvideo2.3 i386 2.3.1-7 [106 kB]
Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/universe libopencv-video-dev i386 2.3.1-7 [129 kB]
Fetched 2,225 B in 0s (11.8 kB/s)        
Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video2.3_2.3.1-7_i386.deb  Size mismatch
Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video-dev_2.3.1-7_i386.deb  Size mismatch
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

'apt-cache show libopencv-video *'를 실행하고 다음을 얻었습니다.

Package: libopencv-video2.3
Priority: optional
Section: universe/libs
Installed-Size: 277
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>
Architecture: i386
Source: opencv
Version: 2.3.1-7
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libopencv-core2.3, libopencv-imgproc2.3 (= 2.3.1-7), libstdc++6 (>= 4.1.1)
Filename: pool/universe/o/opencv/libopencv-video2.3_2.3.1-7_i386.deb
Size: 105756
MD5sum: b38c0f11f3856d62168b730522a9691b
SHA1: d45cd609ea497ae72858e0f5914134e124261f22
SHA256: 85e72311ede84efbdd17781cdb04f79818a28968c63f407df6c56efe7da5525e
Description-en: computer vision Video analysis library

내가보고 한 파일 크기 (105756)를 비교할 때 wget으로 풀 때 'deb'패키지의 크기와 일치하지 않습니다.

실패한 각 파일에서 wget을 사용하고 수동으로 설치하지 않고이 문제점을 해결하기위한 제안 사항이 있습니까?


106이 kB 인 105756 바이트이므로 반올림시 105.756kB는 106kB입니다. 거의 동일합니다.
atenz

맞지만 wget을 사용하여 다운로드 한 파일 (동일한 정확한 파일)의 파일 크기는 103kB입니다. 디스크립터가 파일과 일치하도록 업데이트되지 않는 것 같습니다.
Chris

다운로드 한 크기는 로컬 저장소로 다운로드 할 때 크기에 따라 약간 또는 수백 KB (+ 또는-)로 변경되는 것 같습니다. 나는 항상 CRC 나 FEC에 대한 것이라고 생각했지만 비트가 저장되는 BASE에 대해 혼란스러워했다. 만약 그렇다면, 확실하지 않습니다, 아마 누군가 대답 할 것입니다.
atenz

그들이 손상된 패키지인지 궁금합니다. 다운로드 (wget 등) 한 다음 우분투에서 "dpkg -i <package>"를 사용하여 설치할 수 없습니까? 그렇다면 다음과 같은 결과가 나타납니다.
Chris

oot @ ubuntu : / home / sysadmin # dpkg -i libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb dpkg-deb : 오류 :`libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0. 1_i386.deb '는 데비안 형식의 아카이브 dpkg가 아닙니다 : 오류 처리 libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb (--install) : subprocess dpkg-deb --control 반환 오류 종료 상태 2 오류 처리하는 동안 발생했습니다 : libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb
Chris

답변:


18

apt-get에는 문제가 없지만 회사에 문제가 있음이 밝혀졌습니다. URL에 '동영상'이있는 모든 키워드를 차단하는 인터넷 정책이 있습니다. libopencv-video2.3_2.3.1-7_i386.debin 의 내용을 확인하여 이것을 발견 했습니다 /var/cache/apt/archives/partial. 여기에는 웹 필터의 html이 포함되어있어 내 인터넷 blah blah blah를 위반하고 있음을 알립니다.

수석 리서치 엔지니어가 이와 같이 사소한 정책을 적용했을 것임을 누가 알았습니까?

교훈 : IT 부서에 바보 같은 정책이 적용되지 않는 주소 블록을 제공하고 저와 시간을 낭비하는 사람들에게 도움을 요청하는 데 비용을 청구하도록 요청하십시오.


7
르 한숨. IT 사람들을 사랑해야합니다.
jrg

1
연결을 차단하는 대신 200 OK로 가짜 HTML을 반환하는 프록시 / 방화벽이 최악입니다. :(
ish

감사합니다, @Chris! 큰 도움. 이제 도대체 무슨 일이 일어나고 있는지 궁금해 할 수 있습니다.
시간당

초보자로서, 솔루션에 어떻게 도달했는지 궁금합니다 (참조 /var/cache/apt/archives/partial). apt-get 매뉴얼 페이지 어딘가에 있었습니까? 문제가있는 다른 사람을 찾았습니까? 다른 것? 가능한 경우 Google 없이도 문제를 해결하는 데 점점 더 나아지고 싶습니다.
joshreesjones

@ mathguy54 OP와 동일한 오류가 발생했습니다. 브라우저를 사용하여 링크를 방문하려고했지만 wget수신 된 파일이 매우 작습니다. 그것은 밝혀 html"URL이 차단됩니다"라는 메시지와 함께
aiao

4

나는 이러한 문제가 많았고 항상 문제를 해결했습니다.

예를 들면 다음과 같습니다.

Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video-dev_2.3.1-7_i386.deb

이 경우 주 서버에서 수동으로 패키지를 가져옵니다.

wget http://archive.ubuntu.com/ubuntu/pool/universe/o/opencv/libopencv-video-dev_2.3.1-7_i386.deb

us-east 항목을 제거했습니다.

그런 다음 실행하십시오.

sudo dpkg -i libopencv-video-dev_2.3.1-7_i386.deb

패키지를 설치합니다.

그런 다음 시도했던 원래 명령을 실행하십시오.


apt는 왜 질식합니까? 적절한 패키지를 다운로드하여 설치하면 어떤 결과가 발생합니까?
NateS

1

owncloud를 업그레이드 할 때 크기 불일치 문제가 해결되었습니다. 문제가 잘못된 URL입니다.

내 레포는 xubuntu를위한 것이었다 :

http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_15.04/Release

적절한 우분투로 변경 :

http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_15.10/Release

요약 : Ubuntu의 배포 및 취향에 맞게 ppa의 URL을 올바르게 설정했는지 확인하십시오.


0

그래도 같은 문제가 발생했습니다. 제 경우에는 전적으로 제 자신의 문제였습니다. 내부 패키지 서버 용 새 패키지를 작성하고 버전 번호를 늘리지 않고 매번 서버에서 패키지를 교체했습니다 (파일 만 가져옵니다).

내 조사 는 다음과 같이 진행되었습니다 ...

  • apt-cache show명령을 실행하십시오 -파일 크기를 확인하십시오
  • 파일을 손으로 당기십시오-실제로 불일치하는지 확인하십시오.
  • apt-cache출력 과 일치하는 패키지 서버에서 파일 크기를 수동으로 확인하십시오.

결과 단계는 프록시 서버가 투명 모드로 실행하여 .deb 풀을 캐시했다고 결론을 내 렸습니다. 프록시 로그를보고 실제로 캐시 "HIT"를 표시하고 있음을 확인했습니다.

해결책? wget명령을 다시 실행 하되 프록시를 새로 고치십시오.

wget http://packages.example.com/pool/contrib/.../packagename.deb --no-cache

프록시가 apt-get정상적으로 작동 하는 파일을 새로 고치기에 충분 했습니다.

분명히 버전 번호를 떨어 뜨리지 않고 패키지를 교체하는 것은 좋지 않은 형태이지만이 문제의 또 다른 가능한 원인입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.