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

Ubuntu、Debian、Linux Mint、PopOSでローカルに依存関係のあるパッケージをダウンロードする方法

少し前に、Ubuntuでソフトウェアをオフラインでインストールする方法について説明しました 。そのガイドでは、インターネット対応システムでパッケージをダウンロードし、インターネット接続が遅いかまったくない別のシステムにパッケージをインストールする方法を説明しました。このチュートリアルでは、Ubuntu、Debian、Pop OS、およびその他のDEBベースのシステムで依存関係のあるパッケージをローカルにダウンロードする方法を説明します。

この方法を使用して、.deb 実際にインストールせずに、必要なすべての依存関係とともにパッケージ化します。このようにして、1つのシステムからパッケージをダウンロードし、後で同じシステム自体またはインターネットに接続されていない他のシステムにインストールできます。さまざまなアーキテクチャシステムのパッケージをダウンロードすることもできます。たとえば、64ビットシステムから32ビットパッケージをダウンロードしたり、その逆を行ったりすることができます。

Ubuntuでローカルに依存関係のあるパッケージをダウンロードする

これは2つの方法で実行できます。このガイドは、Ubuntu16.04および18.04LTSデスクトップエディションでテストしました。以下に説明するように、問題なく機能しました。

方法1:

これは、以下に示す他の方法よりも最も単純でわかりやすい方法です。

依存関係をすべてインストールせずにパッケージをダウンロードするには、次のコマンドを実行します。

$ sudo apt-get install --download-only <package_name>

たとえば、 Vimをダウンロードしましょう 次のコマンドを使用して、必要なすべての依存関係をインストールせずにパッケージ化します。

$ sudo apt-get install --download-only vim

出力例:

Reading package lists... Done
Building dependency tree 
Reading state information... Done
Suggested packages:
ctags vim-doc vim-scripts
The following NEW packages will be installed:
vim
0 upgraded, 1 newly installed, 0 to remove and 82 not upgraded.
Need to get 1,152 kB of archives.
After this operation, 2,852 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 vim amd64 2:8.0.1453-1ubuntu1.1 [1,152 kB]
Fetched 1,152 kB in 3s (372 kB/s)
Download complete and in download only mode

上記の出力でわかるように、Vimパッケージはすべての依存関係をダウンロードしましたが、実際にはインストールしていません。

ダウンロードしたすべてのファイルは、 /var/cache/apt/archivesに保存されます。 ディレクトリ。

キャッシュフォルダ全体をUSBにコピーするか、ネットワーク経由でパッケージをインストールするシステムに転送するだけです。

ダウンロードしたパッケージをインストールするには、キャッシュフォルダーに移動し、以下に示すようにインストールします。

$ sudo dpkg -i *

見る?とても簡単です!

ただし、この方法は、パッケージのダウンロードに使用するシステムにメインパッケージまたはその依存関係がローカルにインストールされていない場合にのみ機能します。

同じシステム自体にすでにインストールされているパッケージをダウンロードしようとすると、次のような出力が表示されます。

$ sudo apt-get install --download-only vim
Reading package lists... Done
Building dependency tree 
Reading state information... Done
vim is already the newest version (2:8.0.1453-1ubuntu1.3).
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

このような場合は、 "apt-rdependsを使用してください " すべてのパッケージをダウンロードします。 apt-rdependsの場合 まだインストールされていない場合は、次のコマンドを使用してインストールしてください:

$ sudo apt install apt-rdepends

次に、コマンドを使用して、メインパッケージ(この場合はVim)とすべての依存関係をダウンロードします:

$ apt download $(apt-rdepends vim | grep -v "^ ")

このコマンドは、必要なすべてのパッケージを再帰的にダウンロードします。

以下のようなエラーが発生した場合に備えて:

E: Can't select candidate version from package debconf-2.0 as it has no candidate

代わりに次のコマンドを試してください:

$ apt-get download $(apt-rdepends vim | grep -v "^ " | sed 's/debconf-2.0/debconf/g')

このコマンドは、必要なすべてのパッケージを含むVimをダウンロードし、現在の作業ディレクトリに保存します。

ダウンロードしたすべてのパッケージをインストールするには、次のコマンドを実行します:

$ sudo dpkg -i *

方法2:

まず、ダウンロードしたいパッケージの依存関係をダウンロードします。

パッケージのすべての依存関係のリストを表示するには、たとえば Python 、実行:

$ sudo apt-cache depends python

出力例:

python
PreDepends: python-minimal
Depends: python2.7
Depends: libpython-stdlib
Conflicts: <python-central>
Breaks: update-manager-core
Suggests: python-doc
Suggests: python-tk
Replaces: python-dev

依存関係のあるPythonパッケージをローカルディスクにダウンロードしましょう。

これを行うには、最初にパッケージを保存するディレクトリを作成します。

$ mkdir python

ディレクトリに移動します:

$ cd python

そして実行します:

$ for i in $(apt-cache depends python | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done

上記のコマンドは、必要なすべての依存関係とともにPythonパッケージをダウンロードし、それらを現在の作業ディレクトリに保存します。このコマンドは、エラーを errors.txtにも保存します。 ファイル。

'lsを使用してダウンロードしたファイルを表示してみましょう 'コマンド:

$ ls

出力例:

errors.txt
libpython-stdlib_2.7.11-1_amd64.deb
python2.7_2.7.11-7ubuntu1_amd64.deb
python-doc_2.7.11-1_all.deb
python-minimal_2.7.11-1_amd64.deb
python-tk_2.7.11-2_amd64.deb

上記の出力にあるように、すべての依存関係を含むpythonパッケージがダウンロードされています。

それらをUSBドライブにコピーし、以下に示すように、任意のオフラインシステムにPythonパッケージをインストールするだけです。

USBドライブをマウントし、ドライブをマウントした場所に移動し、次のコマンドを実行してPythonをインストールします。

$ sudo dpkg -i *

おすすめの記事:

  • CentOSのすべての依存関係を持つRPMパッケージをダウンロードする方法

特定のアーキテクチャの依存関係を持つパッケージをローカルにダウンロードする

上記のコマンドで64ビットパッケージがダウンロードされていることに気付くかもしれません。 64ビットのUbuntuシステムからダウンロードしているからです。 32ビットアーチシステムのパッケージをダウンロードしたい場合はどうなりますか?それも可能です!

まず、次のコマンドを使用して、Ubuntuシステムで必要なアーキテクチャを有効にします。

$ sudo dpkg --add-architecture i386

アーキテクチャを追加しない場合、パッケージをダウンロードしようとすると、次のエラーメッセージが表示されます。

E: No packages found

選択したアーキテクチャを有効にした後、次のコマンドを実行して、特定のアーキテクチャ関連のパッケージをダウンロードします。

$ for i in $(apt-cache depends python:i386 | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done

上記の出力にあるように、アーキテクチャを追加しました'i386 ' 'apt-cacheを使用 ' コマンド。

出力例:

Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 python-minimal i386 2.7.11-1 [28.2 kB]
Fetched 28.2 kB in 1s (25.8 kB/s) 
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 python2.7 i386 2.7.11-7ubuntu1 [220 kB]
Fetched 220 kB in 1s (116 kB/s) 
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 libpython-stdlib i386 2.7.11-1 [7,664 B]
Fetched 7,664 B in 0s (13.3 kB/s) 
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 python-tk i386 2.7.11-2 [28.0 kB]
Fetched 28.0 kB in 1s (24.8 kB/s)

ダウンロードしたパッケージを確認しましょう。

$ ls

出力例:

errors.txt
libpython-stdlib_2.7.11-1_i386.deb
python2.7_2.7.11-7ubuntu1_i386.deb
python-minimal_2.7.11-1_i386.deb
python-tk_2.7.11-2_i386.deb

見る?上記のコマンドは、32ビットパッケージのみをダウンロードしました。

これで、Ubuntuシステムで依存関係のあるパッケージをダウンロードする方法をマスターしました。これらの方法は、すべてのDEBベースのシステムで同じです。

関連記事:

  • Ubuntuでパッケージの再帰的な依存関係をダウンロードする方法
  • システム内で何も変更せずにLinuxコマンドをシミュレートする方法

Ubuntu
  1. Ubuntu 11.10 / LinuxMint12にFirefox10をインストールする方法

  2. Linux Mint 12 /Ubuntu11.10でNetBeansIDE7.1を使用してAndroidSDK4.0.3をセットアップする方法

  3. Ubuntu 11.10 / LinuxMint12にOpera16.1をインストールする方法

  1. Ubuntu 18.04、Debian 9、LinuxMint19にPipをインストールする方法

  2. Ubuntu 11.10 / LinuxMint12にpgAdmin3を使用してPostgreSQL9.1.3をインストールする方法

  3. Ubuntu、Debian、または Linux Mint でリポジトリ内のすべてのパッケージを一覧表示する方法 [APT]

  1. UbuntuとLinuxMintにDiscordをインストールする方法

  2. Ubuntu 20.04 / 21.04 / LinuxMint20.1にSkypeをインストールする方法

  3. Ubuntu 18.04 /Ubuntu16.04およびLinuxMint19にNode.jsをインストールする方法