101

This question already has an answer here:

I'm trying to install MySQL Workbench on my Ubuntu box (11.04). The website has a Ubuntu .deb available for download (for 10.10 and 10.04 so I chose 10.10).

However,

sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb

yields:

(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

My question is, is there a way to tell dpkg to automatically fetch missing dependencies, or do I need to manually apt-get install missing packages like libctemplate0 and libpython2.6?

(Or alternatively, is there some other way to get MySQL Workbench easily up & running?)

marked as duplicate by Pilot6, Eric Carvalho, user364819, mikewhatever, 2707974 Oct 30 '15 at 13:24

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 2
    @Braiam: how can this question be a duplicate of a question posted three months later? – enzotib Jan 15 '15 at 7:52
  • 1
    This question has better answers and is far more popular of the two, so indeed the other one should be marked as duplicate of this. – Jonik Jan 15 '15 at 12:27
  • @Jonik Right now this question has 221,988 views and the question it's closed as a duplicate of has 241,929 views, so if this was once the more popular of the two, it isn't anymore. As for the quality of the answers, would it be sufficient for the answers here simply to be merged into the other question? Moderators can do that (if we ask them and they agree). The answers would appear on the other question (along with its answers) rather than this one. This question would still exist and still link to the other question and continue helping people find the answers. What do you think of this? – Eliah Kagan Aug 19 '17 at 23:44
  • Oh, it's my question from 6 years ago. :) Honestly, I don't think it matters much. I'd just leave it as it is. Merging muddies the waters, as some of the answers inevitably become offtopic. If you must do something, then go ahead and do what seems wise. – Jonik Aug 21 '17 at 13:26
109

You can install a package and get dependencies from repositories with

sudo gdebi package.deb

If you already installed the package with missed dependencies, you can dowload and install dependencies automatically with

sudo apt-get -f install

Also available is a graphical version gdebi-gtk, linked to .deb nautilus right click action "Open With GDebi Package Installer".

  • 1
    Thanks, sudo gdebi mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb worked smoothly. Looks like gdebi is exactly the tool I needed. – Jonik Aug 22 '11 at 12:16
  • 1
    nice one there,thanx ;-) – Pavlos G. Aug 22 '11 at 12:23
  • 2
    Note that double clicking on the deb file should work too. It will use gdebi on older Ubuntu versions and the Software Centre in newer. – Javier Rivera Aug 23 '11 at 8:59
  • To fall into the second case above: dpkg --force-depends -i some_deb_file.deb – Seamus Connor Dec 4 '15 at 23:41
  • 1
    Ouch! I installed gdebi on a clean server, it is HUGE. It really has tons of dependencies... – Alexis Wilke Jul 23 '16 at 23:15
26

dpkg itself is not capable of managing repositories. A higher-level tool like apt-get is required to fetch anything from repositories. dkpg is only the core tool that installs/removes/configures packages, taking care of dependencies and other factors. apt-get and aptitude are tools that manage repositories, download data from them, and use dkpg to install/remove packages from them. This means that apt-get and aptitude can resolve dependencies and get required packages from repository, but dpkg cannot, because it knows nothing about repositories.

  • 15
    Good background information but not a useful answer. – foraidt Aug 22 '11 at 12:27
  • 1
    Awesome. So where's the solution? – user92125 Nov 24 '15 at 14:11
21

From the 1.1 branch onwards, apt-get supports installing local packages along with dependencies in the way of:

sudo apt-get install ./your-package.deb
  • This works great. I did have a problem with a libc trigger that required the .deb file to be readable by the _apt user, so keep that in mind before running. – rjh Apr 26 '17 at 13:17
16

You can use apt-get -f install to install all the packages dpkg -i complains about (but looking at your question you probably knew that ;) ).

gdebi might be a better 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. 

On a 3rd note... gdebi was replaced by the Ubuntu Software Center. If you install the .deb from within GDM (nautilus) USC will take over and try to install the deb. And that includes the dependencies. That is if you are not bound to command line ;)

  • 1
    Never thought of apt-get -f install, thanks! Looking for command solutions, quite aware of both gdebi and USC. – Oxwivi Nov 16 '11 at 9:56
  • Oh wait, gdebi is command line tool. I'm sorry to ask this, but can you remove your answer? It seems this question was a duplicate, and I delete any duplicate question of mine. :) Comment on the question if you do. – Oxwivi Nov 16 '11 at 9:59
6

That particular library(libctemplate0) I downloaded it from

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

The direct link http://ubuntu.wikimedia.org/ubuntu//pool/universe/c/ctemplate/libctemplate0_0.96-0ubuntu1_amd64.deb

The mySQL-workbench installation went smoothly after that.

5

Right click on the package file and select "open with Ubuntu software center", It will install everything for you.

2

AFAIK, dpkg provides no mechanism for dependency resolving. It checks/warns for dependencies, but does not do any further action. You'll have to solve the problems on your own.

As the Debian wiki states here:

dpkg checks dependencies and will refuse to install a package whose dependencies aren't met, but it won't help you find and install those dependencies. You need a higher-level tool (eg dselect or apt-get) for that.

So I think that you'll have to use apt-get or aptitude in order to install the package you're interested in, as well as any dependencies involved.

Since this package is not in the 11.04 repositories, just run:

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

and you should be ok.

  • Running 11.04 also, but I get "has no installation candidate" for most of the packages in your first apt-get. Am I missing something? – John C May 21 '12 at 18:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.