Yast2 modules don't always load - nohup.out no such file or directory

This is happened to me a few times now, but not consistently enough that I can reproduce it.

Occasionally when I try to open one of the modules they won’t open.

If I start yast2 from the terminal, I will see a “No such file or directory: /var/log/YaST2/nohup.out” error message.

IF I explicitly launch one of the modules – say yast2 dhcp-server – the problem resolves itself… until it reappears.

logging out or rebooting don’t cause the issue to reappear. If I remove /var/log/Yast2/nohup.out after it exists, it will get recreated no

Anyone seen this before? Anyone have any idea of the root cause, and how to ensure it doesn’t come back?

@DI-LL:

First, hello and welcome to the openSUSE Forums.

The YaST directory in /var/log has the following permissions:

 # ls -ld /var/log/YaST2
drwx------ 11 root root 4096  6. Mär 14:39 /var/log/YaST2
 #

The file ‘nohup.out’ has the following characteristics:

 # ls -l /var/log/YaST2/nohup.out
-rw-r--r-- 1 root root 0  6. Mär 14:39 /var/log/YaST2/nohup.out
 # 
 # file /var/log/YaST2/nohup.out
/var/log/YaST2/nohup.out: empty
 #

You seem to be executing YaST from either the user “root” or some other SysAdmin user.

If I remove the file ‘/var/log/YaST2/nohup.out’ and execute “yast2” from a “root” Konsole window, I don’t see any error and, the file isn’t created – until such time as I run one of the YaST Network modules – which then recreates (touches) the file.

Also, there ain’t no related error message in the systemd Journal.


So, the question is, what’s removing the file ‘/var/log/YaST2/nohup.out’?

  • It can only be a system process.

Do you have a system batch job or systemd service which performs housekeeping on the ‘/var/log’ directories?

This is a fairly vanilla install – I’m not aware of anything that should be performing housekeeping on /var/log, I certainly haven’t added anything with that explicit goal.

I was able to restore a snapshot with the issue preserved, and now that I have some idea what I’m looking for, I can report that there is no /var/log/YaST2 directory at all, (which would explain why touch would have failed.)

Which leaves me with 2 questions:

Why isn’t it there / when was it deleted? (I may just have to go through a complete reinstall and set up and audit rule for any activity on that folder.)

Why does invoking a module directly recreate it, but launching yast2 by itself not?

/var/log/YaST2 is owned by package yast2-core. Verify integrity by running rpm -V yast2-core:

erlangen:~ # rpm -V yast2-core 
erlangen:~ # 

As Karl has said, that directory is created by the “yast2-core” package:

 > rpm  -ql yast2-core | grep 'log/YaST2'
/var/log/YaST2
 >

Simply execute, as the user “root”, “zypper install –force yast2-core” to recreate the missing directory.


But, it’s still a mystery as to why that system directory got deleted in the first place.

Please supply us with the following information:

> zypper repos --uri

Once we’ve verified that, your system’s list of openSUSE related repositories is correct, we can give you some hints to check the validity of your system’s installation.

repm -V yast2

missing     /var/log/YaST2

zypper repos --uri

Repository priorities are without effect. All enabled repositories share the same priority.

#  | Alias                       | Name                                                                                        | Enabled | GPG Check | Refresh | URI
---+-----------------------------+---------------------------------------------------------------------------------------------+---------+-----------+---------+------------------------------------------------------------------------
 1 | openSUSE-Leap-15.4-1        | openSUSE-Leap-15.4-1                                                                        | No      | ----      | ----    | cd:/?devices=/dev/disk/by-id/ata-HL-DT-ST_BD-RE_WH16NS40_KEII5GB1022
 2 | repo-backports-debug-update | Update repository with updates for openSUSE Leap debuginfo packages from openSUSE Backports | No      | ----      | ----    | http://download.opensuse.org/update/leap/15.4/backports_debug/
 3 | repo-backports-update       | Update repository of openSUSE Backports                                                     | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/update/leap/15.4/backports/
 4 | repo-debug                  | Debug Repository                                                                            | No      | ----      | ----    | http://download.opensuse.org/debug/distribution/leap/15.4/repo/oss/
 5 | repo-debug-non-oss          | Debug Repository (Non-OSS)                                                                  | No      | ----      | ----    | http://download.opensuse.org/debug/distribution/leap/15.4/repo/non-oss/
 6 | repo-debug-update           | Update Repository (Debug)                                                                   | No      | ----      | ----    | http://download.opensuse.org/debug/update/leap/15.4/oss/
 7 | repo-debug-update-non-oss   | Update Repository (Debug, Non-OSS)                                                          | No      | ----      | ----    | http://download.opensuse.org/debug/update/leap/15.4/non-oss/
 8 | repo-non-oss                | Non-OSS Repository                                                                          | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/distribution/leap/15.4/repo/non-oss/
 9 | repo-oss                    | Main Repository                                                                             | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/distribution/leap/15.4/repo/oss/
10 | repo-sle-debug-update       | Update repository with debuginfo for updates from SUSE Linux Enterprise 15                  | No      | ----      | ----    | http://download.opensuse.org/debug/update/leap/15.4/sle/
11 | repo-sle-update             | Update repository with updates from SUSE Linux Enterprise 15                                | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/update/leap/15.4/sle/
12 | repo-source                 | Source Repository                                                                           | No      | ----      | ----    | http://download.opensuse.org/source/distribution/leap/15.4/repo/oss/
13 | repo-update                 | Main Update Repository                                                                      | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/update/leap/15.4/oss
14 | repo-update-non-oss         | Update Repository (Non-Oss)                                                                 | Yes     | ( p) Yes  | Yes     | http://download.opensuse.org/update/leap/15.4/non-oss/

(Edit: Formatting issues requiring cleanup.)

Thank you – there’s nothing unusual there.

First, execute “rpm --rebuilddb” to clean up any issues which have appeared in the RPM database.

Then, execute “zypper verify” and “rpm --verify --all” to check that the installation is correct.

And, then, “zypper refresh --force” and “zypper patch” and “zypper update” to bring the system up to date.

Then, monitor if the ‘/var/log/YaST2’ directory remains in place – if it disappears then, there’s a system process somewhere which is deleting it …