パッケージストアを確認して接続しますか?

パッケージストアを確認して接続しますか?

Ubuntuイメージを設定し、それをハードドライブを介してオフラインシステムに転送する準備が整いました。画像に必要なすべてのパッケージがあることを確認し、欠落しているパッケージを画像に追加したいと思います。画像の/var/spool/apt-mirrorサイズは120GBで、何百もの.debファイルが含まれています。これら2つのタスクをどのように実行しますか?

(1)パッケージが存在するかどうかを確認するには、パッケージを使って自分のミラーをdpkg指し、パッケージがミラーのどこかにあるかどうかを尋ねる必要があるとします。どうすればいいですか?私が試してみましたが、失敗したものは次のとおりです。

dpkg --info /var/spool/apt-mirror/ astyle
dpkg-deb: error: error reading archive magic version number from file /var/spool/apt-mirror/: Is a directory

たぶんそのコマンドを何とか使うべきですかapt-cache

(2)パッケージが紛失したと仮定すると、ミラーにどのように配置されますか? debファイルを見つけて、画像「プール」のどこにでもコピーできますか?たとえば、次のパッケージが欲しいとします。

apt-cache showpkg astyle
Package: astyle
Versions:
2.01-1 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages)

パッケージは明らかに私のローカルキャッシュで利用可能です(しかし私の準備されたコンピュータにはインストールされていません)。ミラーにどのように移動しますか?

ベストアンサー1

パッケージがディレクトリツリーのどこかにあるかどうかを確認するために使用する必要はありませんdpkgfindファイルがあることを確認するだけです。.debファイルという事実はほとんど関係ありません。

例えば

find /var/spool/apt-mirror/ -name 'astyle*.deb'

多くのファイルに対してこの操作を繰り返し実行する場合は、出力をファイルにfind /var/spool/apt-mirror/ -type fリダイレクトしてからそのファイルの検索を使用することをお勧めします。これは、grep毎回検索を一度実行するよりもはるかに高速です。find

イメージからパッケージが欠落している場合(ミラーリングしているリポジトリにある場合)、設定を確認してapt-mirror再実行してくださいapt-mirror

パッケージがイメージに存在することを確認するには、grep関連Packagesファイルを見てください。たとえば、jessie の zfsonlinux アーカイブ ミラーがあるので、splパッケージがそのリポジトリに存在する必要があるかどうかを知りたい場合は、次のようにします。

# grep 'Package: spl$' /var/spool/apt-mirror/mirror/archive.zfsonlinux.org/debian/dists/jessie/main/binary-amd64/Packages
Package: spl

または

# find /var/spool/apt-mirror/mirror/archive.zfsonlinux.org/ -name 'Packages' -exec grep 'Package:\ spl$' {} +
/var/spool/apt-mirror/mirror/archive.zfsonlinux.org/debian/dists/jessie-daily/main/binary-amd64/Packages:Package: spl
/var/spool/apt-mirror/mirror/archive.zfsonlinux.org/debian/dists/jessie/main/binary-amd64/Packages:Package: spl

おすすめ記事