Linux 15.068 Themen, 107.492 Beiträge

Betreff ECHO Befehl für automatische Einträge ....?

bashfreak / 22 Antworten / Baumansicht Nickles

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

bei Antwort benachrichtigen
Kirin bashfreak „Betreff ECHO Befehl für automatische Einträge ....?“
Optionen

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

bei Antwort benachrichtigen
bashfreak Kirin „Was willst du genau wohin schreiben und wieso? Eigentlich musst du die Sachen in...“
Optionen

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

bei Antwort benachrichtigen
bashfreak Nachtrag zu: „HI Jo ist mir schon klaro das man es über einen Daemon realisieren kann aber es...“
Optionen

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

bei Antwort benachrichtigen
Klaus_T bashfreak „Sorry Stimmt Kirin hast recht das geht besser Dein vorschlag wie 1000de...“
Optionen

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

bei Antwort benachrichtigen
bashfreak Klaus_T „Der alias char-major-61 lirc_serial kommt in die /etc/modules.conf und fuer den...“
Optionen

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

bei Antwort benachrichtigen
Klaus_T bashfreak „Hi Danke ersteinmal ob ich das raffe .... ich wusle selbst erst ein dreiviertel...“
Optionen

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

bei Antwort benachrichtigen
bashfreak Klaus_T „Warum? du musst doch nur die Optionen nach dem hdparm anpassen, also c1 m 16 und...“
Optionen

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

bei Antwort benachrichtigen
Klaus_T bashfreak „Danke hast Du noch einen TIP wie ich über prüfen kann ob der DMA Mode auch...“
Optionen

hdparm -v /dev/hdX

Klaus

bei Antwort benachrichtigen
bashfreak Klaus_T „hdparm -v /dev/hdX Klaus“
Optionen

Hi
So ich habe nun alles wie bschreiben getätigt mal eine Frage in den boot.msg schaut es so aus ist das OK ?

bei Antwort benachrichtigen
Klaus_T bashfreak „Hi So ich habe nun alles wie bschreiben getätigt mal eine Frage in den boot.msg...“
Optionen

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

bei Antwort benachrichtigen
polytaen Klaus_T „Der alias char-major-61 lirc_serial kommt in die /etc/modules.conf und fuer den...“
Optionen

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

-      .---.        .----------     /     \  __  /     ------    / /     \(  )/    -----   //////   ' \/ `   ---  //// / // :    : --- // /   /  /`    '--//          //..\\       ====MM====MM====           '//||\\`
bei Antwort benachrichtigen
Klaus_T polytaen „Frage hierzu: ich habe einfach folgende befehle in /etc/init.d/bootmisc.sh das...“
Optionen

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

bei Antwort benachrichtigen
polytaen Klaus_T „Der alias char-major-61 lirc_serial kommt in die /etc/modules.conf und fuer den...“
Optionen

achja gleich noch ne frage:

was macht der Befehl loadproc / startproc (gibts bei mit nich :( ).

Danke
poly

-      .---.        .----------     /     \  __  /     ------    / /     \(  )/    -----   //////   ' \/ `   ---  //// / // :    : --- // /   /  /`    '--//          //..\\       ====MM====MM====           '//||\\`
bei Antwort benachrichtigen
polytaen Nachtrag zu: „achja gleich noch ne frage: was macht der Befehl loadproc / startproc gibts bei...“
Optionen

Ah, sorry, zu schnell gepostet, der mächtige google hat mir schon geantwortet *g*

praktisch zu wissen!

Bis denne
poly

-      .---.        .----------     /     \  __  /     ------    / /     \(  )/    -----   //////   ' \/ `   ---  //// / // :    : --- // /   /  /`    '--//          //..\\       ====MM====MM====           '//||\\`
bei Antwort benachrichtigen
polytaen Nachtrag zu: „Ah, sorry, zu schnell gepostet, der mächtige google hat mir schon geantwortet g...“
Optionen

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

-      .---.        .----------     /     \  __  /     ------    / /     \(  )/    -----   //////   ' \/ `   ---  //// / // :    : --- // /   /  /`    '--//          //..\\       ====MM====MM====           '//||\\`
bei Antwort benachrichtigen
Klaus_T polytaen „Doch noch ne Frage Klaus, Du hast Doch Debian auf deinem Schlepptop, oder? Wie...“
Optionen

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

bei Antwort benachrichtigen
Kirin bashfreak „Betreff ECHO Befehl für automatische Einträge ....?“
Optionen

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!

bei Antwort benachrichtigen
polytaen Kirin „hi poly, ist das etwa sowas was du suchst? :...“
Optionen

Nein, ich wusste schon, wie man hdparm verwendet, Mir gings um den loadorc befehl.

Tortzdem danke.

poly

-      .---.        .----------     /     \  __  /     ------    / /     \(  )/    -----   //////   ' \/ `   ---  //// / // :    : --- // /   /  /`    '--//          //..\\       ====MM====MM====           '//||\\`
bei Antwort benachrichtigen
Kirin polytaen „Nein, ich wusste schon, wie man hdparm verwendet, Mir gings um den loadorc...“
Optionen

achso :)
Da bin ich nit hinter gekommen :)
Grüße
Kirin

--
Diesmal ohne lustig-nervende Signatur :))

bei Antwort benachrichtigen
Klaus_T polytaen „Nein, ich wusste schon, wie man hdparm verwendet, Mir gings um den loadorc...“
Optionen

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

bei Antwort benachrichtigen
Kirin polytaen „Nein, ich wusste schon, wie man hdparm verwendet, Mir gings um den loadorc...“
Optionen

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

bei Antwort benachrichtigen
Klaus_T Kirin „Wenn du loadproc/startproc in einem Script aufrufts sollte es dann nicht auch...“
Optionen

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

bei Antwort benachrichtigen