[Unstable Update] 2023-05-21 - Repository changes

Or…
And for Pacman…

❯ sudo pacman -Sc
Packages to keep:
  All locally installed packages

Cache directory: /var/cache/pacman/pkg/
:: Do you want to remove all other packages from cache? [Y/n] n

Database directory: /var/lib/pacman/
:: Do you want to remove unused repositories? [Y/n] 
removing unused sync repositories...

See:

man pacman | less -p '-c, --clean'
SYNC OPTIONS (APPLY TO -S)
      -c, --clean
           Remove packages that are no longer installed from the cache as well
           as currently unused sync databases to free up disk space. When
           pacman downloads packages, it saves them in a cache directory. In
           addition, databases are saved for every sync DB you download from
           and are not deleted even if they are removed from the configuration
           file pacman.conf(5). Use one --clean switch to only remove packages
           that are no longer installed; use two to remove all files from the
           cache. In both cases, you will have a yes or no option to remove
           packages and/or unused downloaded databases.
4 Likes

yes, exists. But only for pacman …

a script “repo-clean.py” for pacman/pamac and pkgfile :

#!/usr/bin/env python
from pathlib import Path
import subprocess

repos = ['refresh_timestamp']   # exclude some files

p = subprocess.run("pacman-conf -l", capture_output=True, text=True, shell=True)
repos.extend(p.stdout.split())

print(repos[1:])
if "community" in repos:
    exit(9)

dirs = (
    "/var/tmp/pamac/dbs/sync/",
    "/var/lib/pacman/sync/",
    "/var/cache/pkgfile/"
)

removes = []
for item in dirs:
    try:
        for child in Path(item).iterdir():
            name = child.stem.split(".", 1)[0]
            if name not in repos:
                #child.unlink()
                removes.append(f'"{child}"')
    except FileNotFoundError:
        print("    # ", item, f"not exists, {item.split('/')[3]} not installed")

if removes:
    print("sudo rm -I", " ".join(removes))

one result:

[Running] /usr/bin/env python "/home/patrick/repo-clean.py"
['core', 'extra', 'andontie-aur']
    #  /var/cache/pkgfile/ not exists, pkgfile not installed
sudo rm -I "/var/tmp/pamac/dbs/sync/truc.db.sig" "/var/lib/pacman/sync/truc.db" "/var/lib/pacman/sync/truc.db.sig" "/var/lib/pacman/sync/TEST.db"
2 Likes

Can I ask, which files within the past 12 months have had a .pacnew generation just out of curiosity? I can’t recall. (I have made applicable changes)

Hard to say as it also depends on your system config … things like pacnew or pacsave is generally created because the file is different from upstream, ie - if you made changes to grub then you get one from that update, but if you havent then you dont.

But for me … going back to May of last year …

[ALPM] warning: /etc/locale.gen installed as /etc/locale.gen.pacnew
[ALPM] warning: /etc/systemd/system.conf installed as /etc/systemd/system.conf.pacnew
[ALPM] warning: /etc/mkinitcpio.conf installed as /etc/mkinitcpio.conf.pacnew
[ALPM] warning: /etc/sudoers installed as /etc/sudoers.pacnew
[ALPM] warning: /etc/locale.gen installed as /etc/locale.gen.pacnew
[ALPM] warning: /etc/locale.gen installed as /etc/locale.gen.pacnew
[ALPM] warning: /etc/locale.gen installed as /etc/locale.gen.pacnew
[ALPM] warning: /etc/pam.d/system-login installed as /etc/pam.d/system-login.pacnew
[ALPM] warning: /etc/pam.d/passwd installed as /etc/pam.d/passwd.pacnew
[ALPM] warning: /etc/systemd/system.conf installed as /etc/systemd/system.conf.pacnew
[ALPM] warning: /etc/makepkg.conf installed as /etc/makepkg.conf.pacnew
[ALPM] warning: /etc/mkinitcpio.conf installed as /etc/mkinitcpio.conf.pacnew
[ALPM] warning: /etc/php/php.ini installed as /etc/php/php.ini.pacnew
[ALPM] warning: /etc/pacman.conf installed as /etc/pacman.conf.pacnew
[ALPM] warning: /etc/pamac.conf installed as /etc/pamac.conf.pacnew
[ALPM] warning: /etc/php/php.ini installed as /etc/php/php.ini.pacnew
[ALPM] warning: /etc/systemd/system.conf installed as /etc/systemd/system.conf.pacnew
[ALPM] warning: /etc/default/grub installed as /etc/default/grub.pacnew
[ALPM] warning: /etc/httpd/conf/httpd.conf installed as /etc/httpd/conf/httpd.conf.pacnew
[ALPM] warning: /etc/pacman.conf installed as /etc/pacman.conf.pacnew
2 Likes

To find historical information, view the pacman log:

grep 'pacnew' /var/log/pacman.log

After an update, view and conditionally take action on .pacnew files. Follow the prompts.

DIFFPROG=meld pacdiff
1 Like

My rule of thumb is I get one and wait several reboots to see if anything is actually affected. If not the file just gets deleted. I’ve found that the need to actually merge content from the old file to the new one is rare.

1 Like

EDIT: Resolved with util-linux 2.39-3

I have a problem with temporary mounting for an NTFS folder, I get the same error with udisksctl, gnome-disks, dolphin.

$ udisksctl mount -b /dev/sdb2
Error mounting /dev/sdb2: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying

Tracked it down to this update:

core/util-linux       2.38.1-4 -> 2.39-1
core/util-linux-libs  2.38.1-4 -> 2.39-1

When I downgrade it to 2.38.1-4 and reboot, everything is fine again:

sudo pacman -U https://archive.archlinux.org/packages/u/util-linux/util-linux-2.38.1-4-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/u/util-linux-libs/util-linux-libs-2.38.1-4-x86_64.pkg.tar.zst

More links with this problem:

2 Likes

on latest version of util-linux* tried same commands, no issues. could be a kernel issue, i’m on 5.15

1 Like

Everyone else compares the two files to see what changed and merge what should be merged. :wink:

7 Likes

I had the same message when I tried to mount an old HD disk, in a case, that I know is problematic, with various errors on it, I was about to discard it and buy a new, but I will loose precious data. Then I opened “gnome-disk-utility” and saw “verify system archive” and “correct system archive”, I ran both, before this it works. Between all this I made tests on the disk with “GSmartControl” with positive results: it’s ok to use it.
I didn’t need to downgrade “util-linux”.
I have a coredump of the mount:

Process 44655 (udisksd) of user 0 dumped core.

Stack trace of thread 54054:
#0  0x00007f9d94e3726c n/a (libc.so.6 + 0x8926c)
#1  0x00007f9d94de7a08 raise (libc.so.6 + 0x39a08)
#2  0x00007f9d94dd0538 abort (libc.so.6 + 0x22538)
#3  0x00007f9d94dd045c n/a (libc.so.6 + 0x2245c)
#4  0x00007f9d94de03d6 __assert_fail (libc.so.6 + 0x323d6)
#5  0x00007f9d9552091a n/a (libmount.so.1 + 0x2e91a)
#6  0x00007f9d954ff25e n/a (libmount.so.1 + 0xd25e)
#7  0x00007f9d95514c8d mnt_context_do_mount (libmount.so.1 + 0x22c8d)
#8  0x00007f9d95516d7c mnt_context_mount (libmount.so.1 + 0x24d7c)
#9  0x00007f9d91e87e3c n/a (libbd_fs.so.2 + 0x5e3c)
#10 0x00007f9d91e8965f bd_fs_mount (libbd_fs.so.2 + 0x765f)
#11 0x000055c295e9ac96 n/a (udisksd + 0x2fc96)
#12 0x00007f9d949754f6 n/a (libffi.so.8 + 0x74f6)
#13 0x00007f9d94971f5e n/a (libffi.so.8 + 0x3f5e)
#14 0x00007f9d94974b73 ffi_call (libffi.so.8 + 0x6b73)
#15 0x00007f9d95102515 g_cclosure_marshal_generic (libgobject-2.0.so.0 + 0x1a515)
#16 0x00007f9d950fc210 g_closure_invoke (libgobject-2.0.so.0 + 0x14210)
#17 0x00007f9d9512a427 n/a (libgobject-2.0.so.0 + 0x42427)
#18 0x00007f9d95370947 n/a (libudisks2.so.0 + 0x50947)
#19 0x00007f9d95269672 n/a (libgio-2.0.so.0 + 0x11e672)
#20 0x00007f9d951f721c n/a (libgio-2.0.so.0 + 0xac21c)
#21 0x00007f9d950299a3 n/a (libglib-2.0.so.0 + 0x8c9a3)
#22 0x00007f9d95024315 n/a (libglib-2.0.so.0 + 0x87315)
#23 0x00007f9d94e3544b n/a (libc.so.6 + 0x8744b)
#24 0x00007f9d94eb8e40 n/a (libc.so.6 + 0x10ae40)

Stack trace of thread 44660:
#0  0x00007f9d94eb12ed syscall (libc.so.6 + 0x1032ed)
#1  0x00007f9d9504d7b5 g_cond_wait (libglib-2.0.so.0 + 0xb07b5)
#2  0x00007f9d94fc1fb4 n/a (libglib-2.0.so.0 + 0x24fb4)
#3  0x00007f9d94fc1fec g_async_queue_pop (libglib-2.0.so.0 + 0x24fec)
#4  0x000055c295e8a08b probe_request_thread_func (udisksd + 0x1f08b)
#5  0x00007f9d95024315 n/a (libglib-2.0.so.0 + 0x87315)
#6  0x00007f9d94e3544b n/a (libc.so.6 + 0x8744b)
#7  0x00007f9d94eb8e40 n/a (libc.so.6 + 0x10ae40)

Stack trace of thread 44659:
#0  0x00007f9d94eabc0f __poll (libc.so.6 + 0xfdc0f)
#1  0x00007f9d9505417f n/a (libglib-2.0.so.0 + 0xb717f)
#2  0x00007f9d94ff6c7f g_main_loop_run (libglib-2.0.so.0 + 0x59c7f)
#3  0x00007f9d95259d3c n/a (libgio-2.0.so.0 + 0x10ed3c)
#4  0x00007f9d95024315 n/a (libglib-2.0.so.0 + 0x87315)
#5  0x00007f9d94e3544b n/a (libc.so.6 + 0x8744b)
#6  0x00007f9d94eb8e40 n/a (libc.so.6 + 0x10ae40)

Stack trace of thread 44656:
#0  0x00007f9d94eabc0f __poll (libc.so.6 + 0xfdc0f)
#1  0x00007f9d9505417f n/a (libglib-2.0.so.0 + 0xb717f)
#2  0x00007f9d94ff61a2 g_main_context_iteration (libglib-2.0.so.0 + 0x591a2)
#3  0x00007f9d94ff61f2 n/a (libglib-2.0.so.0 + 0x591f2)
#4  0x00007f9d95024315 n/a (libglib-2.0.so.0 + 0x87315)
#5  0x00007f9d94e3544b n/a (libc.so.6 + 0x8744b)
#6  0x00007f9d94eb8e40 n/a (libc.so.6 + 0x10ae40)

Stack trace of thread 44657:
#0  0x00007f9d94eb12ed syscall (libc.so.6 + 0x1032ed)
#1  0x00007f9d9504d7b5 g_cond_wait (libglib-2.0.so.0 + 0xb07b5)
#2  0x00007f9d94fc1fb4 n/a (libglib-2.0.so.0 + 0x24fb4)
#3  0x00007f9d95028f9e n/a (libglib-2.0.so.0 + 0x8bf9e)
#4  0x00007f9d95024315 n/a (libglib-2.0.so.0 + 0x87315)
#5  0x00007f9d94e3544b n/a (libc.so.6 + 0x8744b)
#6  0x00007f9d94eb8e40 n/a (libc.so.6 + 0x10ae40)

Stack trace of thread 44673:
#0  0x00007f9d94eabc0f __poll (libc.so.6 + 0xfdc0f)
#1  0x00007f9d9505417f n/a (libglib-2.0.so.0 + 0xb717f)
#2  0x00007f9d94ff6c7f g_main_loop_run (libglib-2.0.so.0 + 0x59c7f)
#3  0x000055c295eba593 n/a (udisksd + 0x4f593)
#4  0x00007f9d95024315 n/a (libglib-2.0.so.0 + 0x87315)
#5  0x00007f9d94e3544b n/a (libc.so.6 + 0x8744b)
#6  0x00007f9d94eb8e40 n/a (libc.so.6 + 0x10ae40)

Stack trace of thread 44655:
#0  0x00007f9d94ead76f ioctl (libc.so.6 + 0xff76f)
#1  0x000055c295ebf932 udisks_ata_send_command_sync (udisksd + 0x54932)
#2  0x000055c295ea4d71 n/a (udisksd + 0x39d71)
#3  0x000055c295ea7efb udisks_linux_drive_ata_get_pm_state (udisksd + 0x3cefb)
#4  0x000055c295e9bb24 udisks_linux_filesystem_update (udisksd + 0x30b24)
#5  0x000055c295e8b170 n/a (udisksd + 0x20170)
#6  0x000055c295e8b80a udisks_linux_block_object_uevent (udisksd + 0x2080a)
#7  0x000055c295e8bdd5 n/a (udisksd + 0x20dd5)
#8  0x00007f9d950fc210 g_closure_invoke (libgobject-2.0.so.0 + 0x14210)
#9  0x00007f9d9512a2f8 n/a (libgobject-2.0.so.0 + 0x422f8)
#10 0x00007f9d9511a095 g_signal_emit_valist (libgobject-2.0.so.0 + 0x32095)
#11 0x00007f9d9511a324 g_signal_emit (libgobject-2.0.so.0 + 0x32324)
#12 0x000055c295eb61cf n/a (udisksd + 0x4b1cf)
#13 0x000055c295eb64ea n/a (udisksd + 0x4b4ea)
#14 0x00007f9d94ff753b g_main_context_dispatch (libglib-2.0.so.0 + 0x5a53b)
#15 0x00007f9d95054219 n/a (libglib-2.0.so.0 + 0xb7219)
#16 0x00007f9d94ff6c7f g_main_loop_run (libglib-2.0.so.0 + 0x59c7f)
#17 0x000055c295e84319 main (udisksd + 0x19319)
#18 0x00007f9d94dd1850 n/a (libc.so.6 + 0x23850)
#19 0x00007f9d94dd190a __libc_start_main (libc.so.6 + 0x2390a)
#20 0x000055c295e8449e _start (udisksd + 0x1949e)
ELF object binary architecture: AMD x86-64

*Sorry for all this post, but I stayed around this problem for a day with not much knowing.

1 Like

I was in the habit of doing just that and noticed most of the time there was noting that needed merging. I do keep a copy of both files before ever deleting the .pac file just in case.

Something is indeed wrong with util-linux and/or util-linux-libs, when updated to latest my pc wont boot to its GUI anymore and stays in restore mode with a read-only partition.
I see in the log:

mei 23 19:55:16 imac kernel:  #2
mei 23 19:55:16 imac kernel:  #3
mei 23 19:55:16 imac systemd[1]: dev-mqueue.mount: Failed with result 'exit-code'.
mei 23 19:55:16 imac systemd[1]: Failed to mount POSIX Message Queue File System.
mei 23 19:55:16 imac systemd[1]: sys-kernel-debug.mount: Failed with result 'exit-code'.
mei 23 19:55:16 imac systemd[1]: Failed to mount Kernel Debug File System.
mei 23 19:55:16 imac systemd[1]: sys-kernel-tracing.mount: Failed with result 'exit-code'.
mei 23 19:55:16 imac systemd[1]: Failed to mount Kernel Trace File System.
mei 23 19:55:16 imac systemd[1]: systemd-remount-fs.service: Failed with result 'exit-code'.
mei 23 19:55:16 imac systemd[1]: Failed to start Remount Root and Kernel File Systems.
mei 23 19:55:16 imac systemd[1]: sys-fs-fuse-connections.mount: Failed with result 'exit-code'.
mei 23 19:55:16 imac systemd[1]: Failed to mount FUSE Control File System.
mei 23 19:55:16 imac systemd[1]: sys-kernel-config.mount: Failed with result 'exit-code'.
mei 23 19:55:16 imac systemd[1]: Failed to mount Kernel Configuration File System.
mei 23 19:55:16 imac systemd[1]: tmp.mount: Failed with result 'exit-code'.
mei 23 19:55:16 imac systemd[1]: Failed to mount Temporary Directory /tmp.
mei 23 19:55:16 imac systemd-remount-fs[223]: /usr/bin/mount for / exited with exit status 32.
mei 23 19:55:17 imac systemd[1]: sys-kernel-config.mount: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://forum.manjaro.org/c/support
░░ 
░░ The unit sys-kernel-config.mount has entered the 'failed' state with result 'exit-code'.
mei 23 19:55:17 imac systemd[1]: Failed to mount Kernel Configuration File System.
░░ Subject: A start job for unit sys-kernel-config.mount has failed
░░ Defined-By: systemd
░░ Support: https://forum.manjaro.org/c/support

Restored with timeshift to previous version for the time being…
Cheers,
Eddy

Hey guys, how should an ordinary user respond to this kind of upgrade from Arch?
Just replace pacman.conf with the new one ?

The same way you should in every case.
Handle the pacnews and resync.
Most do this by using pacdiff.

1 Like

It must be on my past install i did it previously. So minimum 3,5 years ago, maybe even 6. Things just tend to work, so instead of spending endless time constantly comparing .pacnews i just wait until things break, and in meantime rely on that if some common config change is needed it will be mentioned in stable update thread :person_shrugging:

Chrooting in to fix things is pretty painless (never needed to do it, just tested once) and i have enough trust in developers that “forgetting” to update a config won’t catastrophically break something and eat my data.

manjaro-tools-base-git the file /usr/share/manjaro-tools/pacman-mirrors.conf still has community in it.
When building an iso this is seen

==> ERROR: invalid symlink: '/usr/lib/libnss_files.so.2'
==> ERROR: invalid symlink: '/usr/lib/libnss_dns.so.2'
=> WARNING: errors were encountered during the build. The image may not be complete.

That’s fine, the community repo still exists for now, it’s just empty.

Please create a new Support topic with more details if you still need help with building an ISO.

@servimo @Oldhabbits

what i failed to mention was that, i had also defaulted ntfs3 driver in udisks, and the absence of error is probably due to that. however when i explicitly set ntfs-3g driver, i did run into more or less the same error.

$ udisksctl mount -t ntfs-3g -b /dev/sdb1
Error mounting /dev/sdb1: GDBus.Error:org.freedesktop.UDisks2.Error.OptionNotPermitted: Requested filesystem type `ntfs-3g' is neither well-known nor in /proc/filesystems nor in /etc/filesystems

in any case if you plan switching to ntfs3 please make sure you run

$ sudo ntfsfix -d /dev/sdXX

on any partition you have previously run ntfsfix without the -d flag, before mounting.

2 Likes

Maybe is this what “gnome-disk-utility” did in the NTFS partition when I ran “verify system archive” and “correct system archive”.

Thank you, @koshikas! I tried to switch from ntfs-3g to ntfs3 using Arch Wiki, but I didn’t pay attention to -d (--clear-dirty) flag. Now everything works with ntfs3.