Wofür wird bash-static verwendet?

15

Was ist der Zweck von bash-static im Vergleich zu regulärem bash? Ist es gut als Rettungshülle oder wozu ist es gut?

Niklas
quelle

Antworten:

24

Sie beziehen sich wahrscheinlich auf das .debPaket, bash-staticdas eine statisch verknüpfte Version von ist bash, was bedeutet, dass es ein eigenständiges Programm ist, das von nichts anderem (insbesondere von Bibliotheken) auf Ihrer Festplatte abhängt.

Ich habe es bei zwei verschiedenen Gelegenheiten benutzt:

  • Installiert auf Servern, so dass ich bashselbst in katastrophalen Situationen, in denen ich nicht funktioniere ld.sooder libcnicht funktioniere (abwesend, beschädigt, schlecht konfiguriert, ...) , immer einen funktionierenden Server habe.
  • Wird zusammen mit meinen eigenen Shell-Skripten an Kunden ausgeliefert, damit ich sicher bin, dass sie die richtige Version von haben bash, da ich einige erweiterte Funktionen verwendet habe, die mit bash v4.3 eingeführt wurden.
xhienne
quelle
4
Das typische Szenario ist, dass die /Bereitstellung in Ordnung ist, jedoch /usraus irgendeinem Grund nicht möglich ist. Daher vermeiden BSD-Systeme im Allgemeinen dynamisch verknüpfte ausführbare Dateien in /binund /sbin.
Kusalananda
2
@ Kusalananda Ich bin mir nicht sicher, ob dies tatsächlich ein typisches Szenario ist. /usrsoll in den ersten Bootphasen nicht verfügbar sein. Laut FHS soll /bin(besonders /bin/*sh) nichts von irgendetwas abhängen /usr/lib.
Xhienne
5
Ah, das ist der Grund , warum Linux ein /libVerzeichnis hat (das auf BSD-Systemen nicht vorhanden ist), anstatt /usr/lib...
Kusalananda
5
@ Kusalananda Richtig, zusätzlich nicht mehr als. Das FHS gibt an, dass "das /libVerzeichnis die freigegebenen Bibliotheksimages enthält, die zum Booten des Systems und Ausführen der Befehle im Root-Dateisystem erforderlich sind , dh nach Binärdateien in /binund /sbin(Fußnote) Freigegebene Bibliotheken, die nur für Binärdateien in /usr(wie X) erforderlich sind Windows-Binärdateien) dürfen nicht vorhanden sein /lib. "
Xhienne