複数のパッケージで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を使用して手動でインストールする以外に、この問題を解決するための提案はありますか?


これは105756バイトであり、106はkBなので、丸めた場合、105.756 kBは106 kBになります。ほぼ同じです。
アテンツ

右ですが、wgetを使用してダウンロードしたファイル(まったく同じファイル)のファイルサイズは103kBです。記述子がファイルに一致するように更新されていないようですか?
Chris

ダウンロードしたサイズは、ローカルストレージにダウンロードしたときのサイズに応じて、数KBから100 KB(+または-)変化します。CRCかFECだと思っていましたが、ビットが格納されているBASEについて混乱しました。もしそうなら、私にはわかりません、おそらく誰かが答えるでしょう。
アテンツ

それらが破損したパッケージであるかどうか疑問に思っています。ubuntuで「dpkg -i <パッケージ>」を使用してダウンロード(wgetなど)してからインストールできないようにする必要がありますか?もしそうなら、私はこれを手に入れています:
Chris

oot @ ubuntu:/ home / sysadmin#dpkg -i libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb dpkg-deb:error: `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エラーを返しました2エラー処理中に遭遇しました:libgstreamer-plugins-base0.10-dev_0.10.36-1ubuntu0.1_i386.deb
Chris

回答:


18

apt-getに問題はないのですが、私の会社です。URLに「video」が含まれるすべてのキーワードをブロックするインターネットポリシーがあります。のコンテンツを表示して、これを発見しlibopencv-video2.3_2.3.1-7_i386.debました/var/cache/apt/archives/partial。ウェブフィルターからのhtmlが含まれていて、インターネットに違反していることがわかりました。

彼らの主任研究技術者がこれほど簡単なポリシーを適用したことを誰が知っていただろうか。

教訓:愚かなポリシーを免除されているアドレスのブロックをIT部門に提供し、私や手助けをしようとしている人が無駄に費やした時間に対してそれらに請求する...


7
ルため息。IT担当者が大好きです。
2012

1
接続をブロックするだけでなく、200 OKの偽のHTMLを返すプロキシ/ファイアウォールは最悪です。:(
ish

ありがとう、@ Chris!巨大な助け。今、私は一体何が起こっていたのかと思うのをやめることができます。
2014年

初心者として、私はどのようにしてそのソリューションに到達したのか非常に興味があります(を見てください/var/cache/apt/archives/partial)。apt-getマニュアルページのどこかにありましたか?問題のある他の誰かを見つけましたか?他に何か?できれば、Googleがなくても問題を解決できるようになりたいです。
joshreesjones 2015年

@ 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はチョークするのですか?aptが窒息したパッケージのダウンロードとインストールの影響は何ですか?
NateS

1

owncloudをアップグレードしようとしたときのサイズの不一致の問題を修正しました。問題は間違ったPPA 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

概要: Ubuntuのディストリビューションとフレーバーに合わせて、ppaのURLを適切に設定していることを確認してください。


0

OK同じ問題が発生しました。私の場合、それは私自身の問題でした。私は内部パッケージサーバーの新しいパッケージを構築し、バージョン番号をインクリメントせずに毎回サーバー上のパッケージを置き換えるだけでした(ファイルをプルするだけです)。

私の調査は次のように行きました...

  • apt-cache showコマンドを実行する-ファイルサイズを確認する
  • ファイルを手で引っ張る-実際にミスマッチであることを確認します。
  • apt-cache出力と一致したパッケージサーバーのファイルサイズを手動で確認します。

結果として得られた手順により、.debのプルはプロキシサーバー(透過モードで実行されている)によってキャッシュされたと結論付けられます。プロキシログを確認すると、キャッシュ「ヒット」が表示されていることがわかりました

ソリューション?wgetコマンドを再度 実行しますが、プロキシを強制的に更新します

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

これで、プロキシがファイルを更新し、その時点でapt-get正常に機能しました。

バージョン番号を上げることなくパッケージを置き換えるのは明らかに悪い形ですが、この問題の別の原因として考えられます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.