インストール用のdebパッケージがあります。
dpkg -i my.deb
またはaptでインストールしますか?
どちらもソフトウェア依存関係の問題をうまく処理できますか?
Aptの場合、aptからdebからどのようにインストールできますか?
apt
を使用してパッケージをインストールする場合、 内部 はdpkg
を使用します。 aptを使用してパッケージをインストールすると、最初にすべての依存関係のリストが作成され、リポジトリからダウンロードされます。
ダウンロードが完了すると、dpkg
を呼び出してすべてのファイルをインストールし、すべての依存関係を満たします。
.deb
ファイルがある場合は、次の方法でインストールできます。使用:
Sudo dpkg -i /path/to/deb/file
Sudo apt-get install -f
使用:
Sudo apt install ./name.deb
または
Sudo apt install /path/to/package/name.deb
古いapt-get
バージョンでは、最初にdebファイルを/var/cache/apt/archives/
ディレクトリに移動する必要があります。どちらの場合も、このコマンドを実行すると、依存関係が自動的にダウンロードされます。
最初にgdebi
をインストールしてから、それを使用して.debファイルを開きます(右クリック->Open with) 。依存関係のある.debパッケージをインストールします。
注:APTは、/etc/apt/sources.list
ファイルおよび/etc/apt/sources.list.d
ディレクトリ。debが必要とする依存関係がパッケージインデックスに存在しない場合、これらのメソッドはすべてソフトウェアの依存関係を満たすことができません。
Sudo apt-get install -f
の後にSudo dpkg -i /path/to/deb/file
を使用するのですか(方法1で述べたように)?man apt-get
から:
-f, --fix-broken
Fix; attempt to correct a system with broken dependencies in place.
dpkg
がパッケージをインストールし、パッケージの依存関係が満たされない場合、パッケージは「未構成」の状態のままになり、そのパッケージは壊れていると見なされます。
Sudo apt-get install -f
コマンドは、欠落している依存関係をインストールすることにより、この壊れたパッケージを修正しようとします。
foo.deb
を使用してdpkg -i foo.deb
ファイルをインストールします。未解決の依存関係でエラーが発生した場合は、後でapt-get install -f
を実行してください。
コマンドラインでUbuntuに.deb
ファイルをインストールする最良の方法は次のとおりです。
Sudo gdebi skype.deb
gdebi
をまだインストールしていない場合は、Sudo apt install gdebi-core
を使用してインストールしてください。
gdebi
は、.deb
ファイルのすべての依存関係を探し、.deb
ファイルをインストールする前にそれらをインストールします。これはSudo dpkg -i skype.deb && Sudo apt install -f
よりもはるかに好ましいと思います。後者は、特定の状況で依存関係を削除するにはあまりにも熱心です。たとえば、Skypeをインストールしようとすると、compiz
やunity
!などのパッケージを含む96個の(!)パッケージを削除しようとしました。 gdebi
は、より明確なエラーメッセージを提供しました。
$ Sudo gdebi skype.deb
Cannot install 'libqtgui:i386'
(ちなみに その特定の問題の解決策 です)
次の方法でローカルの.debパッケージをインストールできます。
Sudo apt install ./foo.deb
ローカルの相対パスまたは絶対パス(現在のディレクトリにある場合は./
)を指定してください。指定しない場合、リモートリポジトリでfoo.deb
を検索して失敗します。
dpkg -I my.deb
の前にapt-get install
およびdpkg -i my.deb
依存関係を使用して依存関係を確認してください。
動作しません。my.deb
を/var/cache/apt/archives
にコピーして、apt-get
で直接インストールできるかもしれませんが、試したことはありません。apt-get
とdpkg
はアーカイブにリストされているパッケージを探しています。
最も簡単な答えは、_dpkg -i packagename.deb
_を実行してdpkgを使用することです。その後、_dpkg -r packagename.deb
_を実行してアンインストールできます。
_apt-get
_はdpkgをベースにしたより高いレベルのインストーラーであり、したがって_apt-get install packagename.deb
_を使用できます。
それをapt-getアーカイブディレクトリ(_/var/cache/apt/archives
_)に追加すると、スタンドアロンの.debアーカイブではなく、依存関係のあるパッケージとして参照できるため、有益です。
また、apt-getアーカイブディレクトリに追加することにより、_apt-get install packagename
_で依存関係を使用する機会があります。これにより、dpkgのスタンドアロンのアーカイブベースのシステムの代わりに、手動で追加された依存関係を使用してインストールできます。
最新のapt-getを使用すると、apt-get install /path/to/package/name.deb
。
(上部の回答の編集として行う必要がありますが、拒否されました-参照 https://unix.stackexchange.com/posts/159114/edit )