Skip to main content
Topic: local, netmount etc causes update failure (Read 780 times) previous topic - next topic
0 Members and 4 Guests are viewing this topic.

local, netmount etc causes update failure

Code: [Select]
error: failed to commit transaction (conflicting files)
openrc: /etc/runlevels/default/local exists in filesystem
openrc: /etc/runlevels/default/netmount exists in filesystem
Errors occurred, no packages were upgraded.


I just decided to risk all and overwrite it.

flatbush:[ruben]:~$ sudo pacman -Syu --overwrite "*"


Something is triggering openrc service warnings, but I don't see what it is:

Code: [Select]
(10/14) Updating icon theme caches...
(11/14) Displaying openrc service help ...
        ==> Add a service to runlevel:
        rc-update add <service> <runlevel>
        ==> Start/stop/restart a service:
        rc-service <service> <start/stop/restart>
(12/14) Displaying openrc service help ...
        ==> Remove a service from runlevel:
        rc-update del <service> <runlevel>
        ==> Start/stop/restart a service:
        rc-service <service> <start/stop/restart>

Maybe it is related to this:
36/72) upgrading openrc                           [######################] 100%
warning: /etc/rc.conf installed as /etc/rc.conf.pacnew


:)


Re: local, netmount etc causes update failure

Reply #1
Same here

Re: local, netmount etc causes update failure

Reply #2

 diff /etc/rc.conf /etc/rc.conf.pacnew
22c27
< #rc_shell=/bin/sh
---
> rc_shell=/usr/bin/sulogin
30c35
< rc_depend_strict="NO"


change in the shell?

Re: local, netmount etc causes update failure

Reply #3
When I upgraded I had the local service disabled (# rc-update delete local default, and again for nonetwork if it was there too) by coincidence due to some earlier testing of stuff, but after rebooting it had been enabled. So then I disabled it before updating my other laptop to see if it would happen again, and it did. The update worked fine otherwise in that situation. I didn't try it with it already enabled though.
Edit made in interval while post below appeared:
I doubt it's related to rc.conf, this is probably something in the PKGBUILD or upgrade hooks, or those links could be files in the package itself, given the error message. There was an earlier update that removed it from default and this is intended to be the 'fix' I expect, but is apparently a WIP.  ;D

Re: local, netmount etc causes update failure

Reply #4
diff: /etc/rc.conf.pacnew: No such file or directory

no rc.conf.pacnew

sorry, but i can not help.
I am sure this issue will be solved automagically - like always

Re: local, netmount etc causes update failure

Reply #5
Same here

 diff /etc/rc.conf /etc/rc.conf.pacnew
22c27
< #rc_shell=/bin/sh
---
> rc_shell=/usr/bin/sulogin
30c35
< rc_depend_strict="NO"


change in the shell?

is there a change in the shell and why if so?

Re: local, netmount etc causes update failure

Reply #6
Code: [Select]
$ pacman -Ql openrc
...
openrc /etc/runlevels/default/local
...
openrc /etc/runlevels/nonetwork/local
...

Lines beginning with # are commented out, not used. The last version of openrc also had sulogin set as the shell by default, so no change on this upgrade. Did you not have sulogin set in your old rc.conf? Had you changed it yourself? You must have altered something in there at some point or there wouldn't have been a pacnew file in the first place. If you do ls -l /etc/rc.conf* you will see the file's last modification date which may give you some idea when you made the change.

Re: local, netmount etc causes update failure

Reply #7
Code: [Select]
$ pacman -Ql openrc
...
openrc /etc/runlevels/default/local
...
openrc /etc/runlevels/nonetwork/local
...

Lines beginning with # are commented out, not used. The last version of openrc also had sulogin set as the shell by default, so no change on this upgrade. Did you not have sulogin set in your old rc.conf? Had you changed it yourself? You must have altered something in there at some point or there wouldn't have been a pacnew file in the first place. If you do ls -l /etc/rc.conf* you will see the file's last modification date which may give you some idea when you made the change.


No - I never modified that file.

this line is in the new package
rc_shell=/usr/bin/sulogin

Re: local, netmount etc causes update failure

Reply #8
You only get a pacnew file if it's been modified. Someone modified your /etc/rc.conf at some point, causing the md5 sums to not match with the original that was installed.
https://wiki.archlinux.org/title/Pacman/Pacnew_and_Pacsave

That line should be in there, because surely  you want to be able to have a terminal login available on your system if you haven't configured some other means of doing so, or if that was to fail? Type "man sulogin" in a terminal for more details.  ;)

Re: local, netmount etc causes update failure

Reply #9
I also have this problem when updating openrc package

Code: [Select]
error: failed to commit transaction (conflicting files)
openrc: /etc/runlevels/default/local exists in filesystem
openrc: /etc/runlevels/default/netmount exists in filesystem
Errors occurred, no packages were upgraded.


Lots of diffs here but I do not think i ever made these changes...
Code: [Select]
diff /etc/rc.conf /etc/rc.conf.pacnew
10c10
< rc_parallel="YES"
---
> #rc_parallel="NO"
22c22
< #rc_shell=/bin/sh
---
> rc_shell=/usr/bin/sulogin
30c30
< rc_depend_strict="NO"
---
> #rc_depend_strict="YES"
32,33c32
< # rc_hotplug is a list of services that we allow to be hotplugged.
< # By default we do not allow hotplugging.
---
> # rc_hotplug controls which services we allow to be hotplugged.
36,37c35,41
< # This service is intrinsically included in the boot runlevel.
< # To disable services, prefix with a !
---
> # Hotplugged services appear in the "hotplugged" runlevel.
> # If rc_hotplug is set to any value, we compare the name of this service
> # to every pattern in the value, from left to right, and we allow the
> # service to be hotplugged if it matches a pattern, or if it matches no
> # patterns. Patterns can include shell wildcards.
> # To disable services from being hotplugged, prefix patterns with "!".
> #If rc_hotplug is not set or is empty, all hotplugging is disabled.
39,42c43,45
< # This allows net.wlan and any service not matching net.* to be plugged.
< # Example - rc_hotplug="*"
< # This allows all services to be hotplugged
< #rc_hotplug="*"
---
> # This allows net.wlan and any service not matching net.* to be hotplugged.
> # Example - rc_hotplug="!net.*"
> # This allows services that do not match "net.*" to be hotplugged.
78c81
< rc_crashed_start=YES
---
> #rc_crashed_start=YES
88c91
< # Set unicode to YES to turn on unicode support for keyboards and screens.
---
> # Set unicode to NO to turn off unicode support for keyboards and screens.
97,98c100,101
< # afs ceph cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs
< # nfs nfs4 ocfs2 shfs smbfs
---
> # afs ceph cifs coda davfs fuse fuse.glusterfs fuse.sshfs gfs glusterfs lustre
> # ncpfs nfs nfs4 ocfs2 shfs smbfs
116c119,125
< #SSD_NICELEVEL="-19"
---
> # These need to be exported
> #export SSD_NICELEVEL="0"
> # Or the ionice level. The format is class[:data] , just like the
> # --ionice start-stop-daemon parameter.
> #export SSD_IONICELEVEL="0:0"
> # Or the OOM score adjustment.
> #export SSD_OOM_SCORE_ADJ="0"
118a128,130
> # If you are using bash in POSIX mode for your shell, note that the
> # ulimit command uses a block size of 512 bytes for the -c and -f
> # options
143c155
< # This is mainly used for saying which servies do NOT provide net.
---
> # This is mainly used for saying which services do NOT provide net.
146,158c158,160
< ##############################################################################
< # LINUX SPECIFIC OPTIONS
<
< # This is the subsystem type. Valid options on Linux:
< # ""        - nothing special
< # "lxc"     - Linux Containers
< # "openvz"  - Linux OpenVZ
< # "prefix"  - Prefix
< # "uml"     - Usermode Linux
< # "vserver" - Linux vserver
< # "xen0"    - Xen0 Domain
< # "xenU"    - XenU Domain
< # If this is commented out, automatic detection will be used.
---
> # This is the subsystem type.
> # It is used to match against keywords set by the keyword call in the
> # depend function of service scripts.
160c162
< # This should be set to the value representing the environment this file is
---
> # It should be set to the value representing the environment this file is
161a164,182
> # If it is commented out, automatic detection will be used.
> #
> # The list below shows all possible settings as well as the host
> # operating systems where they can be used and autodetected.
> #
> # ""               - nothing special
> # "docker"         - Docker container manager (Linux)
> # "podman"         - Podman container manager (Linux)
> # "jail"           - Jail (DragonflyBSD or FreeBSD)
> # "lxc"            - Linux Containers
> # "openvz"         - Linux OpenVZ
> # "prefix"         - Prefix
> # "rkt"            - CoreOS container management system (Linux)
> # "subhurd"        - Hurd subhurds (to be checked)
> # "systemd-nspawn" - Container created by systemd-nspawn (Linux)
> # "uml"            - Usermode Linux
> # "vserver"        - Linux vserver
> # "xen0"           - Xen0 Domain (Linux and NetBSD)
> # "xenU"           - XenU Domain (Linux and NetBSD)
164,165c185,192
< # This is the number of tty's used in most of the rc-scripts (like
< # consolefont, numlock, etc ...)
---
> # if  you use openrc-init, which is currently only available on Linux,
> # this is the default runlevel to activate after "sysinit" and "boot"
> # when booting.
> #rc_default_runlevel="default"
>
> # on Linux and Hurd, this is the number of ttys allocated for logins
> # It is used in the consolefont, keymaps, numlock and termencoding
> # service scripts.
169c196
< # CGROUPS RESOURCE MANAGEMENT
---
> # LINUX CGROUPS RESOURCE MANAGEMENT
171,174c198,230
< # If you have cgroups turned on in your kernel, this switch controls
< # whether or not a group for each controller is mounted under
< # /sys/fs/cgroup.
< # None of the other options in this section work if this is set to "NO".
---
> # This sets the mode used to mount cgroups.
> # "hybrid" mounts cgroups version 2 on /sys/fs/cgroup/unified and
> # cgroups version 1 on /sys/fs/cgroup.
> # "legacy" mounts cgroups version 1 on /sys/fs/cgroup
> # "unified" mounts cgroups version 2 on /sys/fs/cgroup
> rc_cgroup_mode="unified"
>
> # This is a list of controllers which should be enabled for cgroups version 2
> # when hybrid mode is being used.
> # Controllers listed here will not be available for cgroups version 1.
> #rc_cgroup_controllers=""
>
> # This variable contains the cgroups version 2 settings for your services.
> # If this is set in this file, the settings will apply to all services.
> # If you want different settings for each service, place the settings in
> # /etc/conf.d/foo for service foo.
> # The format is to specify the setting and value followed by a newline.
> # Multiple settings and values can be specified.
> # For example, you would use this to set the maximum memory and maximum
> # number of pids for a service.
> #rc_cgroup_settings="
> #memory.max 10485760
> #pids.max max
> #"
> #
> # For more information about the adjustments that can be made with
> # cgroups version 2, see Documentation/cgroups-v2.txt in the linux kernel
> # source tree.
> #rc_cgroup_settings=""
>
> # This switch controls whether or not cgroups version 1 controllers are
> # individually mounted under
> # /sys/fs/cgroup in hybrid or legacy mode.
177c233,238
< # The following settings allow you to set up values for the cgroup
---
> # The following setting turns on the memory.use_hierarchy setting in the
> # root memory cgroup for cgroups v1.
> # It must be set to yes in this file if you want this functionality.
> #rc_cgroup_memory_use_hierarchy="NO"
>
> # The following settings allow you to set up values for the cgroups version 1
191,192c252,254
< #For more information about the adjustments that can be made with
< #cgroups, see Documentation/cgroups/* in the linux kernel source tree.
---
> # For more information about the adjustments that can be made with
> # cgroups version 1, see Documentation/cgroups-v1/* in the linux kernel
> # source tree.
208a271,273
> # Set the hugetlb controller settings for this service.
> #rc_cgroup_hugetlb=""
>
211a277,279
> # Set the net_cls controller settings for this service.
> #rc_cgroup_net_cls=""
>
215c283,286
< # Set this to YES if yu want all of the processes in a service's cgroup
---
> # Set the pids controller settings for this service.
> #rc_cgroup_pids=""
>
> # Set this to YES if you want all of the processes in a service's cgroup
217,219c288,291
< # This should not be set globally because it kills all of the service's
< # child processes, and most of the time this is undesirable. Please set
< # it in /etc/conf.d/<service>.
---
> # Be aware that setting this to yes means all of a service's
> # child processes will be killed. Keep this in mind if you set this to
> # yes here instead of for the individual services in
> # /etc/conf.d/<service>.
222a295,304
> # If the kernel includes support for cgroup2's cgroup.kill, this is used
> # to reliably teardown the cgroup.
> # If this fails, the process followed in this cleanup is the following:
> # 1. send stopsig (sigterm if it isn't set) to all processes left in the
> # cgroup immediately followed by sigcont.
> # 2. Send sighup to all processes in the cgroup if rc_send_sighup is
> # yes.
> # 3. delay for rc_timeout_stopsec seconds.
> # 4. send sigkill to all processes in the cgroup unless disabled by
> # setting rc_send_sigkill to no.
223a306,319
>
> # If this is yes, we will send sighup to the processes in the cgroup
> # immediately after stopsig and sigcont.
> #rc_send_sighup="NO"
>
> # This is the amount of time in seconds that we delay after sending sigcont
> # and optionally sighup, before we optionally send sigkill to all
> # processes in the # cgroup.
> # The default is 90 seconds.
> #rc_timeout_stopsec="90"
>
> # If this is set to no, we do not send sigkill to all processes in the
> # cgroup.
> #rc_send_sigkill="YES"



Re: local, netmount etc causes update failure

Reply #11
sorry for my late reply - I was asked yesterday but I did not had the time.
shell look normal here.
Ok, just deleting the files will help - I will do so now

Re: local, netmount etc causes update failure

Reply #12
Issue solved, here:
just deleting (moving/renaming) the file local in /etc/runlevels/default helped.

 

Re: local, netmount etc causes update failure

Reply #13
The error comes from the ISO engineering, where we enable the local service. Latest openrc package obviously does the same, so existing installations encounter this minor glitch. We also tweak rc.conf for parallel service startup, which upstream considers experimental but we like to test in production have faith in our users.

[Edit] typo.

Re: local, netmount etc causes update failure

Reply #14
hello,
had the same issue, deleted the 2 files in question, applied the openrc update, and the 2 services were re-added to the default runlevel.

The error comes from the ISO engineering, where we enable the local service. Latest openrc package obviously does the same, so existing installations encounter this minor glitch. We also tweak rc.conf for parallel service startup, which upstream considers experimental but we like to test in production have faith in our users.
[Edit] typo.
of course ! having faith is important :D
and my rc.conf indeed contains 'rc_parallel=YES', since the beginning, and no issue so far.