Noch anfällig für Shellshock mit Ubuntu 14.04.1 und Bash 4.3-7ubuntu1.4 - Wie geht es weiter?

4490
closetnoc

Der Titel sagt alles.

Ich bin immer noch verwundbar (CVE-2014-6271 und möglicherweise CVE-2014-7169) mit Ubuntu 14.04.1 und Bash 4.3-7ubuntu1.4

  • apt-get update = nichts
  • apt-get upgrade = nichts
  • apt-get install bind = nichts

Folgendes geprüft: https://launchpad.net/ubuntu/+source/bash/4.3-7ubuntu1.4 (es gibt keine neueren Versionen)

Ran Test:

env x='() { :;}; echo vulnerable' bash -c 'echo hello' 

Erhalten:

vulnerable hello 

Schon seit einer Woche dabei!

[Aktualisieren]

Ich habe bash_4.3.orig.tar.gz ursprünglich von https://launchpad.net/ubuntu/+source/bash/4.3-7ubuntu1.4 installiert, was möglicherweise ein Fehler war.

Ich habe das getan, bevor sudo apt-get update && sudo apt-get install bashes funktionieren würde (denke ich).

Auf dieser Seite befinden sich weitere Dateien, bash_4.3-7ubuntu1.4.debian.tar.gz und bash_4.3-7ubuntu1.4.dsc. Ich weiß nicht, was ich damit anfangen soll. Ich habe bash_4.3-7ubuntu1.4.debian.tar.gz heruntergeladen und mir das angesehen, wusste aber nicht, was ich damit anfangen sollte.

Ich war nach diesem Test immer noch verwundbar: env x='() { :;}; echo vulnerable' bash -c 'echo hello'

Ich habe so viele Gyrations von apt-get, dpkg und Installation von bash_4.3.orig.tar.gz ausprobiert, wie Sie sich vorstellen können. Der Test schlägt immer noch fehl.

Ich fand:

  • / usr / local / bin / bash - GNU bash, Version 4.3.0 (1) -freigabe (i686-pc-linux-gnu)
  • / bin / bash - GNU bash, Version 4.3.11 (1) -release (i686-pc-linux-gnu)

Heute Morgen, nachdem ich tagelang herumgegangen war, wurde ich verzweifelt und warf ein Ave Maria und probierte das Skript aus: Wie kann ich die Shellshock-Schwachstelle auf einem veralteten Ubuntu-System beheben, das ich nicht aktualisieren kann?

Jetzt habe ich:

  • / bin / bash - GNU bash, Version 4.3.27 (1) -release (i686-pc-linux-gnu)

Der Test schlägt immer noch fehl: env x='() { :;}; echo vulnerable' bash -c 'echo hello'Wenn ich mich anmelde. Also habe ich sudo /bin/bashes nochmal versucht. Scheitert immer noch

Also habe ich versucht:

sudo apt-get install --only-upgrade bash 

und bekomme...

Reading package lists... Done Building dependency tree Reading state information... Done bash is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1 not fully installed or removed. Need to get 0 B/549 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] y dpkg: error processing package bash (--configure): package is in a very bad inconsistent state; you should reinstall it before attempting configuration Errors were encountered while processing: bash E: Sub-process /usr/bin/dpkg returned an error code (1) 

Also habe ich versucht:

sudo apt-get install bash 

und bekomme...

Reading package lists... Done Building dependency tree Reading state information... Done bash is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1 not fully installed or removed. Need to get 0 B/549 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] y dpkg: error processing package bash (--configure): package is in a very bad inconsistent state; you should reinstall it before attempting configuration Errors were encountered while processing: bash E: Sub-process /usr/bin/dpkg returned an error code (1) 

Das wundert mich natürlich nicht.

Bitte helfen

Kann mir jemand helfen, ein Update von / bin / bash und / usr / local / bin / bash mit einer funktionierenden Version zu erzwingen? Kann ich die auf dieser Seite gefundenen Dateien verwenden https://launchpad.net/ubuntu/+source/bash/4.3-7ubuntu1.4 oder kann ich die GNU-Installation bereinigen? Kann Bash auch von / bin nach / usr / local / bin / kopiert werden (oder umgekehrt), wenn ich nur einen Fix bekommen kann?

Ich brauche starke Linux-Antworten und nicht nur die apt-get-Papageien, die man überall gesehen hat. Ich habe alles gelesen oder dangnah alles, was ich finden kann. Wenn Sie eine Ressource haben, lass es mich wissen. Sie haben vielleicht Erfolg gehabt, aber ich hatte nur Ärger .

In den Chat zu gehen ist in Ordnung.

3
Stoppen Sie die Verwendung von cgi-bin, verwenden Sie SELinux, verwenden Sie eine Firewall und verwenden Sie eine Distribution mit professioneller Unterstützung. Cyrus vor 10 Jahren 0
@ Cyrus Sehr hilfreich. Ich benutze eine Firewall. Ich benutze CGI-BIN nicht, aber ich benötige CGI aus anderen Gründen. Skripts müssen nicht anfällig sein. In der Tat sind SSH und andere Dienste anfällig. Und nein. Ich werde kein komplett neues Betriebssystem auf einem öffentlichen Webserver neu installieren, nur weil Sie der Meinung sind, dass SELinux besser ist. Ich bin professionell Ich brauche eine vernünftige und durchdachte Antwort. closetnoc vor 10 Jahren 2
Schauen Sie unter: https://en.wikipedia.org/w/index.php?title=SELinux Cyrus vor 10 Jahren 0
Es gibt weitere neue Bash-Fehler, mit denen Sie die nächsten Tage reparieren können: CVE-2014-7186, CVE-2014-7187 und CVE-2014-6277. Cyrus vor 10 Jahren 0
@ Cyrus Denken Sie an die Praktikabilität dessen, was Sie empfehlen. Löschen eines funktionierenden öffentlichen Webservers mit über 1 Million Webseiten auf nur einer Site. Keine vernünftige Empfehlung. Es ist mir egal, ob jemand denkt, dass SELinux besser ist als Ubuntu. Es kann sein. Ich werde diesen Punkt nicht bestreiten. Ich muss das zum Laufen bringen. Ich kann diese Menge an Arbeit nicht nur tun, um vielleicht ein Problem zu beheben, das bereits behoben sein sollte. closetnoc vor 10 Jahren 0
@ Cyrus Oh Großartig !! Genau das, was ich brauchte. Danke für das Update! Ich werde das überprüfen. Ich muss bald ins Bett gehen. Ich habe ein paar All-Nighters versucht, um diese Sache (~ & ^? & $% #!!) Zu diesem Punkt zu bringen und nichts. Sehr frustrierend - vor allem wenn es so aussah, als hätte alles, was schief gehen könnte, ein paar Extras. Ubuntu-Probleme waren glatt wie Glas, aber einige der anderen Probleme - vey! Schade, dass ich nicht trinke. Ich muss vielleicht anfangen !! Wissen Sie, es wäre * VIEL (!) * Einfacher gewesen, wenn es sich um einen Desktop anstelle eines Servers handelt. Hatte Probleme mit der CD und mit USB. Gott sei Dank für FTP und bash. closetnoc vor 10 Jahren 0
SELinux ist keine Linux-Distribution. Es handelt sich hierbei um ein Linux-Kernel-Sicherheitsmodul, das den Mechanismus zur Unterstützung der Sicherheitsrichtlinien für die Zugriffskontrolle bereitstellt, einschließlich der obligatorischen Zugriffskontrollen (MAC) des US-Verteidigungsministeriums. " Cyrus vor 10 Jahren 3
@ Cyrus Ich werde das überprüfen. Vielen Dank. Ich weiß, dass ich HTTP-Filter in meiner Firewall habe, aber für mein Leben konnte ich sie nicht finden. Im Nebel konzentrierte ich mich darauf, dass alles auf dem neuesten Stand war. Ich möchte natürlich die HTTP-Filter verwenden. Dies würde das Problem vorerst lösen. Ich werde Ihre Empfehlung überprüfen und danke Ihnen dafür. closetnoc vor 10 Jahren 0
Das ist ziemlich seltsam, ich habe auch die bash-Version `4.3-7ubuntu1.4` und der obige Befehl gibt nur 'Hallo' an, anders als bei der beschriebenen Ausgabe. Haben Sie eine andere Version von `bash` irgendwo in Ihrem` $ PATH` installiert? (Ich sollte auch hinzufügen, Ubuntu enthält ein obligatorisches Zugangskontrollsystem, das als AppArmor bezeichnet wird. Es ist nicht so, als hätten sie keines.) yjwong vor 10 Jahren 0
@yjwong Guter Vorschlag zu $ ​​PATH! Ich werde AppArmor überprüfen. Bei der Erstellung dieses Servers gab es viele dieser Optionen nicht. Ich studiere und helfe bei der Entwicklung fortgeschrittener KI-Hintergrundprozesse für die Sicherheit. Ich möchte, dass die Leute den Server angreifen - das ist ein Punkt. Ich habe viele Dinge in den Weg gelegt, damit ich meine Daten dazu nutzen kann, Muster zu studieren. Ich wollte einen neuen Server mit etwas Sicherheit aufbauen, der es mir ermöglicht, mehr zu tun und sicherer zu sein. Aber diese Sache ist ein bisschen zu viel. Ich habe zumindest Apache unter einem No-Privs-Konto ausgeführt. Danke für die Vorschläge! closetnoc vor 10 Jahren 0
Haben Sie versucht, das in der Super User-Frage 816787 beschriebene Update manuell durchzuführen? Für meine Ubuntu-Maschinen funktionierte es wie ein Champion, etwa 15 Minuten pro Server, einschließlich VMware-Snapshots, ohne Neustart. Halte durch! JanFrazini vor 10 Jahren 0
@dan Ich kenne dich natürlich auf Pro Webmasters. Kennen Sie jemanden, der Ihnen dabei helfen kann? Es ist ernst geworden. Ich habe viele Nächte verbracht und bin müde. Möchte es wieder einschalten. Wenn Sie jemanden kennen, lassen Sie es mich wissen und machen Sie möglicherweise eine Antwort auf diese Frage. Danke im Voraus! closetnoc vor 10 Jahren 0
Haben Sie "apt-get purge bash" und "apt-get install bash" ausprobiert? vor 10 Jahren 0
@JeffreyLin Nein. Ist das sicher? Dies ist ein Server und ich habe keine grafische Benutzeroberfläche außer virualmin, die sorta limitiert ist. closetnoc vor 10 Jahren 0
Wenn Sie ein "gutes" `/ bin / bash 'und ein' schlechtes '` / usr / local / bin / bash' haben, aber Ihr PATH für diesen Benutzer hat `/ usr / local / bin /` früher als `/ bin / `zeigt der Test die Sicherheitsanfälligkeit auch dann an, wenn die Haupt-Bash-Datei behoben ist. unkilbeeg vor 10 Jahren 0
@unkilbeeg Fantastisch! Vielen Dank. Gute Infos. Nach einer Schrecken bekam ich beide Versionen gleich, aber nicht aktualisiert. Apt-get funktioniert nicht, weil bash aktuell ist. Bei Verwendung eines --reinstall wird die bash nicht mit den Patches installiert. Ich weiß, wie beide Versionen von Bash zusammenpassen. Aber ich weiß nicht, was ich mit bash_4.3-7ubuntu1.4.debian.tar.gz anfangen soll, was ich als nächstes brauche. Es gibt kein Konfigurationsskript und keine README mit etwas, woran ich mich festhalten kann. Das ist alles, was ich jetzt brauche, um zu wissen, wie man den Inhalt der GZ installiert. Dann bin ich fertig! closetnoc vor 10 Jahren 0

4 Antworten auf die Frage

2
Phil P

Debian stellt die ursprüngliche Upstream-Quelle bereit, dann die Steuerungsdateien und lokale Änderungen. Das .origin dem Dateiname besagt, dass es unverändert ist. Das .dscist nur Metadaten. In der .debian.tar.gzDatei finden Sie alle Patches, einschließlich der Sicherheitsupdates. Der Erstellungsprozess nimmt den ursprünglichen Upstream, wendet die Patches an und erstellt daraus die Pakete. Debian (und Ubuntu) tendieren stark dazu, neue Versionen aus dem Upstream zu ziehen, da neue Versionen neue Fehler und Regressionen hinzufügen und nicht nur bekannte Probleme beheben.

Das Ausführen sudo apt-get install --reinstall bashsollte das Problem beheben - die Ausgabe von apt-get weist Sie darauf hin, dass keine Installation durchgeführt wurde, und versuchte, die Konfigurationsdateien zu aktualisieren.

Wenn und nur wenn apt-get fehlschlägt, möchten Sie:

  1. Stellen Sie sicher, dass Sie eine andere Shell installiert haben, damit Sie beim Entfernen von bash nicht vom System ausgeschlossen werden. Installieren Sie kshoder zshund ziehen Sie in Betracht, vorübergehend eine Login-Shell auf eine davon zu setzen, damit Sie einen Weg finden.
  2. sudo dpkg --remove --force-remove-reinstreq bash
  3. sudo apt-get install bash

Dann möchten Sie sich mit dem von Unix verwendeten Handbuchseiten-System vertraut machen. Der manBefehl ist dein Freund hier. man apt-getund man dpkgwürde Ihnen viel geben, was Sie hier brauchen.

Bitte verzeih mir. Ich bin seit über einem Jahrzehnt von der IT in den Ruhestand getreten (ich lebe jetzt im Land [keine IT-Arbeit]) und habe viel mehr Zeit mit Fenstern verbracht, als ich wollte, als ich in der IT arbeitete ... (nicht meine Idee). Ich bin es gewohnt zu schlagen. Ist ksh oder zsh ähnlich genug, dass ich damit durchkommen sollte? Ist es identisch oder fast so? Ich bin kein starker Linux-Benutzer, aber im Allgemeinen gut genug. closetnoc vor 10 Jahren 0
Es wurde versucht, KSH und ZSH zu installieren. Beide installierten sich aufgrund von Inkonsistenzen bei der bash-Installation nicht. Ich habe jedoch einen anderen Benutzer mit / usr / local / bin / bash anstelle von / bin / bash erstellt. Ich habe $ BASH_VERSION verwendet, um die Version zu bestimmen, aber es wurde 4.3.27 (1) -release gemeldet. Ich gehe davon aus, dass $ BASH_VERSION die / bin / bash-Version aufnimmt. Wenn ich sudo / usr / local / bin / bash --version erhalte, erhalte ich 4.3.0 (5) - Freigabe. Ich vermute, dass mein sogenanntes Backup-Login-Benutzerkonto sicher ist. closetnoc vor 10 Jahren 0
Ich habe auch versucht, das Launchpad bash-4.3 zu installieren, und es scheint, dass es installiert wird in - * / usr / bin / install -c -m 0755 bash / usr / local / bin / bash *. Das ist ein Hinweis! Wie ändere ich den Installationsort? Ich möchte über die GNU-Kopie in / bin installieren. Dann stelle ich mir vor, die .debian.tar.gz anzuwenden? Aber ich weiß nicht wie. Übrigens: Ich bin gerade auf der Wende in Richtung Osten. closetnoc vor 10 Jahren 0
Verwenden Sie an einer Eingabeaufforderung install (1), um .usr / local / bin / bash nach / bin / bash zu installieren. Verwenden Sie dazu eine Befehlszeile ähnlich der von Ihnen zitierten Phil P vor 10 Jahren 0
Ich bin nicht sicher, ob ich verstehe, was Sie sagen. / usr / local / bin / bash ist das okay, aber alte Version von bash, während / bin / bash das kaputte ist. Die * install * von oben stammt von der ** make install ** -Ausgabe. Sagen Sie mir, dass es eine Möglichkeit gibt, usr / local / bin / bash über / bin / bash zu verschieben / kopieren / installieren? Verwirrt. closetnoc vor 10 Jahren 0
Ja; Führen Sie "man install" aus, um Anweisungen zu erhalten (Entschuldigung, telefonisch bei großen Firmenveranstaltungen, bitte entschuldigen Sie die Kürze) Phil P vor 10 Jahren 0
Ich weiß, dass es spät wird. Ich bin normalerweise ziemlich spät auf. Wenn Sie nach dem Firmenevent Zeit haben, lassen Sie es mich wissen. Entschuldigung, dass ich Schmerzen habe. closetnoc vor 10 Jahren 0
Okay! Auf halbem Wege! Ich habe die Installationssache gemacht, um die Bash in / bin zu kopieren, und dann die --reinstall-Sache gemacht und bis jetzt nicht schlecht. Ich habe Version GNU bash, Version 4.3.11 (1) -release wieder in / bin. Wütend! Nicht für Teil 2. Die .debian.tar.gz-Datei hat, wenn sie extrahiert wird, keine Konfigurationsdatei und ich habe immer herumgesucht und versucht herauszufinden, was zu tun ist. Aber ich habe keine Ahnung. Was mache ich, um den Rest zu installieren? closetnoc vor 10 Jahren 0
Wenn Sie erneut versuchen, die Installation von der Quelle durchzuführen (z. B. von https://superuser.com/questions/816787/how-do-i-patch-the-shellshock-vulnerability-on-ansobsolete-ubuntu-system-that-i (816807 # 816807) wird der Ort vom `--prefix =` - Begriff im `. / Configure'-Schritt aus gesteuert. Wenn Sie diesen Begriff nicht * einschließen, wird er in / usr / local / bin / `installiert. Das `--prefix = /` im Link installiert es in / usr / bin / `. Das ist zwar immer noch ein Problem mit dem kaputten apt-Problem, aber Sie erhalten an beiden Stellen eine aktuelle Bash. unkilbeeg vor 10 Jahren 0
Wenn ich sagte, das Präfix auf `/` zu setzen, würde ich es in `/ usr / bin /` setzen, was ich * in `/ bin /` meinte. unkilbeeg vor 10 Jahren 0
@unkilbeeg Ich habe diese Kommentare nicht gesehen. Sie wurden auch nach einer Aktualisierung nicht in der kleinen roten Liste für Kommentare angezeigt. Dieser Hinweis in diesem Link hat meine bash-Installation gebrochen. Wenn es nicht die ältere Ubuntu-Bash in / usr / local / gäbe, wäre ich Toast gewesen. https://superuser.com/questions/816787/how-do-i-patch-the-shellshock-vulnerability-on-ansobsolete-ubuntu-system-that-i/816807#816807 Es scheint, dass alles, was ich jetzt brauche ist zu wissen, wie man den Inhalt von bash_4.3-7ubuntu1.4.debian.tar.gz vom Launchpad aus installiert und ich bin fertig! Apt-get wird nicht auf die gepatchte Version aktualisiert, egal was ich mache. closetnoc vor 10 Jahren 0
Debian.tar.gz ist ein Bündel von Dingen, die vom Debian-Buildsystem, `debuild` und Freunden verwendet werden, und Sie möchten zu diesem Zeitpunkt wirklich nicht dorthin gehen. Bringen Sie Ihr System einfach an den Ort, an dem es sauber genug ist, damit apt-get arbeiten kann, und kehren Sie zur Sicherheit zurück, wenn Sie mit vorgefertigten Paketen arbeiten. Die Debian-Paketierer leisten zeitnah gute Arbeit. Phil P vor 10 Jahren 0
Ich bin dann verwirrt. Apt-get erhält nur GNU bash, Version 4.3.11 (1) -release und updates / bin / bash, während bash_4.3.orig.tar.gz die Version GNU bash, Version 4.3.0 (1) -release in / usr installiert / local / bin / bash. Wie aktualisiere ich mit Launchpad die Version 4.3.0 (1), in der alle bash-Dateien installiert sind (/ usr / local)? closetnoc vor 10 Jahren 0
Bei der Verwendung von `.orig.tar.gz` haben Sie Dateien außerhalb der Paketverwaltung im Dateisystem installiert. Folglich verfolgt nichts diese, nicht Launchpad, nicht passend, nichts; Sie müssen das Chaos manuell bereinigen. Sie verwenden einfach 'rm -v', um sie zu löschen. Sie brauchen cd / usr / local && rm -v bin / bash bin / bashbug bin / rbash info / bash.info man / man1 / bash * und es werden auch andere doc-Dateien vorhanden sein, aber es ist weniger wichtig, sie zu entfernen . Phil P vor 10 Jahren 0
Vergessen wir apt-get vorerst und konzentrieren uns auf das Launchpad. Wie aktualisiere ich / usr / local / bin / bash nach Version 4.3.0 (1) -release mit Launchpad (wird Launchpad dort installiert)? Ich habe aufgehört, dass apt-get rund und rund gegangen ist und gesehen hat, dass zwei Versionen an zwei Orten installiert sind. Ich möchte die eine bash-Kopie, in der sich alle bash-Dateien befinden, aktualisieren - die Launchpad-Version in / usr / local / bin / bash mit Version GNU bash, Version 4.3.0 (1) -release. Ich sehe das als meinen Ausweg. Von da aus kann ich einfach die andere (/ bin / bash) wie gestern Abend sprengen. closetnoc vor 10 Jahren 0
Ich kann die Dinge nicht klar genug erklären, um Ihnen zu helfen, es tut mir leid. Ich bin raus. Phil P vor 10 Jahren 0
Es tut mir leid. Ich hoffe, dass ich dich nicht vertrieben habe. Wenn Sie wissen, wie man apt-get wieder richtig macht, bin ich dazu bereit. Ich habe Ihren Kommentar "Wenn Sie die .orig.tar.gz ... verwendet haben" nicht angezeigt. Dieses Ding aktualisiert den roten Zähler oben nicht und wenn ich nicht oft auffrische, werde ich etwas vermissen, was ich getan habe. Entschuldigen Sie. closetnoc vor 10 Jahren 0
Entschuldigen Sie, dass Sie stumpf sind. Danke nochmal für deine Hilfe. Ihre Antwort und Unterstützung, die ich fühlte, war von entscheidender Bedeutung. Ich verbrachte 3,5 Stunden im Chat, um jemandem zu helfen, der ein Problem wirklich nicht verstand, und es stellte sich als eine der lohnendsten Sitzungen heraus. Sie waren offensichtlich äußerst begabt, verstanden die Technologie aber noch nicht gut genug. Sie waren so dankbar, wie ich es heute fühle. Ich kann es nicht genug ausdrücken. Bitte aktualisieren Sie, falls möglich, Ihre Antwort für zukünftige Leser. Ich habe eine Antwort geschrieben, die die Dinge erklärt. Gerne gebe ich Ihnen Details für Ihre Antwort, falls Sie diese benötigen. Noch einmal Danke! closetnoc vor 10 Jahren 0
2
Wumpus Q. Wumbley

Scheint mir, dass das Problem darin liegt, dass Sie versehentlich eine schlechte Version von bash installiert /usr/localhaben und bereits eine bessere Version haben /bin. Ich kann also nicht verstehen, warum die Antwort nicht einfach istrm /usr/local/bin/bash

OK, das wird nicht alle Support-Dateien entfernen, die im Lieferumfang enthalten sind, aber es wird sichergestellt, dass die fehlerhafte Version nicht ausgeführt werden kann.

Wenn Sie immer noch das Verzeichnis haben, in dem Sie make installdie fehlerhafte Version erstellt haben, können Sie dorthin gehen und ein make uninstallbereinigen. Wenn Sie es noch nicht haben, können Sie es wahrscheinlich wieder entpacken und neu erstellen (wobei Sie sicherstellen müssen, dass es mit den ./configureArgumenten übereinstimmt, die Sie beim ersten Mal verwendet haben) make uninstall.

make uninstallsollte mit jedem GNU-Programm funktionieren, bei dem Sie noch das ursprüngliche Build-Verzeichnis haben. In den Kodierungsstandards müssen alle GNU-Quellpakete befolgt werden.

1
user373746

Ich fand, dass Apt-get install bash funktioniert, um den Fehler zu beseitigen

Hier ist, was passiert, dass apt-get nicht funktioniert. Die Kopie von / bin / bash wurde aktualisiert, jedoch nicht mit den Patches. Die Kopie von / usr / local / bin / bash wurde überhaupt nicht aktualisiert. Apt-get schaut nach / bin / bash und sagt, es ist auf dem neuesten Stand und wird nicht installiert, egal was ich mache. Dies liegt daran, dass ich das Launchpad-Paket verwendet habe, um 4.3 vor der Aktualisierung des Repositorys aus der Quelle zu installieren. Ich habe viele Dinge ausprobiert, einschließlich der Installation mit dpkg und der Quelle. Ich bin festgefahren und es gibt keine wirkliche Hilfe für meine Situation. Es kann natürlich gelöst werden, ich bin einfach nicht so stark wie Linux. closetnoc vor 10 Jahren 0
1
closetnoc

Bitte stimmen Sie diese Antwort nicht ab, bis die Prämie bezahlt wurde - wenn Sie dies tun.

Ich möchte zuerst denjenigen (!) Danken, die mir geholfen haben, und dann erklären, was passiert ist und was nicht zu tun ist und was dieses Problem behoben hat. Also bitte gebar mit mir. Ich mache das für zukünftige Benutzer.

Vielen Dank: Ich möchte demütig danken (!) Paul P (hier) und Manfred Hampl (m-hampl) von answers.launchpad.net und entschuldige mich dafür, dass er etwas stumpf ist. Beide haben mir geholfen, dieses Problem zu lösen. Ich brauchte einen Helden und beide standen auf, um mein Held zu sein. Ich danke euch beiden mit allem, was ich habe.

Ich danke (!) Allen, die dazu beigetragen haben. In all dem war Weisheit. Vor allem unkilbeeg, der einen Hinweis gab, der von unschätzbarem Wert war. Natürlich kann ich Cyrus nicht vergessen, der sofort einsprang und auch von unschätzbarem Wert war.

Was geschah: Im Nebel der Dinge und aufgrund meiner erheblichen Ignoranz in Sachen Installation / Update usw. folgte ich Seiten, Meinungen und Links und dachte, ich würde das Richtige tun. Am Anfang und zu der Zeit hatte apt-get kein Paket zur Verfügung und so schwebte ich über launchpad.net, weil Ubuntu mich darauf hinwies.

Was ich nicht wusste, war, was ich mit der Ressource launchpad.net tun sollte. Ich habe die .gz-Datei für die Basisinstallation installiert und erwartet ein Update. Um es kurz zu machen: Was ich nicht wusste, ist, dass es auf einer anderen Seite .deb-Dateien gibt, die eigentlich meinen Fokus hätten haben sollen. Wenn Sie versuchen, etwas in Ubuntu mithilfe von launchpad.net zu aktualisieren, suchen Sie nach einer geeigneten .deb-Datei.

Zwischen apt-get und launchpad.net hatte ich zwei Versionen von bash, die das Problem ernsthaft verwirrten.

Schlimmer noch, es gab einen vorgeschlagenen GNU-Fix, der für einige gut gewesen sein könnte, aber bash in / bin gebrochen hat. Gott sei Dank (!) Gab es zwei Versionen. Paul P. half mir bei der Behebung dieses Problems, indem er einen Installationsbefehl zum Überschreiben der GNU-Installation ausgab.

Zum Schluss: Beide, Paul P und Manfred Hampl, befanden sich auf dem gleichen Weg, als ich zwischen zwei Standorten aufsprang. Leider war ich für Paul P. zu stumpf und entschuldige mich dafür.

Was bekannt sein musste, war, $ PATH war wichtig, wie unkilbeeg darauf hinwies. Die einzige Version von bash, die existieren sollte (aus meinem Verständnis und ich erinnere mich, dass ich stumpf bin), ist die in / bin, und die einzige Installation, die durchgeführt werden sollte, sind die, die Sie über apt-get und optional jede deb-Datei vom Launchpad erhalten. Netz. Sowohl Paul P. als auch Manfred Hampl wiesen darauf hin, dass die / usr / local / bin-Version von bash gelöscht werden sollte. Also das habe ich getan. Es stellte sich heraus, dass ich, während ich dachte, dass ich / usr / bin verwende, da dies meinem Benutzer zugewiesen wurde, ich eigentlich / local / usr / bin verwendete, weil es zuerst in meinem Pfad war. Guter Fang!

Denken Sie daran, dies ist ein Rat von Ubuntu. Es kann nicht für jeden gelten.

Verwenden Sie apt-get IMMER (!), Wenn Sie können. Verwenden Sie zweitens launchpad.net und suchen Sie nach der richtigen .deb-Datei. Mach nichts anderes. GNU-Ressourcen sind zwar wertvoll, aber es ist am besten, wenn Ubuntu ein Paket für Sie erstellt und einfach darauf wartet. Aktualisieren Sie Ubuntu nicht von anderen Ressourcen, wenn Sie nicht wirklich wissen, was Sie tun.

Kopfgeld: Ich wünschte, ich könnte jedem einen Teil des Kopfgeldes geben oder es zumindest zwischen Paul P. und Manfred Hampl aufteilen, aber das ist unmöglich. Ich bezeichne Paul P als akzeptierte Antwort und bitte ihn, seine Antwort für zukünftige Leser zu aktualisieren. Wenn er Informationen von mir benötigt, gebe ich sie gerne weiter.

Nochmals vielen Dank: Nochmals vielen Dank (!) Allen, die mitgespielt haben. Das einfache Einblenden von Signalen kann weitaus wichtiger sein, als Sie es je wissen können. Ein einfacher Hinweis kann wirklich jemandem helfen, der in Schwierigkeiten ist. Die Unterstützung einer Gemeinschaft, die sich immens sorgt. Danke noch einmal