GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntuでパッケージの再帰的な依存関係をダウンロードする

パッケージとそのすべての依存関係をダウンロードする方法はすでに知っていました。 Ubuntuとその派生物で。今日は、Ubuntuでパッケージの再帰的な依存関係をダウンロードする方法を見ていきます。つまり、依存関係の依存関係をダウンロードします。

a.debという名前のパッケージをインストールしようとしているとしましょう。 。 a.debパッケージはパッケージb.debに依存します また、パッケージb.debはパッケージ c.debに依存します 。この方法では、a.debの依存関係だけでなく、b.debとc.debの依存関係もダウンロードします。これは、 apt-rdepends を使用して必要なすべての依存関係をダウンロードした後でも、パッケージをインストールできない場合に役立つ可能性があります。 コマンド。

依存関係のあるパッケージをローカルにダウンロードすることは、3つの主な目的を果たします。

  1. 同じパッケージのセットを何度も繰り返しダウンロードすることは避けてください。たとえば、Vimエディターを複数のシステムにインストールする場合は、必要なすべての依存関係を含むVimをダウンロードし、USBドライブに保存(またはLAN経由で転送)して、他のシステムにVimをインストールできます。
  2. インターネットの帯域幅と時間を節約します。
  3. インターネットに接続されていないシステムにパッケージをインストールします。これが、依存関係のあるパッケージをローカルにダウンロードする主な理由です。インターネットに接続されたシステムにパッケージをダウンロードしてから、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コマンドをシミュレートする方法

Ubuntu
  1. Linuxでパッケージの依存関係を一覧表示する方法

  2. Ubuntu 14.04 64ビットの場合、どのDiaパッケージをダウンロードする必要がありますか?

  3. パッケージPhp7.2-Ubuntu18.04のmbstringアンメットディペンデンシー?

  1. DebianとUbuntuでapt-rdependsを使用してパッケージの依存関係を確認する

  2. Ubuntu16へのCuda8のインストール:パッケージCudaが見つかりませんか?

  3. Lua5.2対のインストール。 Ubuntu 16.10のLua5.3?

  1. Ubuntu18.04にVim8.2をインストールする方法

  2. Ubuntu22.04ダウンロード

  3. Ubuntu 19.04 :vim を構成する