Ubuntu 16.04 veya üstü sürümüne openjdk 7'yi nasıl yüklerim?

106

Ana sistemimi 16.04'e yükseltmek istiyorum ancak OpenJDK 7 gerektiren projeler üzerinde çalışıyorum.

Görünüşe göre,% co_de önemsiz bir oranda mevcut değil. Depoda yalnızca 8 ve 9 sürümleri listeleniyor.

Beni nasıl yükleyeceğiyle ilgili talimatlar gönderebilir mi?

    
sordu onairda 23.04.2016 12:18

8 cevap

137
  

Güvenlik Uyarısı

     

Aşağıda belirtilen PPA’daki paketler güvenlikle güncellenmiyor   Java yamaları. Üretimde kullanmayın; alternatif cevapları gör   yerine.

     

Yazma sırasında, OpenJDK 7 için son yükleme yapıldı   '2016-04-22', 7u95 sürümüyle ve hala 'en güncel' olarak kullanılabilir.   Ubuntu 14.04, 7u181'e güncellendi .

GÜNCELLEME: BU PPA TARAFINDAN GÜVENLİK GÜNCELLEME İLE İLGİLİ OLMAK ÜZERE 2018 YILINDA KULLANMAK İSTEDİĞİNİZ HER YERDE EN GÜVENİLİR BİR CEVAP VERİLMİŞTİR.

Benim için çalışan aşağıdaki talimatları buldum:

sudo add-apt-repository ppa:openjdk-r/ppa  
sudo apt-get update   
sudo apt-get install openjdk-7-jdk  

Bu, "OpenJDK yüklemeleri için PPA'yı (kısıtlı)" ek bir paket kopyası olarak tanımlar, bilgilerinizi günceller ve paketi bağımlılarıyla (bu depodan) yükler.

    
verilen cevap onairda 24.04.2016 00:34
46

openjdk-r / ppa'nın sürdürücüsü, openjdk-7 paketinin 7u95-2.6.4-3 sürümü dışında güncellenmesi gibi görünmüyor. Bu paketin "Debian GNU / Linux için Primary Archive'deki Debian deneyselinden kopyalanmış" açıklaması, bununla nasıl başa çıkılacağına dair bir ipucu verir.

Seçenek 1: Manuel Yükleme

  1. Mimariniz için tasarlanan paketleri indirin:
    (çoğu kullanıcı için bu, 64bit ise amd64 veya 32bit Ubuntu yüklüyse i386 demektir)

  2. ( dpkg ) kullanarak paketleri kurmayı deneyin:

    Ubuntu 17.10 ve öncesi:

    sudo dpkg -i openjdk-7-* libjpeg62-turbo* libfontconfig1* fontconfig-config*
    

    Ubuntu 18.04 ve üstü:

    sudo dpkg -i openjdk-7-* libjpeg62-turbo*
    
  3. Çıkışı dpkg 'den kontrol edin. Bağımlılık problemleri varsa - ki bu muhtemeldir - aşağıdakileri göreceksiniz (mimariniz amd64 ile değiştirilmişken):

    Errors were encountered while processing:
    openjdk-7-jre:amd64
    openjdk-7-jre-headless:amd64
    openjdk-7-jdk:amd64

    Bağımlılık sorunu olmasaydı, işiniz bittiyse # 4'e geçin. Aksi takdirde, bazı bağımlılık sorunlarını çözmeniz gerekiyorsa, bununla ilgilenilir:

    sudo apt install -f
    

    Dikkat, dpkg bağımlılıklarının giderilmesine izin verdikten sonra apt 'yi yeniden çalıştırmaya gerek yoktur. Openjdk paketlerinin kurulumunu otomatik olarak bitirecektir.

  4. Java alternatiflerini güncelleyin. Yüklenen tüm java sürümlerini update-java-alternatives --list ile görüntüleyebilirsiniz. OpenJDK Java 1.7'yi etkinleştirmek için şunu çalıştırın:

    sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
    

    Kullanılamayan IcedTeaPlugin.so eklentisiyle ilgili bir hata fark edebilirsiniz. Bu, JDK ile çalışan geliştiriciler için gerçek bir endişe değil.

  5. Java’nın çalıştığını doğrulayın:

    java -version
    

    , şunlara benzer bir çıktı elde etmelidir:

    java version "1.7.0_161"
    OpenJDK Runtime Environment (IcedTea 2.6.12) (7u161-2.6.12-1)
    OpenJDK 64-Bit Server VM (build 24.161-b01, mixed mode)

2. Seçenek: Otomatik Yükleme ( apt ile güncellemeler dahil)

openjdk-7-jdk ve onun bağımlılıkları Debian depolarından yüklemek ve güncellemek için Pinning kullanılabilir.

  1. apt 'yi yalnızca bizi ilgilendiren paketleri düşünmesini sağlayan bir sabitleme dosyası oluşturun (kesinlikle tüm Ubuntu dağıtımımızın Debian deney paketleri ile yükseltilmesini istemiyoruz).

    Aşağıdaki içerikle /etc/apt/preferences.d/debian dosyası oluştur. Süper kullanıcı ayrıcalıklarına ihtiyacınız olacak, bu yüzden sudo vim , sudo nano , gksudo gedit , vb. Kullanın.

    Package: *
    Pin: release o=Debian,n=experimental
    Pin-Priority: -1
    
    Package: *
    Pin: release o=Debian,n=sid
    Pin-Priority: -1
    
    Package: openjdk-7-jdk
    Pin: release o=Debian,n=experimental
    Pin-Priority: 500
    
    Package: openjdk-7-jre
    Pin: release o=Debian,n=experimental
    Pin-Priority: 500
    
    Package: openjdk-7-jre-headless
    Pin: release o=Debian,n=experimental
    Pin-Priority: 500
    
    Package: libjpeg62-turbo
    Pin: release o=Debian,n=sid
    Pin-Priority: 500
    

    Ubuntu 17.10 ve önceki sürümler için, aşağıdakileri de ekleyin (ve alttaki nota bakın):

    Package: libfontconfig1
    Pin: release o=Debian,n=sid
    Pin-Priority: 500
    
    Package: fontconfig-config
    Pin: release o=Debian,n=sid
    Pin-Priority: 500
    
  2. Debian anahtarlığını yükleyin:

    sudo apt install debian-archive-keyring
    

    Not: Bu, debian anahtar sözcüğünü eklemenin en basit yöntemi olsa da, güncel olmayabilir. 4. adımda apt update çalıştırırken aşağıdaki gibi çıktıları kontrol edin:

    W: GPG error: http://cdn-fastly.deb.debian.org/debian experimental InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
    E: The repository 'http://httpredir.debian.org/debian experimental InRelease' is not signed.

    Bu hatayı görüyorsanız, gerekli anahtar kelimeleri manuel olarak ekleyin:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
    

    8B48AD6246925553 ve 7638D0442B90D010 , uyarı iletisinde gördüğünüz pubkeylerle eşleşmelidir.

  3. Gerekli depoları ekleyin:

    sudo add-apt-repository 'deb http://httpredir.debian.org/debian experimental main'
    sudo add-apt-repository 'deb http://httpredir.debian.org/debian sid main'
    

    Neden kararlı bir Debian deposu kullanmıyorsunuz? Debian kararlılığı ile tatmin edici olmayan bağımlılıklar yaşayacaksınız. Deneysel (openjdk-7 için) ve sid (libjpeg62-turbo, libfontconfig1 ve fontconfig-config için) depoları bağımlılık sürümleriyle daha yumuşaktır.

  4. apt önbelleğini güncelle (Debian'ın paket listeleri büyük olduğundan bu işlemin bir süre beklemesini bekliyoruz):

    sudo apt update
    
  5. openjdk-7-jdk dosyasını yükle:

    sudo apt install openjdk-7-jdk
    
  6. Java alternatiflerini güncelleyin. Yüklenen tüm java sürümlerini update-java-alternatives --list ile görüntüleyebilirsiniz. OpenJDK Java 1.7'yi etkinleştirmek için şunu çalıştırın:

    sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
    

    Kullanılamayan IcedTeaPlugin.so eklentisiyle ilgili bir hata fark edebilirsiniz. Bu, JDK ile çalışan geliştiriciler için gerçek bir endişe değil.

  7. Java’nın çalıştığını doğrulayın:

    java -version
    

    , şunlara benzer bir çıktı elde etmelidir:

    java version "1.7.0_161"
    OpenJDK Runtime Environment (IcedTea 2.6.12) (7u161-2.6.12-1)
    OpenJDK 64-Bit Server VM (build 24.161-b01, mixed mode)

fontconfig notları

libfontconfig1 ve fontconfig-config Ubuntu 17.10 ve önceki sürümlerinde 2.12 veya daha yeni bir sürüme geçirilmelidir. Debian'ın güncelleme paketleri Ubuntu'nun özelleştirmelerini içermez, bu yüzden bazı uygulamalar bu paketlerin yüklü olduğu çirkin yazı tiplerini görüntüler; Örneğin. Charles Web Hata Ayıklama Proxy'si. Kullandığınız programlara bağlı olarak, bu sorundan etkilenip etkilenmeyebilirsiniz.

    
verilen cevap MDMower 27.07.2016 16:51
5

OpenJDK 7'yi Azul'dan kendi gereksinimlerinize uyacak şekilde indirebilirsiniz. Her ikisi de bir DEB (paket sistemi için) ve bir ZIP dağıtımı var. Sadece ZIP dağıtımı ile çalıştım.

İşte

    
verilen cevap Thorbjørn Ravn Andersen 23.10.2016 21:10
0

Ubuntu 16.04'te Java 7'yi yükleyin, Ubuntu 17.04

OpenJDK üzerinde bir performans avantajı olduğundan Oracle Java 'yı yüklemeniz önerilir. Bu nedenle bir alternatif göndermek istiyorum. Oracle Java'yı yüklemek isterseniz, PPA'dan yüklemek için terminalde aşağıdaki komutları çalıştırın.

  1. Gerekli depoları ekleyin:

    sudo add-apt-repository ppa:webupd8team/java
    
  2. apt önbelleğini güncelleyin ve oracle-java7 'yı yükleyin:

    sudo apt update
    sudo apt install java-common oracle-java7-installer
    

    Yükleme işlemi sırasında Oracle Lisansı sözleşmesini kabul etmeniz gerekir. Yüklendikten sonra JAVA_HOME

    gibi Java ortam değişkenlerini ayarlamamız gerekiyor.
  3. Java ortam değişkenlerini düzeltin.

    sudo apt install oracle-java7-set-default
    source /etc/profile
    
  4. Java’nın çalıştığını doğrulayın:

    java -version
    

    , şunlara benzer bir çıktı elde etmelidir:

    java version "1.7.0_80"
    Java(TM) SE Runtime Environment (build 1.7.0_80-u80)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-u80, mixed mode)
    
verilen cevap Teocci 26.06.2017 19:17
0

Oracle JDK alternatifi:

Depolarla ilgili çabalardan kaçınmak istedim çünkü 7, 8 ve 9 arasında geçiş yapıyorum, bu yüzden OpenJDK yerine Oracle JDK ile karşılaştım. Resmi siteden indirin. En son yapı 80'in OpenJDK'nin 161 yapısıyla aynı düzeltmeleri içerdiğinden emin değilim. Fakat bunu geliştirme için aldım, bu yüzden benim için pek bir şey ifade etmiyor.

Ardından, çeşitli komut dosyalarının doğru JDK'yı (ör. Maven, JBoss vb.) alması için ortamdaki $JAVA_HOME değerini ayarlamanız gerekir.

Tamlık için, JDK sürüm 7 EOL'lendi, hatta JDK 8 genel desteği Eylül 2017’den beri feshedildi ve Eylül 2018’den sonra herkese açık bir güncelleme olmayacak.

    
verilen cevap Ondra Žižka 19.11.2017 17:58
0

Kapsayıcıları kullan

Bu, <outdated> kaldırılan yazılımı <current> Ubuntu'da çalıştırmak için evrensel olarak geçerli bir yanıttır: uygulamanızı konteynerleyin .

Örneğin, Docker ve aradığınız yazılımın hala kullanılabilir olduğu / bakımı yapılan eski bir Ubuntu temel resmi kullanın.

Ayrıca başka bir şekilde çalışır; Şu anda çalışan kararlı Ubuntu'nuzdaki yazılımı daha yeni ya da başka bir Linux dağıtımında deneyin.

Ubuntu 14.04 kullanarak Java 7 için Örnek

  1. Yükleme Docker - Docker CE ücretsiz sürümü iyidir. Örneğin, gönderilen son Ubuntu sürümlerinde İşte adresine bakın veya docker.io paketini kullanın.

  2. Boş bir klasörde, Dockerfile dosyası oluşturun:

    FROM ubuntu:trusty
    RUN apt-get update \
        && apt-get install -y \
            openjdk-7-jdk \
        && rm -rf /var/lib/apt/lists/*
    
    ENTRYPOINT ["/usr/bin/java"]
    

    Gerekirse, bu komutta daha fazla paket ekleyin.

  3. Bu klasörde şunu çalıştırın:

    docker build -t gertvdijk/java7 .
    
  4. Java 7 görüntüsünü kullanarak tek kullanımlık bir kapsayıcıda bir komut çalıştırın:

    Örn. % Co_de:%

    docker run --rm -it gertvdijk/java7 -version
    

    Çıktı:

    java version "1.7.0_181"
    OpenJDK Runtime Environment (IcedTea 2.6.14) (7u181-2.6.14-0ubuntu0.1)
    OpenJDK 64-Bit Server VM (build 24.181-b01, mixed mode)
    
  5. İsteğe bağlı olarak, kolaylık sağlamak için bir sarıcı oluşturun.

    • İçerikleri içeren bir dosya java -version oluşturun:

      #!/usr/bin/env sh -e
      
      DOCKER_IMAGE=gertvdijk/java7
      PWD="$(pwd)"
      
      exec docker run \
        --rm -it \
        -v ${PWD}:${PWD} \
        -v "/etc/passwd:/etc/passwd:ro" \
        -v "/etc/group:/etc/group:ro" \
        --user "$(id -u):$(id -g)" \
        --workdir "${PWD}" \
        "${DOCKER_IMAGE}" \
        [email protected]
      

      Bu, mevcut çalışma dizinini kapsayıcı içinde kullanılabilir hale getirecek - tüm dosya sisteminizi değil, ve yerel kullanıcı hesabınızı kapsayıcı ad alanındaki kimliğine bürünecektir.

    • Yürütülebilir olarak işaretle:

      sudo chmod +x /usr/local/bin/java7-in-docker
      
  6. Java 7'nizi şeffaf bir şekilde aşağıdaki gibi çalıştırın:

    java7-in-docker -jar relative/path/to/some.jar
    
verilen cevap gertvdijk 27.07.2018 00:21
0

MDMower'ın El İle veya Otomatik Yüklemeyle ilgili cevabına bir ek. (*)

Ubuntu 16.04.5 LTS, hwe-16.04 kenarlı çekirdekleri ve DE olarak Tarçın ile, libfontconfig1 ve onun bağımlılığı fontconfig-config'ının yüklenmesi / yükseltilmesi üzerine beklenmedik font davranışı yaşadım. Aniden, birçok uygulama menüsünde bulunan menü çubuklarında ve uygulamalarda terminal pencerelerinde ve diğer birçok yerde tuhaf ve ince ve neredeyse okunaklı tek boşluklu fontlar ve diğer "çirkin" fontlar vardı.

Bu sorunla karşılaşırsanız: Bunun için çalışma zamanında hiçbir çalışma düzeltmesi yok gibi görünüyor. Herhangi bir Cinnamon veya Gnome veya FontConfig veya Terminalinizin tercihlerini (örn. Gconf-editor / gconftool, gnome-tweak-tool, fc- *) düzeltmek için bir ayar ararken zamanınızı harcayamazsınız. Bu "kırık" yazı tipleri üzerinde herhangi bir etkisi olmaz. Fontconfig-Config güncellemesi, bazı fontlara bilinen / önbelleğe alınmış referansları bir şekilde sıfırlar ve fontların yerine orijinal isimleriyle atıfta bulunurken bazı yedek fontlar oluşturulmaktadır.

Sadece sisteminizi yeniden başlatın ve her şey normale döndü. Sadece giriş yapmak ve geri dönmek bile yeterli olabilir.

(*) Bu, @MDMower'ın yukarıdaki yanıtına bir ek veya yorum olması gerekiyordu, ancak StackExchange "itibarının" yetersiz olması, onu bir yorum olarak göndermemizi yasaklıyor. Düzenlemem de (kısmen haklı olarak) reddedildi, dolayısıyla bunun yerine bu spam "yanıtı". Afedersiniz. Yeterince "gücü" olan biri, bu "cevabı", ait olduğu bir yorum olarak hareket ettirebilirse memnun olurum. Teşekkürler!

    
verilen cevap R. Cocinero 27.07.2018 12:55
-2

Kolay bir yol:

Bu satırları şuraya ekleyin: /etc/apt/sources.list :

deb http://security.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse

Ardından apt'ü güncelleyin ve yükleyin. Büyük olasılıkla tzdata paketini indirmeniz gerekecek.

Bundan sonra, bu depodaki paketlerin yüklenmesini veya güncellenmesini önlemek için bu satırları yorumla 'yı tekrar güncellemeyi ve beklenmeyen davranışlara yol açabilecek paketleri güncellemeyi öneririm.

Sorunlardan biri, bu paketleri saklamanız gerektiğidir, böylece sisteminizi güncellediğinizde kaldırılmazlar (özellikle tzdata paketi).

NOT : Bu yöntemi en son çare olarak kullanın, sorunsuz bir şekilde güncellemenize izin veren diğer herhangi birini tercih edin.

    
verilen cevap lepe 05.12.2016 10:29

Etiketlerdeki diğer soruları oku