it-swarm.com.de

Wie kann ich fehlende Abhängigkeiten automatisch abrufen, wenn ich Software von .deb installiere?

Ich versuche, MySQL Workbench auf meiner Ubuntu-Box (11.04) zu installieren. Auf der Website steht eine Ubuntu .deb zum Download bereit (für 10.10 und 10.04 habe ich mich für 10.10 entschieden).

Jedoch,

Sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-AMD64.deb

ergibt:

(Reading database ... 194069 files and directories currently installed.)
Preparing to replace mysql-workbench-gpl 5.2.34-1ubu1010 (using mysql-workbench-gpl-5.2.34-1ubu1010-AMD64.deb) ...
Unpacking replacement mysql-workbench-gpl ...
dpkg: dependency problems prevent configuration of mysql-workbench-gpl:
 mysql-workbench-gpl depends on libctemplate0; however:
  Package libctemplate0 is not installed.
 mysql-workbench-gpl depends on libpython2.6 (>= 2.6); however:
  Package libpython2.6 is not installed.
 mysql-workbench-gpl depends on libzip1 (>= 0.8); however:
  Package libzip1 is not installed.
 mysql-workbench-gpl depends on python-paramiko; however:
  Package python-paramiko is not installed.
 mysql-workbench-gpl depends on python-pysqlite2; however:
  Package python-pysqlite2 is not installed.
dpkg: error processing mysql-workbench-gpl (--install):
 dependency problems - leaving unconfigured
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for python-gmenu ...
Rebuilding /usr/share/applications/desktop.en_US.utf8.cache...
Processing triggers for python-support ...
Errors were encountered while processing:
 mysql-workbench-gpl

Meine Frage ist, gibt es eine Möglichkeit, dpkg anzuweisen, fehlende Abhängigkeiten automatisch abzurufen , oder muss ich apt-get install fehlende Pakete wie libctemplate0 manuell abrufen und libpython2.6?

(Oder gibt es eine andere Möglichkeit, MySQL Workbench einfach zum Laufen zu bringen?)

103
Jonik

Mit können Sie ein Paket installieren und Abhängigkeiten von Repositorys abrufen

Sudo gdebi package.deb

Wenn Sie das Paket bereits mit fehlenden Abhängigkeiten installiert haben, können Sie Abhängigkeiten automatisch mit herunterladen und installieren

Sudo apt-get -f install

Ebenfalls verfügbar ist eine grafische Version gdebi-gtk, die mit der Rechtsklick-Aktion "Open With GDebi Package Installer" von .deb nautilus verknüpft ist.

113
enzotib

dpkg selbst kann keine Repositorys verwalten. Ein übergeordnetes Tool wie apt-get ist erforderlich, um etwas aus Repositorys abzurufen. dkpg ist nur das Kerntool, das Pakete installiert/entfernt/konfiguriert und dabei Abhängigkeiten und andere Faktoren berücksichtigt. apt-get und aptitude sind Tools, die Repositorys verwalten, Daten von ihnen herunterladen und verwenden dkpg, um Pakete von ihnen zu installieren/entfernen. Dies bedeutet, dass apt-get und aptitude Abhängigkeiten auflösen und erforderliche Pakete aus dem Repository abrufen können, dpkg jedoch nicht, da es nichts über Repositorys weiß.

26
Rafał Cieślak

Ab dem 1.1-Zweig unterstützt apt-get die Installation lokaler Pakete zusammen mit Abhängigkeiten wie folgt:

Sudo apt-get install ./your-package.deb
22
Braiam

Sie können apt-get -f install verwenden, um alle Pakete zu installieren, über die sich dpkg -i beschwert (aber wenn Sie sich Ihre Frage ansehen, wissen Sie das wahrscheinlich;)).

gdebi ist möglicherweise eine bessere Alternative.

Description: Simple tool to install deb files
gdebi lets you install local deb packages resolving and installing its 
dependencies. apt does the same, but only for remote (http, ftp) located 
packages. 

In einer dritten Anmerkung ... gdebi wurde durch das Ubuntu Software Center ersetzt. Wenn Sie die .deb-Datei in GDM (Nautilus) installieren, übernimmt USC die Installation von deb. Und das schließt die Abhängigkeiten ein. Das ist, wenn Sie nicht an die Kommandozeile gebunden sind;)

16
Rinzwind

Diese bestimmte Bibliothek (libctemplate0) habe ich von heruntergeladen

http://packages.ubuntu.com/lucid/AMD64/libctemplate0/download

Der direkte Link http://ubuntu.wikimedia.org/ubuntu//pool/universe/c/ctemplate/libctemplate0_0.96-0ubuntu1_AMD64.deb

Die Installation der mySQL-Workbench verlief danach reibungslos.

6
mv288

Klicken Sie mit der rechten Maustaste auf die Paketdatei und wählen Sie "Mit Ubuntu Software Center öffnen". Es wird alles für Sie installiert.

5
user118263

AFAIK, dpkg bietet keinen Mechanismus zum Auflösen von Abhängigkeiten. Es prüft/warnt auf Abhängigkeiten, führt aber keine weiteren Aktionen aus. Sie müssen die Probleme selbst lösen.

Wie im Debian-Wiki heißt hier :

dpkg prüft Abhängigkeiten und lehnt es ab, ein Paket zu installieren, dessen Abhängigkeiten nicht erfüllt sind , aber es hilft Ihnen nicht, diese Abhängigkeiten zu finden und zu installieren. Dazu benötigen Sie ein übergeordnetes Tool (zB dselect oder apt-get) .

Daher denke ich, dass Sie apt-get oder aptitude verwenden müssen, um das Paket, an dem Sie interessiert sind, sowie die damit verbundenen Abhängigkeiten zu installieren.

Da dieses Paket nicht in den 11.04-Repositories enthalten ist, führen Sie einfach Folgendes aus:

Sudo apt-get install libctemplate0 libzip1 libpython2.6 python-pysqlite2 python-paramiko
Sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-AMD64.deb

und du solltest in Ordnung sein.

2
Pavlos G.