web-dev-qa-db-ja.com

すべての依存関係を含むdebパッケージを同じフォルダーにインストールしますか?

別のubuntuインストールでaptソフトウェアから同じソフトウェアの複数のdebファイルをインストールする必要があります。

たとえば、同じフォルダー(/ var/cache/apt/archives)にvlcのすべてのdebファイルがあります。すべての依存関係が満たされた状態でvlcをインストールする必要があります。依存関係のため、dpkg -i vlc*を使用してインストールできません。

これに対する解決策はありますか。キャッシュには多くのソフトウェアパッケージがありますが、再度ダウンロードする必要はありません。助けてください..

5
Arun Babu

実際、多くの解決策があります。

  • .debからすべての/var/cache/apt/archivesファイルを新しいPCのディレクトリ/var/cache/apt/archivesにコピーするか、それらのdebをすべてコピーする代わりに、vlc依存関係の.debをコピーします。コマンドapt-cache rdepends vlcによってvlcの依存関係を知ることができます。 2番目のシステムの/var/cache/apt/archivesにこれらのdebがあれば、Sudo apt-get updateを実行してからSudo apt-get install vlcを実行できます。

しかしこれは、2つのシステムが同じOSバージョンと同じパッケージバージョンを使用している場合にのみ機能しますアップデート。詳細

  • betterである別の解決策は、独自のリポジトリを作成して、オフラインインストール時に依存関係を心配せずに必要なアプリケーションをインストールできるようにすることです。ご覧ください: https://askubuntu.com/a/648969/150504
3
Maythux

質問への回答:

すべてのdebsを/ var/cache/apt/archivesから新しいマシンの/ var/cache/apt/archivesにコピーしてから、通常どおりSudo apt-get update ; Sudo apt-get install vlcだけ-アーカイブ内の.debsを取得し、インストールせずにインストールしますダウンロード。

さらに先へ:代わりにapt-cacher-ngをインストール

最初のマシンで、Sudo apt-get install apt-cacher-ngを実行します。次に、Sudo nano /etc/apt/apt.confを実行し、文字列Acquire::http::Proxy "http://127.0.0.1:3142/";を挿入します。これにより、マシンは更新時にapt-cacher-ngインスタンスを使用するようになります。次に、既存のキャッシュされたdebs-Sudo cp -a /var/cache/apt/archives/* /var/cache/apt-cacher-ng/_import/をインポートしてから、ブラウザを開いてhttp://localhost:3142/acng-report.htmlにし、下にスクロールして、[Start Import]をクリックします。それが完了したら、簡単にSudo apt-get updateを実行します-そして、なんと!これで、ホストマシンでapt-cacher-ngが実行され、ホストマシンが更新をダウンロードするたびに、両方の更新がキャッシュされますおよびネットワーク上の他のマシン。

最後に、あなたのsecondマシンで、Sudo nano /etc/apt/apt.confを挿入し、文字列Acquire::http::Proxy "http://first.machine.ip.address:3142/";を挿入します。ここでfirst.machine.ip.addressは、上記の段落でapt-cacher-ngをインストールしたマシンのIPアドレスです。どちらかマシンで更新をダウンロードすると、apt-cacher-ngが更新されます最初のマシンで、それらを再度ダウンロードする必要はありません。設定が完了すると、非常に滑らかで簡単です。

2
Jim Salter