Ich bin völlig neu in Ubuntu / Linux und verwende derzeit Ubuntu Server. Ich versuche nur, etwas Grundlegendes herauszufinden.
Wie können Sie feststellen, wo Sie ein Programm installieren? Zum Beispiel habe ich gerade die Sphinx-Suchmaschine installiert, indem ich den Tarball, den ich von ihrer Website heruntergeladen habe, auf meine Website gestellt habe:
/home/sphinx
Verzeichnis. Ich habe das Sphinx-Verzeichnis erstellt, um diesen Tarball abzulegen. Dann habe ich die folgenden Befehle ausgeführt:
tar xvzf sphinx-0.9.8.1.tar.gz
cd sphinx-0.9.8.1/
./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql
und dann diese:
make
sudo make install
Jetzt habe ich viele Dateien in dem Verzeichnis, in dem ich diese Befehle ausgeführt habe. Ist das meine Spynx-Installation oder wurde sie woanders installiert?
Wenn Sie in Windows ein Installationsprogramm (EXE-Datei) an einer beliebigen Stelle ausführen, wird das Programm weiterhin in Ihrem Verzeichnis C: \ Programme installiert. Gilt etwas Ähnliches für Linux, wo alle Programme an einem zentralen Ort installiert sind, oder können Sie Programme überall auf dem System installieren?
Fragen
Ich würde es vorziehen, alle meine installierten Programme an einem Ort zu halten, also was ist der richtige Ort dafür in Bezug auf Best Practice. Mit anderen Worten, was ist das Linux-Äquivalent von C: \ Programme?
Und wie installiert man immer an diesem Ort? Geht es nur darum, den Tarball zu platzieren und die Installationsbefehle von diesem Ort aus auszuführen?
Was ist, wenn ich sudo apt-get verwende, um ein Paket zu installieren? Wie kann ich auf diesen Speicherort verweisen, um apt-get anzuweisen, immer dort zu installieren?
quelle
make uninstall
ist KEINE Standardfunktion und wird in vielen Programmquellen nicht gefunden. Außerdem/usr/local
befindet es sich unter Ubuntu häufig nicht im Pfad und kann Probleme beim Ausführen von Programmen oder beim Kompilieren verursachen (aufgrund von Includes in/usr/local
).Normalerweise werden Programme in einigen Verzeichnissen unter einem obersten Verzeichnis installiert , das als Präfix bezeichnet wird . Welches Top- Verzeichnis verwendet werden soll, hängt davon ab, wer zu welchem Zweck installiert und wer die Software verwaltet.
Das Präfix
/usr
ist eine von Ihrer Distribution gepackte Software. Sie sollen nicht eine andere Software dort installieren, da es wird die Verteilung verwirrt bei der Installation und Aktualisierung von Software durch die Verteilung verpackt. Also bitte Ihre eigene kompilierte Software nicht dort installieren. Das ist keine gute Idee, es sei denn, Sie wissen wirklich, was Sie tun. Und wenn Sie kein Debian- oder Ubunut-Entwickler sind, tun Sie dies normalerweise nicht. Das würde ich sowieso nicht tun.Für kommerzielle Software wird das Präfix
/opt
verwendet. Es ist ihnen vorbehalten, Distributionen und den lokalen Systemadministrator am wenigsten zu stören.Für Software, die der Systemadministrator für alle Benutzer installiert, wird das Präfix
/usr/local
verwendet. Dort ist es sowohl von der kommerziellen als auch von der Vertriebsinstallation aus dem Weg und wird sie nicht stören. Als Systemadministrator verwenden Sie dies (wenn Sie über Root-Rechte verfügen, sind Sie ein Systemadministrator).Wenn Sie ein gewöhnlicher Benutzer sind, der Software für sich selbst installiert, können Sie Ihr Home-Verzeichnis als Präfix verwenden, indem Sie die
--prefix
Optionconfigure
mit dem Präfix-Verzeichnis "~/
" oder verwenden$HOME/
. Ich habe das oft benutzt, als ich Student war. :-)Normalerweise macht Software das Richtige, wenn Sie
configure
mit der Option--prefix
mit dem richtigen Wert ausführen und dannmake; make install
.Unter einem dieser Präfixe finden Sie diese Verzeichnisse normalerweise in einer Standardinstallation.
bin
- die ausführbaren Programme, Binärdateien.sbin
- System-Binärdateien, die normalerweise nicht von normalen Benutzern ausgeführt werden sollten.man
- Handbuchseiten für Programme, Bibliotheken und Konfigurationsdateien usw.etc
- Konfigurationsdateien mit Standardwerten für die Software.lib
- Programmbibliotheken und Datendateien, die von der Architektur (wie der CPU) Ihres Computers abhängen.share
- Datendateien, die sich auf verschiedenen Architekturen nicht unterscheiden und von verschiedenen Computern gemeinsam genutzt werden können.var
- Verzeichnisse mit Daten, die sich während der Programmausführung ändern. Wie das Protokollieren von Dateien usw.Die meisten dieser Verzeichnisse können mit schreibgeschützten Dateisystemen verwendet werden, um die Sicherheit zu erhöhen. Das einzige, in das Benutzer schreiben müssen, ist das
var/
Verzeichnis. Wenn die Software aktualisiert wird, müssen diese Verzeichnisse offensichtlich (?) Schreibrechte haben. Dies kann mit einer erneuten Bereitstellung mit Schreibrechten während der Installation erfolgen und dann nach der Installation mit schreibgeschützt erneut bereitgestellt werden. Dies ist jedoch fortgeschritten, und ich gebe es nur als Beispiel für eine erweiterte Paketverwaltung.Es gibt auch einige Verzeichnisse direkt unter
/
(Root - Verzeichnis) , das existiert nicht unter irgendeinem anderen Präfix, wie/dev
,/tmp
,/proc
und/srv
(für den Server - Datenverzeichnisse, aber sie sind in der Regel unter/var/lib
oder/var/www
und Verzeichnisse so, so dass Sie Änderungen der Konfiguration müssen Verwenden Sie dieses Verzeichnis. Ich empfehle, dies zu tun, wenn Sie einen Server/var/
ausführen . Nur zum Testen einer Standardinstallation verwenden./usr
wie Debian / Ubuntu/usr/local
. Lernen Sie Ihre Distribution.--prefix
sind nützlich für Programme mitconfigure
. Der beste Weg, dies zu wissen, besteht wahrscheinlich darin, dieREADME.txt
Datei oder ähnliches zu lesen , die Sie wahrscheinlich im Teerarchiv erhalten. Das Teerarchiv kann an jedem Ort wie Ihrem Home-Verzeichnis extrahiert werden. Nach Abschluss des Installationsschritts können Sie das extrahierte Teerarchiv entfernen, wenn Sie nicht genügend Speicherplatz haben. Tun Sie dies jedoch nicht zu früh, es sei denn, Sie haben Ihre Installation ordnungsgemäß getestet.apt-get
oderaptitude
immer am richtigen Ort für die Distribution installiert wurden. Sie können diesen Ort nicht ändern.quelle
Wenn Sie Programme aus einem Repository mit der normalen Installation installieren, wird es an der richtigen Stelle installiert, Konfigurationsdateien am richtigen Ort erstellt (funktional ähnlich wie bei der Windows-Registrierung) und Menüeinträge automatisch erstellt.
Wenn Sie eine Datei herunterladen (nicht bevorzugt, aber häufig erforderlich, wenn sich die App nicht in einem Repository befindet), haben Sie zunächst tar ausgeführt, was dem Entpacken unter Windows entspricht. Dadurch werden die Dateien erstellt, die Sie höchstwahrscheinlich sehen.
Wenn Sie dann make install ausführen, werden die Ergebnisse normalerweise an der richtigen Stelle platziert, möglicherweise werden Menüs erstellt, aber die nicht geteerten Dateien werden nicht gelöscht. Sie können dies höchstwahrscheinlich tun, möchten sie jedoch für alle Fälle vorübergehend speichern.
Hier ist ein interessanter Artikel über die Debian-Verzeichnisstruktur .
quelle