[opensuse-factory] rsyslog vs. syslog-ng
Hello, No, this e-mail is not about features, as I'm quite biased on the topic, see my signature :-) It's about installation. Right now one needs to fight with the base system and know quite a lot of about how syslog is implented in openSUSE if one wants to run syslog-ng. The problems seems to be, that rsyslog is tied too deeply to the base system: linux-ym5q:/var/log # rpm -e rsyslog error: Failed dependencies: rsyslog is needed by (installed) patterns-openSUSE-base-11.3-30.1.x86_64 If I remove it during installation, it will result in a broken system (at least was so when I last tried). If I remove it later by rpm, it comes back with an upgrade. Which is obviously not a nice situation, considering, that if rsylog is present on the machine, then it is started even if syslog-ng is installed. Even if I set SYSLOG_DAEMON to "syslog-ng" in /etc/sysconfig/syslog, it is set back to "" or "rsyslog" when rsyslog is updated. So right now the only situation when syslog-ng works correctly on openSUSE, when I remove rsyslogd after(!) installation by breaking patterns-openSUSE-base and lock it, so it can't come back. Well, lets say, that it's an ugly solution... I'd like to ask how resolve this situation. I'm quite sure, that rsyslog needs to be removed to patterns-openSUSE-base. But I'm not so sure in the next steps as I'm not (yet) an rpm expert. Could all of the syslog packages provide "syslog" functionality, which is required by the base pattern, and the syslog packages (rsyslog, syslog-ng and syslogd) conflict each other? This way syslog was still required, but only the chosen implementation would be installed on the system. Bye, -- Peter Czanik (CzP) <czanik@balabit.hu> BalaBit IT Security / syslog-ng upstream http://czanik.blogs.balabit.com/ -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Am Freitag 19 November 2010 schrieb Peter Czanik:
I'd like to ask how resolve this situation. I'm quite sure, that rsyslog needs to be removed to patterns-openSUSE-base. But I'm not so sure in the next steps as I'm not (yet) an rpm expert. Could all of the syslog packages provide "syslog" functionality, which is required by the base pattern, and the syslog packages (rsyslog, syslog-ng and syslogd) conflict each other? This way syslog was still required, but only the chosen implementation would be installed on the system.
Make it more speaking than syslog, then I'm all for it - e.g. Provides: syslog-daemon Greetings, Stephan -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Hello, On 11/19/2010 03:07 PM, Stephan Kulow wrote:
Am Freitag 19 November 2010 schrieb Peter Czanik:
I'd like to ask how resolve this situation. I'm quite sure, that rsyslog needs to be removed to patterns-openSUSE-base. But I'm not so sure in the next steps as I'm not (yet) an rpm expert. Could all of the syslog packages provide "syslog" functionality, which is required by the base pattern, and the syslog packages (rsyslog, syslog-ng and syslogd) conflict each other? This way syslog was still required, but only the chosen implementation would be installed on the system.
Make it more speaking than syslog, then I'm all for it - e.g. Provides: syslog-daemon
OK. So, if I understand well, I should prepare a sr for the syslogd's, where all three implementations have: "Provides: syslog-daemon" and have two of this: Conflicts: rsyslog Conflitts: syslog-ng Conflicts: syslogd And you change the requirement in patterns-openSUSE-base from rsyslog to syslog-daemon afterwards. Bye, CzP -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
On Friday 19 November 2010 15:30:04 Peter Czanik wrote:
Hello,
On 11/19/2010 03:07 PM, Stephan Kulow wrote:
Am Freitag 19 November 2010 schrieb Peter Czanik:
I'd like to ask how resolve this situation. I'm quite sure, that rsyslog needs to be removed to patterns-openSUSE-base. But I'm not so sure in the next steps as I'm not (yet) an rpm expert. Could all of the syslog packages provide "syslog" functionality, which is required by the base pattern, and the syslog packages (rsyslog, syslog-ng and syslogd) conflict each other? This way syslog was still required, but only the chosen implementation would be installed on the system.
Make it more speaking than syslog, then I'm all for it - e.g. Provides: syslog-daemon
OK. So, if I understand well, I should prepare a sr for the syslogd's, where all three implementations have: "Provides: syslog-daemon" and have two of this: Conflicts: rsyslog Conflitts: syslog-ng Conflicts: syslogd And you change the requirement in patterns-openSUSE-base from rsyslog to syslog-daemon afterwards.
and add a recommend on rsyslog so that the solver knows to install it by default but you can easily remove it, Andreas -- Andreas Jaeger, Program Manager openSUSE, aj@{novell.com,opensuse.org} Twitter: jaegerandi | Identica: jaegerandi SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) Maxfeldstr. 5, 90409 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
On Fri, 2010-11-19 at 15:30 +0100, Peter Czanik wrote:
=OK. So, if I understand well, I should prepare a sr for the syslogd's, where all three implementations have: "Provides: syslog-daemon" and have two of this: Conflicts: rsyslog Conflitts: syslog-ng Conflicts: syslogd
Instead of conflicting every other package providing systlog-daemon, you could just use: Conflicts: otherproviders(syslog-daemon) This is more future proof and you do not have to mention <n> conflicting packages (the same is used in -branding packages). Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
On 2010-11-19 20:12:47 +0100, Dominique Leuenberger wrote:
On Fri, 2010-11-19 at 15:30 +0100, Peter Czanik wrote:
=OK. So, if I understand well, I should prepare a sr for the syslogd's, where all three implementations have: "Provides: syslog-daemon" and have two of this: Conflicts: rsyslog Conflitts: syslog-ng Conflicts: syslogd
Instead of conflicting every other package providing systlog-daemon, you could just use: Conflicts: otherproviders(syslog-daemon)
This is more future proof and you do not have to mention <n> conflicting packages (the same is used in -branding packages).
i am not sure they need to conflict at all. before you submit those changes you should really test the case where you replace e.g. rsyslog with syslog-ng in a running system. i know when i do that in running system i usually do: 1. edit /etc/sysconfig/syslog but dont save it 2. in a 2nd window stop current syslog so it stops the correct binary 3. save the sysconfig file 4. start the new syslog the only way, I see to make it work with conflicting packages, is to have a symlink to /sbin/syslog-daemon via update-alternatives and always stop/start that binary. but then we would need to make sure that all daemons have the same params and write the same pid file. at the moment the init script sets params per configured value in /etc/sysconfig/syslog. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
On 11/22/2010 02:36 PM, Marcus Rueckert wrote:
On 2010-11-19 20:12:47 +0100, Dominique Leuenberger wrote:
On Fri, 2010-11-19 at 15:30 +0100, Peter Czanik wrote:
=OK. So, if I understand well, I should prepare a sr for the syslogd's, where all three implementations have: "Provides: syslog-daemon" and have two of this: Conflicts: rsyslog Conflitts: syslog-ng Conflicts: syslogd
Instead of conflicting every other package providing systlog-daemon, you could just use: Conflicts: otherproviders(syslog-daemon)
This is more future proof and you do not have to mention <n> conflicting packages (the same is used in -branding packages).
i am not sure they need to conflict at all. I could not figure out what's going wrong in the post install scripts, but SYSLOG_DAEMON is often set to "", which means autodetect. This can be changed to "" even if it was previously manually set to "syslog-ng". So after an update of rsyslog or syslog-ng it goes back to "". If autodetection is used, then rsyslog is choosen over syslog-ng by /etc/init.d/syslog:
# update $SYSLOG_DAEMON if not up-to-date test -n "$SYSLOG_DAEMON" && \ test -x "${BINDIR}/$SYSLOG_DAEMON" || { for SYSLOG_DAEMON in rsyslogd syslog-ng syslogd ; do test -x "${BINDIR}/$SYSLOG_DAEMON" && break done } Maybe a rewrite of the init script and post install scripts could fix it, but I can't find, where to fix it. Maybe put "rsyslogd" last in the line here. As the other syslog daemons are only present if manually selected by the user. But I'd prefer to have only one syslog daemon present on the system. Bye, CzP
before you submit those changes you should really test the case where you replace e.g. rsyslog with syslog-ng in a running system. i know when i do that in running system i usually do:
1. edit /etc/sysconfig/syslog but dont save it 2. in a 2nd window stop current syslog so it stops the correct binary 3. save the sysconfig file 4. start the new syslog
the only way, I see to make it work with conflicting packages, is to have a symlink to /sbin/syslog-daemon via update-alternatives and always stop/start that binary. but then we would need to make sure that all daemons have the same params and write the same pid file. at the moment the init script sets params per configured value in /etc/sysconfig/syslog.
darix
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Hello, on Freitag, 19. November 2010, Peter Czanik wrote:
OK. So, if I understand well, I should prepare a sr for the syslogd's, where all three implementations have: "Provides: syslog-daemon" and have two of this: Conflicts: rsyslog Conflitts: syslog-ng Conflicts: syslogd
This will break when I submit my supercool perfectsyslog package (OK, just joking, that doesn't exist ;-) but you should get the point. IIRC you can use something like Conflicts: otherproviders(syslog-daemon) as used in the *-branding packages. Regards, Christian Boltz --
Ich _habe_ einen vernünftigen Mailer! Und warum benutzt Du ihm nicht? Mach ich gerade. Komisch, bei mir wird angezeigt, daß Du KMail benutzt. [> Manfred Misch und Bernd Brodesser in suse-linux] -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Stephan Kulow wrote:
Am Freitag 19 November 2010 schrieb Peter Czanik:
I'd like to ask how resolve this situation. I'm quite sure, that rsyslog needs to be removed to patterns-openSUSE-base. But I'm not so sure in the next steps as I'm not (yet) an rpm expert. Could all of the syslog packages provide "syslog" functionality, which is required by the base pattern, and the syslog packages (rsyslog, syslog-ng and syslogd) conflict each other? This way syslog was still required, but only the chosen implementation would be installed on the system.
Make it more speaking than syslog, then I'm all for it - e.g. Provides: syslog-daemon
+1. -- Per Jessen, Zürich (3.5°C) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Am Freitag, 19. November 2010 14:29:42 schrieb Peter Czanik:
Hello,
Thanks Peter! # rpm -q syslogd syslog-ng rsyslog syslogd-1.4.1-720.1.x86_64 syslog-ng-3.1.1-4.1.1.x86_64 rsyslog-5.4.0-2.7.x86_64 # rpm -e rsyslog error: Failed dependencies: rsyslog is needed by (installed) patterns-openSUSE-base-11.3-22.1.x86_64 It is not possible to switch to another syslog daemon without to break these RPM deps. I've reported it as bug: Bug 654929 - patterns-openSUSE-base breaks switch from rsyslog to syslog-ng or syslogd Gruesse / Regards, Marius Tomaschewski <mt@suse.de> <mt@novell.com> -- Server Technologies Team, SUSE LINUX Products GmbH, Nuernberg; GF: Markus Rex; HRB 16746 (AG Nuernberg) GPG/PGP public key fingerprint: DF17 271A AD15 006A 5BB9 6C96 CA2F F3F7 373A 1CC0 -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
participants (8)
-
Andreas Jaeger
-
Christian Boltz
-
Dominique Leuenberger
-
Marcus Rueckert
-
Marius Tomaschewski
-
Per Jessen
-
Peter Czanik
-
Stephan Kulow