[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Upgrade all "kept back" packages



Beco wrote:
> Bob Proulx wrote:
> > First verify your sources.list file.  I didn't see where you said what
> > version of Debian you were using.  Stable Wheezy, Testing Jessie, or
> > Unstable Sid.  Whatever.  Make sure it is consistent.

I should have asked, can you post your sources.list file?  I see in
your message that you are running Wheezy 7.  (But I can't say Stable
since you have added many destabilizing things.)

> >   $ apt-show-versions | grep -v uptodate
> 
> Nice command. It shows me I still have "squeeze" on my system.

Unless you have cleaned then old libs may still be hanging around and
they will only be used by the old Squeeze part of the system.
Probably need to do some cleaning.  The 'apt-get autoremove' tool is a
good start for it.  I also like 'deborphan'.

> I'm not quite sure what to do with this response:
> 
> #  apt-show-versions | grep -v uptodate
> 
> deb-multimedia-keyring 2012.05.10-dmo3 newer than version in archive
> live-initramfs 2.0.15-1 newer than version in archive
> vlc-nox/wheezy upgradeable from 2.0.3-5 to 1:2.0.1-0.6

Ah, yes, there is the problem.  You see that the Merillat version has
an epoch on the front.  The "1:" part.  That makes version 1:2.0.1-0.6
newer than 2.0.3-5.  But not just that single package.  This will be
similar across many packages.  But it shows the root of the problem.
And it is why people have become annoyed that he is doing this.  It
creates problems for people such as yourself that trip into the
pitfall and then have to dig out of it.  Meanwhile the work he has
done has helped many people for years.  I still use some of the his
packages and am grateful that they are there.  And so I have mixed
feelings about it.

> libisc62 1:9.7.3.dfsg-1~squeeze8 installed: No available version in archive
> libisccc60 1:9.7.3.dfsg-1~squeeze8 installed: No available version in archive

These are good examples of old orphaned libraries.  Nothing is using
them anymore.  They can be purged from the system.  They don't really
hurt anything being there.  But they are lint and they confuse the
issue so I would purge them.  Using deborphan (try 'orphaner') is good
to find things like those and clean them out.

> skype 4.2.0.11-1 installed: No available version in archive

This is an example of something that is never going to be in the free
archive because it is a nonfree component that you have manually
installed.  If you want it then that is just the way things are going
to be. 

> mplayer is uninstalled for now. The only problem I see is vlc.
> 
> # apt-cache policy vlc-nox
> vlc-nox:
>   Installed: 2.0.3-5
>   Candidate: 1:2.0.1-0.6
>   Version table:
>      1:2.0.1-0.6 0
>         500 http://www.las.ic.unicamp.br/pub/debian-multimedia/ wheezy/main amd64 Packages
>  *** 2.0.3-5 0
>         500 http://ftp.br.debian.org/debian/ wheezy/main amd64 Packages
>         100 /var/lib/dpkg/status

The epoch is why it is trying to install from the Merillat archive.

Basically you need to make a choice.  Politics between Debian and
Merillat have gotten to the point that you really need to decide which
camp you are in.  Debian has gone the libav route.  Merillat has gone
the ffmpeg route.  You need to decide which you want.  If you want to
use the Merillat sources then you need to take this problem and
anything like it there.  If you want to go the Debian sources then you
need to remove the Merillat archive and go back to Debian.  Or you
need to learn how to deal with the problem somehow.  But certainly the
Debian multimedia developers are not happy about the situation for
exactly the problems you have found.  They don't want to clean up
someone else's mess.  I can't blame them.  Look at how you were sucked
into having this problem!

The ffmpeg v. libav problem isn't entirely clear cut to the outsider.
I am an outsider.  But from what I have read I wish Debian had gone
the ffmpeg route.  (Can't we all just get along?)  But they didn't.
So to make my life easier for better or worse I have stuck with the
Debian packaging of libav.  Which means that while I am using some
things from Merillat the multimedia components that depend upon these
are not any of them.

And so I recommend that you remove the Merillat sources from your
sources.list file.  Then get your system back into a sane state.
I am not saying never use a Merillat package.  I am just saying that
to get your system cleaned up that you should remove the sources.list
and remove all of the packages from there in order to get things back
into a sane state.  After that then you could selectively pick and
choose and probably be okay.  But fix your system first.  Make sense?

> Now this command won't work:
> 
> # apt-get install vlc-nox=1:2.0.1-0.6

That version will force an install from the Merillat archive.  And
therefore by dependency any problems you have should be taken up with
his archive and not Debian's.

> The following packages have unmet dependencies:
>  vlc-nox : Depends: libcdio10 but it is not installable
>            Depends: libiso9660-7 but it is not installable
>            Depends: libupnp3 (>= 1.4.3) but it is not installable
> E: Unable to correct problems, you have held broken packages.

Something broken in the Merillat archive.  Or in the configuration of
your use of it.  But neither of those are Debian.

> And now I'm afraid to boot because of this error:
> 
> # apt-get install live-initramfs

What is live-initramfs?

  $ apt-cache show live-initramfs
  N: Unable to locate package live-initramfs
  E: No packages found

Not a Debian package.

> Unpacking live-initramfs (from .../live-initramfs_1.236.2-1_all.deb) ...
> dpkg: error processing
> /var/cache/apt/archives/live-initramfs_1.236.2-1_all.deb (--unpack):
>  trying to overwrite '/usr/share/initramfs-tools/hooks/live', which is
> also in package live-boot-initramfs-tools 3.0.1-1

Buggy package!  Includes files owned by another package.  Bad
package.  No biscuit.

> dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
> Processing triggers for initramfs-tools ...
> update-initramfs: Generating /boot/initrd.img-3.2.0-4-amd64
> live-boot: core filesystems devices utils memdisk udev wget blockdev.
> Errors were encountered while processing:
>  /var/cache/apt/archives/live-initramfs_1.236.2-1_all.deb
> E: Sub-process /usr/bin/dpkg returned an error code (1)

I doubt that it actually updated the initrd.  What date is on your
initrd file?

  ls -ld /boot/initrd*

I bet it will be older and that will show that it was not updated by
the above.

> Is this ok to boot yet? Or do I need to do something urgent before
> attempt to boot?

I think you are probably okay.  No guarantees though!  Your system is
generally a little messed up right now.

Make sure you have a Debian install disk.  The netinst disk is fine.
It can be used as a rescue system.  I posted this recently about how
to use the rescue mode.  *IF* you need it.  Probably won't need it.
But if you do then you can rescue your system.

  https://lists.debian.org/debian-user/2013/01/msg00218.html

Back to solving your problem.  I would remove all of the sources
except for official debian ones.  Here are generic ones using the
redirector to automatically select a close up to date mirror for you.

  deb http://http.debian.org/debian wheezy main contrib non-free
  deb http://http.debian.org/debian wheezy-updates main contrib non-free
  deb http://security.debian.org/ wheezy/updates main contrib non-free

Then using only those sources I would figure out how to use pinning to
force your system back to stable.  I _think_ this will do it.
Untested!  And I am not a pinning expert so if anyone else sees a
problem with this and suggests something different that is better.

  man apt_preferences

       P >= 1000
           causes a version to be installed even if this constitutes a
           downgrade of the package

File /etc/apt/preferences:
  Package: *
  Pin: release a=stable
  Pin-Priority: 1001

Then 'apt-get update' and then 'apt-get upgrade' and then 'apt-get
dist-upgrade'.  I think that should pull everything back to wheezy
stable.  This may require some more debugging and problem solving
along the way.

After getting your system back to a sane state then remove that
/etc/apt/preferences file and get back to a normal system.

Make sense?  Hopefully.  Good luck!  Please report back on your
progress so that we (I!) can learn from it!

Bob

Attachment: signature.asc
Description: Digital signature


Reply to: