Archiv verlassen und diese Seite im Standarddesign anzeigen : Shell script
nixversteh
03-05-2008, 23:30
Hallo Foris,
habe auf Linux Ubuntu 8.04 (Hardy) umgestellt und verfüge noch nicht über entsprechende Literatur, wird erst noch herausgegeben. Solange kann ich aber nicht warten und habe mir im Internet einiges herausgesucht, um dem Miktexpackagesmanager zu bekommen. Das hat nach zig Versuchen auch geklappt, dann habe ich ein sogenanntes shell-scricpt im Netz gefunden, dort soll es möglich sein, sich ALLE Packages auf einmal zu ziehen. ich habe einige Pakte gezogen und bkommen nämlich eine Meldung, dass über meine IP - Adresse zu viel Bewegung ist .. in meinen Worten ausgedrückt, die Profis mögen mir das verzeihen.
Ich möchte aber nicht drei Wochen 24 Stunden irgendwelche Pakte ziehen. Also das script gebaut und versucht, es zum Laufen zu bekommen, leider klappt das nicht.
Kann mir bitte jemand unter die Arme greifen?
Das script (mpm-all) sieht so aus:
# !/ bin / sh
MPM_ALL_TEMP =/ tmp / mpm - all . tmp
mpm -- list | grep -v " ^ i " | tr -s " [: blank :] " " " \
| cut -d " " - f4 > $MPM_ALL_TEMP
mpm -- install - some = $MPM_ALL_TEMP
rm $MPM_ALL_TEMP
texhash
Der Aufruf sollte so funkt..
sudo cp mpm - all / usr / local / bin / mpm - all
Damit das Script ausfürbar ist, muss man noch das executable-Flag setzen:
sudo chmod u + x / usr / local / bin / mpm - all
Unter Verwendung dieses Scriptes kann man nun mit einem einzigen Aufruf
mehrere Pakete installieren und anschließend sofort verwenden, z.B:
sudo mpm - all listings xypic microtype tocloft
(Quelle:http://matheplanet.com/matheplanet/nuke/html/article.php?sid=1084)
Ich hoffe, jemand kann mir weiterhelfen, vielen Dank schonmal im Voraus.
Ein schönes Wochenende
Martin
Was kriegst du denn genau als Fehlermeldung?
nixversteh
04-05-2008, 08:23
Was kriegst du denn genau als Fehlermeldung?
Guten Morgen sarc,
***************************
martin@Latex:~$ sudo cp mpm - all / usr / local / bin / mpm - all
[sudo] password for martin:
cp: angegebenes Ziel „all“ ist kein Verzeichnis
martin@Latex:~$ sudo chmod u + x / usr / local / bin / mpm - all
chmod: Ungültiger Modus: „u“
„chmod --help“ gibt weitere Informationen.
martin@Latex:~$
****************************************+
das ist der output ... egal welche Modi (?) ich angebe, also u, r, w, x oder was weiß ich, immer meckert er: entweder kein Verzeichnis oder Ungültiger Modus...
Wie gesagt, das Buch (Ubuntu 8.04) ist bestellt, muss noch gedruckt werden, die Distri ist erst ca. fünf Tage alt, ich möchte keine "alten" Bücher kaufen. Habe schon über Latex drei dicke Wälzer da rum stehen, die mir zudem nur MINIMAL geholfen haben. Leider gibt es in meinem Umfeld keine Freaks, die sich mit Linux und / oder Latex auskennen. Bin eben auch eine andere Altersgruppe mit 54 Jahren gehöre ich wohl eher in den Vorgarten ... ich sehe das aber anders, mein Gehirn braucht INPUT..
Also einen schönnen Sonntag wünsche ich dir und allen Foris.
Martin
Ich möchte aber nicht drei Wochen 24 Stunden irgendwelche Pakte ziehen. Also das script gebaut und versucht, es zum Laufen zu bekommen, leider klappt das nicht.
Kann mir bitte jemand unter die Arme greifen?
Das script (mpm-all) sieht so aus:
# !/ bin / sh
MPM_ALL_TEMP =/ tmp / mpm - all . tmp
mpm -- list | grep -v " ^ i " | tr -s " [: blank :] " " " \
| cut -d " " - f4 > $MPM_ALL_TEMP
mpm -- install - some = $MPM_ALL_TEMP
rm $MPM_ALL_TEMP
texhash
Der Aufruf sollte so funkt..
sudo cp mpm - all / usr / local / bin / mpm - all
Sind die Leerezichen jetzt durchs kopieren gekommen oder hast
du die wirklich? Du willst doch nur kopieren
sudo cp mpm-all /usr/local/bin/
und dann
sudo mpm-all
Herbert
nixversteh
04-05-2008, 09:42
Sind die Leerezichen jetzt durchs kopieren gekommen oder hast
du die wirklich? Du willst doch nur kopieren
sudo cp mpm-all /usr/local/bin/
und dann
sudo mpm-all
Herbert
Guten Morgen Herbert,
also, ich habe es so kopiert, die Leerzeichen sind im Original vorhanden. Hab jetzt deinen Aufruf eingesetzt, der erste lief ohne Fehler durch, der zweite wird nicht genommen, command not found ...
Hmm, keine Ahnung
Lieben Gruß
Martin
also, ich habe es so kpoiert, die Leerzeichen sind im Original vorhanden. Hab jetzt deinen Aufruf eingesetzt, der erste lief ohne Fehler durch, der zweite wird nicht genommen, command not found ...
Hmm, keine Ahnung
dann mach halt
sudo /usr/local/bin/mpm-all
Herbert
nixversteh
04-05-2008, 10:03
dann mach halt
sudo /usr/local/bin/mpm-all
Herbert
Hallo Herbert,
nee, will er nicht haben, habe das mpm-all mal vorne mitangestellt, will er auch nicht, command not found...
Ähmmm, niemand mag mich ;-)
Lieben Gruß
Martin
nee, will er nicht haben, habe das mpm-all mal vorne mitangestellt, will er auch nicht, command not found...
Martin,
du solltest vielleicht erstmal einige der wichtigsten Grundlagen für Linux
erarbeiten, sonst wird das schwierig.
Wo hast du denn nun das Shell-Skript mpm-all abgespeichert?
Ist es nach /usr/local/bin kopiert? testen mit
ls -la /usr/local/bin
Ist es wirklich ausführbar?
Herbert
cookie170
04-05-2008, 11:11
Hallo,
eine Option "--all" gibt's laut "mpm --help" nicht. Folglich soll das Script diese Option ersetzen. Ob es das fehlerlos tut, weiß ich nicht, weil ich mir meine Installation nicht mit einem Haufen sinnloser Pakete zerschießen will. Jedenfalls hat es 44 Leerzeichen zuviel. Es muss wohl lauten:
#!/bin/sh
MPM_ALL_TEMP=/tmp/mpm-all.tmp
mpm --list | grep -v"^i"|tr -s"[:blank:]"""\
|cut-d""-f4>$MPM_ALL_TEMP
mpm --install-some=$MPM_ALL_TEMP
rm$MPM_ALL_TEMP
texhash
Und dieses Script speichert man im eigenen Home-Verzeichnis unter einem Namen, beispielsweise "alles.sh" unter \bin ab, macht es ausführbar und gibt dann in diesem Verzeichnis \bin auf der Konsole den Befehl
./alles.shein. Wenn das nicht funktioniert, dann sag' uns, welche Fehlermeldung exakt kommt. Ich habe von Scripten nicht viel (eher keine) Ahnung, vielleicht muss ja doch noch irgendwo ein Leerzeichen mehr hin.
mpm hat auch ziemlich verzwickte Seiten, u.a. bedient es sich meiner Erinnerung nach irgendwelcher Spiegel-Seiten...
Gruß,
Alexander
nixversteh
04-05-2008, 11:15
Martin,
du solltest vielleicht erstmal einige der wichtigsten Grundlagen für Linux
erarbeiten, sonst wird das schwierig.
Wo hast du denn nun das Shell-Skript mpm-all abgespeichert?
Ist es nach /usr/local/bin kopiert? testen mit
ls -la /usr/local/bin
Ist es wirklich ausführbar?
Herbert
Hallo Herbert,
ja, da magst Recht haben ... allein, warten fällt mir eher schwer ...
hab das gemacht, was du geschrieben hast, folgende Meldung erscheint:
********************************************
martin@Latex:~$ ls -la /usr/local/bin
insgesamt 2316
drwxr-xr-x 2 root root 4096 2008-05-03 22:50 .
drwxr-xr-x 10 root root 4096 2007-10-16 01:16 ..
-rwxr-xr-x 1 root root 17221 2008-05-01 16:53 bintoc
-rwxr-xr-x 1 root root 472076 2008-05-01 16:53 initexmf
-rwxr-xr-x 1 root root 15892 2008-05-01 16:53 j2000
-rwxr-xr-x 1 root root 355087 2008-05-01 16:53 md5walk
-rwxr-xr-x 1 root root 759491 2008-05-01 16:53 mpc
-rwxr-xr-x 1 root root 633717 2008-05-01 17:32 mpm
-rw-r--r-- 1 root root 210 2008-05-04 10:01 mpm-all
-rw-r--r-- 1 root root 49 2008-05-02 11:00 mpm-all~
-rw-r--r-- 1 root root 210 2008-05-03 22:50 mpm-all.sh
lrwxrwxrwx 1 root root 15 2008-05-01 17:32 mthelp -> mthelp-2.7.2960
-rwxr-xr-x 1 root root 21612 2008-05-01 16:53 mthelp-2.7.2960
-rwxr-xr-x 1 root root 41482 2008-05-01 16:53 web-n
martin@Latex:~$
************************************************** ****
wie bekomme ich die richtige Datei, bzw., die falschen gelöscht? Mpm-all.sh scheint richtig zu sein?
Lieben Gruß
Martin
nixversteh
04-05-2008, 11:24
Hallo,
eine Option "--all" gibt's laut "mpm --help" nicht. Folglich soll das Script diese Option ersetzen. Ob es das fehlerlos tut, weiß ich nicht, weil ich mir meine Installation nicht mit einem Haufen sinnloser Pakete zerschießen will. Jedenfalls hat es 44 Leerzeichen zuviel. Es muss wohl lauten:
#!/bin/sh
MPM_ALL_TEMP=/tmp/mpm-all.tmp
mpm --list | grep -v"^i"|tr -s"[:blank:]"""\
|cut-d""-f4>$MPM_ALL_TEMP
mpm --install-some=$MPM_ALL_TEMP
rm$MPM_ALL_TEMP
texhash
Und dieses Script speichert man im eigenen Home-Verzeichnis unter einem Namen, beispielsweise "alles.sh" unter \bin ab, macht es ausführbar und gibt dann in diesem Verzeichnis \bin auf der Konsole den Befehl
./alles.shein. Wenn das nicht funktioniert, dann sag' uns, welche Fehlermeldung exakt kommt. Ich habe von Scripten nicht viel (eher keine) Ahnung, vielleicht muss ja doch noch irgendwo ein Leerzeichen mehr hin.
mpm hat auch ziemlich verzwickte Seiten, u.a. bedient es sich meiner Erinnerung nach irgendwelcher Spiegel-Seiten...
Gruß,
Alexander
Hallo Alexander,
danke für deine Antwort, Herbert wird wohl recht behalten, mir fehlen einfach die Kenntnisse ... wie mache ich das script denn ausführbar?
Lieben Gruß
Martin
PS.: ich bekomme folgende Meldungen nach Eingabe ...
*************************************
martin@Latex:~/Desktop$ cd Desktop
bash: cd: Desktop: No such file or directory
martin@Latex:~/Desktop$ chmod u+x alles.sh
martin@Latex:~/Desktop$ ./alles.sh
grep: invalid option -- ^
Aufruf: grep [OPTION]... MUSTER [DATEI]...
»grep --help« gibt Ihnen mehr Informationen.
tr: invalid option -- [
„tr --help“ gibt weitere Informationen.
./alles.sh: 3: cut-d-f4: not found
./alles.sh: 5: rm/tmp/mpm-all.tmp: not found
texhash: /var/lib/texmf/ls-R-TEXMFMAIN: no write permission. Skipping...
texhash: /var/lib/texmf/ls-R-TEXLIVE: no write permission. Skipping...
texhash: /var/lib/texmf/ls-R: no write permission. Skipping...
texhash: Done.
martin@Latex:~/Desktop$
************************************************** ************
-rw-r--r-- 1 root root 210 2008-05-04 10:01 mpm-all
-rw-r--r-- 1 root root 49 2008-05-02 11:00 mpm-all~
-rw-r--r-- 1 root root 210 2008-05-03 22:50 mpm-all.sh
wie bekomme ich die richtige Datei, bzw., die falschen gelöscht? Mpm-all.sh scheint richtig zu sein?
gehe in das Verzeichnis und mach folgendes
cd /usr/local/bin/
chmod u+x mpm-all
./mpm-all
Herbert
nixversteh
04-05-2008, 12:14
gehe in das Verzeichnis und mach folgendes
cd /usr/local/bin/
chmod u+x mpm-all
./mpm-all
Herbert
Hallo Herbert,
leider bekomme ich keine Genehmigung dazu...
**********************************
martin@Latex:/usr/local/bin$ cd /usr/local/bin/
martin@Latex:/usr/local/bin$
martin@Latex:/usr/local/bin$ chmod u+x mpm-all
chmod: Beim Setzen der Zugriffsrechte für „mpm-all“: Operation not permitted
************************************************** ***************************
auch die Angaben von Alexander, mit alles.sh klappen nicht, keine Genehmigung ...
Werde jetzt mal eine Pause einlegen und zur Taufe zweier neuer Erdenbürger innerhalb meiner Familie gehen. Einen schönen sonnigen Tag wünsche ich dir und allen Usern.
Lieben Gruß
Martin
cookie170
04-05-2008, 13:01
Wie dem auch sei, ich habe das Script von Stefan Kottwitz nun auch gefunden und offensichtlich lautet das Script:
#!/bin/sh
MPM_ALL_TEMP=/tmp/mpm-all.tmp
mpm --list|grep -v "^i " | tr -s "[:blank:]" " " \
| cut -d" " -f4 > $MPM_ALL_TEMP
mpm --install-some=$MPM_ALL_TEMP
rm $MPM_ALL_TEMP
texhash
Laufen tut's, aber ich wollte, wie gesagt, nicht meine Installation zum Testen verwenden und habe es nicht durchlaufen lassen.
Gruß,
Alexander
nixversteh
04-05-2008, 17:16
Wie dem auch sei, ich habe das Script von Stefan Kottwitz nun auch gefunden und offensichtlich lautet das Script:
#!/bin/sh
MPM_ALL_TEMP=/tmp/mpm-all.tmp
mpm --list|grep -v "^i " | tr -s "[:blank:]" " " \
| cut -d" " -f4 > $MPM_ALL_TEMP
mpm --install-some=$MPM_ALL_TEMP
rm $MPM_ALL_TEMP
texhash
Laufen tut's, aber ich wollte, wie gesagt, nicht meine Installation zum Testen verwenden und habe es nicht durchlaufen lassen.
Gruß,
Alexander
Hallo Alexander,
laufen insoweit, dass es etwas Bewegung gibt ... dann erfolgt diese Meldung:
*********************************************
martin@Latex:~$ cd Desktop
martin@Latex:~/Desktop$ chmod u+x alles.sh
martin@Latex:~/Desktop$ ./alles.sh
mpm: Permission denied: /home/users/me/texmf/tex/amstex
texhash: /var/lib/texmf/ls-R-TEXMFMAIN: no write permission. Skipping...
texhash: /var/lib/texmf/ls-R-TEXLIVE: no write permission. Skipping...
texhash: /var/lib/texmf/ls-R: no write permission. Skipping...
texhash: Done.
martin@Latex:~/Desktop$
************************************************** *************++
Was mache ich falsch?
Lieben Gruß
Martin
Stefan_K
04-05-2008, 17:58
Hi Martin,
Herberts Tipp oben sollte mit sudo davor klappen:
sudo chmod u+x mpm-all
(evtl. sogar a+x) Analog schreibe sudo dann auch vor die Aufrufe des shellscripts.
Deine mail habe ich erhalten, leider ist mir danach (vor ein paar Tagen) der Rechner kaputtgegangen (mainboard), jetzt habe ich einen uralten Rechner ersatzweise fertiggemacht, zwar mit Hardy aber noch ohne den mpm.
Viele Grüße,
Stefan
nixversteh
04-05-2008, 18:03
Hi Martin,
Herberts Tipp oben sollte mit sudo davor klappen:
sudo chmod u+x mpm-all
(evtl. sogar a+x) Analog schreibe sudo dann auch vor die Aufrufe des shellscripts.
Deine mail habe ich erhalten, leider ist mir danach (vor ein paar Tagen) der Rechner kaputtgegangen (mainboard), jetzt habe ich einen uralten Rechner ersatzweise fertiggemacht, zwar mit Hardy aber noch ohne den mpm.
Viele Grüße,
Stefan
Hallo Stefan,
ich habe irgendwie die gleiche Idee gehabt, wegen der nicht aufhörenden Meldungen .. keine Rechte... habe ich sudo vorangestellt... die Sache läuft gerade... ob es geklappt hat, keine Ahnung. Werde auf jeden Falll eine Meldung einstellen.
Lieben Gruß
Martin
nixversteh
04-05-2008, 18:46
Hallo Stefan, Alexander und Herbert,
habe folgendes eingegeben und es läuft jetzt ...
************************************
martin@Latex:~/Desktop$ sudo chmod +wrx alles.sh
[sudo] password for martin:
martin@Latex:~/Desktop$ sudo ./alles.sh
************************************************** ******************
Vielen Dank für euere Antworten und große Hilfe.
Lieben Gruß
Martin
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.