Dies ist ein Problem, das meine Freude an Linux wirklich einschränkt. Wenn sich die Anwendung nicht in einem Repository befindet oder wenn es kein Installationsskript gibt, habe ich wirklich Schwierigkeiten, wo und wie ich eine Anwendung von der Quelle installieren kann.
Im Vergleich zu Windows ist es einfach. Sie müssen (so ziemlich) eine Installationsanwendung verwenden, die die gesamte Arbeit in einem Assistenten erledigt. Mit Linux ... nicht so sehr.
Haben Sie Tipps oder Anweisungen dazu oder gibt es Websites, auf denen explizit erläutert wird, wie, warum und wo Linux-Programme aus dem Quellcode installiert werden?
compiling
software-installation
source
Nitrodist
quelle
quelle
Antworten:
Normalerweise verfügt das Projekt über eine Website mit Anweisungen zum Erstellen und Installieren. Google dafür zuerst.
Zum größten Teil werden Sie entweder:
tar zxvf myapp.tar.gz
für einen gzippten Tarball odertar jxvf myapp.tar.bz2
einen bzippten Tarball./configure && make && sudo make install
Oder:
./autogen.sh && make && sudo make install
Sowohl configure als auch autogen.sh akzeptieren ein --prefix-Argument, um anzugeben, wo die Software installiert ist. Ich empfehle zu prüfen, wo ich selbst kompilierte Software ablegen soll. Hier erhalten Sie Ratschläge zum besten Installationsort für maßgeschneiderte Software.
quelle
make && sudo make install
. Einige Python-Projekte haben nur eine setup.py, die Sie zur Installation aufrufen (da es keine echte Kompilierung gibt). Es gibt auch viele andere Build / Install-Systeme. Hoffentlich erklären README- oder INSTALL-Dateien genau, was zu tun ist.Ich möchte nur hinzufügen, dass es Paketmanager gibt, die Pakete aus dem Quellcode kompilieren und alle Paketabhängigkeiten, Flags usw. behandeln.
In BSD-Systemen ist dies
ports
: Verwenden der Ports-SammlungIn Debian kann der
apt-get
Paketmanager auch von der Quelle aus installieren: APT HOWTO: Arbeiten mit Quellpaketen (Gleiches gilt für Ubuntu, Linux-mint und alles andere, was auf Debian basiert)Die Gentoo-Distribution verwendet den
portage
Package Manager, der das gesamte System nur aus dem Quellcode kompiliert: Portage Introduction .Slackware kann Pakete kompilieren, aber ich weiß nicht, ob es einen Paketmanager dafür gibt .. =)
Auf jeden Fall können Sie immer Pakete kompilieren manuell wie Sandy oben = erwähnt) Auch muss es möglich sein , zu verwenden
apt-get
oderportage
Manager - Pakets in jedem anderen Distro ...quelle
Ich denke, es ist am besten, die Dokumentation zu dem bestimmten Programm oder der Anwendung zu lesen, die Sie installieren möchten. Normalerweise befinden sich in den Tarballs Readmes / READMEs (das Anwendungsquellarchiv, das Sie normalerweise herunterladen können) oder sogar INSTALL-Dateien, um zu lesen und zu erfahren, wie diese Anwendung am besten installiert werden kann. Kurzum: RTFM;)
quelle
Eine Zusammenfassung zur Verwendung der Ports-Sammlung in FreeBSD:
Finden Sie Port
Die Ports sind nach Kategorien geordnet. Wenn Sie also nicht wissen, in welcher Kategorie sich der Port befindet, müssen Sie ihn zuerst suchen:
Manchmal gibt es so zu viele Einträge. Ich persönlich bevorzuge:
Verwenden Sie
*
bei der Suche, da häufig mehrere Versionen eines Ports verfügbar sind. Das Tiefenargument stellt sicher, dass Ihre Rückgabeergebnisse nicht unnötig mit Übereinstimmungen überfüllt sind, die Sie wahrscheinlich nicht wollen.Aufbau
Oft möchten Sie eine Konfiguration vornehmen. Software wie Apache und Postgres erfordern dies praktisch. Es gibt drei Hauptoptionen: Befehlszeile, Umgebung und Konfigurationsdateien erstellen. So starten Sie mit der Befehlszeile:
Dadurch werden die Standardkonfigurationsoptionen aufgelistet. Wenn Ihnen die Standardeinstellungen gefallen, können Sie sie kompilieren und installieren. Wenn nicht,
Daraufhin wird ein Dialogfeld angezeigt, in dem Sie die gewünschten Optionen auswählen können. (Verwechseln Sie sich nicht damit und
make configure
konfigurieren Sie Ihren Port mit den von Ihnen gewählten Optionen!) Dies ist häufig ausreichend, aber für manche Software wie Apache gibt es häufig komplexe Konfigurationen, die ein einfacher Dialog nicht verarbeiten kann. Zu diesem Zweck sollten Sie sich auch die Makefile (s) ansehen, die Ihnen manchmal einige zusätzliche Ziele für make geben, die Ihnen weitere Informationen liefern. So setzen Sie das Apache-Beispiel fortHier erhalten Sie Informationen zum Einrichten der von Ihnen ausgewählten Module, Thread-Optionen und dergleichen. Wenn die Standardeinstellungen Ihres Ports größtenteils in Ordnung sind und Sie nur ein paar Dinge ändern möchten, können Sie auch einfach Schlüssel = Wert-Paare wie Umgebungsvariablen übergeben:
Sie können die Optionen auch über die folgenden Optionen festlegen
-D
:Bei komplexen Konfigurationen funktioniert die Befehlszeile jedoch nicht gut und Sie sind besser, wenn keine der beiden ersten Methoden wirksam ist. In diesem Fall können Sie eine Konfigurationsdatei erstellen und diese
make
mit der Variablen __MAKE_CONF übergeben. FreeBSD verfügt über eine Standardkonfigurationsdatei,/etc/make.conf
die normalerweise Informationen zu zuvor installierten Ports und anderen Systemeinstellungen enthält. Erstellen Sie zunächst eine Datei mit Ihren Ports-Optionen, rufen Sie sie auf~/myport.mk
und kombinieren Sie diese Datei mit /etc/make.conf:Sie können dann Ihre Konfiguration überprüfen:
und wenn alles gut aussieht:
IN ACHT NEHMEN! Wenn Sie Ihre Konfigurationseinstellungen nach
make configure
oder nach einer vollständigen oder teilweisen Installation anpassen müssen, müssen Sie Ihre Konfiguration unbedingt zuerst löschen :Andernfalls kommt es zu unerwarteten Interaktionen zwischen dem Ports-Subsystem, den
make
Standardeinstellungen Ihres Ports und Ihrer gewünschten Konfiguration.Das ist eine Menge für eine Zusammenfassung, aber die Komplexität der Konfiguration hängt hauptsächlich von der App ab, nicht vom Port. Bash zum Beispiel hat eigentlich keine Optionen.
Installation
Dies ist der einfache Teil:
oder du kannst
Das ist nur mehr Tippen.
Das wars so ziemlich. Natürlich können Sie noch mehr tun, z. B. Abhängigkeiten und Konfigurationsoptionen rekursiv auflisten, mit Patches aktualisieren und so weiter. Hier verweise ich Sie auf den Abschnitt Ports des Handbuchs , die Manpage des Port-Subsystems (gute Informationen zu zusätzlichen Make-Zielen) und die
make
Manpage.quelle
Vor kurzem habe ich begonnen, "Checkinstall" zu verwenden, wenn ich von einer Quelle außerhalb meines Paketmanagers installiere. Es erstellt ein "Paket" aus einem Drittanbieter-Tarball, das dann über Ihre Paketmanager-Tools installiert und verwaltet (und deinstalliert) werden kann.
Lesen Sie diesen Artikel - http://www.linuxjournal.com/content/using-checkinstall-build-packages-source
quelle