Newbie Linux Admin Frage hier. In den letzten 6 Monaten habe ich die meisten Standardinstallationsprogramme auf meinem Server-Setup unter Fedora aktualisiert. In den letzten Wochen habe ich festgestellt, dass dieses Dateisystem viele Instanzen derselben Software enthält und einige noch verwendet werden, andere nicht.
Zum Beispiel habe ich MySQL mindestens dreimal aktualisiert / neu installiert, einmal von RPM und zweimal von Source Tarball. Ich habe gerade festgestellt, dass es MySQL - Binärdateien in /sbin
, /usr/bin
, /usr/local/bin
, und /usr/local/mysql/bin
. Um die Sache noch schlimmer zu machen, zeigt der which
Befehl auf /sbin
( wahrscheinlich dank der Reihenfolge ENV
, PATH
in der geschrieben ist), aber das init.d
Skript verwendet /usr/local/bin
und alle gemeinsam genutzten Bibliotheken und Header stammen aus einer weiteren Installation. Es ist ein Chaos.
Ähnlich verhält es sich mit der aktuellen Installation von PHP und Python.
Meine Frage lautet: Wie räume ich das auf? Muss ich:
- Wählen Sie eine der Installationen aus, zeigen Sie mit den richtigen Pfaden darauf und löschen Sie den Rest. Kompilieren Sie alle Abhängigkeiten neu, die auf die (jetzt gelöschten) anderen Installationen verweisen, wenn sie fehlschlagen, weil ihre Abhängigkeitspfade geschrieben wurden.
- Alles nivellieren und von vorne anfangen.
Gibt es eine andere Lösung? Danke für deinen Rat!
Antworten:
hängt davon ab, wie viel Zeit und Mühe Sie investieren möchten. Eine Neuinstallation ist immer dann am besten, wenn Sie Zeit und Geduld haben, um alles neu zu erstellen. Die schnelle Lösung besteht darin, Ihren PFAD so zu ändern, dass er auf die gewünschten Versionen verweist. Eine andere Möglichkeit besteht darin, Symlinks zu erstellen, die auf die gewünschten Versionen verweisen. Wieder ist die beste Methode eine völlig saubere Installation
quelle
Die schlechte Nachricht ist, dass es keine schnelle Lösung gibt.
Die gute Nachricht ist, dass MySQL normalerweise nicht zu chaotisch ist, wo es sich selbst installiert. Ich würde Ihnen raten, sie von Hand zu reinigen. Erstellen Sie zunächst eine Liste jeder Installation. Der folgende Befehl sollte alles abfangen:
Wiederholen Sie den Vorgang mit
INTSTALL_PATH
wie/usr
und je/usr/local
nach Bedarf. Entscheiden Sie dann, welche Installation Sie behalten möchten und welche gelöscht werden soll.Offensichtlich wird eine der Installationen von RPM stammen, daher sollten Sie diese nicht manuell löschen. Verwenden Sie den Paketmanager. Und löschen Sie natürlich keine Datenverzeichnisse oder Protokolle, ohne vorher deren Inhalt zu überprüfen.
quelle