Wie benutze ich Typesafe Stack deb Repo mit Oracle Java 6 anstelle von OpenJDK?

8

Ich möchte TypeSafe Stack über Deb Debo auf Ubuntu Server installieren, aber ohne alle OpenJDK-Pakete herunterzuladen. Ich habe Oracle JDK 6 installiert und in meinem Pfad über Update-Alternativen und die Installation von OpenJDK bricht einige Sachen.

Was wäre der beste Weg, dies zu tun? Es scheint nicht, dass ich apt-get - no-install-recommends-Flag dafür verwenden kann:

%Vor%

PS - Ich weiß, dass die TypeSafe Stack-Komponenten mit meinem aktuellen Setup funktionieren, da ich es installiert hatte und mit ihrem vorherigen Installer gut lief.

    
Kurtosis 06.04.2012, 04:23
quelle

2 Antworten

0

Alte Frage, wurde schon lange in meinen Kommentaren unter meinem OP beantwortet, ich mache es jetzt nur noch offiziell. Auf Debian-basierten Systemen verwenden Sie einfach Debian-Alternativen , siehe Setup-Skripte in meinen obigen Kommentaren. Es ist brillant, funktioniert einfach und bietet die folgenden Vorteile:

  1. Verwenden Sie die genaue Version von Java / Scala / Haskell / etc, die Sie wollen, nicht die Debian / Ubuntu / etc-Repos. Nützlich, wenn die Repo-Version der aktuellen Version hinterherhinkt oder Ihre App eine andere Version der Plattform erfordert als das Repo.
  2. Haskell-Plattform. Installieren Sie mehrere GHC- und Haskell Platform-Versionen nebeneinander, etwa in / opt / haskell / ghc / [Version] und / opt / haskell / platform / [Version], und wechseln Sie einfach zwischen ihnen mit update-alternatives --config . Gleiches gilt für Java, Scala oder andere SDK / Plattformen.
  3. Aktualisieren Sie auf neue Versionen von GHC und Haskell Platform (oder Java, Scala usw.), ohne das vorherige zu überschreiben oder zu löschen. Wenn dies zu Regressionen in Ihren Apps führt, wechseln Sie einfach mit einem einfachen update-alternatives --config .
  4. zur vorherigen Arbeitsversion zurück
  5. Halten Sie alle Dateien von GHC und Haskell Platform an einem einzigen Ort zusammen, wie / opt / haskell / ghc / [version] und / opt / haskell / platform / [version], anstatt über / usr / bin verteilt zu werden, / usr / lib und / usr / share wie bei einer apt-get- oder dpkg -i-Installation. Die Dateien werden in / opt / haskell / gespeichert und update-alternatives verbindet sie mit ihren Systemverzeichnissen.
  6. Leicht zu deinstallieren mit update-alternatives --remove-all (Skript enthalten) und rm -rf /opt/haskell .
  7. Führen Sie haskell über System PATH anstelle von user PATH aus (z. B. müssen Sie / pop / haskell / ghc / bin nicht zu Ihrem PATH in .profile hinzufügen)
  8. Gewöhnen Sie sich an die Verwendung von Update-Alternativen, es ist ein großartiges Tool, das die Verwaltung von manuell installierter, multi-versionsfähiger Software erleichtert. Java, Scala und jede andere binäre oder kompilierte Plattform funktionieren alle gleich gut.
Kurtosis 04.03.2014, 02:38
quelle
0

Ich betrachte zur Zeit die Pakete 'scala' und 'scala-library' im Ubuntu-eigenen Repository 'universe' anstelle des Repositories TypeSafe. Diese Pakete hängen von 'java6-runtime' ab (ich benutze Ubuntu 12.10, 'Quantal'). Dies ist möglicherweise nicht der Fall für die Pakete im Typesafe-Repository, aber das Prinzip sollte das gleiche sein.

Das equivs -Paket kann verwendet werden, um einen gefälschten Paket-Stub (z. B. Package: local-java-runtime ) zu erstellen, der fälschlicherweise behauptet, die unerwünschte JRE bereitzustellen (z. B. Provides: java6-runtime ).

Auf diese Weise können Sie manuell die von Ihnen gewünschte Scala-unterstützende JRE installieren, dann das von Ihnen erstellte Stub-Paket installieren und apt-get install scala wird sich nicht mehr beschweren (das Stub-Paket wird die Abhängigkeit erfüllen, ohne dass APT eine JRE einholen muss) .

Schauen Sie sich hier an, um sich über Äquivalenzen zu informieren und zu sehen wie es gemacht wird.

Übrigens, zumindest für die Linux-Distribution, die ich ausführe, sehe ich, dass 'openjdk-7-jre' bereits 'java6-runtime' zur Verfügung stellt, so dass die Abhängigkeit 'java6-runtime' weniger unangenehm ist als in die Vergangenheit.

    
nadavwr 16.04.2013 18:37
quelle

Tags und Links