Ich bin völlig neu bei Ubuntu/Linux und verwende im Moment 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 meinem:
platziert habe/home/sphinx
Verzeichnis. Ich habe das Sphinx-Verzeichnis erstellt, um diesen Tarball darin zu platzieren. Dann habe ich diese 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 unter Windows ein Installationsprogramm (.exe-Datei) irgendwo ausführen, wird das Programm immer noch in Ihrem C:\Program Files-Verzeichnis 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 aufzubewahren, also
was ist der richtige Ort dafür im Sinne von Best Practice. Mit
anderen Worten, was ist das Linux-Äquivalent zu C:\Program Files? -
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 zeigen, um apt-get anzuweisen, immer dort zu installieren?
Beste Antwort
Gilt Ähnliches für Linux, wo alle Programme an einer zentralen Stelle installiert sind
Ungefähr Entsprechungen von Windows-Installationsverzeichnissen in Linux
\Windows
=/bin
\Windows\System32
=/lib
und/sbin
\Program Files
=/usr/bin
und/usr/lib
Ich würde es vorziehen, alle meine installierten Programme an einem Ort aufzubewahren, also was ist der richtige Ort dafür im Sinne von Best Practice. Mit anderen Worten, was ist das Linux-Äquivalent zu C:\Program Files?
Das wären die Verzeichnisse unter /usr
, insbesondere /usr/bin
und /usr/lib
.
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?
-
Nein. Wo Sie sich befinden, wenn Sie die Installationsbefehle ausführen, spielt fast keine Rolle.
-
Programme, die Sie über
apt-get
installieren (oderaptitude
) wird fast immer richtig in/usr
enden . ABER Programme, die Sie aus dem Quellcode kompilieren undmake install
wird häufiger in/usr/local/bin
enden ,/usr/local/lib
usw., und Sie könnten damit Probleme haben, da der vom Benutzer installierte Pfad in Debian/Ubuntu/usr
ist und nicht/usr/local
. -
Fügen Sie beim Kompilieren aus der Quelle diesen Schalter zum Konfigurieren hinzu:
./configure --prefix=/usr
. Auf diese Weise, wenn Siemake install
die Dateien landen im richtigen Verzeichnis -
Schauen Sie auch in
checkinstall
nach Programm, das die Dateien verfolgt, die ein aus dem Quellcode kompiliertes Paket installiert, eine deb-Datei erstellt und eine einfache Deinstallation/Neuinstallation ermöglicht.
Was ist, wenn ich sudo apt-get verwende, um ein Paket zu installieren? Wie kann ich auf diesen Speicherort zeigen, um apt-get anzuweisen, immer dort zu installieren?
apt-get
/dpkg
kümmern sich automatisch darum. Sie können dpkg -L name-of-package
verwenden um alle Dateien zu sehen, die von einem Paket installiert wurden und wo sie installiert wurden.