[opensuse] yast2 and zypper destroyed during an update
Somehow my yast2 and zypper installations became unusable after an update (sorry I can't remember what it was but I think it involved a change of provider since zypper up did nothing so I tried zypper in and I think it failed half way through.) Running 11.0 with x86_64 architecture. I managed to restore zypper by copying some shareable libraries from a (so far not bootable) 11.1 disk and using rpm with the -ignorearch option for libselinux. It seems that something in the system thinks it is i586 architecture which is causing lots of problems -- can anyone suggest how to correct this? I have force-refreshed all the repositories. Here I have listed the offered updates and show the results of trying to update nmap: xxx # zypper lu -t package Reading installed packages... S | Repository | Name | Version | Arch --+--------------------+-------------+--------------+------- v | Packman Repository | ktoblzcheck | 1.21-42.pm.1 | i586 v | network:utilities | nmap | 4.75-6.2 | x86_64 v | network:utilities | tcpdump | 4.0.0-2.1 | x86_64 xxx # zypper up -t package nmap Reading installed packages... Problem: nmap-4.75-6.2.x86_64 requires liblua.so.5.1()(64bit), but this requirement cannot be provided uninstallable providers: liblua5_1-5.1.3-22.1.x86_64[repo-oss] Solution 1: Following actions will be done: architecture change of nmap-4.75-6.1.x86_64 to nmap-4.75-6.2.i586 architecture change of libdnet1-1.11-88.1.x86_64 to libdnet1-1.11-88.1.i586 Solution 2: Following actions will be done: architecture change of liblua5_1-5.1.3-22.1.i586 to liblua5_1-5.1.3-22.1.x86_64 architecture change of wireshark-1.0.0-17.9.x86_64 to wireshark-1.0.0-17.9.i586 architecture change of ntop-3.3-94.1.x86_64 to ntop-3.3-94.1.i586 architecture change of ppp-2.4.4-112.1.x86_64 to ppp-2.4.4-112.1.i586 architecture change of libadns1-1.4-76.1.x86_64 to libadns1-1.4-76.1.i586 architecture change of libsnmp15-5.4.1-77.4.x86_64 to libsnmp15-5.4.1-77.4.i586 architecture change of hplip-hpijs-3.9.4b-15.pm.11.x86_64 to hplip-hpijs-3.9.4b-15.pm.11.i586 Solution 3: do not ask to install a solvable providing nmap > 4.75-6.1 Solution 4: Ignore some dependencies of nmap Various libraries are listed as unresolved when I try to start the yast GUI: libyui.so.3 => not found libblocxx.so.6 => not found warning: the gtk frontend is installed but does not work libyui.so.3 => not found warning: the qt frontend is installed but does not work Qt GUI wanted but not found, falling back to ncurses. libyui.so.3 => not found warning: the ncurses frontend is installed but does not work Unsatisfied dependencies for yast2-core-2.16.51-6.1.x86_64: libblocxx.so.6()(64bit) Unsatisfied dependencies for yast2-ncurses-2.16.27-8.1.x86_64: libyui.so.3()(64bit) Unsatisfied dependencies for yast2-qt-2.16.53-5.1.x86_64: libyui.so.3()(64bit) Unsatisfied dependencies for yast2-gtk-2.16.15-0.1.x86_64: libyui.so.3()(64bit) Something is wrong with the YaST user interface. If I try to reinstall one of them, I get an error involving gvfs and one complaining about the architecture. I imagine I could use rpm with -ignorearch to reinstall each library in turn, but of course I would like to identify and correct the cause of these errors. xxx # zypper in --force libblocxx6 Reading installed packages... The following package is going to be reinstalled: libblocxx6 The following package is going to change architecture: libblocxx6 Overall download size: 349.0 K. After the operation, additional 50.0 K will be used. Continue? [YES/no]: Downloading package libblocxx6-2.1.0.342-7.2.x86_64 (1/1), 349.0 K (1.2 M unpacked) Downloading: libblocxx6-2.1.0.342-7.2.x86_64.rpm [done] Installing: libblocxx6-2.1.0.342-7.2 [error] Installation of libblocxx6-2.1.0.342-7.2 failed: (with --nodeps --force) Error: Subprocess failed. Error: RPM failed: error: failed to stat /home/xxx/.gvfs: Permission denied package libblocxx6-2.1.0.342-7.2 is intended for a x86_64 architecture I am running an su shell. Here is the result of inspecting .gvfs: xxx # ls -lrt /home/xxx | grep .gvfs ls: cannot access /home/xxx/.gvfs: Permission denied d????????? ? ? ? ? ? .gvfs -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Am Freitag, 22. Mai 2009 schrieb Michael Roberts:
Somehow my yast2 and zypper installations became unusable after an update (sorry I can't remember what it was but I think it involved a change of provider since zypper up did nothing so I tried zypper in and I think it failed half way through.) [...]
Overall download size: 349.0 K. After the operation, additional 50.0 K will be used. Continue? [YES/no]: Downloading package libblocxx6-2.1.0.342-7.2.x86_64 (1/1), 349.0 K (1.2 M unpacked) Downloading: libblocxx6-2.1.0.342-7.2.x86_64.rpm [done] Installing: libblocxx6-2.1.0.342-7.2 [error] Installation of libblocxx6-2.1.0.342-7.2 failed: (with --nodeps --force) Error: Subprocess failed. Error: RPM failed: error: failed to stat /home/xxx/.gvfs: Permission denied package libblocxx6-2.1.0.342-7.2 is intended for a x86_64 architecture
Did you check if you still have a x86_64 version of rpm installed ? I don't think the permissions of .gvfs are the problem here. But you managed to install the i586 version of rpm that cannot install x86_64 packages and will give you the second error message when trying. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
2009/5/22 Markus Koßmann
Am Freitag, 22. Mai 2009 schrieb Michael Roberts:
Somehow my yast2 and zypper installations became unusable after an update (sorry I can't remember what it was but I think it involved a change of provider since zypper up did nothing so I tried zypper in and I think it failed half way through.) [...]
Overall download size: 349.0 K. After the operation, additional 50.0 K will be used. Continue? [YES/no]: Downloading package libblocxx6-2.1.0.342-7.2.x86_64 (1/1), 349.0 K (1.2 M unpacked) Downloading: libblocxx6-2.1.0.342-7.2.x86_64.rpm [done] Installing: libblocxx6-2.1.0.342-7.2 [error] Installation of libblocxx6-2.1.0.342-7.2 failed: (with --nodeps --force) Error: Subprocess failed. Error: RPM failed: error: failed to stat /home/xxx/.gvfs: Permission denied package libblocxx6-2.1.0.342-7.2 is intended for a x86_64 architecture
Did you check if you still have a x86_64 version of rpm installed ?
I don't think the permissions of .gvfs are the problem here. But you managed to install the i586 version of rpm that cannot install x86_64 packages and will give you the second error message when trying.
Thanks for the quick response, Markus. You hit the nail on the head. Once I had reinstalled the x86_64 version of rpm I was able to reinstall the incorrect modules mentioned by the yast GUI (so good diagnostics there) and yast2 which also had the wrong architecture. (I downloaded the necessary packages from the openSUSE build service http://software.opensuse.org/search .) Of the three outstanding updates I mentioned, ktoblzcheck updated cleanly. The other two, nmap and tcpdump from network:utilities still showed very complicated inconsistencies, so I have deinstalled them for the time being. The question which now arises: - how can I generate a report of installed modules with inconsistent architecture (either inconsistent with another installed module or i586 installed where x86_64 is available)? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Am Freitag, 22. Mai 2009 schrieb Michael Roberts:
The question which now arises: - how can I generate a report of installed modules with inconsistent architecture (either inconsistent with another installed module or i586 installed where x86_64 is available)?
With the --querytags option you will be able to modify the output of rpm -qa to include the arch of the rpm. I did that once, but I don't remember the exact syntax now. So you can get a list of installed i586 packages. Then just try to update to the x86_64 rpms of the listed packages. That might fail in some cases where no x86_64 counterpart exists. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
2009/5/22 Markus Koßmann
Am Freitag, 22. Mai 2009 schrieb Michael Roberts:
The question which now arises: - how can I generate a report of installed modules with inconsistent architecture (either inconsistent with another installed module or i586 installed where x86_64 is available)?
With the --querytags option you will be able to modify the output of rpm -qa to include the arch of the rpm. I did that once, but I don't remember the exact syntax now. So you can get a list of installed i586 packages.
Then just try to update to the x86_64 rpms of the listed packages. That might fail in some cases where no x86_64 counterpart exists.
Thanks. I inspected the output of some one-liners. Of 1940 installed packages, there are 45 where I need to check for correct architecture. Nothing is of immediate concern so I will do that at leisure. I know that in the case of java I deliberately installed an out-of-date i586 version so that both architectures were available. In case anyone is interested, the following will generate a list of i586 modules with no x86_64 counterpart installed (horrible isn't it :) ): rpm -qa --queryformat 'NAME %{NAME} VERSION %{VERSION} ARCH %{ARCH}\n' | perl -ne '%x = split " "; $y{"$x{NAME}-$x{VERSION}"}{$x{ARCH}} = $x{NAME}; END { print map { "$y{$_}{i586}\n" } sort grep { $y{$_}{i586} and not $y{$_}{x86_64} } keys %y }' >i586-only.txt In fact only two packages had both architectures installed -- rpm and selinux. I had been messing about with both trying to fix the problem mentioned above. We can then produce a list of relevant modules by zypper search, for further inspection: zypper search --match-words --details $(cat i586-only.txt) | grep -P '^v.+ x86_64 ' -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Hello, On Fri, 22 May 2009, Michael Roberts wrote:
xxx # ls -lrt /home/xxx | grep .gvfs ls: cannot access /home/xxx/.gvfs: Permission denied d????????? ? ? ? ? ? .gvfs
*ouch* Reiserfs? Anyway, you should run a fsck / check your HDD with 'smartctl -A /dev/sdX', your filesystem is probably broken. -dnh PS: that 'rpm ... | perl ..' "one-liner" actually is quite elegant ;) -- "The day Microsoft makes something that doesn't suck is probably the day they start making vacuum cleaners." -- Ernst Jan Plugge -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Monday 25 May 2009 01:16:48 David Haller wrote:
Hello,
On Fri, 22 May 2009, Michael Roberts wrote:
xxx # ls -lrt /home/xxx | grep .gvfs ls: cannot access /home/xxx/.gvfs: Permission denied d????????? ? ? ? ? ? .gvfs
*ouch* Reiserfs? Anyway, you should run a fsck / check your HDD with 'smartctl -A /dev/sdX', your filesystem is probably broken.
No, not at all. It just means that root doesn't have access to the user gvfs file systems. It is normal. Anders -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Mon, May 25, 2009 at 01:16:48AM +0200, David Haller wrote:
Hello,
On Fri, 22 May 2009, Michael Roberts wrote:
xxx # ls -lrt /home/xxx | grep .gvfs ls: cannot access /home/xxx/.gvfs: Permission denied d????????? ? ? ? ? ? .gvfs
*ouch* Reiserfs? Anyway, you should run a fsck / check your HDD with 'smartctl -A /dev/sdX', your filesystem is probably broken.
-dnh
PS: that 'rpm ... | perl ..' "one-liner" actually is quite elegant ;)
No, .gvfs is a GNOME driven fuse virtual filesystem. This explains the weird permissions. Ciao, Marcus -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
participants (5)
-
Anders Johansson
-
David Haller
-
Marcus Meissner
-
Markus Koßmann
-
Michael Roberts