4 replaced http://askubuntu.com/ with https://askubuntu.com/
source | link
3 added some additional dependency resolution techniques to try
source | link

Why1. Why doesn't apt-get -f install fix my issue?

If you really want to do the installation this way then I would suggest manually removingone of the following methods.

Method #1 - do it manually

Manually remove the packages that apt has deemed as necessary to resolve your broken system, but make note of their names so that you can put them back in later.

An alternative way using Dynamic tarballMethod #2 - undo packages in a "hold" status

It' possible that there is a package installation that's basically in a wedged state. This is called a "hold" status in apt terminology. You can detect if this is your situation with the following command:

sudo dpkg --get-selections | grep hold

If any packages show up in a "hold" status you can change them to "installed" using this command:

sudo echo "package_name install"|dpkg --set-selections

Then try running install -f again:

sudo apt-get install -f

Found the above technique on askubuntu in the following Q&A's:

Method #3 - use aptitude

If packages with a "hold" status are encountered, an alternative method to dealing with them is to try and let aptitude resolve them, instead of the apt-get install -f. Aptitude is reported to be more persistent in resolving packaging/dependency issues vs. apt-get.

For the packages that exhibit a "hold" status:

sudo aptitude install <package name>

Found the above technique on askubuntu in the following Q&A:

2. An alternative way using Dynamic tarball

References

Why doesn't apt-get -f install fix my issue?

If you really want to do the installation this way then I would suggest manually removing the packages that apt has deemed as necessary to resolve your broken system, but make note of their names so that you can put them back in later.

An alternative way using Dynamic tarball

1. Why doesn't apt-get -f install fix my issue?

If you really want to do the installation this way then I would suggest one of the following methods.

Method #1 - do it manually

Manually remove the packages that apt has deemed as necessary to resolve your broken system, but make note of their names so that you can put them back in later.

Method #2 - undo packages in a "hold" status

It' possible that there is a package installation that's basically in a wedged state. This is called a "hold" status in apt terminology. You can detect if this is your situation with the following command:

sudo dpkg --get-selections | grep hold

If any packages show up in a "hold" status you can change them to "installed" using this command:

sudo echo "package_name install"|dpkg --set-selections

Then try running install -f again:

sudo apt-get install -f

Found the above technique on askubuntu in the following Q&A's:

Method #3 - use aptitude

If packages with a "hold" status are encountered, an alternative method to dealing with them is to try and let aptitude resolve them, instead of the apt-get install -f. Aptitude is reported to be more persistent in resolving packaging/dependency issues vs. apt-get.

For the packages that exhibit a "hold" status:

sudo aptitude install <package name>

Found the above technique on askubuntu in the following Q&A:

2. An alternative way using Dynamic tarball

References

2 added guide for install -f
source | link

Why doesn't apt-get -f install fix my issue?

In a sense the sudo dpkg -i skype-debian_4.1.0.20-1_i386.deb is installing a package in a broken state into your system, and the sudo apt-get install -f is an attempt to try and get apt to resolve your now broken setup by installing any missing dependency libraries.

The major drawback with this approach is that if this broken package requires dependencies that apt can't resolve, then this package becomes the problem and will get removed.

Also packages that you may want or need for some other application, might be casualties and get removed, in order to resolve a potential conflict with libraries that your broken package needs.

Doing package installations this way is problematic. What works for one may not work for another because either:

  1. the .debs in the PPA repositories you have have been bumped to newer versions which no longer resolve for this broken installed app.
  2. you have slightly different PPAs setup on your system than someone else.
  3. differences in architectures 32-bit vs. 64-bit and/or differing architectures (for eg. ARM vs. i686).

If you really want to do the installation this way then I would suggest manually removing the packages that apt has deemed as necessary to resolve your broken system, but make note of their names so that you can put them back in later.

Once these packages have been removed, I would then attempt to run the sudo apt-get install -f again until it appears like it's acutally installing the missing .deb packages for skype.

An alternative way using Dynamic tarball

Why doesn't apt-get -f install fix my issue?

In a sense the sudo dpkg -i skype-debian_4.1.0.20-1_i386.deb is installing a package in a broken state into your system, and the sudo apt-get install -f is an attempt to try and get apt to resolve your now broken setup by installing any missing dependency libraries.

The major drawback with this approach is that if this broken package requires dependencies that apt can't resolve, then this package becomes the problem and will get removed.

Also packages that you may want or need for some other application, might be casualties and get removed, in order to resolve a potential conflict with libraries that your broken package needs.

Doing package installations this way is problematic. What works for one may not work for another because either:

  1. the .debs in the PPA repositories you have have been bumped to newer versions which no longer resolve for this broken installed app.
  2. you have slightly different PPAs setup on your system than someone else.
  3. differences in architectures 32-bit vs. 64-bit and/or differing architectures (for eg. ARM vs. i686).

If you really want to do the installation this way then I would suggest manually removing the packages that apt has deemed as necessary to resolve your broken system, but make note of their names so that you can put them back in later.

Once these packages have been removed, I would then attempt to run the sudo apt-get install -f again until it appears like it's acutally installing the missing .deb packages for skype.

An alternative way using Dynamic tarball

1
source | link