HI
Habe da mal eine Frage auf meiner Hompage Biete ich 2 Skripte für Linux Newbies an, sind Installations- Routinen für VDR unter Linux, so da sind 3 Sachen drinnen die werden mit dem echo befehl in 3 Files geschrieben jeweils am ende von den betreffenden Files die da wären
boot.local
inittab
modules.conf
Per Echo lasse ich da was eintragen was für VDR und LIRC / UDMA Modus usw wichtig ist.
Aber darum geht es nicht.
Nun wenn man das erste mal installiert sind die Einträge sauber gesetzt worden, aber bei jeder weiteren Installation sind dann logischer weise die Einträge doppelt bsp 10 Installationen macht 10 Einträge und dadurch bootet Linux etwas langsamer weil er den ganzen Pfeffer auslesen muss.
Deshalb meine Frage im Moment schaut der Befehl zbs einfach nur so aus :
## WRITE boot.local ###################
echo "## Einschalten den DMA-Modus für das DVD Laufwerk
/sbin/hdparm -d 1 /dev/dvd
## Modul für LIRC laden und den LIRC-Daemon starten
/sbin/modprobe lirc_serial
/usr/local/sbin/lircd" >> /etc/init.d/boot.local
Giebt es eine Möglichkeit den Eintrag falls vorhanden von der Erst Installation einfach zu löschen, oder eine Abfrage etwa nach dem MOTTO:
Sind die Zeilen schon vorhanden wenn ja keinen Eintrag oder so was in der Art.
Sollte doch möglich sein oder was meinen die Coder?
Mit freundlichen Grüßen BASHY
BASHY’s VDR FAN PAGE
http://home.pages.at/bashy or http://www.gexgo.net/members/bashy
Linux 15.068 Themen, 107.492 Beiträge
Was willst du genau wohin schreiben und wieso?
Eigentlich musst du die Sachen in die modules.conf nur einmal schreiben, dieses geschieht dann auch permanent. Wenn du bei jedem Start wieder ein Installationsscript aufrufst ist doch klar das er den ganzen Mist wieder in die Files reinwürgt.
Wenn du einen Daemon starten willst, dann tu das bitte mit einem Eintrag in /etc/init.d/rcX.d/ dann wird er automatisch beim Systemstart hochgefahren.
Auch ein einschalten des DMA-Modus ist eine reine Daemonangelegenheit die sich mit dem entsprechenden Aufruf machen laesst.
Grüße
Kirin
HI
Jo ist mir schon klaro das man es über einen Daemon realisieren kann aber es geht doch auch mit den besagten Files. Siehe
http://home.t-online.de/home/hubertus.sandmann
Warum soll ich nun was anderes drauß machen, wenn die beste Anleitung die im www rumgeistert es auch so realisiert?
Somit hat mir Deine Antwort nicht wirklich geholfen.
MFG BASHY
Sorry
Stimmt Kirin hast recht das geht besser Dein vorschlag wie 1000de Einträge über all verstreut.
Deshalb kommen auch gleich ein paar Fragen.
Zum Beispiel schaut für vdradmind das file so aus
#!/bin/sh
#
# /etc/init.d/vdradmind
#
#
# Einfaches System-V Init-Script für vdradmin
# zur Websteuerung des VDR-Rechners
#
case "$1" in
start)
echo -n "Vdradmin wird gestartet: "
/usr/local/src/vdradmin-0.13/vdradmind.pl
;;
stop)
echo "Vdradmin wird beendet"
/usr/local/src/vdradmin-0.13/vdradmind.pl --kill
;;
*)
echo "Tut uns leid: Es geht nur 'start' oder 'stop'"
;;
esac
runlevels anlegen dann so
chmod +x /etc/init.d/vdradmind
cd /etc/init.d/rc2.d
ln -s ../vdradmind S20vdradmind
ln -s ../vdradmind K20vdradmind
cd /etc/init.d/rc3.d
ln -s ../vdradmind S20vdradmind
ln -s ../vdradmind K20vdradmind
cd /etc/init.d/rc5.d
ln -s ../vdradmind S20vdradmind
ln -s ../vdradmind K20vdradmind
Ok für Lirc habe ich auch schon was gefunden aber für
„Einschalten den DMA-Modus für das DVD Laufwerk“
und das
----------/modules.conf>---------.
alias char-major-61 lirc_serial
habe ich noch keinen Ansatz wie ich das über deamaon regeln soll.
Kannst Du helfen?
Mit freundlichen Grüßen BASHY
Der alias char-major-61 lirc_serial kommt in die /etc/modules.conf und fuer den hdparm-modus schreibst du dir ein script wie da oben. Bei mir steht drin:
blabla
case "$1" in
start)
echo -n "Starting hdparm..."
loadproc /usr/local/sbin/hdparm -c1 -m 16 -u1 /dev/hdc
blabla
Fuer Loadproc muust du natuerlich das entsprechende von deiner Distri einbauen, bei suse ist das glaube ich startproc. Und die Optionen musst du dir Anhand von
man hdparm
zusammensuchen
Dann verlinkst du das wieder wie oben, fertig.
Bye, Klaus
Hi
Danke ersteinmal ob ich das raffe .... ich wusle selbst erst ein dreiviertel jahr mit tux rum.
Würde dann laut Deinen Angaben so ausschauen weil es geht um das DVD Drive
#!/bin/sh
#
case "$1" in
start)
echo -n "DMA-Modus für das DVD Laufwerk "
loadproc /usr/local/sbin/hdparm -c1 -m 16 -u1 /dev/dvd
;;
esac
Damit bin ich allerdings jetzt schon überfordert :
Fuer Loadproc mußt du natuerlich das entsprechende von deiner Distri einbauen, bei suse ist das glaube ich startproc. Und die Optionen musst du dir Anhand von
man hdparm zusammensuchen.
Danke für die Hilfe.
MFG BASHY
Warum? du musst doch nur die Optionen nach dem hdparm anpassen, also c1 m 16 und u1. Schau dir anhand der Manpage an, was die machen und dann entscheidest du, ob du die so setzen kannst (garantiert nicht) und welche du sonst noch nehmen kannst.
Nimm doch einfach ein vorhandenes script, kopiere das, benenne es um und dann schreibst du da deine Sachen rein.
Bye, Klaus
Danke
hast Du noch einen TIP wie ich über prüfen kann ob der DMA Mode auch angeschalten wurde fürs DVD Drive?
MFG BASHY
hdparm -v /dev/hdX
Klaus
Hi
So ich habe nun alles wie bschreiben getätigt mal eine Frage in den boot.msg schaut es so aus ist das OK ?
Ich habe dir doch gesagt, dass du 'man hdparm' lesen sollst. Du kannst die Eintraege von mir nicht einfach uebernehmen. Streiche auf jeden Fall das -u 1 und bei dem -m 16 versuche mal die Werte 8. 4 oder 2. Wenn nichts favon klappt, musst du auch diese weglassen.
Bye, Klaus
Frage hierzu:
ich habe einfach folgende befehle in /etc/init.d/bootmisc.sh (das ja eh beim starten ausgeführt wird) eingetragen:
hdparm -d1 /dev/hda /dev/hdd /dev/hdc
und dann kommen doch die Meldungen von hdparm beim starten automatisch?
Wieso muss ich da n extra script schreiben?
Bis denne
poly
Noe, musst du nicht, denn du hast ja eine Datei, wo du das eintragen kannst. Ich habe hier aber ein lfs und habe die Boot-scripte selbst gebastelt, da habe ich so eine Datei nicht erstellt. Das laeuft alles ueber die scripte bei mir.
Klaus
achja gleich noch ne frage:
was macht der Befehl loadproc / startproc (gibts bei mit nich :( ).
Danke
poly
Ah, sorry, zu schnell gepostet, der mächtige google hat mir schon geantwortet *g*
praktisch zu wissen!
Bis denne
poly
Doch noch ne Frage Klaus,
Du hast Doch Debian auf deinem Schlepptop, oder?
Wie lautet denn der BEfehl für Debian? im deselect hab ich nichts enstprechendes gefunden?
Danke schonmal, werd aber auch noch weitersuchen *g*
Bis denne
poly
Ja, aber mein Schleppi ist ein 486 mit 40MHZ und 250MB Festplatte. Was meinst du, was der mir erzaehlt, wenn ich den mit HDPARM auf die Spruenge helfen will?
Da wuerde ich dasselbe reinschreiben, weill ich die Boot-Scripte geloescht habe und meine eigenen genommen habe. Die Originalen sind einfach zu aufgeblaeht.
Deshalb sorry, da kann ich dir nicht weiterhelfen, ich habe mir die Originalen nicht so genau angeschaut.
Klaus
hi poly,
ist das etwa sowas was du suchst? :)
http://channel.debian.de/faq/DebianDE-10.html
Grüße
Kirin
--
Hy! I'm a .signature virus! Copy me into your ~/.signature to help me
spread!
Nein, ich wusste schon, wie man hdparm verwendet, Mir gings um den loadorc befehl.
Tortzdem danke.
poly
achso :)
Da bin ich nit hinter gekommen :)
Grüße
Kirin
--
Diesmal ohne lustig-nervende Signatur :))
Der loadproc Befehl ist kein Programm, sondern wird in einem Shell-Script festgelegt. Das macht jede Distri anders. Bei mir ist das das Script /etc/init.d/functions. Dort wird der loadproc, der reloadproc und der killproc Befehl festgelegt. In den Startscripten wird das functions-script damm gesourct mit dem Befehl:
source /etc/init.d/functions
Wie das bei anderen Distris ausschaut, weiss ich nicht, aber irgendetwas in dieser Art werden die auch haben. Suse hat eben den startproc Befehl, ich weiss aber nicht mehr, wo der herkommt.
Klaus
Wenn du loadproc/startproc in einem Script aufrufts sollte es dann nicht auch "exec $PROGRAM" tuen, oder?
Also:
"#!/bin/sh
#
case "$1" in
start)
echo -n "DMA-Modus für das DVD Laufwerk "
exec /usr/local/sbin/hdparm -c1 -m 16 -u1 /dev/dvd
;;
esac "
??
Grüße
Kirin
Klar geht das auch. Wie ich schon geschrieben habe, wird das loadproc bei mir in der Datei /etc/init.s/funktions beschrieben. Und das ist verantwortlich dafuer, das eine vernuenftige Meldung kommt. Bei mir schaut das z.B. so aus:
Starting sshd ................................ [ (-: ]
Also der Smily symbolisiert, dass der Dienst vernuenftig gestartet wurde. Der Smily erscheint in gruen. Wenn das starten desDienstes fehlgeschlagen ist, wuerde da ein )-: in Rot erscheinen.
Und dass alles passiert nicht, wenn du ein 'exec' da reinschreibst.
Bei anderen Distris kommt glaube ich ein gruenes OK und rotes failed.
Ausserdem ist ja noch ein killproc und reloadproc bei mir definiert, das den Dienst beendet oder eben neu startet. Dazu sucht das Programm die PID raus. Das koenntest du wohl irgendwie nicht anders hinbekommen.
Klaus
