パッケージとそのすべての依存関係をダウンロードする方法はすでに知っていました。 Ubuntuとその派生物で。今日は、Ubuntuでパッケージの再帰的な依存関係をダウンロードする方法を見ていきます。つまり、依存関係の依存関係をダウンロードします。
a.debという名前のパッケージをインストールしようとしているとしましょう。 。 a.debパッケージはパッケージb.debに依存します また、パッケージb.debはパッケージ c.debに依存します 。この方法では、a.debの依存関係だけでなく、b.debとc.debの依存関係もダウンロードします。これは、 apt-rdepends を使用して必要なすべての依存関係をダウンロードした後でも、パッケージをインストールできない場合に役立つ可能性があります。 コマンド。
依存関係のあるパッケージをローカルにダウンロードすることは、3つの主な目的を果たします。
- 同じパッケージのセットを何度も繰り返しダウンロードすることは避けてください。たとえば、Vimエディターを複数のシステムにインストールする場合は、必要なすべての依存関係を含むVimをダウンロードし、USBドライブに保存(またはLAN経由で転送)して、他のシステムにVimをインストールできます。
- インターネットの帯域幅と時間を節約します。
- インターネットに接続されていないシステムにパッケージをインストールします。これが、依存関係のあるパッケージをローカルにダウンロードする主な理由です。インターネットに接続されたシステムにパッケージをダウンロードしてから、USBドライブまたはLANを介してオフラインシステムに転送し、インターネットなしでインストールすることができます。
理由はあなたによって異なる可能性があります。オフラインシステムにパッケージをインストールしたい場合は、この方法が間違いなく役立ちます。
Ubuntuでパッケージの再帰的な依存関係をダウンロードする
このガイドでは、 Vimを使用します 例としてプログラム。
まず、次のコマンドを使用して、Vimパッケージの再帰的な依存関係を一覧表示します。
$ apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u
vimを独自のパッケージに置き換えます。読みやすいように出力を列形式で表示する場合は、次のコマンドを実行します。
$ apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u | column
出力例:
cdebconf libacl1 libdb5.3 liblzma5:i386 libpython3.6-stdlib libtinfo5 vim debconf libacl1:i386 libdebian-installer4 libmpdec2 libreadline7 libzstd1 vim-common dpkg libattr1 libexpat1 libncursesw5 libselinux1 libzstd1:i386 vim-runtime dpkg:i386 libattr1:i386 libffi6 libnewt0.52 libselinux1:i386 mime-support xxd gcc-8-base libbz2-1.0 libgcc1 libpcre3 libslang2 perl-base xxd:i386 gcc-8-base:i386 libbz2-1.0:i386 libgcc1:i386 libpcre3:i386 libsqlite3-0 readline-common zlib1g install-info libc6 libgpm2 libpython3.6 libssl1.1 tar zlib1g:i386 install-info:i386 libc6:i386 liblzma5 libpython3.6-minimal libtextwrap1 tar:i386

これらはVimプログラムの依存関係の依存関係です。 Vimのインストールにこれらすべてが必要なわけではないことに注意してください。
先に進み、コマンドを使用してVimパッケージの再帰的な依存関係をダウンロードしましょう:
$ apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u)
このコマンドは、vimとその依存関係プログラムを現在のディレクトリにダウンロードします。また、Vimの依存関係の依存関係もダウンロードします。

「ls」コマンドを使用して、すべての依存関係がダウンロードされていることを確認します。
$ ls
これが私のUbuntu18.04デスクトップでのVimプログラムの依存関係とその依存関係の依存関係のリストです:

次に、ダウンロードしたすべてのファイルをUSBドライブまたはLAN経由でオフラインシステムに移動します。次に、ダウンロードしたすべてのパッケージをオフラインシステムに保存した場所に移動し、次のコマンドを使用してインストールします。
$ sudo dpkg -i *
または、ダウンロードしたすべてのパッケージのインデックスを作成し、APTパッケージマネージャーを使用してインストールすることもできます。
ダウンロードしたパッケージのインデックスを作成するには、パッケージが保存されている場所に移動して、次のコマンドを実行します。
$ dpkg-scanpackages . | gzip -c9 > Packages.gz
次のコマンドを使用して、このフォルダをAPTソースリストに追加します。
$ echo "deb[trusted=yes] file:///home/sk/vim ./" | sudo tee -a /etc/apt/sources.list
ここでは、すべてのファイルを /home/sk/vim
に保存しました オフラインシステムのフォルダ。このパスを独自のパスに置き換える必要があります。
コマンドを使用してパッケージインデックスを更新します:
$ sudo apt-get update
最後に、APTパッケージマネージャーを使用してvimパッケージをインストールします。
$ sudo apt-get install vim
同様に、他のパッケージをダウンロードしてインストールすることもできます。
これがお役に立てば幸いです。
おすすめの記事:
- CentOSのすべての依存関係を持つRPMパッケージをダウンロードする方法
- Camicri Cube –オフラインUbuntuシステムへのパッケージのインストール
- Ubuntuでソフトウェアをオフラインでインストールする方法
- システム内で何も変更せずにLinuxコマンドをシミュレートする方法