Die Mathe-Redaktion - 24.11.2017 23:14 - Registrieren/Login
Auswahl
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden oder den Newsletter bestellen.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 441 Gäste und 24 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Bearbeiten von: Abschnitt [Änderungshistorie]
  Zeilenumbrüche automatisch mache ich selbst mit HTML    

Ich möchte eine Mail an , nachdem mein Vorschlag bearbeitet ist.
  Nachricht zur Änderung:

Eingabehilfen (JavaScript): [Link extern intern] [$$] [MathML?]
[fed-Bereich] [LaTeX-inline] [LaTeX-display] [hide-Bereich] [Quelltext [num.]][?]
[Link zurück zum Artikelabschnitt]

Vorschau:
Shellscripte für Routine-Jobs

Shellscripte für Routine-Jobs


Noch etwas „Spielerei“ zum Schluss: um mir die Nachinstallation von Paketen ein wenig zu erleichtern, schrieb ich zwecks Ersparnis von Schreibarbeit zunächst ein kurzes Shell-Script mpm-once, mit dem Ziel: bei Aufruf von sudo mpm-once package1 package2 package3 etc. sollen genau all diese Pakete installiert werden, die ich als Parameter benenne, zudem soll anschließend automatisch die ls-R Datenbank aktualisiert werden:
sh
#!/bin/sh
MPM_ONCE_TEMP=/tmp/mpm-once.tmp
echo $* | tr "[:blank:]" "\n" >$MPM_ONCE_TEMP
mpm --install-some=$MPM_ONCE_TEMP
rm $MPM_ONCE_TEMP
texhash

Hierin werden die angegebenen Paketnamen zeilenweise in eine temporäre Datei geschrieben, die mpm übergeben wird und hinterher gelöscht wird. tr ersetzt dabei die Leerzeichen zwischen den Paketnamen durch Zeilenumbrüche. Als Script-Eigentümer setzte ich root: chown oder mit root-Rechten editieren bzw. sudo (sudo gedit mpm-once). Wo der mpm liegt, läßt sich mit which mpm herausfinden. Ausgabe bei mir: /usr/local/bin/mpm. Da kann man es natürlich gleich mit kompletter Pfadangabe editieren (sudo gedit /usr/local/bin/mpm-once) oder man legt dann das script mpm-once in denselben Ordner:
sudo cp mpm-once /usr/local/bin/mpm-once
Damit das Script ausführbar ist, muss man noch das executable-Flag setzen:
sudo chmod u+x /usr/local/bin/mpm-once
Unter Verwendung dieses Scriptes kann man nun mit einem einzigen Aufruf mehrere Pakete installieren und anschließend sofort verwenden, z.B:
sudo mpm-once listings xypic microtype tocloft

Als nächstes entwarf ich ein Script mpm-all, das sämtliche (!) verfügbaren Pakete über den mpm nachinstalliert. Damit erhält der MiKTeX Paketmanager die maximale Kontrolle, und ein mpm --update aktualisiert jeweils diesen gesamten Paket-Bestand. Wieder wird tr verwendet, um aufeinanderfolgende Leerzeichen durch ein einzelnes zu ersetzen sowie cut, um die Spalte mit den Paketnamen zu selektieren:
sh
#!/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

Damit würde der mpm mächtig viel installieren... Bei mir trat allerdings die Fehlermeldung auf: „mpm: Unknown archive file size.“ -  vermutlich geht nicht soviel auf einmal! Als workaround ergänzte ich das Script um eine Beschränkung auf „nur“ 100 Pakete auf einmal:
sh
mpm --list|grep -v "^i " | tr -s "[:blank:]" " " \
| cut -d" " -f4|head -n 100 >$MPM_ALL_TEMP
was problemlos funktionierte. Ob es nun sinnvoll ist, alles zu installieren, muss man für sich selbst entscheiden.

Je nach Betriebssystem kann der Einsatz bzw. die Installation dieser Scripte etwas variieren, dieser Abschnitt richtet sich daher an Nutzer, die sich bereits etwas auskennen.

        Stefan_K

 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2017 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]