Some software update via pamac is breaking the system, but I can't tell which one.
ManjaroThis forum is for the discussion of Manjaro Linux. Note: This forum does not have any official participation.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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.
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.
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 ~]$
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
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
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.