Can't update EOS (problem with dracut)

I can’t find the problem anywhere so I’ll post it myself.

After running:

sudo pacman -Syu

or any other update command like yay:


:: Proceed with installation? [Y/n] y
(428/428) checking keys in keyring                                                                                                                    [############################################################################################] 100%
(428/428) checking package integrity                                                                                                                  [############################################################################################] 100%
(428/428) loading package files                                                                                                                       [############################################################################################] 100%
(428/428) checking for file conflicts                                                                                                                 [############################################################################################] 100%
error: failed to commit transaction (conflicting files)
dracut: /usr/share/libalpm/hooks/60-dracut-remove.hook exists in filesystem (owned by eos-dracut)
dracut: /usr/share/libalpm/hooks/90-dracut-install.hook exists in filesystem (owned by eos-dracut)
dracut: /usr/share/libalpm/scripts/dracut-install exists in filesystem (owned by eos-dracut)
dracut: /usr/share/libalpm/scripts/dracut-remove exists in filesystem (owned by eos-dracut)
Errors occurred, no packages were upgraded.

1 Like

It looks like you are trying to install dracut from the Arch repos. pacman -Syu should never do that if you are using EOS.

Did you accidentally remove the EOS repo from /etc/pacman.conf?

I don’t think I touched this file, but just in case I’ll post the content of it:

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
#Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
#ParallelDownloads = 5
DownloadUser = alpm
#DisableSandbox

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[core-testing]
#Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

#[extra-testing]
#Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

Yes, that is not an EOS file. You probably overwrote it when merging pacnew files.

Replace it with a clean version from here:
https://raw.githubusercontent.com/endeavouros-team/EndeavourOS-ISO/refs/heads/main/airootfs/etc/pacman.conf

is it dangerous to now update from EOS repos? won’t it break something if I have packages that are updated from arch ones?

No

That is highly unlikely. We only have a couple of packages that conflict with Arch packages and one of those is the one failing to update.

It worked perfectly.
I just get a warning when I try to update now telling me I have dracut 107 and EOS uses dracut 106, I guess it’s not a problem and will disappear once EOS updates to something newer than 106 in the future.

107 should work for non lts kernel

106 is needed for lts kernel as 107 does not work with it.

Yes. Correct.

If you want the message to go away, you can run sudo pacman -Syuu

I’m using zen kernel, that’s why it worked maybe. Does it mean that if I start the lts kernel (which I have it installed) it will crash?

It may fail to boot off the LTS kernel unless you use the fallback initrd. Downgrading to 106 will fix that.

Ok I’ll just wait and use zen in the meantime, shouldn’t take long to update to 107 I assume

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.