[opensuse] rpm problems on upgrades
Hi, When one upgrades a package it can happen that you get these configuration files: configfile.rpmnew configfile The idea is that the admin reviews the changes and accepts what he wants. Now, just one example. Package open-iscsi-2.0.873-43.1.x86_64. I get: Telcontar:/etc/iscsi # l total 56 drwxr-xr-x 3 root root 4096 Dec 26 14:56 ./ drwxr-xr-x 214 root root 20480 Dec 27 13:36 ../ drwxr-xr-x 2 root root 4096 Nov 9 10:49 ifaces/ -rw------- 1 root root 421 Dec 26 14:57 initiatorname.iscsi -rw-r--r-- 1 root root 11955 Oct 28 21:12 iscsid.conf -rw------- 1 root root 11955 Nov 25 08:30 iscsid.conf.rpmnew Telcontar:/etc/iscsi # diff iscsid.conf iscsid.conf.rpmnew Telcontar:/etc/iscsi # See? The old and the new files are exactly the same one. IMHO, rpm should directly and perhaps silently replace the old file. On many other cases, the config file has not being changed by the admin (a fact that 'rpm' knows), settings at defaults, but the update still leaves the old and the new file. I think that also in this case rpm can replace the config file. -- Cheers / Saludos, Carlos E. R. (from 42.2 x86_64 "Malachite" at Telcontar) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Am Dienstag, 27. Dezember 2016, 15:15:39 CET schrieb Carlos E. R.:
[...] -rw-r--r-- 1 root root 11955 Oct 28 21:12 iscsid.conf -rw------- 1 root root 11955 Nov 25 08:30 iscsid.conf.rpmnew [...] See? The old and the new files are exactly the same one. [...]
In fact, they are not: their permissions differ. Gruß Jan -- The man who invented the guillotine died under it's knife. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 2016-12-27 15:25, Jan Ritzerfeld wrote:
Am Dienstag, 27. Dezember 2016, 15:15:39 CET schrieb Carlos E. R.:
[...] -rw-r--r-- 1 root root 11955 Oct 28 21:12 iscsid.conf -rw------- 1 root root 11955 Nov 25 08:30 iscsid.conf.rpmnew [...] See? The old and the new files are exactly the same one. [...]
In fact, they are not: their permissions differ.
That's just an example. There were dozens more, with the same permissions. As there is no log file one can read and see what the difference is, it is lost from attention. -- Cheers / Saludos, Carlos E. R. (from 42.2 x86_64 "Malachite" at Telcontar) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
27.12.2016 17:28, Carlos E. R. пишет:
On 2016-12-27 15:25, Jan Ritzerfeld wrote:
Am Dienstag, 27. Dezember 2016, 15:15:39 CET schrieb Carlos E. R.:
[...] -rw-r--r-- 1 root root 11955 Oct 28 21:12 iscsid.conf -rw------- 1 root root 11955 Nov 25 08:30 iscsid.conf.rpmnew [...] See? The old and the new files are exactly the same one. [...]
In fact, they are not: their permissions differ.
That's just an example. There were dozens more, with the same permissions.
Show at least one of them.
As there is no log file one can read and see what the difference is, it is lost from attention.
It has been this way forever. There is etc-update, there is rpmconf, may be more. It could be interesting to integrate one of them with zypper/YaST. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 2016-12-27 18:12, Andrei Borzenkov wrote:
27.12.2016 17:28, Carlos E. R. пишет:
On 2016-12-27 15:25, Jan Ritzerfeld wrote:
Am Dienstag, 27. Dezember 2016, 15:15:39 CET schrieb Carlos E. R.:
[...] -rw-r--r-- 1 root root 11955 Oct 28 21:12 iscsid.conf -rw------- 1 root root 11955 Nov 25 08:30 iscsid.conf.rpmnew [...] See? The old and the new files are exactly the same one. [...]
In fact, they are not: their permissions differ.
That's just an example. There were dozens more, with the same permissions.
Show at least one of them.
Well, this is from my backup: Telcontar:~/Upgrades/Del_13.1_al_42.2 # tree -p -u -g -s . ├── [drwxr-xr-x root root 4096] etc │ ├── [-rw-r--r-- root root 18] HOSTNAME.rpmsave │ ├── [drwxr-xr-x root root 4096] NetworkManager │ │ ├── [-rw-r--r-- root root 87] NetworkManager.conf │ │ └── [-rw-r--r-- root root 85] NetworkManager.conf.rpmnew │ ├── [-rw-r--r-- root root 39156] amavisd.conf │ ├── [-rw-r--r-- root root 36458] amavisd.conf.rpmnew │ ├── [drwxr-xr-x root root 4096] apache2 │ │ ├── [-rw-r--r-- root root 1364] mod_userdir.conf │ │ └── [-rw-r--r-- root root 1504] mod_userdir.conf.rpmnew │ ├── [drwxr-xr-x root root 4096] apparmor.d │ │ ├── [-rw-r--r-- root root 939] 5 │ │ ├── [-rw-r--r-- root root 1567] usr.lib.colord.rpmsave │ │ ├── [-rw-r--r-- root root 2593] usr.lib.dovecot.dovecot-lda.rpmnew │ │ ├── [-rw-r--r-- root root 913] usr.lib.dovecot.dovecot-lda~ │ │ ├── [-rw-r--r-- root root 1022] usr.lib.dovecot.imap │ │ ├── [-rw-r--r-- root root 1127] usr.lib.dovecot.imap.rpmnew │ │ ├── [-rw-r--r-- root root 1725] usr.sbin.dovecot │ │ ├── [-rw-r--r-- root root 1995] usr.sbin.dovecot.rpmnew │ │ └── [-rw-r--r-- root root 2267] usr.sbin.dovecot~ │ ├── [-rw-r--r-- root root 71] capi.conf.SuSEconfig.saved │ ├── [-rw-r--r-- root root 3696] checkinstallrc.rpmsave │ ├── [-rw-r--r-- root root 21205] clamd.conf │ ├── [-rw-r--r-- root root 21979] clamd.conf.rpmnew │ ├── [drwxr-xr-x root root 4096] cron.daily │ │ ├── [-rwxr-xr-x root root 912] suse.cron-sa-update │ │ └── [-rwxr-xr-x root root 881] suse.cron-sa-update.rpmnew │ ├── [drwxr-xr-x root root 4096] cups │ │ ├── [-rw-r----- root lp 5921] cupsd.conf │ │ └── [-rw-r----- root lp 6244] cupsd.conf.rpmnew │ ├── [drwxr-xr-x root root 4096] default │ │ ├── [-rw-r--r-- root root 1405] grub.old │ │ ├── [-rw-r--r-- root root 1392] grub.rpmnew │ │ ├── [-rw-r--r-- root root 2047] passwd │ │ └── [-rw-r--r-- root root 1870] passwd.rpmnew │ ├── [drwxr-xr-x root root 4096] dovecot │ │ ├── [drwxr-xr-x root root 4096] conf.d │ │ │ ├── [-rw-r--r-- root root 5296] 10-auth.conf │ │ │ ├── [-rw-r--r-- root root 5369] 10-auth.conf.rpmsave │ │ │ ├── [-rw-r--r-- root root 2805] 10-logging.conf │ │ │ ├── [-rw-r--r-- root root 2781] 10-logging.conf.rpmsave │ │ │ ├── [-rw-r--r-- root root 15901] 10-mail.conf │ │ │ ├── [-rw-r--r-- root root 15349] 10-mail.conf.rpmsave │ │ │ ├── [-rw-r--r-- root root 2326] 10-ssl.conf │ │ │ ├── [-rw-r--r-- root root 2197] 10-ssl.conf.rpmsave │ │ │ ├── [-rw-r--r-- root root 3295] 20-imap.conf │ │ │ ├── [-rw-r--r-- root root 2532] 20-imap.conf.rpmsave │ │ │ └── [drwxr-xr-x root root 4096] old │ │ │ ├── [-rw-r--r-- root root 5329] 10-auth.conf.rpmsave │ │ │ ├── [-rw-r--r-- root root 2703] 10-logging.conf.rpmsave │ │ │ ├── [-rw-r--r-- root root 15349] 10-mail.conf.rpmsave │ │ │ ├── [-rw-r--r-- root root 1917] 10-ssl.conf.rpmsave │ │ │ └── [-rw-r--r-- root root 2554] 20-imap.conf.rpmsave │ │ ├── [-rw-r--r-- root root 4380] dovecot.conf │ │ └── [-rw-r--r-- root root 4181] dovecot.conf.rpmsave │ ├── [-rwxr-xr-x root root 25170] festival.scm │ ├── [-rw-r--r-- root root 24262] festival.scm.rpmnew │ ├── [-rw------- root root 80] fetchmailrc.YaST2.save │ ├── [-rw-r--r-- root root 3250] inittab.rpmsave │ ├── [-rw-r--r-- root root 3079] inittab~ │ ├── [drwxr-xr-x root root 4096] iscsi │ │ ├── [-rw-r--r-- root root 11955] iscsid.conf │ │ └── [-rw------- root root 11955] iscsid.conf.rpmnew │ ├── [drwxr-xr-x root root 4096] lirc │ │ ├── [-rw-r--r-- root root 11170] lircd.conf │ │ └── [-rw-r--r-- root root 313] lircd.conf.rpmnew │ ├── [-rw-r--r-- root root 11170] lircd.conf.YaST2save │ ├── [drwxr-xr-x root root 4096] mail │ │ └── [drwxr-xr-x root root 4096] spamassassin │ │ ├── [-rw-r--r-- root root 1367] init.pre │ │ └── [-rw-r--r-- root root 1289] init.pre.rpmnew │ ├── [-rw-r--r-- root root 5495] mailcap.rpmsave │ ├── [drwxr-xr-x root root 4096] modprobe.d │ │ ├── [-rw-r--r-- root root 5009] 50-blacklist.conf │ │ ├── [-rw-r--r-- root root 6069] 50-blacklist.conf.rpmsave │ │ └── [-rw-r--r-- root root 170] 50-sound.conf.YaST2save │ ├── [-rw-r----- root mysql 3602] my.cnf │ ├── [-rw-r----- root mysql 3367] my.cnf.rpmnew │ ├── [-rw-r--r-- root named 6162] named.conf │ ├── [-rw-r--r-- root named 4891] named.conf.rpmnew │ ├── [-rw-r--r-- root ntp 5452] ntp.conf │ ├── [-rw-r----- root ntp 2964] ntp.conf.rpmnew │ ├── [drwxr-xr-x root root 4096] pam.d │ │ ├── [-rw-r--r-- root root 380] common-account.rpmnew │ │ ├── [-rw-r--r-- root root 482] common-session.rpmnew │ │ ├── [-rw-r--r-- root root 419] login │ │ ├── [-rw-r--r-- root root 419] login.old │ │ └── [-rw-r--r-- root root 302] login.rpmnew │ ├── [-rw-r--r-- root root 3904] permissions.local │ ├── [-rw-r--r-- root root 1558] permissions.local.rpmnew │ ├── [drwxr-xr-x root root 4096] postfix │ │ ├── [-rw-r--r-- root root 26545] access │ │ ├── [-rw-r--r-- root root 21006] access.rpmnew │ │ ├── [-rw-r--r-- root root 29814] header_checks │ │ ├── [-rw-r--r-- root root 21548] header_checks.rpmnew │ │ ├── [-rw-r--r-- root root 34183] main.cf │ │ ├── [-rw-r--r-- root root 122] main.cf.default │ │ ├── [-rw-r--r-- root root 30370] main.cf.rpmnew │ │ ├── [-rw-r--r-- root root 11463] master.cf │ │ ├── [-rw-r--r-- root root 7597] master.cf.rpmnew │ │ ├── [-rw-r--r-- root root 13323] virtual │ │ └── [-rw-r--r-- root root 12510] virtual.rpmnew │ ├── [drwxr-xr-x root root 4096] profile.d │ │ ├── [-rw-r--r-- root root 1961] lang.sh │ │ └── [-rw-r--r-- root root 1693] lang.sh.rpmsave │ ├── [drwxr-xr-x root root 4096] pulse │ │ ├── [-rw-r--r-- root root 1285] client.conf │ │ └── [-rw-r--r-- root root 1201] client.conf.rpmnew │ ├── [-rw------- root root 36976] rsyslog.conf │ ├── [-rw------- root root 4049] rsyslog.conf.original │ ├── [-rw------- root root 4494] rsyslog.conf.rpmnew │ ├── [-rw-r--r-- root root 65] scrollkeeper.conf.rpmsave │ ├── [drwxr-xr-x root root 4096] security │ │ ├── [-rw-r--r-- root root 41] fileshare.conf.rpmsave │ │ ├── [-rw------- root root 2003] limits.conf │ │ └── [-rw-r--r-- root root 2044] limits.conf.rpmnew │ ├── [-rw-r----- root root 2769] shadow.ANTERIOR │ ├── [drwxr-xr-x root root 4096] speech-dispatcher │ │ ├── [-rw-r--r-- root root 9811] speechd.conf │ │ └── [-rw-r--r-- root root 9725] speechd.conf.rpmnew │ ├── [drwxr-xr-x root root 4096] ssh │ │ ├── [-rw-r----- root root 4490] sshd_config │ │ └── [-rw-r----- root root 4142] sshd_config.rpmnew │ ├── [drwxr-xr-x root root 4096] ssl │ │ ├── [-rw-r--r-- root root 10860] openssl.cnf │ │ ├── [-rw-r--r-- root root 9374] openssl.cnf.original │ │ └── [-rw-r--r-- root root 10835] openssl.cnf.rpmnew │ ├── [-r--r----- root root 5206] sudoers │ ├── [-r--r----- root root 3120] sudoers.rpmnew │ ├── [-rw-r--r-- root root 2331] suspend.conf.rpmsave │ ├── [drwxr-xr-x root root 4096] systemd │ │ ├── [-rw-r--r-- root root 938] journald.conf │ │ ├── [-rw-r--r-- root root 1011] journald.conf.rpmnew │ │ ├── [-rw-r--r-- root root 1015] user.conf │ │ └── [-rw-r--r-- root root 1127] user.conf.rpmnew │ ├── [drwxr-xr-x root root 4096] texmf │ │ └── [drwxr-xr-x root root 4096] web2c │ │ ├── [-rw-r--r-- root root 4523] fmtutil.cnf │ │ ├── [-rw-r--r-- root root 4918] fmtutil.cnf.rpmnew │ │ ├── [-rw-r--r-- root root 8479] updmap.cfg │ │ └── [-rw-r--r-- root root 8531] updmap.cfg.rpmsave │ ├── [drwxr-xr-x root root 4096] ups │ │ ├── [-rw-rw---- mysql mysql 2048] nut.conf │ │ ├── [-rw-r--r-- root root 1538] nut.conf.rpmnew │ │ ├── [-rw-r--r-- root root 3740] ups.conf │ │ ├── [-rw-r--r-- root root 3831] ups.conf.rpmsave │ │ ├── [-rw-r--r-- root root 3819] ups.conf~ │ │ ├── [-rw------- upsd root 2277] upsd.users │ │ ├── [-rw------- upsd root 2116] upsd.users.rpmsave │ │ ├── [-rw------- upsd root 15179] upsmon.conf.rpmnew │ │ ├── [-rw------- upsd root 12255] upsmon.conf.rpmsave │ │ ├── [-rw------- root root 12586] upsmon.conf~ │ │ ├── [-rw-r--r-- root root 1420] upsset.conf │ │ ├── [-rw-r--r-- root root 1416] upsset.conf.rpmsave │ │ └── [-rw-r--r-- root root 1420] upsset.conf~ │ ├── [-rw------- root root 7732] vsftpd.conf │ ├── [-rw------- root root 7549] vsftpd.conf.rpmnew │ ├── [-rw-r--r-- root root 1363] wodim.conf.rpmsave │ ├── [drwxr-xr-x root root 4096] xinetd.d │ │ ├── [-rw-r--r-- root root 276] swat.rpmsave │ │ ├── [-rw------- root root 850] vsftpd │ │ └── [-rw------- root root 916] vsftpd.rpmnew │ ├── [drwxr-xr-x root root 4096] xml │ │ ├── [-rw-r--r-- root root 368] catalog.rpmsave │ │ └── [-rw-r--r-- root root 3601] catalog.tmp │ └── [drwxr-xr-x root root 4096] zypp │ ├── [-rw-r--r-- root root 16205] zypp.conf │ └── [-rw-r--r-- root root 19578] zypp.conf.rpmnew └── [drwxr-xr-x root root 4096] usr ├── [drwxr-xr-x root root 4096] lib64 │ ├── [drwxr-xr-x root root 4096] jvm │ │ └── [drwxr-xr-x root root 4096] java-1.7.0-openjdk-1.7.0 │ │ └── [drwxr-xr-x root root 4096] jre │ │ └── [drwxr-xr-x root root 4096] lib │ │ └── [drwxr-xr-x root root 4096] security │ │ ├── [-rw-r--r-- root root 18135] java.security │ │ └── [-rw-r--r-- root root 24409] java.security.rpmnew │ └── [drwxr-xr-x root root 4096] libreoffice │ └── [drwxr-xr-x root root 4096] share │ └── [drwxr-xr-x root root 4096] psprint │ ├── [-rw-r--r-- root root 4042] psprint.conf │ └── [-rw-r--r-- root root 6966] psprint.conf.rpmsave └── [drwxr-xr-x root root 4096] share └── [drwxr-xr-x root root 4096] kde4 └── [drwxr-xr-x root root 4096] config └── [drwxr-xr-x root root 4096] kdm ├── [-rw-r--r-- root root 23069] kdmrc └── [-rw-r--r-- root root 23068] kdmrc.rpmnew 44 directories, 144 files Telcontar:~/Upgrades/Del_13.1_al_42.2 # My procedure is to run 'rcrpmconfigcheck' to get the list of config files pending review, navigate to each one using 'mc', make a backup of each one plus the active config, then run 'meld' with both files as parameters (from inside 'mc'), to copy new entries from the rpmnew into the active file. Finally, delete the rpmnew file. This procedure will not detect a change of permissions: that I detected after posting the OP. It simply detects new/changed entries to the files. And I often notice two things: both old and new files are the same, and when not, both versions are the original versions that came with the rpm at the time, unmodified by the admin, so that they can be replaced without bothering the administrator (perhaps dropping a note with the diff somewhere). Few files are modified versions, and often those modifications are simply cosmetic (an space added/removed, a typo detected and corrected...) It is a lot of work to compare all those config files and apply the changes. Maybe something can be done. -- Cheers / Saludos, Carlos E. R. (from 42.2 x86_64 "Malachite" at Telcontar)
28.12.2016 06:36, Carlos E. R. пишет:
On 2016-12-27 18:12, Andrei Borzenkov wrote:
27.12.2016 17:28, Carlos E. R. пишет:
On 2016-12-27 15:25, Jan Ritzerfeld wrote:
Am Dienstag, 27. Dezember 2016, 15:15:39 CET schrieb Carlos E. R.:
[...] -rw-r--r-- 1 root root 11955 Oct 28 21:12 iscsid.conf -rw------- 1 root root 11955 Nov 25 08:30 iscsid.conf.rpmnew [...] See? The old and the new files are exactly the same one. [...]
In fact, they are not: their permissions differ.
That's just an example. There were dozens more, with the same permissions.
Show at least one of them.
Well, this is from my backup:
Telcontar:~/Upgrades/Del_13.1_al_42.2 # tree -p -u -g -s
I have no idea how it formats output, but most of those lines have at least one difference. I'm not going to check every one for you, nor is this output actually useful because it does not show all file properties that are possibly checked by RPM. Show one file that you say is identical.
On 2016-12-28 05:05, Andrei Borzenkov wrote:
28.12.2016 06:36, Carlos E. R. пишет:
Well, this is from my backup:
Telcontar:~/Upgrades/Del_13.1_al_42.2 # tree -p -u -g -s
I have no idea how it formats output, but most of those lines have at least one difference. I'm not going to check every one for you, nor is this output actually useful because it does not show all file properties that are possibly checked by RPM.
Show one file that you say is identical.
How? Manually? Ie, visually, one by one? Took about two hours to process the first time... Like you, I don't have a tool to find that out. -- Cheers / Saludos, Carlos E. R. (from 42.2 x86_64 "Malachite" at Telcontar)
28.12.2016 07:18, Carlos E. R. пишет:
On 2016-12-28 05:05, Andrei Borzenkov wrote:
28.12.2016 06:36, Carlos E. R. пишет:
Well, this is from my backup:
Telcontar:~/Upgrades/Del_13.1_al_42.2 # tree -p -u -g -s
I have no idea how it formats output, but most of those lines have at least one difference. I'm not going to check every one for you, nor is this output actually useful because it does not show all file properties that are possibly checked by RPM.
Show one file that you say is identical.
How? Manually? Ie, visually, one by one?
It was your statement that there were dozens identical files. I assume you had some means to identify them before making such statement.
Took about two hours to process the first time...
Like you, I don't have a tool to find that out.
On 2016-12-28 05:32, Andrei Borzenkov wrote:
28.12.2016 07:18, Carlos E. R. пишет:
How? Manually? Ie, visually, one by one?
It was your statement that there were dozens identical files. I assume you had some means to identify them before making such statement.
Well, the fact that I used: meld config_file.rpmnew config_file on the entire list. That list is the backup, I used the original. And it took hours to do. I ask you to simply believe me. And I tell you what I found out: * several instances were cosmetic changes in the comments, like white space or spell check. * a few appeared the same as viewed in meld. On other cases the "config_file" is the original config file unmodified by the administrator, so I propose that these files can be replaced by the config_file.rpmnew silently. Or, instead renamed as config_file.rpmold and the new file activated. -- Cheers / Saludos, Carlos E. R. (from 42.2 x86_64 "Malachite" at Telcontar)
Am Dienstag, 27. Dezember 2016, 15:28:03 CET schrieb Carlos E. R.:
On 2016-12-27 15:25, Jan Ritzerfeld wrote: [...]
In fact, they are not: their permissions differ.
That's just an example.
Providing examples which are not that obviously wrong would be extremely helpful.
There were dozens more, with the same permissions.
And same size, digest, type, owner and group?
As there is no log file one can read and see what the difference is, it is lost from attention.
What is your point? You have known "rcrpmconfigcheck" since 2010: https://lists.opensuse.org/opensuse/2010-07/msg00541.html Gruß Jan -- The first rule of intelligent tinkering is to save all the parts. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (3)
-
Andrei Borzenkov
-
Carlos E. R.
-
Jan Ritzerfeld