SOlVED ! Synaptic / apt-get / dpkg 'libc6' problems
SOlVED ! Synaptic / apt-get / dpkg 'libc6' problems
Or how to edit the installed version's entry to reflect the desired version entry!
Of course it is all libc6 related. The correct version i installed manually! There is a difference in the naming! It complains about ld being in /lib and asks to move it .. where would it be on a normal linux and which files should I link to from where to where?
I have scoured the net and tried all the usual things 'apt-get -f instal' 'apt-get --configure -a', echo hold libc6 | dpkg --set-selections, apt-mark hold libc6, and others! Synaptic 'lock' package, prefer installed version, upgrade = ask always, - synaptic wants to uninstall itself and apt and all related depends including busybox, bash etc!
Of course it is all libc6 related. The correct version i installed manually! There is a difference in the naming! It complains about ld being in /lib and asks to move it .. where would it be on a normal linux and which files should I link to from where to where?
I have scoured the net and tried all the usual things 'apt-get -f instal' 'apt-get --configure -a', echo hold libc6 | dpkg --set-selections, apt-mark hold libc6, and others! Synaptic 'lock' package, prefer installed version, upgrade = ask always, - synaptic wants to uninstall itself and apt and all related depends including busybox, bash etc!
Last edited by stemsee on Sat 12 Jul 2014, 10:17, edited 1 time in total.
That doesn't work for you? Supposedly it's the very basic of holding packages. Perhaps you can ask saintless for advice?echo hold libc6 | dpkg --set-selections
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]
Hi, Stemsee.
I'm not sure if this is what you need but if you have debian Synaptic and dpkg you should have /var/lib/dpkg/available and /var/lib/dpkg/status files. This is the information that dpkg reads.
Type in terminal:
Open both files avilable and status with text editor and find the section Package: libc6
Change Version: 2.13-38 to 3.13-38 for example (the number could be even non-existing package version) and check again:
Rin apt-get update and apt-get -f install and apt-get install libc6 and dpkg --configure -a to make sure all is OK:
I'm not sure if this is what you need but if you have debian Synaptic and dpkg you should have /var/lib/dpkg/available and /var/lib/dpkg/status files. This is the information that dpkg reads.
Type in terminal:
Code: Select all
root@debian:~# dpkg --list libc6
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii libc6:i386 2.13-38 i386 Embedded GNU C Library: Shared li
Code: Select all
Package: libc6
Status: install ok installed
Priority: required
Section: libs
Installed-Size: 8546
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Architecture: i386
Multi-Arch: same
Source: eglibc
Version: 2.13-38
Replaces: libc6-i386
Provides: glibc-2.13-1
Depends: libc-bin (= 2.13-38), libgcc1
Recommends: libc6-i686
Suggests: glibc-doc, debconf | debconf-2.0, locales
Breaks: locales (<< 2.13), locales-all (<< 2.13), nscd (<< 2.13)
Conflicts: prelink (<= 0.0.20090311-1), tzdata (<< 2007k-1), tzdata-etch
Conffiles:
/etc/ld.so.conf.d/i486-linux-gnu.conf de72af11e0f4e741c2cca3e0e87b7af4
Description: Embedded GNU C Library: Shared libraries
Contains the standard libraries that are used by nearly all programs on
the system. This package includes shared versions of the standard C library
and the standard math library, as well as many others.
Homepage: http://www.eglibc.org
Code: Select all
root@debian:~# dpkg --list libc6
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii libc6:i386 3.13-38 i386 Embedded GNU C Library: Shared li
Code: Select all
root@debian:~# apt-get update
......................................................
root@debian:~# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 25 not upgraded.
root@debian:~# apt-get install libc6
Reading package lists... Done
Building dependency tree
Reading state information... Done
libc6 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 25 not upgraded.
root@debian:~# dpkg --configure -a
root@debian:~#
It holds the package but doesn't solve the reflexive dependency problem!jamesbond wrote:echo hold libc6 | dpkg --set-selections
That doesn't work for you? Supposedly it's the very basic of holding packages. Perhaps you can ask saintless for advice?
I did have it all working and installing at one point and if I had locked the version of libc6 then it might have been ok. However I didn't.
I am trying saintless' solution now!
@Saintless
Thanks very much. Your knowledge put me on the right track. In fact I had three packages to juggle, libgcc1, libc6 (libc6-i686) and multi-arch. I changed version as stated and also 'Status: install ok installed' for those and subsequent packages synaptic insisted on installing. It is trying to reinstall everything that is already installed but not listed in status , I think. Trial and error I guess. Is there a way to rebuild status file from already installed packages? Without re-installing everything? Cheers.
Edit: Status file is 11000 lines long now ... that'll do !
Thanks very much. Your knowledge put me on the right track. In fact I had three packages to juggle, libgcc1, libc6 (libc6-i686) and multi-arch. I changed version as stated and also 'Status: install ok installed' for those and subsequent packages synaptic insisted on installing. It is trying to reinstall everything that is already installed but not listed in status , I think. Trial and error I guess. Is there a way to rebuild status file from already installed packages? Without re-installing everything? Cheers.
Edit: Status file is 11000 lines long now ... that'll do !
Maybe something from here will help you:stemsee wrote:Trial and error I guess. Is there a way to rebuild status file from already installed packages? Without re-installing everything?
http://murga-linux.com/puppy/viewtopic. ... 243#768243fredx181 wrote:Meanwhile I did some searching and found the below on Ubuntu forum.It will download-only every package that is installed.Code: Select all
for pkg in `dpkg --get-selections | awk '{print $1}' | egrep -v '(mysql|mythtv)'` ; do apt-get -y --force-yes install --reinstall $pkg -d ; done
And restore status file script but it needs also proper /var/lib/dpkg/available file and proper /var/lib/dpkg/info content. If they are broken it will not work. Also some changes has to be made because the script is modified to work for separate squashfs to update dpkg database for DebianDog with the files from separate squashfs module:
http://murga-linux.com/puppy/viewtopic. ... 600#776600
Make sure to remove the config files first left in the system by running the command given here:
http://murga-linux.com/puppy/viewtopic. ... 176#777176
Hope it will save you some works.
@saintless
I am going to experiment with what you have provided! I can hear you - "Been there, done that ... too!". Masterful.
However I let synaptic re-install as much as it wanted to until it settled down to 'normal' behaviour. I continuously edited status file because of half-configured, or unpacked, or not-insalled statuses, as those packages were installed underneath already. I am pretty sure that status must be fully rebuilt or minor problems arise when uninstalling programs as well as re/installing others.
Thanks again!
I am going to experiment with what you have provided! I can hear you - "Been there, done that ... too!". Masterful.
However I let synaptic re-install as much as it wanted to until it settled down to 'normal' behaviour. I continuously edited status file because of half-configured, or unpacked, or not-insalled statuses, as those packages were installed underneath already. I am pretty sure that status must be fully rebuilt or minor problems arise when uninstalling programs as well as re/installing others.
Thanks again!
Actually this downloads only what has been installed with synaptic/apt!saintless wrote:fredx181 wrote:Meanwhile I did some searching and found the below on Ubuntu forum.It will download-only every package that is installed.Code: Select all
for pkg in `dpkg --get-selections | awk '{print $1}' | egrep -v '(mysql|mythtv)'` ; do apt-get -y --force-yes install --reinstall $pkg -d ; done
Edit: by removing '-d' the code will install everything too, and generate a new status file. I did this but some pinstall errors and deb-conf Status install ok half-configured. Cannot be fooled by changing haalf-configured to installed. How to manually configure deb-conf package?
This should configure all packages automatically:stemsee wrote:How to manually configure deb-conf package?
Code: Select all
dpkg --configure -a
Code: Select all
apt-get purge package-name
Code: Select all
apt-get install package-name
Code: Select all
dpkg -i path-to-package-name
If Debian method for fixing dpkg problems does not work this means also something in debian structure and debian scripts is broken or replaced with puppy script versions.
Aha!
I have dpkg-configure missing, and conf-module too, also some other related stuff! I also found that my chroot rox goes all the way up to my non-chroot root, and there is a lot of crossover! I installed in the chroot and the packages appeared in the running distro!
Ok! Everything is working, much better now!
I have dpkg-configure missing, and conf-module too, also some other related stuff! I also found that my chroot rox goes all the way up to my non-chroot root, and there is a lot of crossover! I installed in the chroot and the packages appeared in the running distro!
Ok! Everything is working, much better now!