Connection closed: /opt/bin/bash: not found

Status
Für weitere Antworten geschlossen.

stefanhinz

Benutzer
Mitglied seit
01. Sep 2008
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Nach dem Update auf DSM 3.1-1594 startete meine CS407 nicht mehr durch, das heißt, sie blieb im Zustand "Services werden gestartet" hängen, über Tage. Nachdem der Synology-Support sich endlich meiner erbarmte und mir riet, Optware abzuschalten, konnte ich die CS407 wieder problemlos hochfahren. Optware habe ich deaktiviert, indem ich in /etc/rc.local als ersten Befehl "exit" eingegeben habe. Dann Reboot, und wie gesagt startete die Kiste durch.

Alle mit DSM 3.1 startbaren Services laufen, aber z.B. svnserve nicht, also kann ich meine SVN-Repositories nicht synchronisieren. Also noch mal ran, Optware wieder aktivieren ... Aber Moment, das klappt nicht:

Rich (BBCode):
atlas~> ssh mneme
BusyBox v1.16.1 (2011-02-25 19:00:19 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

-sh: exec: line 20: /opt/bin/bash: not found
Connection to mneme closed.

Hm, und jetzt? Ohne Einloggen kann ich weder /etc/rc.local bearbeiten noch den fehlenden Link auf @optware per ln wiederherstellen. Hat jemand einen heißen Tipp, wie ich mich einloggen kann?

Vielen Dank schon mal,

Stefan
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Moin,
schon mal ein "ssh -l root mneme /bin/sh" versucht?

Sieht etwas merkwürdig aus, aber man kann zumindest Befehle aufrufen.

Gruß

Janus
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Grundsätzlich kann man ja die Firmware neu installieren (RESET) und dann sind die Dateien wieder so wie früher.

Man kann aber auch kurz die erste (!) Platte ausbauen und auf einem Linux-System die erste Partition mounten (system-partition) und dann die Dateien abändern. Aktuelles Backup setzen ich mal voraus.

Itari
 

stefanhinz

Benutzer
Mitglied seit
01. Sep 2008
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Aber hallo, da kennt sich jemand aus! :) Vielen herzlichen Dank!

Mit "ssh -l root mneme /bin/sh" bekomme ich den spartanischsten Prompt aller Zeiten, aber der reicht in der Tat, um das Problem zu beheben. Zunächst einmal feststellen, wer da eigentlich "/opt/bin/bash" aufruft ... Das hatte ich dummerweise nicht in /homes/stefan/.profile gemacht, sondern systemweit in /etc/profiles. Damit waren dann wirklich alle, inklusive root, ausgesperrt.

Nächstes Problem: Wie editiert man mit einem vi, was noch nicht mal Pfeiltasten unterstützt? Antwort: Gar nicht. Ich habe einfach /etc/profile deaktiviert, und nun komme ich über ssh (oder telnet) wieder rein. Kurzes Listing zur Referenz:

Code:
atlas # ssh -l root mneme /bin/sh
cat /etc/profile
#/etc/profile: system-wide .profile file for ash.
cat /etc/profile
...
PATH=/opt/bin:/opt/sbin:$PATH
exec /opt/bin/bash

mv /etc/profile /etc/profile.DISABLED

exit

atlas # ssh mneme

BusyBox v1.16.1 (2011-02-25 19:00:19 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

Mneme>
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Moin,
Ich hätte einfach den Link nach /opt wieder hergestellt und dann die Konfig entsprechend der negativen Erfahrung geändert. Aber freut mich, dass es auch so für dich funktioniert hat. Ich hätte beim ersten Lesen vermutet, dass die Shell in der /etc/passwd geändert worden ist. In der /etc/profile ist es noch ein bischen "dreckiger" ;-)

@Itari: Neuinstallieren ist immer so mit Kanonen auf Spatzen schiessen. Das klingt für mich so, wie bei einem Windows: Erst mal neu Starten, dann ist/wird alles wieder gut.... Bäh! ;-)

Gruß

Janus
 

stefanhinz

Benutzer
Mitglied seit
01. Sep 2008
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo Janus,

nochmals vielen Dank für die professionelle Hilfe! Ich bin immer noch etwas verwundert, dass der Synology-Support Deine Lösung nicht kannte -- das muss doch schon anderen vor mir passiert sein.

Ich habe übrigens zuerst versucht, den Link zu @optware/bin/bash in /opt/bin/bash herzustellen. Das klappte auch, aber beim Einloggen bekam ich dann eine Fehlermeldung a là "too many symbolic links to follow" und der Login scheiterte nach wie vor. Wie auch immer: Mit dem temporären Deaktivieren von /etc/profile war das Problem gelöst.

Warum die Maschine nach dem DSM-Update nicht wieder hochfuhr, weiß ich allerdings bis heute nicht. Hast Du eine Idee?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Neuinstallieren ist immer so mit Kanonen auf Spatzen schiessen. Das klingt für mich so, wie bei einem Windows: Erst mal neu Starten, dann ist/wird alles wieder gut.... Bäh! ;-)

Da hast du sicherlich recht. Andererseits wird dir ja nicht immer die ganz Welt erklärt, wenn du es mit einem Problem zu tun hast. Bei Windows hast natürlich auch recht: nicht neu starten, sondern deinstallieren macht alles wieder gut. :D

Itari
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
Hallo Janus,

nochmals vielen Dank für die professionelle Hilfe! Ich bin immer noch etwas verwundert, dass der Synology-Support Deine Lösung nicht kannte -- das muss doch schon anderen vor mir passiert sein.

Ich habe übrigens zuerst versucht, den Link zu @optware/bin/bash in /opt/bin/bash herzustellen. Das klappte auch, aber beim Einloggen bekam ich dann eine Fehlermeldung a là "too many symbolic links to follow" und der Login scheiterte nach wie vor. Wie auch immer: Mit dem temporären Deaktivieren von /etc/profile war das Problem gelöst.

Warum die Maschine nach dem DSM-Update nicht wieder hochfuhr, weiß ich allerdings bis heute nicht. Hast Du eine Idee?

Moin,
bitte.

Da du die optware installiert hast, ist der Synology Support definitiv nicht der richtige Ansprechpartner, das ist deine eigene Verantwortung. Von daher ist die Antwort von Synology für mich in Ordnung.

Das mit dem neu setzen des Links klingt mir nach RTFM. Du solltest versuchen zu verstehen, was so ein link macht und wie das funktioniert. Vermutlich hast du irgendwie einen selbst referenzierten Link gebastelt, was zu der oben genannten Meldung führen kann.

Was das nicht mehr starten angeht: Meine Glaskugel ist in Reperatur. :) Wenn du öfter so Sächelchen machst, wie in /etc/profile mal einfach Sachen aus der optware aufzurufen, ohne z.B. zu prüfen ob da was zum aufrufen ist.... Wer weiss, was dein System da machen will. Das kannst nur du selber beurteilen. Ich kann dir da nur empfehlen, dass du alle änderungen an deinem System gut dokumentierst.

Meine DS1010+ hat für Boot Probleme einen VGA Stecker, da kann man zur Not mal aufs Terminal schauen ;-)

Gruß

Janus
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@all
Passt aber auf wenn ihr eine Shell unter opt zur Default Shell macht. Sollte das volume1 abstürzen oder ihr einen Reset machen (resp Firmware neu aufspielen), dann ist erstmal fertig mit Shell.
 

janus

Benutzer
Mitglied seit
07. Sep 2010
Beiträge
667
Punkte für Reaktionen
0
Punkte
0
@all
Passt aber auf wenn ihr eine Shell unter opt zur Default Shell macht. Sollte das volume1 abstürzen oder ihr einen Reset machen (resp Firmware neu aufspielen), dann ist erstmal fertig mit Shell.

Moin,
für root würde ich derzeit empfehlen gar nicht an der Shell rumzuspielen! Für einzelne Nutzer kann man diese ändern, aber bei root würde ich immer den Default lassen. Wenn man eine Spezielle Shell haben möchte, kann man diese immer noch nach dem login aufrufen und sich im Falle der bash z.B. eine .bashrc basteln, welche ein entsprechendes Environment zur verfügung stellt. Man sollte nie vergessen, dass wenn der root Login nicht mehr geht, dann hat man ein Problem, welches erfahrungsgemäss für viele der hier mitlesenden nicht so einfach zu lösen ist.

Im vorliegenden Fall würde ich auch empfehlen nicht mit bash oder anderen Shells in der /etc/profile rumzubasteln, ganz besonders nicht, wenn die bash aus /opt kommt. Das kann man eleganter z.B. in Startup Scripts oder in einer .profile machen. Nur wirklich wichtige Einträge, welche unbedingt in die /etc/profile müssen, sollten dort auch eingetragen werden, was IMHO eigentlich immer auch mit der Standard Shell machbar ist.

Gruß

Janus
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat