รับ“ ขนาดไม่ตรงกัน” เมื่อใช้ 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) มันไม่ตรงกับขนาดของแพ็คเกจ 'deb' เมื่อฉันดึงมันลงมาด้วย wget

มีข้อเสนอแนะใด ๆ เกี่ยวกับการแก้ปัญหานี้โดยใช้ wget ในแต่ละไฟล์ที่ล้มเหลว


เป็น 105756 Bytes โดยที่ 106 เป็น kB ดังนั้น 105.756 kB คือ 106 kB เมื่อปัดเศษ ซึ่งก็ประมาณกัน
atenz

ขวา แต่ขนาดของไฟล์ (ไฟล์ที่แน่นอนเหมือนกัน) ที่ฉันดาวน์โหลดโดยใช้ wget คือ 103kB ดูเหมือนว่า descriptor ไม่ได้รับการอัพเดตให้ตรงกับไฟล์?
Chris

ขนาดที่ดาวน์โหลดดูเหมือนจะเปลี่ยนเล็กน้อยหรือร้อย KB (+ หรือ -) ขึ้นอยู่กับขนาดเมื่อดาวน์โหลดลงในที่จัดเก็บในตัวเครื่อง ฉันคิดเสมอว่ามันเป็นของ CRC หรือ FEC แต่ก็สับสนเกี่ยวกับฐานที่เก็บบิต ถ้าเป็นเช่นนั้นฉันไม่แน่ใจว่าอาจมีใครบางคนตอบ
atenz

ฉันสงสัยว่าพวกเขาเป็นแพคเกจที่เสียหายหรือไม่ ฉันควรจะไม่สามารถดาวน์โหลด (wget เป็นต้น) จากนั้นติดตั้งโดยใช้ "dpkg -i <package>" บน Ubuntu ถ้าเป็นเช่นนั้นฉันได้รับนี้:
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 'ไม่ใช่รูปแบบไฟล์เก็บถาวร debian dpkg: การประมวลผลข้อผิดพลาด libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb (- ติดตั้ง): subprocess dpkg-deb - ตัวควบคุมส่งกลับข้อผิดพลาดสถานะ 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.deb /var/cache/apt/archives/partialมันมี html จากตัวกรองเว็บให้ฉันสังเกตเห็นว่าฉันละเมิดอินเทอร์เน็ต blah blah blah ของฉัน

ใครจะรู้ว่าวิศวกรการวิจัยหลักของพวกเขาจะมีนโยบายที่ใช้เรื่องไม่สำคัญเช่นนี้?

เรียนรู้บทเรียน: ถามฝ่ายไอทีของคุณให้บล็อกที่อยู่ที่ได้รับการยกเว้นจากนโยบายที่โง่เขลาและเรียกเก็บเงินพวกเขากลับมาในเวลาที่ฉันและผู้ที่พยายามช่วย ...


7
เลอถอนหายใจ ต้องรักคนไอที
jrg

1
พร็อกซี / ไฟร์วอลล์ที่ส่งคืน HTML ปลอมที่มี 200 OK แทนที่จะบล็อกการเชื่อมต่อนั้นแย่ที่สุด :(
ish

ขอบคุณ @Chris! ความช่วยเหลืออย่างมาก ตอนนี้ฉันสามารถหยุดสงสัยว่าสิ่งที่เกิดขึ้น
hourback

ในฐานะผู้เริ่มต้นฉันอยากรู้มากเกี่ยวกับวิธีการแก้ปัญหานั้น (ดู/var/cache/apt/archives/partial) มันอยู่ที่ไหนสักแห่งในหน้าคู่มือฉลาด -? คุณพบคนอื่นที่มีปัญหาหรือไม่ อื่น ๆ อีก? ฉันต้องการแก้ไขปัญหาโดยไม่ใช้ 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

แจ้งให้ทราบล่วงหน้าฉันลบสิ่งที่เราตะวันออก

จากนั้นเพียงแค่เรียกใช้:

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

เพื่อติดตั้งแพ็คเกจ

จากนั้นเพียงแค่เรียกใช้คำสั่งดั้งเดิมที่คุณพยายาม


ทำไม apt ถึงทำให้หายใจไม่ออก? อะไรคือการดาวน์โหลดและติดตั้งแพคเกจที่เหมาะกับการสำลัก?
NateS

1

ฉันแก้ไขปัญหาขนาดไม่ตรงกันเมื่อพยายามอัปเกรด owncloud ปัญหาผิด ppa url

repo ของฉันสำหรับ xubuntu:

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

เปลี่ยนเป็น Ubuntu ที่เหมาะสม:

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

สรุป:ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่า URL ของ ppa สำหรับการแจกจ่ายและรสชาติของ Ubuntu อย่างเหมาะสม


0

ตกลงฉันมีปัญหาเดียวกันนี้ ในกรณีของฉันมันเป็นปัญหาของการสร้างของฉันเองทั้งหมด ฉันกำลังสร้างแพ็คเกจใหม่สำหรับเซิร์ฟเวอร์แพ็คเกจภายในและเพียงแค่แทนที่แพ็คเกจบนเซิร์ฟเวอร์ในแต่ละครั้งโดยไม่ต้องเพิ่มหมายเลขรุ่น (เฉพาะฉันเท่านั้นที่ดึงไฟล์)

การสืบสวนของฉันไปดังนี้ ...

  • เรียกใช้apt-cache showคำสั่ง - ยืนยันขนาดไฟล์
  • ดึงไฟล์ด้วยมือ - ยืนยันว่าในความเป็นจริงมันเป็น missmatch
  • ตรวจสอบขนาดไฟล์ด้วยตนเองบนเซิร์ฟเวอร์แพ็คเกจที่ตรงกับ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.