How to make apt ignore unfulfilled dependencies of installed package?
Solution 1
You can’t make apt
ignore dependencies, but you can create a fake gstreamer0.10-plugins-good
package which will satisfy the missing dependency. The simplest way to do this is using equivs
:
-
install
equivs
sudo apt install equivs
-
generate a template control file
equivs-control gstreamer0.10-plugins-good.control
-
fix the package name
sed -i 's/<package name; defaults to equivs-dummy>/gstreamer0.10-plugins-good/g' gstreamer0.10-plugins-good.control
-
build the package
equivs-build gstreamer0.10-plugins-good.control
-
install it
sudo dpkg -i gstreamer0.10-plugins-good_1.0_all.deb
That should satisfy the opera
package’s dependency.
Solution 2
You can also remove the gstreamer0.10-plugins-good
dependency of the opera
package by editing /var/lib/dpkg/status
.
Just open it with a text editor, search for the line Package: opera
and under it in the Depends:
line remove the offending gstreamer0.10-plugins-good
package.
After that apt
works again.
Jonas Schäfer
In my free time, usually working on some XMPP or Embedded stuff, sometimes a bit of Graphics/Physics development.
Updated on September 18, 2022Comments
-
Jonas Schäfer over 1 year
I installed Opera 12.16 from a
.deb
for reasons. Just assume that I need this specific browser of this specific version and that there’s no alternative.However, that deb depends on packages (such as the gstreamer0.10 series) which are not in my distribution anymore (Debian testing). This makes apt fail on every operation except
apt remove opera
with dependency errors:# apt install cli-common Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: opera : Depends: gstreamer0.10-plugins-good but it is not installable Recommends: flashplugin-nonfree but it is not going to be installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
apt --fix-broken install
will just propose to remove opera:# apt --fix-broken install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following packages will be REMOVED: opera 0 upgraded, 0 newly installed, 1 to remove and 92 not upgraded. 1 not fully installed or removed. After this operation, 46.6 MB disk space will be freed. Do you want to continue? [Y/n]
Currently, my workaround is to install Opera when I need it, and remove it as soon as anything else needs to be done with apt. This is annoying.
Any suggestions? Ideally, I’d like to make apt ignore the dependencies of opera forever, since it works well-enough for my purposes.
-
GAD3R over 6 yearsDoes the
equivs
work anyway to solve the unmet dependencies (i mean when theapt-cache
return nothing)? -
Stephen Kitt over 6 years@GAD3R I’m not sure what you mean. From the question, the only missing dependency is
Depends: gstreamer0.10-plugins-good but it is not installable
(the other is a Recommends which doesn’t matter). The commands I list above build an emptygstreamer0.10-plugins-good
package which will satisfy the missing dependency without adding any of its own. -
JDS over 5 yearsHowdy. In 2018 is this really still the only way to truly ignore dependencies in Apt? The internet is telling me it is, though.
-
Stephen Kitt over 5 years@JDS yes, it is the only way. Dependencies are there for a reason, it shouldn’t be easy to ignore them.
-
Gwyneth Llewelyn over 3 years... until Opera gets updated, I presume? Then the status file ought to be changed... again.
-
user153965 about 3 yearsThis worked great to create a fake package for
libappindicator3-1
, required by slack-desktop and signal-desktop .deb files but not actually required at runtime.