Отримання "невідповідності розміру" при використанні 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 байт, де 106 - кБ, отже, 105,756 кБ - 106 кБ при округленні. Що приблизно те саме.
atenz

правильно, але розмір файлу (той самий точний файл), який я завантажую за допомогою wget, становить 103 КБ. здається, що дескриптор не оновлюється, щоб відповідати файлам?
Кріс

Здається, розмір, що завантажується, змінюється на кілька сотень КБ (+ або -) залежно від розміру при завантаженні на локальну пам’ять. Я завжди думав, що це стосується CRC або FEC, але потім заплутався у БАЗІ, в якій зберігаються біти. Якщо це так, то я не впевнений, напевно, хтось відповість.
atenz

Мені цікаво, чи це корумповані пакети. я не можу завантажити (wget тощо), а потім встановити, використовуючи "dpkg -i <package>" на ubuntu? Якщо так, я отримую це:
Кріс,

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 (--install): підпроцесс dpkg-deb --control повернув помилку виходу статус 2 Помилки під час обробки: libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb
Кріс

Відповіді:


18

Виявляється, проблема не в apt-get, а в моїй компанії. Існує політика в Інтернеті, яка блокує всі ключові слова із "відео" в URL-адресі. Я виявив це, переглянувши вміст libopencv-video2.3_2.3.1-7_i386.debв /var/cache/apt/archives/partial. Він містив html від веб-фільтра, що дає мені повідомлення про те, що я порушую мій Інтернет-бла-бла-бла.

Хто міг би знати, що їхній провідний науковий інженер мав би застосовувати настільки банальну політику, як ця?

Урок: Попросіть свою ІТ-службу надати блок адрес, звільнених від дурної політики, і стягнути їх назад за витрачений мною час і тих, хто намагається допомогти ...


7
Ле зітхання. Треба любити ІТ-людей.
jrg

1
Проксі / брандмауери, які повертають помилковий HTML з 200 ОК, а не просто блокують з'єднання, НАЙКРАЩЕ. :(
МІГ

Дякую, @Chris! Величезна допомога. Тепер я можу перестати дивуватися, що за чорт сталося.
зворотний час

Як початківець мені дуже цікаво, як ти дійшов до цього рішення (заглядаючи /var/cache/apt/archives/partial). Це було десь на сторінці посібника з підходящого отримання? Ви знайшли когось іншого, у кого була проблема? Щось ще? Я дуже хотів би краще вирішити проблеми без Google, коли це можливо.
joshreesjones

@ mathguy54 Я отримав ту ж помилку, що і ОП. Я спробував завітати за посиланням (за допомогою браузера або wget), і отриманий файл був дуже маленьким. Виявляється, htmlз повідомленням "URL заблоковано"
аяо

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

встановити пакет.

Потім просто запустіть оригінальну команду, яку ви намагалися


Чому влучний захлинається? Які наслідки завантаження та встановлення пакету, який вдало задихнувся?
NateS

1

Я виправив проблему невідповідності розмірів під час спроби оновити owncloud. Проблема була помилковою URL-адресою.

Моє репо було для 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команду - підтвердити розмір файлів
  • витягнути з файлу вручну - підтвердьте, що це насправді невідповідність.
  • вручну перевірити розмір файлів на сервері пакетів, щоб він відповідав apt-cacheвиводу

В результаті цього кроки підштовхують мене до висновку, що мій показник .deb був кешований .. нашим проксі-сервером (працює в прозорому режимі). Я підтвердив, що переглянувши журнали проксі-сервера, він дійсно показував кеш-пам'ять "HIT"

Рішення? запустити wgetкоманду ще раз, але змусити проксі оновити

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

цього було достатньо, щоб отримати проксі-сервер для оновлення файлу, в який момент apt-getпрацював нормально.

Очевидно, що це погана форма замінити пакунок без удару за номером версії, але ще одна можлива причина цієї проблеми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.