Hallo zusammen, ich versuche mich mal kurz zu fassen. Und zwar habe ich hier einen kleinen Heim- und Bastelserver auf dem bis dato Ubuntu Server 20.04 LTS lief. Den nutze ich als NAS und für Testzwecke, sowie zur Versionsverwaltung für meine Hobbyprojekte. Dort hatte ich demletzt eine ERPNext Instanz aufgesetzt, welche auch einwandfrei lief. Dummerweise habe ich die Instanz "geupdatet", womit das ganze Übel begann. Und zwar erforderte die aktuelle Version Python 3.10, welches unter Ubuntu 20.04 nicht verfügbar ist. Daher habe ich das entsprechende Deadsnakes Paket installiert. Da dann immer noch Probleme auftraten, hatte ich ein Dist-upgrade auf 22 durchgeführt. Das war der erste GAU, denn die Python Version aus dem deadsnakes Paket und die mitgelieferte, welche das OS zwingend benötigt unterscheiden sich. Reparatur nicht möglich, apt läuft nicht mehr. Schlau wie ich bin, habe ich dann alles an Python 3.10 und an Bibliotheken von einer Ubuntu 22 Live Instanz auf die Serverplatte kopiert und die "defekten" Dateien und Ordner überschrieben. So weit so gut. Apt tat wieder, --fix-broken, update, upgrade, autoremove. Alles lief durch, keine Fehler (klopfe mir auf die Schulter). Ubuntu meinte noch ganz lieb, dass der Rechner bei Gelegenheit mal neu gestartet werden könnte. Was ich dann auch prompt tat. SSH Verbindung weg. Ich zum Server, händisch noch ein paar mal neu gestartet, aber ich komme nicht mehr drauf. Also Monitor und Tastatur rausgesucht: login wird angezeigt, also angemeldet. Keine MOTD. (??) Services laufen alle. Aber keine Internetverbindung. ifconfig zeigt mir meine Netzwerkkarte nicht an. Ich bin mit meinem Latein am Ende. Vielleicht hat hier ja noch jemand eine zündende Idee, oder komme ich um eine Neueinrichtung nicht rum?
Ich fürchte, dass du das so leicht nicht mehr hinkriegen wirst. Python hat schließlich auch Abhängigkeiten und die sind jetzt einmal durcheinander. Die aus einer sauberen Installation zu kopieren hilft aber vermutlich nur bedingt, da du nicht alle installierten Abhängigkeiten kennst und apt nicht mehr funktioniert. Und selbst wenn du sie einfach rüberkopierst, Stimmen möglicherweise die Versionsstände in apt nicht mehr und du läufst bei jedem Update auf neue Probleme. Liefert der Start von Python irgendwelche Fehlermeldungen? Sicher dir die Daten und setz das Ding neu auf. Alles andere wird ewig dauern. Und für die Zukunft kannst du dir mal docker ansehen. Dann kannst du nämlich gefahrlos mehrere Versionen parallel nutzen.
Gerd schrieb: > ifconfig zeigt mir meine Netzwerkkarte nicht an. ›ifconfig -a‹ auch nicht? Häufig ist die Ursache für nicht mehr hochkommendes Interface nach derlei Basteleien schlicht, dass das Interface einen neuen Namen bekommen hat, und von der vorhandenen Konfiguration nicht erfasst wird. Hans schrieb: > Und für die Zukunft kannst du dir mal docker ansehen. Dann > kannst du nämlich gefahrlos mehrere Versionen parallel nutzen. Ist für Python nicht einmal nötig – da kann man sich mit wenigen Tastendrücken virtuelle Environments im Nutzerverzeichnis erstellen.
Was sagt dmesg? systemctl status? ip a? https://ubuntuforums.org/showthread.php?t=735693 Man kann alle Pakete neu installieren. Im schlimmsten Fall musst du dazu von einem Live Stick booten, ins System mittels chroot wechseln und das ausführen. Dann solltest du alle passenden Libs usw. wieder haben, aber ich rate dringend zu einem Backup. Das ist zwar die halbe Holzhammer Methode und man könnte das filigraner wieder zum Laufen bringen, aber so sollte sich das auch lösen, ich weiß ja nicht, was du alles verändert hast. Wenn du das nächste Mal eine derartige Abhängigkeit hast, dann gibt es dafür einige Lösungen. Einerseits kannst du das Paket in einen SNAP mit Ubuntu 20.04/22.04 usw. als Core packen oder dir einen LXC Container einrichten. Dicker kann man auch machen, für persistente Angelegenheiten ist LXC jedoch eleganter.
Jack V. schrieb: > Ist für Python nicht einmal nötig – da kann man sich mit wenigen > Tastendrücken virtuelle Environments im Nutzerverzeichnis erstellen. Was allerdings vor allem eins zeigt: Python ist nix, was man für langzeitstabile Anwendungen einsetzen sollte. Das ist Hipster-Scheiße. Schnell hingerotzt und genau so schnell auch wieder unbrauchbar und obsolete. Nur Wahnsinnige benutzen das ernsthaft.
c-hater schrieb: > Was allerdings vor allem eins zeigt: Python ist nix, was man für > langzeitstabile Anwendungen einsetzen sollte. … wie halt auch alle anderen Sprachen, deren Compiler oder Interpreter in verschiedenen Versionen daherkommt, die man parallel nutzen kann – oder was wolltest du mit deinem wirren Geschwurbel ausgedrückt haben?
Jack V. schrieb: > ›ifconfig -a‹ auch nicht? Häufig ist die Ursache für nicht mehr > hochkommendes Interface nach derlei Basteleien schlicht, dass das > Interface einen neuen Namen bekommen hat, und von der vorhandenen > Konfiguration nicht erfasst wird. Würde mal ip a probieren. ifconfig ist sowieso legacy. Ubuntu nutzt für die Netzwerkverwaltung ja Netplan und das scheint irgendwie auch Python zu brauchen. Mit dem Problem ist der TO nicht alleine: https://stackoverflow.com/questions/65558712/netplan-not-working-after-change-default-python Das Problem ist nur: Wie repariere ich ein System, bei dem ich für die Reparatur bestenfalls Netzwerk brauche, ich aber keins habe, weil das System kaputt ist? Jack V. schrieb: > Hans schrieb: >> Und für die Zukunft kannst du dir mal docker ansehen. Dann >> kannst du nämlich gefahrlos mehrere Versionen parallel nutzen. > > Ist für Python nicht einmal nötig – da kann man sich mit wenigen > Tastendrücken virtuelle Environments im Nutzerverzeichnis erstellen. Da verwechselst du was. Natürlich kann ich in einer virtualenv unterschiedliche Bibliothekenversionen installieren und natürlich kann ich auch in einer virtualenv eine andere Python Version nutzen. Aber: Die Python Version muss auf dem System vorhanden sein. Bei der Installation dieser Version nahm das Schicksal beim TO ja schon seinen Lauf. c-hater schrieb: > Was allerdings vor allem eins zeigt: Python ist nix, was man für > langzeitstabile Anwendungen einsetzen sollte. Das ist Hipster-Scheiße. > Schnell hingerotzt und genau so schnell auch wieder unbrauchbar und > obsolete. Oh du Ahnungsloser. Das ganze Ubuntu baut darauf auf. Wenn das eins zeigt, dann, dass man nicht einfach ohne Sinn und Verstand irgendwelche Dateien und Symlinks verändern sollte. Genau das ist hier aber passiert, als er die Default Version verändert und dann noch irgendwelche Daten überschrieben hat. Für das was hier passiert ist, kann es unzählige Gründe geben.
Hans schrieb: > Da verwechselst du was. Natürlich kann ich in einer virtualenv > unterschiedliche Bibliothekenversionen installieren und natürlich kann > ich auch in einer virtualenv eine andere Python Version nutzen. Aber: > Die Python Version muss auf dem System vorhanden sein. Nein, passt schon: die andere Pythonversion sollte in dem Fall gar nicht systemweit installiert sein, sondern unter ~/ residieren. Dann benötigt man für den ganzen Vorgang keinerlei Rootrechte (für die Jüngeren unter uns: kein ›sudo‹), und kann sich entsprechend das System nicht zerschießen. Edit: aber wollen wir dieses Thema nicht noch etwas zurückhalten, bis der TE sein Problem gelöst hat? Ob man nun ip oder ifconfig nimmt, ist im Grunde egal – wichtig ist nur, dass man sich alle Interfaces anzeigen lässt, und nicht nur die konfigurierten Schnittstellen.
:
Bearbeitet durch User
Jack V. schrieb: > Nein, passt schon: die andere Pythonversion sollte in dem Fall gar nicht > systemweit installiert sein, sondern unter ~/ residieren. Dann benötigt > man für den ganzen Vorgang keinerlei Rootrechte (für die Jüngeren unter > uns: kein ›sudo‹), und kann sich entsprechend das System nicht > zerschießen. Klar, wenn du es so machst geht es natürlich. Ist nur immer die Frage, ob ich den Vorteil der Paketverwaltung und den damit verbundenen Sicherheitsupdates aufgeben will.
Hans schrieb: > Oh du Ahnungsloser. Würde ich so nicht sagen. > Das ganze Ubuntu baut darauf auf. Das stimmt. Und ist eben deswegen auch ein richtiges Infrastruktur-Problem.
c-hater schrieb: > Hans schrieb: > >> Oh du Ahnungsloser. > > Würde ich so nicht sagen. Ich schon. > >> Das ganze Ubuntu baut darauf auf. > > Das stimmt. Und ist eben deswegen auch ein richtiges > Infrastruktur-Problem. Dann nimm doch dein selbstgestricktes Assembler Betriebssystem. Gibt es hoffentlich keinen Webbrowser für, damit wir hier Ruhe habem.
c-hater schrieb: > Hans schrieb: > >> Oh du Ahnungsloser. > > Würde ich so nicht sagen. Aber alle die sich auskennen.
Trolldetektor schrieb: > c-hater schrieb: >> Hans schrieb: >> >>> Oh du Ahnungsloser. >> >> Würde ich so nicht sagen. > > Aber alle die sich auskennen. Ich glaube dein Detektor ist kaputt. Bin nämlich der Hans aus dem Docker Thread. Jetzt hab ich dich!
Jack V. schrieb: > Nein, passt schon: die andere Pythonversion sollte in dem Fall gar nicht > systemweit installiert sein, sondern unter ~/ residieren. Virtualenv ist zwar eine sehr feine Sache. Aber wer das noch eine Nummer ausgereifter haben möchte könnte beispielsweise zu Poetry greifen, das meines Wissens auch mit unterschiedlichen Pythonversionen arbeiten kann: https://python-poetry.org/
Gerd schrieb: > Keine MOTD. (??) Services laufen alle. Aber keine Internetverbindung. > ifconfig zeigt mir meine Netzwerkkarte nicht an. Versuch mal Jacks und Hans' Tipp mit dem "ip a s". Neuere Linuxversionen mit systemd haben jetzt ein neues Namensschema für NICs, in der Art "enp0s10" anstelle von "eth0" weil es früher vorkommen konnte daß mehrere NICs je nach Boot in unterschiedlicher Reihenfolge erkannt wurden und die Zuweisung der Namen dann nicht mehr konsistent war. Darum hat systemd neue Bezeichner eingeführt wobei beim Beispiel oben "enp0s10" die 0 für den Bus und die 10 für die Slotnummer im Bus steht. Das heißt natürlich auch daß Deine NIC einen anderen Namen bekommt wenn Du sie in einen anderen Slot steckst. Aber wie dem auch sei versuch erstmal Deine Interfaces wiederzufinden und dann korrekt zu konfigurieren und meld Dich dann bitte nochmal. Viel Erfolg!
Jack V. schrieb: > Nein, passt schon: die andere Pythonversion sollte in dem Fall gar nicht > systemweit installiert sein, sondern unter ~/ residieren. Sie kann auch systemweit installiert sein. Das ist gar kein Problem und war beim Wechsel von Python 2 auf Python 3 oft auch notwendig. Und obwohl Ubuntu 20.04 Python 3 in der Version 3.8 dabei hatte war es für mich kein Problem, parallel die neuen Features von Python 3.10 (Structural Pattern Matching ♥) zu nutzen indem ich parallel zur systemseitigen Version 3.8 die Version 3.10 aud dem Deadsnakes-PPA installiert habe. Beim Anlegen von virtualenvs konnte ich dann mit dem Parameter -p die gewünschte Pythonversion angegeben. Man muß nur darauf achten den Symlink /usr/bin/python auf der systemseitigen Version zu belassen damit die systemseitig installierten Pythonpakete weiterhin gefunden werden können.
Hans schrieb: > Ich glaube dein Detektor ist kaputt. Bin nämlich der Hans aus dem Docker > Thread. Jetzt hab ich dich! Ich weiß. Aber ich arbeite natürlich threadabhängig und bislang hast Du in diesem Thread hier (noch?) nicht getrollt
Trolldetektor schrieb: > Hans schrieb: >> Ich glaube dein Detektor ist kaputt. Bin nämlich der Hans aus dem Docker >> Thread. Jetzt hab ich dich! > > Ich weiß. Aber ich arbeite natürlich threadabhängig und bislang hast Du > in diesem Thread hier (noch?) nicht getrollt Du bist einfach nur unnötig und selbst das, was du vorgibst zu detektieren.
Jack V. schrieb: > ›ifconfig -a‹ auch nicht? Häufig ist die Ursache für nicht mehr > hochkommendes Interface nach derlei Basteleien schlicht, dass das > Interface einen neuen Namen bekommen hat, und von der vorhandenen > Konfiguration nicht erfasst wird. bis 20.04 hiessen die Netzwerke eth0, eth1, wlan0, wlan1 ... jetzt heissen sie enp0s25 oder wlp3s0
Erstmal dankeschön für die ganzen Antworten :-) Ich hab jetzt nach dem Abendbrot noch ein bisschen rumprobiert und komme nicht weiter. Ja, mit docker hab ich auch schonmal rumgespielt, aber bin da noch nicht wirklich hinter gestiegen wie man sich das zusammenstrickt. Außerdem bin ich noch in der Anwendung selber am rumändern und Persistenz ist ja nicht (wie ich gelesen hatte). Deshalb hatte ich es lokal installiert. Nächstes mal wird es definitiv in eine VM gepackt, aber da muss erst der Server etwas wachsen. :D Hans schrieb: > Liefert der Start von Python irgendwelche Fehlermeldungen? Nein, das startet tatsächlich ohne Probleme. (3.10.6 ist installiert) Lallende Ente schrieb: > Was sagt dmesg? > > systemctl status? > > ip a? habe ich mal angehängt. Das Netzwerkgerät heißt enp3s0, war erst down, wie im Mitschnitt. Konnte ich mit ifconfig aber starten, dann hatte es eine ipv6 Addresse. Der Router hat den Server als online angezeigt, aber der Server selber hatte keine Verbindung nach irgendwo. Weder Ping, noch ping6 gingen raus, apt kriegt auch nichts (Name konnte nicht aufgelöst werden) als DNS zeigt er localhost. Es wurde aber tatsächlich Paketverkehr angezeigt. Hans schrieb: > Jack V. schrieb: >> ›ifconfig -a‹ auch nicht? Häufig ist die Ursache für nicht mehr >> hochkommendes Interface nach derlei Basteleien schlicht, dass das >> Interface einen neuen Namen bekommen hat, und von der vorhandenen >> Konfiguration nicht erfasst wird. > > Würde mal ip a probieren. ifconfig ist sowieso legacy. Ubuntu nutzt für > die Netzwerkverwaltung ja Netplan und das scheint irgendwie auch Python > zu brauchen. Mit dem Problem ist der TO nicht alleine: > https://stackoverflow.com/questions/65558712/netplan-not-working-after-change-default-python > Netplan? - command not found. Also entweder ist da was mit Ubuntu 22 umgeschmissen worden, oder hier ist doch arg was kaputt gegangen :D Ich habe noch versucht netplan mit offline paketen nachzuinstallieren, aber da fehlen extrem viele Abhängigkeiten. Unter anderem will er ein Python 3.10.4 und das wiederum die entsprechende minimal, stdlib und yaml und haste nicht gesehen. Teilweise mit expliziter Versionsnummer. Ich habs jetzt erstmal dabei belassen.
Gerd schrieb: > Konnte ich mit ifconfig aber starten, dann hatte es eine ipv6 Addresse. Du kannst mit ifconfig oder ip auch eine v4-Adresse setzen. Außerdem kannst du bei Bedarf die Default-Route über deinen Router setzen, und in /etc/resolv.conf kannst du funktionierende Nameserver hinterlegen. Wenn dein Router DHCP-Dienste zur Verfügung stellt, kannst du, sofern installiert, die Konfiguration auch mittels ›dhcpcd‹ oder ›dhclient‹ (was halt da ist) automatisiert durchführen lassen – aber man braucht halt nicht mehr, als ›ip‹ oder ›ifconfig‹ und ›route‹, um das Netz manuell einzurichten.
Gerd schrieb: > Netplan? - command not found. Also entweder ist da was mit Ubuntu 22 > umgeschmissen > worden, oder hier ist doch arg was kaputt gegangen :D Liegt bei dir was im Verzeichnis /etc/netplan? Eventuell musst du dort nur den Interfacenamen von eth0 auf enp3s0 ändern.
Ansonsten versuch mal die IP manuell zu setzen:
1 | ip link set enp3s0 up |
2 | ip addr add <ip>/<netzmaske> dev enp3s0 |
3 | ip route add default via <router> |
Okay, habe gerade den Server nochmal hochgefahren. Und was soll ich sagen? Ich habe eine Internetverbindung. Warum auch immer. Egal, ich freue mich einfach :D Bleibt die Frage ob ich jetzt die Pakete noch neu installiert und die Abhängigkeiten irgendwie wieder gerade gebogen bekomme? :D
sudo aptitude reinstall '~i' https://unix.stackexchange.com/questions/79125/reinstalling-all-debian-packages Diesen Befehl hab ich aber noch nie ausprobiert. In dem thread sind aber auch andere Befehle, mach das aber am besten in einer tmux/Screen Session, das wird eine Zeit dauern...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.