ubuntuusers.de

Obergrenze Erweiterung der bash um n Aliase und Funktionen?

Status: Ungelöst | Ubuntu-Version: Server 12.04 (Precise Pangolin)
Antworten |

suneindeutig

Anmeldungsdatum:
16. Juli 2017

Beiträge: Zähle...

Hallo zusammen,

ich habe seit einiger Zeit ein Problem, das selbst unseren Linux-Guru ein wenig an die Wand gestellt hat und weiß absolut nicht mehr weiter. Da auch alle Suche ergebnislos war, frage ich mal hier in die Runde:

Gibt es eine solche Obergrenze und falls ja, wie kann ich sie umgehen bzw. "elegant reduzieren"?

Kurz zum Hintergrund: Ich arbeite auf einer größeren Anzahl desktop-loser Server ohne root-Rechte und habe mir zur Pflege und Wartung der nicht gerade wenigen Tools, die ich mir da so hinprogrammiert habe, einen sich selbst-synchronisierenden Mechanismus dazu gepackt. Lief 2 Jahre lang bis auf ein paar selbstverschuldete Unfälle bombe und problemlos, bis vor ein paar Wochen.

Alles fing damit an, dass ich von der bash mit "Argument list too long"-Meldungen angeningelt wurde, obwohl da kaum was war. Suchmaschine befragt, Verdachtsmoment Pfad zu lang, Guru gefragt, Tipp zum Kürzen bekommen, gesagt, getan, lief 2 Tage etwas besser und bumm, das Problem war wieder da. Ich habe jetzt temporär eine Funktionen rausgenommen, damit man überhaupt wieder arbeiten kann, aber ich muss das Problem nun irgendwie nachhaltig lösen. Immerhin arbeiten neben mir noch 7 Menschen mit dem Zeug, die mit einem Fuß in der Steinzeit stehen, wenn das Framework ausfällt.

Prinzipiell ist es eigentlich nichts weiter als eine Sammlung von Funktionen und Aliase verteilt auf ein paar hundert Dateien in einer halbwegs logisch organisierten Verzeichnisstruktur, die per .bashrc gesourct werden. Pi mal Daumen mit ein paar Spezialfällen und ein bisschen Klimbim drumherum, damit das ganz etwas zugänglicher ist.

Die einzigen Änderungen der letzten paar Wochen hab ich im Subversion Zeile für Zeile kontrolliert und die scheinen mir bis dato unverdächtig, bis auf eine, die hab ich ganz weggelassen. Waren eigentlich nur Umstellungen von 'echo' auf 'logger'.

Obwohl das vielleicht auch nicht unwichtig ist: Wie viele Aufrufe anderer Funktionen und Aliase dürfen in Funktionen verwendet werden, wenn diese per .bashrc gesourct werden?

Wenn ich alles kleiner machen muss: Wie nur? Funktionalen Umfang einschränken ist irgendwie keine Option. Ich könnte evtl. einzelne Funktionen auf bestimmten Servern weglassen beim Sourcen, aber das würde den Braten nicht fett machen...

Ich wäre momentan für jeden Tipp dankbar!

PS: root-Rechte sind keine Option und bei der Trägheit unserer Administration wäre alles, was ich denen andrehe für 2 Jahre "aus der Wartung raus".

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4975

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11260

Wohnort: München

suneindeutig schrieb:

Prinzipiell ist es eigentlich nichts weiter als eine Sammlung von Funktionen und Aliase verteilt auf ein paar hundert Dateien in einer halbwegs logisch organisierten Verzeichnisstruktur, die per .bashrc gesourct werden. Pi mal Daumen mit ein paar Spezialfällen und ein bisschen Klimbim drumherum, damit das ganz etwas zugänglicher ist.

Prinzipiell kannst du die tatsächlich von den Nutzern direkt aufgerufenen Funktionen auch als Skript im PATH hinterlegen und sie ihre tatsächlichen Abhängigkeiten sourcen lassen (statt alles in einen Topf zu werfen). Das hätte den Vorteil, dass nicht alles beim Login eingelesen werden muss, sondern erst beim Aufruf eines Skripts und man dadurch leichter nachverfolgen kann, wo das Problem genau entsteht.

Mokkujin

Anmeldungsdatum:
2. Mai 2008

Beiträge: 389

Wohnort: Hannover

Wir haben das so gelöst das es ein globales script verzeichnis gibt. im userverzeichnis gibt einen sym link (~/bin) auf diesen und in der path variable ist ~/bin mit drin. wenn ich dich falsch verstanden habe sollte ignoriere die antwort 😉 das hat noch den vorteil das man etwas steuern kann wer darauf zugriff hat.

Antworten |