Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: andere Postinst-Reaktion erzwingen (Debian, Apache)

2 views
Skip to first unread message
Message has been deleted

Benjamin Rampe

unread,
Jun 18, 2009, 10:14:51 AM6/18/09
to
E. Braun schrieb:
> Gegeben: Debian 4.0, mitgelieferter Apache 2.2.3

> Nach manchen Updates von Apachebestandteilen �ber aptitude wird dieser
> "graceful" neu geladen.
> Das will ich nicht, er soll gef�lligst einen echten Stop/Start durchf�hren.

Ein Zusammenspiel von eigener Variante von /etc/init.d/apache2 und
dpkg-divert wahrscheinlich. (Lit.: Krafft - Das Debian System, Kapitel
6.1.3 -- bei mir ausleihbar ;) )

Rein aus Neugier:
Gibt es daf�r einen tieferen Grund? Gab es in der Vergangenheit
Fehlverhalten dadurch?

Bei Konfigurations�nderungen reicht doch ein reload oder force-reload!?
Ich w�rde die Maintainer eher virtuell treten wenn sie einen Apache der
minutenlang zum Neustart braucht unn�tigerweise stoppen...


> Gibt es einen Debian-Weg, dieses Verhalten zu erzwingen, ohne h�ndisch
> Systemdateien zu �ndern, die irgendwann doch wieder �berschrieben werden?

Zumindest Konfigurationsdateien werden nicht einfach �berschrieben, es
sei denn man will das -- Ausnahme ist /etc/motd (dokumentiert,
unabh�ngig von Updates)
Das f�hrt au�erdem, soweit ich das gewohnt bin, zu den �blichen
.dpkg-new und .dpkg-old Exemplaren unter /etc

VG
Benjamin

Jörg Sommer

unread,
Jun 19, 2009, 4:14:57 AM6/19/09
to
Hallo,

Benjamin Rampe <benjami...@gmx.de> schrieb:


> E. Braun schrieb:
>> Gegeben: Debian 4.0, mitgelieferter Apache 2.2.3
>

>> Nach manchen Updates von Apachebestandteilen über aptitude wird dieser
>> "graceful" neu geladen.
>> Das will ich nicht, er soll gefälligst einen echten Stop/Start durchführen.


>
> Ein Zusammenspiel von eigener Variante von /etc/init.d/apache2 und
> dpkg-divert wahrscheinlich.

Nein, nein, tue das nicht. Dpkg-divert mit Konfigurationsdateien – denn
/e/i/apache2 ist eine – kann ins Auge gehen.

Schöne Grüße, Jörg.
--
Wer in einem gewissen Alter nicht merkt, dass er hauptsächlich von
Idioten umgeben ist, merkt es aus einem gewissen Grunde nicht.
(Curt Goetz)

Jörg Sommer

unread,
Jun 19, 2009, 4:20:20 AM6/19/09
to
Hallo E.,

E. Braun <p2h5...@minet.uni-jena.de> schrieb:


> Gegeben: Debian 4.0, mitgelieferter Apache 2.2.3
>
> Nach manchen Updates von Apachebestandteilen über aptitude wird dieser
> "graceful" neu geladen.
> Das will ich nicht, er soll gefälligst einen echten Stop/Start durchführen.

Nur so nebenbei: Warum?

> Gibt es einen Debian-Weg, dieses Verhalten zu erzwingen, ohne händisch
> Systemdateien zu ändern, die irgendwann doch wieder überschrieben werden?

Nein, so direkt nicht. Der graceful‐Restart geschieht über /e/i/apache2
reload. Du könntest das abschalten und mit bei restart dazuschreiben. Das
betrifft dann aber alle Aufrufe von reload, also auch die, die bei der
Rotation der Logs geschehen. Du könntest Dir aber auch etwas basteln,
dass den Befehl von $PPID prüft und daran unterscheidet, ob es ein
restart oder ein reload seinen soll. Wie Benjamin schon schrieb, werden
Deine Änderungen an /e/i/apache2 auch nicht einfach so überschrieben,
denn die Datei ist eine Konfigurationsdatei.

Schöne Grüße, Jörg.
--
“Politics is for the moment, equations are forever”
(Albert Einstein)

Message has been deleted

Jörg Sommer

unread,
Jun 20, 2009, 9:31:43 AM6/20/09
to
Hallo Erik,

E. Braun <p2h5...@minet.uni-jena.de> schrieb:


> Jörg Sommer <jo...@alea.gnuu.de> wrote:
>
>>> Nach manchen Updates von Apachebestandteilen über aptitude wird dieser
>>> "graceful" neu geladen.
>>> Das will ich nicht, er soll gefälligst einen echten Stop/Start durchführen.
>>
>> Nur so nebenbei: Warum?
>

> Ich logge die Zugriffe über eine Pipe in ein ständig laufendes Perlskript,
> welches die Log-Einträge, die bestimmte Nutzer interessieren, in Dateien im
> Heimatverzeichnis dieser Nutzer schreibt. Ab und an nach einem Reload, aber
> leider nicht immer, vergißt das Perlskript dann Filehandles und beschwert
> sich »Can't call method "autoflush" on an undefined value at
> /usr/local/sbin/userlogs line 104.«

Das klingt danach, dass die Pipe nicht korrekt (neu) geöffnet wurde oder
das versucht wird, daraus zu lesen, wenn die Gegenseite sie noch nicht
geöffnet hat. Das passt zu dem graceful‐Restart denn der schließt und
öffnet die Logs, was für logrotate ganz nützlich ja ist. Ohne das
Perl‐Skript habe ich aber keine Idee, was Du anders machen könntest.

Eine andere Idee ist, dies gleich vom Apachen erledigen zu lassen. Mit
SetEnvIf und CustomLog sollte es gehen.

SetEnvIf Request_URI "/~([^/]+)(/|$)" user=$1
CustomLog /home/xxx/logs/access.log common user=xxx
CustomLog /home/yyy/logs/access.log common user=yyy
CustomLog /home/zzz/logs/access.log common user=zzz

http://httpd.apache.org/docs/2.2/logs.html#conditional
http://httpd.apache.org/docs/2.2/mod/mod_setenvif.html#SetEnvIf

Schönes Wochenende, Jörg.
--
The UNIX Guru's View of Sex:
# unzip ; strip ; touch ; finger ; mount ; fsck ; more ; yes ; umount ; sleep

Message has been deleted

Jörg Sommer

unread,
Jun 30, 2009, 4:18:34 AM6/30/09
to
Hallo Erik,

Erik Braun <wa...@tantalus.jena.thur.de> schrieb:


> On 2009-06-20, Jörg Sommer <jo...@alea.gnuu.de> wrote:
>>> »Can't call method "autoflush" on an undefined value at
>>> /usr/local/sbin/userlogs line 104.«
>

> [...]


>> Eine andere Idee ist, dies gleich vom Apachen erledigen zu lassen. Mit
>> SetEnvIf und CustomLog sollte es gehen.
>

> Das ist natürlich eine Idee! Danke!

>
>> SetEnvIf Request_URI "/~([^/]+)(/|$)" user=$1
>> CustomLog /home/xxx/logs/access.log common user=xxx
>> CustomLog /home/yyy/logs/access.log common user=yyy
>> CustomLog /home/zzz/logs/access.log common user=zzz
>

> Das ist auf jeden Fall eleganter als ein ständig laufendes Skript.

Berichte mal, ob das funktioniert. Das war nur so eine Idee von mir.

Schöne Grüße, Jörg.
--
Die am Lautesten reden, haben stets am wenigsten zu sagen.

0 new messages