LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Manjaro (https://www.linuxquestions.org/questions/manjaro-119/)
-   -   Some software update via pamac is breaking the system, but I can't tell which one. (https://www.linuxquestions.org/questions/manjaro-119/some-software-update-via-pamac-is-breaking-the-system-but-i-cant-tell-which-one-4175716003/)

mgerson 08-23-2022 04:15 PM

Some software update via pamac is breaking the system, but I can't tell which one.
 
I have a multi–boot PC with Windows, Manjaro and a few other Linux distros, but Manjaro KDE has been my main OS for 4 or 5 years. My Asus desktop computer has two internal drives, a SSD with a number of partitions containing only the operating systems and their software installations, and a 2 tb HDD called "Data" on which I keep all my data/documents. The Data drive is formatted NTFS so that it can be accessed from Windows as well as each of the Linux installations. This arrangement has been working well for me.

I keep my Manjaro rolling release up-to-date generally by installing software updates as they come in, one or two updates on most days, occasionally more than 100 at a time. Very occasionally, one of those updates "breaks" the system and I use Timeshift to roll the system back to a time before the update and simply don't install that update for a week or two, and then things are usually OK - or sometimes if the offender is software I rarely use and don't really need, I just uninstall that software. (You can probably tell that I'm not a very sophisticated user and don't really understand the "behind-the-scenes" working of Linux or Manjaro particularly well.)

My current problem is this: I currently have 154 updates waiting to be instlled. Yesterday, I installed them all at once using the Pamac GUI system (a.k.a "Add/Remove Software"). After I had installed them all and rebooted (as required for some of the updates to take effect), I found that my Data HDD could not be mounted, so I couldn't access any of my documents. At first I worried that I had inadvertently erased that drive, but when I rebooted into Windows, I could access all the data from Windows without problem. So I rebooted into Manjaro again and used Timeshift to restore Manjaro to a time before the updates and the data drive was accessible again. But now all 154 updates had been rolled back also.

The problem is that I don't know which or those 154 updates is the problem. And here is where my lack of knowledge of the "behind the scenes" stuff comes in. I thought I had it narrowed down to a dozen or so items, but when I installed all the other updates and left those items out of the installation, the system still broke the same way and I had to roll back with Timeshift again. Rolling back with Timeshift takes a long time (almost an hour), so I don't want to have to do it over and over again. I spent 7 or 8 hours yesterday trying to figure this out, to no avail, so I have decided to see if someone could help.

I would appreciate any advice anyone can give me on how to approach this problem. Thank you in advance.

Martin.

teckk 08-25-2022 09:02 AM

Quote:

I found that my Data HDD could not be mounted,
Is if an ntfs volume? What are you using to mount it? ntfs-3g or the kernel ntfs3?

That is where I would look. I would go ahead and update that rolling release. You'll have to eventually anyway.

Then try to mount the drive manually with whatever you are using, and post the errors that you are getting.

Examples:
Code:

ntfs-3g /dev/sdb1 ~/mount/point

mount -o async,flush /dev/sdb1 ~/mount/point

Use your own device nodes, and your own mounting point. Don't just blindly copy and paste that.

ondoho 08-28-2022 01:23 AM

Quote:

Originally Posted by mgerson (Post 6375700)
After I had installed them all and rebooted (as required for some of the updates to take effect), I found that my Data HDD could not be mounted, so I couldn't access any of my documents. At first I worried that I had inadvertently erased that drive, but when I rebooted into Windows, I could access all the data from Windows without problem.

This sort of stuff happens and is fixable.
This is your actual problem, you should reformulate your question (possibly start a new thread) and provide relevant information.

mgerson 08-28-2022 02:15 AM

Reply to teckk
 
Quote:

Originally Posted by teckk (Post 6376030)
Is if an ntfs volume? What are you using to mount it? ntfs-3g or the kernel ntfs3?

Yes, it is NTFS. Normally, it automounts on boot. I don't normally use bash commands because I have never really learned how to use them properly and prefer gui options. In this case, I use Dolphin. The volumes appear in the left column, and unmounted volumes have a red x next to them. If I right-click on the volume name, one of the options is "mount". In this case, when I right-click on the "Data" volume and click on "Mount," I get the following error message:

Quote:

An error occurred while accessing 'Data', the system responded: The requested operation has failed: Error mounting system-managed device /dev/sda5: Unknown error when mounting /mnt/Data
Following teckk's advice, I entered the commands you described into Konsole. Here is what I got:

Quote:

[martin@Martin-Manjaro-Desktop ~]$ ntfs-3g /dev/sda5 /mnt/Data
ntfs-3g: error while loading shared libraries: libhd.so.21: cannot open shared object file: No such file or directory
[martin@Martin-Manjaro-Desktop ~]$ mount -o async,flush /dev/sda5 /mnt/Data
mount: /mnt/Data: must be superuser to use mount.
dmesg(1) may have more information after failed mount system call.
[martin@Martin-Manjaro-Desktop ~]$ sudo mount -o async,flush /dev/sda5 /mnt/Data
[sudo] password for martin:
/usr/bin/mount.ntfs: error while loading shared libraries: libhd.so.21: cannot open shared object file: No such file or directory
[martin@Martin-Manjaro-Desktop ~]$

teckk 08-28-2022 07:40 AM

Code:

error while loading shared libraries: libhd.so.21:
Obviosly that is the problem. Is libhd.so.21 present in the file tree? What owns it?

I'm guessing at the name.
Code:

pacman -Qo /usr/lib/libhd.so.21.0
If not, you need it. Install whatever owns it.

Also, If it is there, look at:
Code:

man ldconfig
You are not partially updating are you?

teckk 08-28-2022 07:47 AM

I don't have that file, but I'm on arch, and I'm not up to date.
Code:

pacman -Qo /usr/lib/libhdf5.so.200.2.0
/usr/lib/libhdf5.so.200.2.0 is owned by hdf5 1.12.2-1


mgerson 08-29-2022 12:36 AM

Hello teckk, and thanks for your help.

As I have said, although I have been using Manjaro for years, I'm still a complete newbie with respect to the technical stuff. So I don't understand all your questions and/or comments, but I'll try to answer your questions or follow your instructions as best I can and show you what I get.

Quote:

Originally Posted by teckk (Post 6376698)
Code:

error while loading shared libraries: libhd.so.21:
Obviosly that is the problem. Is libhd.so.21 present in the file tree?

I did a search in Dolphin for libhd.so.21 from the Manjaro root folder, /, and all subfolders. It showed a number of files starting with libhd.so.21, e.g. libhd.so.21.82, libhd.so.21.81, libhd.so.21.80, libhd.so.21.77, etc., but all these files were located in an external HDD that stores Timeshift snapshots. So I infer that libhd.so.21 is connected with Timeshift somehow. In fact, each timeshift snapshot that I looked into had a file of that sort located in localhost/usr/lib/. But when I did a seach within /usr/lib/ in the Manjaro Root folder, I found libhd.so.22.1, but nothing starting with libhd.so.21.

Quote:

What owns it?
Code:

[martin@Martin-Manjaro-Desktop ~]$ pacman -Qo /usr/lib/libhd.so.22.1
/usr/lib/libhd.so.22.1 is owned by hwinfo 22.1-1

Quote:

If not, you need it. Install whatever owns it.
I'm not sure whether I should be installing something, and if so, what? Should I be installing hwinfo 22.2-1? If so, how?

Quote:

Also, If it is there, look at:
Code:
man ldconfig
It is there, and I have copied what I get below. Frankly, I don't understand it; too technical for me. I infer that ldconfig is a bash command. Should I be running it somehow? If so, I'm afraid that I'm going to need more detailed instructions from you.

Code:

LDCONFIG(8)                                      Linux Programmer's Manual                                      LDCONFIG(8)

NAME
      ldconfig - configure dynamic linker run-time bindings

SYNOPSIS
      /sbin/ldconfig [-nNvXV] [-f conf] [-C cache] [-r root] directory...
      /sbin/ldconfig -l [-v] library...
      /sbin/ldconfig -p

DESCRIPTION
      ldconfig  creates  the necessary links and cache to the most recent shared libraries found in the directories speci‐
      fied on the command line, in the file /etc/ld.so.conf, and in the trusted directories, /lib and  /usr/lib  (on  some
      64-bit  architectures  such  as  x86-64,  /lib  and /usr/lib are the trusted directories for 32-bit libraries, while
      /lib64 and /usr/lib64 are used for 64-bit libraries).

      The cache is used by the run-time linker, ld.so or ld-linux.so.  ldconfig checks the header and filenames of the li‐
      braries it encounters when determining which versions should have their links updated.

      ldconfig will attempt to deduce the type of ELF libraries (i.e., libc5 or libc6/glibc) based on what C libraries, if
      any, the library was linked against.

      Some existing libraries do not contain enough information to allow the deduction  of  their  type.  Therefore,  the
      /etc/ld.so.conf file format allows the specification of an expected type.  This is used only for those ELF libraries
      which we can not work out.  The format is "dirname=TYPE", where TYPE can be libc4, libc5, or  libc6.  (This  syntax
      also  works on the command line.)  Spaces are not allowed.  Also see the -p option.  ldconfig should normally be run
      by the superuser as it may require write permission on some root owned directories and files.

      Note that ldconfig will only look at files that are named lib*.so* (for regular shared objects) or ld-*.so* (for the
      dynamic  loader itself).  Other files will be ignored.  Also, ldconfig expects a certain pattern to how the symlinks
      are set up, like this example, where the middle file (libfoo.so.1 here) is the SONAME for the library:

          libfoo.so -> libfoo.so.1 -> libfoo.so.1.12

      Failure to follow this pattern may result in compatibility issues after an upgrade.

OPTIONS
      -c fmt, --format=fmt
              (Since glibc 2.2) Cache format to use: old, new, or compat.  Since glibc 2.32, the default  is  new.  Before
              that, it was compat.

      -C cache
              Use cache instead of /etc/ld.so.cache.

      -f conf
              Use conf instead of /etc/ld.so.conf.

      -i, --ignore-aux-cache
              (Since glibc 2.7) Ignore auxiliary cache file.

      -l    (Since glibc 2.2) Library mode.  Manually link individual libraries.  Intended for use by experts only.

      -n    Process only the directories specified on the command line.  Don't process the trusted directories, nor those
              specified in /etc/ld.so.conf.  Implies -N.

      -N    Don't rebuild the cache.  Unless -X is also specified, links are still updated.

      -p, --print-cache
              Print the lists of directories and candidate libraries stored in the current cache.

      -r root
              Change to and use root as the root directory.

      -v, --verbose
              Verbose mode.  Print current version number, the name of each directory as it is scanned, and any links  that
              are created.  Overrides quiet mode.

      -V, --version
              Print program version.

      -X    Don't update links.  Unless -N is also specified, the cache is still rebuilt.

FILES
      /lib/ld.so
              Run-time linker/loader.
      /etc/ld.so.conf
              File containing a list of directories, one per line, in which to search for libraries.
      /etc/ld.so.cache
              File  containing  an ordered list of libraries found in the directories specified in /etc/ld.so.conf, as well
              as those found in the trusted directories.

SEE ALSO
      ldd(1), ld.so(8)

COLOPHON
      This page is part of release 5.13 of the Linux man-pages project.  A description of the project,  information  about
      reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

GNU                                                      2021-03-22                                            LDCONFIG(8)
 Manual page ldconfig(8) line 37/89 (END) (press h for help or q to quit)

And no, I don't think I ran a partial update. The command that I ran to update was
Code:

sudo pacman -Syyu
That should run a full update, shouldn't it?

teckk 08-29-2022 06:44 AM

In post #4
Quote:

ntfs-3g /dev/sda5 /mnt/Data
ntfs-3g: error while loading shared libraries: libhd.so.21: cannot open shared object file: No such file or directory
And in this post
Quote:

pacman -Qo /usr/lib/libhd.so.22.1
/usr/lib/libhd.so.22.1 is owned by hwinfo 22.1-1
How did you get that way? You are going to have to troubleshoot this yourself.
Mount is looking for libhd.so.21, and obviously not finding it. Are you suppose to have libhd.so.21 and libhd.so.22 installed? Have you updated again since post #4?

Quote:

So I infer that libhd.so.21 is connected with Timeshift somehow
Code:

pacman -Si libhd.so.21
pacman -Si hwinfo

Have you installed stuff outside of your package manager? Something from AUR?

I don't use majaro, so not sure what they have linked together. I don't have hwinfo installed, and I don't have a broken mount.

Code:

pacman -Ss hwinfo
This looks to me like a partial update, installing stuff outside of your package manager, or broken mirrors.


All times are GMT -5. The time now is 12:23 AM.