Usually this happens when mismatched package versions are hand-installed with dpkg or gdebi without some of the dependencies having a resolution. (dpkg/gdebi and other .deb level tools will try to install a package where dependencies are unmet, leaving it in the half-installed "unconfigured" state, which apt considers to be broken. apt, software center, synaptic, and other high-level package management will usually catch these errors from reading the dependencies before installing the package and stop you before you break things, unless the error happens late in the installation, such as what happens when a package in the repository is broken and tries to write files owned by another package)
So long as the packages causing the error are not system critical and can be removed without causing a huge cascade of dependency problems, the quickest way to resolve an error like that that apt-get can't resolve on it's own is to back the offending packages out until apt-get -f install is able to take care of the problem, then apt-get update, apt-get upgrade, and finally try what you were doing again through apt-get.
In your case, I'd start by backing out libcupsimage2:i386 ia32-libs-multiarch:i386 and skype:
apt-get remove libcupsimage2:i386 ia32-libs-multiarch:i386 ia32-libs skype
If the situation is more complex, and creates huge cascades of failed dependencies, then the alternative is to figure out from the dependency messages what went wrong and try to specify a solution by naming the packages necessary to resolve the dependency problem. Usually these sort of situations arise from mixing packages from multiple repositories such as backports or PPAs, and you solve them by specifying a particular version of a package that wouldn't normally be considered by apt because of pinning, or by explicitly telling apt-get to go back to versions in the official repository (apt-get will not downgrade a package to solve a broken situation unless explicitly told to do so - so if you installed a newer version of a library by hand, and packages on the system have a dependency on the specific version, you have to update one or downgrade the other until the dependency mess is resolved.)
The short version.
apt-get install
installs a new package, automatically resolving and downloading dependent packages. If package is installed then try to upgrade to latest version.
apt-get build-dep
Causes apt-get to install/remove packages in an attempt to satisfy the build dependencies for a source package.
The command sudo apt-get build-dep packagename
means to install all dependencies for 'packagename' so that I can build it". So build-dep is an apt-get command just like install, remove, update, etc.
The build-dep
command searches the local repositories in the system and install the build dependencies for package. If the package does not exists in the local repository it will return an error code.
For installing matplotlib see To Install matplotlib on Ubuntu
Source:ManPage & Ravi Saive
Best Answer
Not much.
apt
is a new command that supposed to merge several functions fromapt-get
andapt-cache
into one command. It's still a little rough around the edges but here's the command listing from--help
:The equivalent functions are designed to work in similar ways but it's not a proxy command (it's not calling the old ones - it's a new interface directly onto the Apt libraries) so there may be some edge-case changes.
There are also some obvious omissions (
download
,policy
, etc) that power-users will miss and there are a whole raft of undocumented commands (purge
still works but I can't find anything on it).16.04 Update: A lot of the omissions have now been included but aren't yet documented, nor do they have Bash-completions. It's a shame it's taking this long to implement functionality that already exists in the codebase but oh well. My advice is that if you're used to an
apt-{get,cache}
command, try it onapt
. It might work.There's also a
DIFFERENCES TO APT-GET(8)
section in theman apt
page that's interesting:And if you want Bash-completions, I've had an attempt as writing a completions file for it already. These are included with later Ubuntu installs.