Anwendungen von der Quelle installieren

12

Ich habe mich über generische Installationen aller Anwendungen unter Linux gewundert. Und was heißt das? Nun, als ich Windows verwendet habe, wusste ich, dass ich, wenn ich eine Anwendung installieren möchte, auf die EXE-Datei doppelklicken und dann weiter, weiter, weiter.

Unter Linux habe ich verstanden, dass es möglicherweise eine gemeinsame (nicht generische) Möglichkeit gibt, eine Anwendung zu installieren. Vielleicht von der Quelle installieren? Nun, gibt es eine Schritt-für-Schritt-Methode, mit der man Anwendungen wie in Windows installieren kann oder nicht?

Ich frage, weil ich nicht immer wieder bei Google nachfragen möchte, wie es geht. Ich habe es also vor kurzem geschafft, Freecad aus dem Quellcode dieses Handbuchs zu installieren, und ich denke, es wäre ein sehr guter Anfang als übliche Methode, oder?

Aber die Sache ist dann, wo man die richtige Quelle findet und wann eine Anwendung eine sehr einzigartige Installationsmethode hat!

gabriel
quelle
Mögliches Duplikat der Installation von .tar.gz?
Tachyons
Nein, ich denke, meine Frage war klar! Nur eine tiefere Information
Gabriel
great great great how to howtogeek.com/105413/…
Mohammad Reza Rezwani

Antworten:

14

Die Installationsanweisungen variieren je nach Programm, obwohl es gut etablierte Tools wie Autotools (einschließlich automake und autoconf) und cmake gibt.

Da Programme in verschiedenen Programmiersprachen vorliegen können, ist es schwierig, generische Befehle zu geben, die für alle Pakete geeignet sind. Beispielsweise hat Python häufig setup.py-Skripte, in denen C-Programme häufig Autotools oder zumindest ein Makefile verwenden.

Ich beginne immer damit, die Dateien INSTALL, README oder ähnliche zu finden. Wenn Sie ein Programm aus dem Quellcode kompilieren müssen, benötigen Sie wahrscheinlich das build-essentialPaket, das von Compilern und anderen generischen Entwicklungspaketen abhängt.

Abhängig von dem Programm, das Sie kompilieren möchten, müssen Sie möglicherweise andere Abhängigkeiten installieren. Überprüfen Sie die README- ./configureDatei oder die Ausgabe des Skripts (eine ausführbare Datei im Stammverzeichnis der extrahierten Quelle). Wenn beispielsweise angegeben wird, dass Sie "x11-Entwicklungsheader" benötigen, suchen Sie in den Repositorys nach "x11-dev" oder "libx11-dev" (in diesem Fall ist es das, libx11-devwonach Sie suchen).

Quelldistributionen, die mit autoconf / automake erstellt wurden, können extrahiert und konfiguriert werden mit:

tar xf foo-1.0.tar.gz
cd foo-1.0
./configure
make
sudo make install

Verwenden Sie ./configure --helpfür verfügbare Optionen. Standardmäßig werden häufig Dateien installiert, für /usr/localdie alles in Ordnung ist. Wenn Sie die Datei nicht in eine .deb-Datei packen möchten, ändern Sie dieses Präfix nicht in, /usrda dies zu Konflikten mit dem Paketverwaltungssystem (dpkg) führen kann.

makesoll anfangen, alles zu kompilieren, wo make installdie Dateien an den angegebenen Speicherorten installiert werden ( sudoist zum Schreiben an privilegierte Speicherorte wie erforderlich /usr/local). Um es später zu deinstallieren, führen Sie es aus dem Quellverzeichnis aus sudo make uninstall(vorausgesetzt, dass das Paket ordnungsgemäß mit autoconf / automake erstellt wurde, für das der Entwickler verantwortlich ist, nicht Sie, der Benutzer!

Wenn Sie nur ein Paket aus dem Software-Center auf Ihrem Computer kompilieren möchten, fahren Sie fort mit (ersetzen packageund die Version entsprechend):

sudo apt-get build-dep package
apt-get source package
cd package-1.0
dpkg-buildpackage -b -uc -us

Weitere Informationen zu den Befehlen finden Sie in den entsprechenden Handbuchseiten. (zB man dpkg-buildpackagein einem Terminal laufen ). Nach dem Ausführen dieser Befehle befindet sich eine DEB-Datei im übergeordneten Verzeichnis. Es wird empfohlen, die Pakete aus Ubuntu-Repositories zu verwenden, wo dies möglich ist. Die obigen Schritte werden aus pädagogischen Gründen angezeigt. Im Allgemeinen möchten Sie jedoch einige Dateien ändern, bevor Sie das Paket erstellen.

Lekensteyn
quelle
Sehr hilfreich, also die einzige übliche Methode ist das Herunterladen des Pakets (tar ??) und dann das Extrahieren, um dessen Inhalt zu sehen! Später muss ich fragen, ich extrahiere die Dateien und führe dann alle oben erwähnten Befehle aus. Die Installationsdatei ist also diejenige, die ich für all diese Befehle verwendet habe. Oder alle Anwendungsdateiverzeichnisse sind spezifisch, entweder für die Installation von der Zentrale aus oder für die Installation von der Quelle aus. opt oder / usr? Danke
Gabriel
Siehe aktualisierten Beitrag. Das Verzeichnis extrahieren und ändern macht 99% aller Fälle aus. Möglicherweise werden nach .tar unterschiedliche Erweiterungen angezeigt, z. B. .gz, .bz2, .xz. Diese beziehen sich auf das Komprimierungsformat. .zip ist weniger verbreitet, da es keine Dateiberechtigungen speichern kann, es wird jedoch in mindestens 7-zip angezeigt. Hinweis: Meine Anweisungen sind allgemeiner für "Compile from Source". Die Pfade und die Konfiguration stimmen nicht mit denen des Ubuntu Software Center überein.
Lekensteyn
Es spielt also keine Rolle, in welchem ​​Verzeichnis ich arbeite ./configure, make and make install. Wenn ich zum Beispiel eine ID herunterlade und in das Home-Verzeichnis entpacke, sollte ich diese Befehle ausführen und der Befehl make install legt die Installationsdateien automatisch ab ein bestimmtes Verzeichnis oder?
Gabriel
Es gibt also kein bestimmtes Verzeichnis wie Windows "Programme", oder?
Gabriel
Ändern Sie nach dem Extrahieren des Tarballs Ihr Verzeichnis in das extrahierte Verzeichnis. Der genaue Speicherort spielt keine Rolle, Sie können dies in Ihrem Home-Verzeichnis oder in ~ / Downloads tun. Stellen Sie jedoch sicher, dass der Pfad keine Leerzeichen enthält, da die meisten Tools beschädigt werden. Zum Beispiel ~/Downloaded Sourcesist eine schlechte Idee, wo ~/Downloaded-sourcesvöllig in Ordnung ist. Ihre letzte Frage finden Sie unter askubuntu.com/q/27213/6969
Lekensteyn,
7

FreeCAD ist im Ubuntu Software Center verfügbar, so dass es nicht erforderlich war, es aus dem Quellcode zu erstellen und zu installieren.

Das Ubuntu Software Center ist immer der erste Ort, an dem Sie suchen sollten. Bei der Installation müssen Sie nur auf eine Schaltfläche klicken.

In der Leiste auf der linken Seite des Bildschirms befindet sich ein Symbol für das Ubuntu Software Center.

Wenn Sie ein Programm wirklich aus dem Quellcode erstellen und installieren möchten, suchen Sie nach einer README-Datei oder anderen Anweisungen, die mit dem Programm geliefert werden.

Viele Softwarepakete verwenden GNU-Autotools als Build-System und können mit den folgenden Befehlen erstellt und installiert werden:

./configure
make
sudo make install

Bevor Sie ein Programm erstellen, müssen Sie überprüfen, welche Bibliotheken und sonstigen Abhängigkeiten erforderlich sind (dies sollte auch in der Dokumentation des Programms erwähnt werden). Auf packages.ubuntu.com finden Sie die Ubuntu-Pakete, die die erforderlichen Bibliotheken enthalten.

Angenommen, das Programm benötigt eine Bibliothek mit dem Namen blah, dann müssen Sie das Paket wahrscheinlich installieren libblah-dev(den genauen Namen finden Sie auf der oben erwähnten Ubuntu-Paketseite).

sudo apt-get install libblah-dev
Jesper
quelle
HAHA, ja, ich kenne dieses Symbol! ABER wenn SIE jemals bemerkt haben, gibt es eine Beschreibung im Software-Center in jeder Anwendung, die besagt, dass "Canonical keine kritischen Updates bereitstellt" und die Freecad-Version war die 0.8 und ich habe Freecad v0.13 installiert will einfach nur ein tieferes Wissen in linux - Systemen nicht beantwortet zeigt , wo das Software - Center ist, trotzdem danke :-)!
gabriel
JETZT redest du richtig! Und vielen Dank, das ist das tiefere Wissen, das ich nur will! Weiter!
Gabriel
OK, wenn ich eine Anwendung aus dem Quellcode installieren möchte, müssen die Benutzer der Anwendung den Quellcode bereitstellen. Wenn ich beispielsweise eine kommerzielle Anwendung installieren möchte, kann ich sie nicht aus dem Quellcode installieren Die Anwendungen haben die Quelle für alle außer für kommerzielle Zwecke geöffnet.
Gabriel
"Wenn ich eine Anwendung von der Quelle installieren möchte, müssen die Leute dieser Anwendung den Quellcode bereitstellen?" - Ja natürlich, das bedeutet "von der Quelle "! Und wenn es sich um ein kommerzielles Programm handelt, das nicht Open Source ist, erhalten Sie den Quellcode nicht.
Jesper
Das ist der Grund, warum die meisten Windows-Apps nicht unter Linux installiert werden können, oder?
Gabriel
2

Es gibt nur zwei grundlegende Ansätze:

  1. Verwenden Sie das Software Center oder ein verwandtes Tool (Synaptic apt-getusw.). Dies ist normalerweise die beste Option. Das Verlassen dieser Methode kann zu Problemen wie Konflikten und Problemen mit Updates führen. Sie sollten also nur dann etwas anderes tun, wenn Sie wissen, was Sie tun.
  2. Lesen Sie die Dokumentation und installieren Sie sie. Sie finden es möglicherweise auf der Website des Projekts, im Tarball oder an dem Ort, an dem Sie Ihre Datei erhalten haben. Oder es gibt möglicherweise keine Dokumentation. In diesem Fall müssen Sie googeln oder raten. Es gibt sehr viele verschiedene Möglichkeiten, Software zu installieren. Wenn dies verwirrend wird, kehren Sie zu Nummer 1 zurück.

    Wenn Ihr Paket den Standard verwendet ./configure; make; sudo make install, können Sie checkinstalleine .deb-Datei von dem abrufen, was Sie erstellt haben. Auf diese Weise müssen Sie nicht auf die Paketverwaltung verzichten.

Scott Severance
quelle
Ok, ich habe diese Frage gestellt, weil ich einige Probleme mit Software Center und .deb-Dateien hatte. Zum Beispiel wollte ich Draftsight installieren, ein CAD-Programm und es ist nur für 32-Bit. Also habe ich es mit den Befehlen zum Ignorieren von Abhängigkeiten und Architektur versucht, aber es kam nichts on.So ist das extrahieren einer .deb datei zB möglich und dann eine manuelle installation mit make und sudo make etc? danke
gabriel 18.04.12
Wenn für Ihre Architektur keine .deb-Datei verfügbar ist, müssen Sie Ihr Programm auf eine andere Weise installieren. Sie können bei Google nachsehen, wie andere Personen es getan haben, oder nach einem .dev mit dem richtigen Arch suchen oder aus dem Quellcode erstellen. Siehe meine bevorstehende Bearbeitung für etwas Wichtiges.
Scott Severance
checkinstall, bevor wir diese Befehle ausführen? Und was, ein .deb wird angezeigt? ((Ich muss fragen, wie Sie Ihre Beiträge schön und organisiert aussehen lassen? Mit hervorgehobenen Befehlen und Personal? Jede Anleitung für askubuntu?)) Also kann ich extrahieren a .deb dann checkinstall und lass es zum beispiel auf 64bit laufen oder irre ich mich und bin mit dieser frage blöd?
Gabriel
Sie verwenden können nicht checkinstallauf vorhandene .deb - Pakete. Wenn Sie bereits über eine .deb-Datei verfügen, können Sie sie technisch extrahieren und manuell installieren. Dies ist jedoch nicht der beste Weg. checkinstallist für, wenn Sie aus dem Quellcode erstellen. Informationen zum Formatieren finden Sie unter dem Hilfelink, der beim Posten immer angezeigt wird.
Scott Severance
Daher sollte die .deb-Datei mit einer anderen Architektur als der von mir verwendeten 64-Bit-Datei nicht extrahiert und dann manuell installiert werden. Die .deb-Datei wird von wo erstellt? Verwendet sie denselben Quellcode wie Sie? Dumme Frage?
Gabriel
0

Die Installation von der Quelle aus ist sehr schwierig zu unterstützen.

Wann immer möglich, installieren Sie über das Software Center. Das ist das Äquivalent der Windows Next-> Next-> Finish-Mentalität.

Sie können Dinge auch von der Quelle unter Windows installieren. Das gibt es nicht nur unter Linux, sondern auch unter Linux.

RobotHumans
quelle
1
Nun, ich möchte nur in meine Linux-Erfahrung eintauchen. Ich bin jetzt drei Jahre alt und möchte nun endlich nicht mehr fragen, wie und wie. Fühlst du mich? Nur um mein Linux-Wissen tiefer und tiefer zu machen. Warum tust du das nicht? erkläre mir die Quelle etc?
Gabriel
linuxfromscratch.org
RobotHumans
Auch wenn eine Anwendung kein .deb in meinem Ubuntu hat, wie man aus dem Software Center installiert? Dann bin ich WIEDER bereit, in askubuntu.com oder google.gr nachzufragen, wie man DIESES in Ubuntu 11.10 installiert? '' '
gabriel
Ja. Anwendungsspezifisch ist besser. Sie liefern zielgerichtete reproduzierbare Antworten für bestimmte Benutzer. Daher sind sie nützlich.
RobotHumans
Nun, das ist in der Tat sehr hilfreich. Du fühlst mich nur und gibst mir, was ich will. ABER ich würde dich gerne nach vielem Lesen über Linux und Linux fragen, ob ich niemals in der Lage sein werde, irgendeine Anwendung in Linux-Systemen zu installieren? wie ist das überhaupt nicht möglich?
Gabriel
0

Ubuntu bietet eine Vielzahl von Installationsmethoden

  1. Über ein zentrales Verpackungssystem

    Dies ist die Preferd-Methode in Ubuntu (aber ich persönlich mag sie nicht). Software-Center, Synaptic und Eignung sind dafür beispielhaft

  2. Standalone-Deb-Paket: - Diese Methode ist einfacher als im Fall von Windows, doppelklicken Sie einfach auf die Datei und klicken Sie auf die Schaltfläche Installieren. Beispiel: Gdebi-Paketmanager

  3. Binärsoftware: Diese sind der Windows .exe-Installation sehr ähnlich. Sie bietet verschiedene GUI-Optionen für den Installer. Dies sind normalerweise .bin-Dateien

    Sie können Bit Rock oder ähnliche Werkzeuge verwenden, um solche Verpackungen herzustellen

  4. Autopackage und ähnliche Tools: -Diese sind Paketmanager von Drittanbietern, die zur Unterstützung verschiedener Linux-Distributionen erstellt wurden

  5. Quellcode: Dies ist die erste Methode bei der Softwareinstallation. Bei dieser Methode wird der Quellcode in die ausführbaren Binärdateien konvertiert. Den Installationsanweisungen für diese Software ist normalerweise Quellcode beigefügt. Diese sind nur für Open Source S / W gültig

Warnung: -Dies sind nur meine Beobachtungen, ich bin ein Neuling in Linux, so fiel frei zu bearbeiten / abstimmen, wenn etwas nicht stimmt

Tachyonen
quelle
Nun, danke. Aus meiner Erfahrung sehe ich normalerweise im Software-Center die Beschreibung einer App und wenn die Canonical Updates bereitstellt, installiere ich sie vom Center aus. Wenn ich nicht google, habe ich diese Frage deswegen gestellt und alle Antworten waren ver helpfull.Thanks
gabriel
Option 1 ist weitaus besser als 3 und 4, da Sie Updates automatisch erhalten können. Option 2 ist in Ordnung, wenn sich das gewünschte Paket oder die gewünschte Version nicht in Ihrem Repository befindet (Option 1). Vermeiden Sie die Nummern 3 und 4, wenn dies möglich ist, da sie nicht alle wunderbaren Vorteile der Paketverwaltung nutzen und später zu Konflikten führen können. Obwohl Autopackage eine eigene Paketverwaltung durchführt, handelt es sich immer noch um ein separates System, bei dem Konflikte und veraltete Inhalte auftreten können. Und wenn Sie kein Programmierer sind, vermeiden Sie es, für den Quellcode zu bauen. Paketverwaltung ist eine wunderbare Sache!
Scott Severance
Ich bevorzuge diese Methoden nur, weil meine Internetverbindung zu langsam ist: p
Tachyons