Ich habe in den letzten 5 Jahren Windows und Mac OS verwendet und überlege nun, Linux täglich zu verwenden. Ich habe Ubuntu auf einer virtuellen Maschine installiert und versucht zu verstehen, wie ich Linux für meine tägliche Arbeit nutzen kann (als js-Programmierer / Webdesigner).
Sorry für die Anfänger Frage , aber es fällt mir ein, dass manchmal , wenn ich ein Programm zu installieren , durch make config
& make install
es mein System in einer Weise verändert , die nicht revertible leicht ist. Wenn Sie ein Programm unter Windows installieren, können Sie es deinstallieren. Wenn es nach dem Buch abgespielt wird, bleiben hoffentlich keine Programmspuren im Dateisystem oder in der Registrierung usw. übrig. Unter Mac OS löschen Sie einfach eine App wie eine Datei.
Aber unter Linux gibt es apt-get
und dann gibt es make
. Ich habe nicht ganz verstanden, wie ich meine Linux-Installation sauber und aufgeräumt halten kann. Es fühlt sich an, als ob eine neue App-Installation mein System beschädigen könnte. Aber Linux hat den Ruf, sehr robust zu sein. Es muss also etwas geben, das ich nicht verstehe, wie sich die Installation und Deinstallation von Apps auf das System auswirkt. Kann jemand etwas Licht ins Dunkel bringen?
Update: Wenn Sie eine App installieren, können sich ihre Dateien wirklich überall verbreiten (Paketmanager behandeln einen Teil des Problems), aber es gibt einen coolen Hack: Verwenden Sie Docker zum Installieren von Apps und bewahren Sie sie in ihrer Sandbox auf, besonders wenn Sie nicht dabei sind benutze sie zu oft. Es ist auch möglich, GUI-Apps wie Firefox vollständig in einer Docker- "Sandbox" auszuführen .
apt-get
anstatt siemake
zu installieren.make install
wird verwendet, wenn Sie die neueste (möglicherweise instabile) Version einer Software aus Quellen erstellen müssen, die noch nicht als Paket verfügbar ist.apt
ist einfacher und bietet eine bessere Anleitung als die Verwendungapt-get
.*.app
Datei häufig unzureichend, da bei der Installation von Anwendungen häufig andere Bereiche (z. B. das Bibliotheksverzeichnis) aus dem Speicher entfernt wurden. Wenn Sie in Ubuntu mit manuell aus dem Quellcode erstellenmake install
, verwenden Siecheckinstall
stattdessen, um ein einfaches Entfernen zu ermöglichen../configure ; make ; make install
Weg nicht. Alles, was Sie brauchen, ist das fantastische fpm- Tool zu lernen .Antworten:
Eine neue Installation wird Ihr System selten beschädigen (es sei denn, Sie machen seltsame Dinge wie das Mischen von Quellcode und Binärcode).
Wenn Sie vorkompilierte Binärdateien in Ubuntu verwenden, können Sie diese entfernen und müssen sich keine Gedanken über das Unterbrechen Ihres Systems machen, da in einer Binärdatei aufgeführt sein sollte, was ausgeführt werden muss, und Ihr Paketmanager listet auf, welche Programme auf dieses Programm angewiesen sind, damit Sie es überprüfen können.
Wenn Sie source verwenden, müssen Sie vorsichtiger sein, damit Sie nichts Kritisches (wie glib) entfernen. Bei der Deinstallation von der Quelle werden keine Warnungen oder sonstige Informationen angezeigt. Dies bedeutet, dass Sie Ihre Maschine komplett kaputt machen können.
Wenn Sie mit deinstallieren möchten, verwenden
apt-get
Sieapt-get remove package
wie zuvor angegeben. Alle Programme, die auf dieses Paket angewiesen sind, werden ebenfalls deinstalliert und Sie haben die Möglichkeit, sie zu überprüfen.Wenn Sie deinstallieren möchten, ist der Prozess in der Regel
make uninstall
. Es gibt keine Warnung (wie ich oben sagte).make config
wird Ihr System nicht verändern, wird abermake install
.Als Anfänger empfehle ich die Verwendung von
apt-get
oder einer beliebigen Distribution, die Sie für Binärpakete verwenden. Es hält die Dinge schön und organisiert und wenn Sie es nicht wirklich wollen, wird es Ihr System nicht kaputt machen.Hoffentlich klärt das alles auf.
quelle
--purge
Option mitapt-get
Theoretisch
make uninstall
sollte entfernt werden, wasmake install
hinzugefügt wurde und Ihr System keine Kruft ansammelt. Das Problem ist natürlich, dass nicht alle Makefiles gleich sind.Einige lassen die
uninstall
Regel möglicherweise weg und überlassen es Ihnen, herauszufinden, was dieinstall
Regel bewirkt hat. Schlimmer noch, wenn die Installationsregel eine verknüpfte Bibliothek überschreibt, kann eine dummeuninstall
Routine die Abhängigkeiten für ein anderes Programm zerstören.Die beste Lösung für Quellinstallationen ist die Verwendung eines anderen Präfixes als die vom Paket-Manager des Systems installierten Pakete. Apt installiert Dateien,
/usr/
um die/usr/local/
Hierarchie für Ihre Quellinstallationen zu verwenden. Das macht es viel einfacher zu verfolgen, welche Dateien zu welchen Paketen gehören und welche Deinstallationen das System nicht beschädigen../configure --prefix=/usr/local
funktioniert für viele configure-Skripte. Wenn nicht, können Sie Makefile manuell bearbeiten. Oder kopieren Sie die Dateien einfach manuell.Apt und andere Verpackungsmanager behalten den Überblick über die von ihnen installierten Dateien und deren umgekehrte Abhängigkeiten, damit ihre Deinstallationsfunktionen sicher verwendet werden können.
quelle
Ich würde empfehlen, dass Sie
apt-get install
jedes Paket unter Linux undapt-get remove
(Paketname) oderapt-get purge
(Paketname) installieren , mit dem nicht nur das zu deinstallierende Hauptpaket, sondern auch alle zugehörigen Pakete oder Abhängigkeiten, die während der Installation installiert wurden, entfernt werden.Damit Ihr System sauberer bleibt, empfehlen wir Ihnen die Verwendung von
apt-get clean
https://askubuntu.com/questions/144222/how-do-apt-get-clean-and-apt-get-clean-all-differ#144224 ( Interessant ist dieser Beitrag, der alle Dateien entfernt, die während der Installation heruntergeladen wurden, aber nicht mehr benötigt werden.Ein weiterer Befehl, der nützlich wäre, wenn Sie alle Abhängigkeiten entfernen möchten, die auf Ihrem System installiert sind, aber bei der Deinstallation nicht entfernt wurden, ist
apt-get autoremove
.Wenn Sie ein Paket über make and make install installieren, müssen Sie es selbst deinstallieren (möglicherweise enthält das heruntergeladene Paket eine README-Datei, in der Sie erfahren, wie es funktioniert) und alle damit verbundenen Abhängigkeiten deinstallieren . Aus diesem Grund wird immer empfohlen, Pakete unter Linux zu installieren, die vom Paketmanager der Distribution angeboten werden. Wenn Sie dies auf diese Weise tun, können Sie sicher sein, dass Ihr Paket ausreichend getestet wurde, um mit der von Ihnen verwendeten Distribution (Linux-Version) zu funktionieren und es ist sehr unwahrscheinlich, dass Ihr System beschädigt wird. Außerdem können Sie sicher sein, dass Ihr Paket bei Bedarf aktualisiert wird. Wenn Sie es jedoch selbst installieren, sind Sie dafür verantwortlich.
Ich hoffe das hilft :)
quelle
Die normale Art, installierte Anwendungen unter Linux zu verwalten, ist ein Paketmanager. Die Auswahl der Paketmanager ist eines der Hauptmerkmale, die Distributionen unterscheiden. Ubuntu verwendet, wie Debian (auf dem es basiert), dpkg und APT ; In den meisten Fällen müssen Sie nur mit einer der Schnittstellen zu APT interagieren, z. B.
apt-get
(Befehlszeile), Aptitude (Befehlszeile oder Textmodus) oder Synaptic (GUI).Ein Paketmanager verfolgt, welche Dateien zu welchem installierten Programm gehören. Wie unter Windows können Programme bei der Installation oder Deinstallation beliebigen Code ausführen, verhalten sich jedoch normalerweise gut und können andere Programme nicht beschädigen. Außerdem wird der (Un-) Installationscode vom Paketbetreuer geschrieben, nicht vom Autor des Upstreams (für Pakete in der Hauptdistribution). Im Gegensatz zu Windows gibt es eine einheitliche Oberfläche für die Installation, Aktualisierung und Deinstallation: den Paketmanager. Sie müssen nicht nach dem Deinstallationsprogramm suchen (sofern vorhanden), sondern klicken einfach im grafischen Paket-Manager auf das Symbol "Deinstallieren" oder führen es aus
apt-get remove PACKAGENAME
.Wenn Sie "exotische" Software benötigen, müssen Sie diese möglicherweise manuell installieren, indem Sie ein Archiv entpacken oder aus dem Quellcode kompilieren. Installer, die in Form eines ausführbaren Programms vorliegen, sind in der Linux-Welt selten. Laufen
make install
neigt jedes Programm über mehrere Verzeichnisse zu verbreiten (/usr/local/bin
,/usr/local/man
,/usr/local/lib
, etc.). Um die Dinge in Ordnung zu halten, empfehle ich die Verwendung eines "Packagemanagers für Arme", wie zum Beispiel " Stow" . Mit stow wird jedes Paket in einem eigenen Verzeichnis installiert, und dasstow
Dienstprogramm erstellt symbolische Links, sodass die vom Paket installierten Befehle im Befehlssuchpfad usw. enthalten sind. Siehe Den Überblick über Programme für weitere Details.quelle
apt-get
oder ähnlichem). Aber sie haben nur einigermaßen beliebte Programme in die Repositories aufgenommen, die genügend Benutzer haben, um zuversichtlich zu sein, dass sie im Grunde das tun, was sie tun sollen.Fast jede Distribution hat ihre eigene Auswahl an Paketmanagern, es gibt mehrere beliebte. Pacman, Apt, RPM, Emerge, ... Debian-basierte Distributionen verwenden Apt.
Das Dokument sieht einschüchternd aus, aber es ist eigentlich gar nicht so schwer, .debs für die lokale Verwendung zu erstellen. Bleiben Sie einfach bei der Arbeit .
quelle
Sie sollten nach Möglichkeit versuchen, Ihren Paketmanager (apt-get, aptitude, synaptic oder aptdcon, software-center, mintinstall usw.) zu verwenden. Die Verwendung einer make-Task für die Installation ist sehr rau, es kann nicht garantiert werden, dass sie ein
uninstall
Gegenstück hat, und es kann nicht garantiert werden, dass sie gut mit dem Rest des Systems zusammenarbeitet ausführbaren Code, möglicherweise Malware).Wenn Sie keine gepackte Version der von Ihnen benötigten Software finden, könnte
checkinstall
(checkinstall make install
) hilfreich sein.quelle
Ich bin kein Experte und weiß nicht viel über die Installation von Software aus dem Quellcode, aber mithilfe von
apt-get
können Sie installierte Software mit entfernenapt-get remove package-name
. Um auch alle Konfigurationsdateien zu entfernen, verwenden Sieapt-get purge package-name
. Der sicherste Weg, um Ihre Linux-Installation in Ordnung zu halten, besteht darin, nur Pakete in den offiziellen Repositorys zu verwenden. Wenn ein Paket benötigt wird, das nicht in den offiziellen Repositories enthalten ist, kann es häufig in einem PPA gefunden werden (da Sie Ubuntu verwenden) .quelle
apt-get
Der OP, derconfigure
andmake install
Wie die anderen Antworten sagen, ist es heutzutage üblich, den größten Teil Ihrer Software mit dem Paketmanager Ihrer Wahl zu installieren. Dies ist so praktisch, dass Sie es wahrscheinlich verpassen werden, wenn Sie zu Windows zurückkehren! In gewisser Weise gehen die verschiedenen "Märkte" und "Geschäfte" auch für kommerzielle Betriebssysteme in diese Richtung.
Ich erinnere mich jedoch, dass ich, als ich anfing, etwas über Linux zu lernen, erstaunt war, wie Software normalerweise installiert wird. Während unter Windows alle Dateien in einem einzigen Verzeichnis abgelegt sind
c:\Programs
, besteht der traditionelle "Unix-Weg" darin, sie an "Standard-Speicherorten" zu verteilen (die Details sind nicht so standardisiert, siehe LSB für weitere Informationen). ), z. B./usr/local/bin
für ausführbare Dateien,/usr/local/doc
zur Dokumentation usw.In gewisser Weise "weiß" Windows nicht, wo sich Ihre ausführbaren Dateien befinden. Es weiß, dass sie "irgendwo unter
c:\Program Files
" sind, aber nicht viel mehr. Das Durchsuchen all dieser Verzeichnisse nach ihnen ist oder war zu teuer. Ein Link auf die ausführbare Datei wird also explizit an einem bekannten Ort (dem Startmenü) platziert, und Sie würden ihn verwenden, um sie zu starten.Unter Unix / Linux suchen Ihre Shell und die meisten anderen Programme automatisch an bekannten Orten nach ausführbaren Dateien oder anderen Ressourcen. Wenn Sie also Ihre Dateien in die entsprechenden Verzeichnisse kopieren, werden sie automatisch "angezeigt", ohne dass Sie sie irgendwo "registrieren" müssen, damit die Benutzer über sie informiert werden.
Beide Mechanismen haben ihre Vor- und Nachteile, aber Sie werden feststellen, dass der Unix-Ansatz in der Regel flexibler ist.
Bitte beachten Sie, dass es viele Ausnahmen und Details gibt, die das Bild nicht so deutlich machen, wie ich es beschrieben habe, aber ich denke, diese Art der Einführung kann für Neulinge nützlich sein, um zumindest die grundlegende Logik dahinter zu verstehen.
quelle
Ich denke der beste Rat ist nur in diesem Forumbeitrag . Hier sind Ihre Optionen (2 und 3 sind in Bezug auf die Wirkung mehr oder weniger gleich):
Wenn Sie diese Methode nicht zum Laufen bringen können, verwenden Sie sie
checkinstall
wie von anderen empfohlen. Es ist ein sehr einfacher Ersatz für die Installation:Dadurch sollte die Software wie gewohnt erstellt und dann
make install
in einer begrenzten Umgebung ausgeführt werden, in der verfolgt wird, was sie tut, und ein Paket erstellt wird, das genau diese Aufgaben ausführt. Dann installiert es das Paket mit Ihrem Paketmanager. Das Entfernen von then ist wie das Entfernen jedes anderen Pakets, genau wie in (2).make install
, denke ich. Und ich hoffe, der Software-Betreuer unterhält eine Deinstallationsroutine.quelle