How to install local .deb packages with apt-get
usually I do dpkg -i <deb file>
, it'll fail saying it needs dependencies. After that when you do an apt-get update
it'll say at the end something like "dependencies are ready to install" I think it then advises to use apt-get install -f
.
Once that's done, I use dpkg -i
again.
Worked fine for me last few years.
edit: looking a bit further, apparently a tool called gdebi
can do this as gdebi [deb file]
.
Sirex has it more or less correct, but his answer isn't clear. I just solved this, so here's what I did:
sudo dpkg -i /path/to/filename.deb
If this fails with a message about the package depending on something that isn't installed, you can probably fix it if you run
sudo apt-get -f install
This will install the dependencies (assuming they're available in the repos your system knows about) AND the package you were originally requesting to install ('f' is the 'fix' option and 'y' is the 'assume yes to prompts' or 'don't ask me if it's ok, just install it already' option -- very useful for scripted silent installs). On the system I was on, there was no need to run dpkg again (Ubuntu lucid 10.04).
I found it interesting that if you leave off the -f when you run sudo apt-get install
, it will list your package as not being configured due to an unresolved dependency as well as helpfully suggesting: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Edit:
If you want install without having to answer 'y' to all of the questions, you can add the y
modifier as I originally included: sudo apt-get -fy install
. However, a commenter pointed out that apt will sometimes suggest that you uninstall your entire desktop environment. I was doing this work in a VM and didn't have that concern, but this post has been updated to reflect being a bit more careful.
Yes, the command you proposed is correct.
sudo apt-get install ./package.deb
or
sudo apt install ./package.deb
will install the package you got from another source than APT and same time use APT capabilities to resolve its dependencies automatically. Unfortunately, this apt-get
feature is not documented in the man page.
See https://askubuntu.com/a/769542/250300 and https://askubuntu.com/a/795048/250300 for details.