Moin,
ich habe folgendes Problem:
Ich möchte, dass während des Bootvorgangs gewisse Kernelparameter gesetzt werden.
Laut verschiedenster Mailinglisten macht man dies am besten über Einträge in /etc/sysctl.conf und dem Hinzufügen von /etc/init.d/boot.sysctl zum Bootablauf.
Beides hab ich getan.
Nach dem Reboot jedoch sind die Parameter, die ich ändern möchte, immer noch mit ihren alten Werten versehen.
Führe ich nun ein sysctl -p als root aus, werden die Werte geändert und alles funktioniert so wie ich es möchte.
Ändere ich den Wert eines bereits vorhanden Parameters in der sysctl.conf, wird dieser Wert beim nächsten Neustart ebenfalls übernommen.
Hier ist meine sysctl.conf (die letzten drei Zeilen hab ich hinzugefügt):
Und hier ist noch ein Ausschnitt aus der /var/log/boot.msg der zeigt, dass boot.sysctl auch ausgeführt wird (siehe letzte Zeile):
Wenn ich zum Beispiel in /etc/init.d/boot.local die Zeilen:
echo "0" > /proc/sys/net/ipv4/conf/all/log_martians
echo "0" > /proc/sys/net/ipv4/conf/eth0/log_martians
eintrage, werden die Werte beim Boot ebenfalls korrekt gesetzt.
Testweise habe ich aus dem boot.sysctl init-Skript die -q -e Parameter für den sysctl Aufruf entfernt (verhindern Konsolen Output des Programms) und im Boot Log erscheinen diese Einträge
Also werden die Werte wie gewollt gesetzt, der konkrete Inhalt der jeweiligen Dateien bleibt jedoch weiterhin bei "1".
Im Novell Bugtracker habe ich keinen zutreffenden Bug gefunden. Ist der Fehler also auf meiner Seite oder ist das Problem bisher niemandem aufgefallen?
Edit: Ich benutze OpenSuse 11.3. Bei dem Rechner handelt es sich um eine mit Xen 4.0 erstellte DomU
ich habe folgendes Problem:
Ich möchte, dass während des Bootvorgangs gewisse Kernelparameter gesetzt werden.
Laut verschiedenster Mailinglisten macht man dies am besten über Einträge in /etc/sysctl.conf und dem Hinzufügen von /etc/init.d/boot.sysctl zum Bootablauf.
Beides hab ich getan.
Nach dem Reboot jedoch sind die Parameter, die ich ändern möchte, immer noch mit ihren alten Werten versehen.
Führe ich nun ein sysctl -p als root aus, werden die Werte geändert und alles funktioniert so wie ich es möchte.
Ändere ich den Wert eines bereits vorhanden Parameters in der sysctl.conf, wird dieser Wert beim nächsten Neustart ebenfalls übernommen.
Hier ist meine sysctl.conf (die letzten drei Zeilen hab ich hinzugefügt):
Code:
# Disable response to broadcasts.
# You don't want yourself becoming a Smurf amplifier.
net.ipv4.icmp_echo_ignore_broadcasts = 1
# enable route verification on all interfaces
net.ipv4.conf.all.rp_filter = 1
# disable IPv6 completely
# net.ipv6.conf.all.disable_ipv6 = 1
# enable IPv6 forwarding
#net.ipv6.conf.all.forwarding = 1
# increase the number of possible inotify(7) watches
fs.inotify.max_user_watches = 65536
# avoid deleting secondary IPs on deleting the primary IP
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
# disable martian logging
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.eth0.log_martians = 0
Und hier ist noch ein Ausschnitt aus der /var/log/boot.msg der zeigt, dass boot.sysctl auch ausgeführt wird (siehe letzte Zeile):
Code:
<notice -- Sep 10 08:17:13.740636000> service boot.localfs done<notice -- Sep 10 08:17:13.741547000> service boot.cleanup start<notice -- Sep 10 08:17:13.741985000> service boot.cycle start<notice -- Sep 10 08:17:13.742375000> service boot.klog start<notice -- Sep 10 08:17:13.742788000> service boot.localnet start<notice -- Sep 10 08:17:13.743213000> service boot.proc start<notice -- Sep 10 08:17:13.743659000> service boot.swap start<notice -- Sep 10 08:17:13.744227000> service boot.sysctl start<notice -- Sep 10 08:17:13.794145000> service boot.proc done<notice -- Sep 10 08:17:13.794244000> service boot.udev_retry start<notice -- Sep 10 08:17:13.799725000> service boot.cycle doneSetting current sysctl status from /etc/sysctl.confdone
Wenn ich zum Beispiel in /etc/init.d/boot.local die Zeilen:
echo "0" > /proc/sys/net/ipv4/conf/all/log_martians
echo "0" > /proc/sys/net/ipv4/conf/eth0/log_martians
eintrage, werden die Werte beim Boot ebenfalls korrekt gesetzt.
Testweise habe ich aus dem boot.sysctl init-Skript die -q -e Parameter für den sysctl Aufruf entfernt (verhindern Konsolen Output des Programms) und im Boot Log erscheinen diese Einträge
Code:
Setting current sysctl status from /etc/sysctl.confnet.ipv4.icmp_echo_ignore_broadcasts= 1
net.ipv4.conf.all.rp_filter = 1
fs.inotify.max_user_watches = 65536
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.eth0.log_martians = 0
Im Novell Bugtracker habe ich keinen zutreffenden Bug gefunden. Ist der Fehler also auf meiner Seite oder ist das Problem bisher niemandem aufgefallen?
Edit: Ich benutze OpenSuse 11.3. Bei dem Rechner handelt es sich um eine mit Xen 4.0 erstellte DomU