İçeriğe geç
KAMPANYA Kurumsal Web Paketi — $499'dan başlayan fiyatlar Web & Logo Tasarımı · Kurumsal E-posta · LiteSpeed + CloudLinux · Imunify360 Güvenlik · cPanel Yönetim · 3 Gbps DDoS Koruması 00 Gün 00 Saat 00 Dk 00 Sn
AIOR

How to Remove an Old Java Version from AlmaLinux — Step-by-Step Cleanup

Sektör topluluğu — sorularınız, deneyimleriniz ve duyurularınız için.

How to Remove an Old Java Version from AlmaLinux — Step-by-Step Cleanup

Aior

Administrator
Staff member
Joined
Apr 2, 2023
Messages
895
Reaction score
2
Points
18
Age
40
Location
Turkey
Website
aior.com
1/3
Thread owner

Hangi Sürümü Kaldırıyoruz?​

Sunucu zamanla biriken eski Java sürümleri hem disk alanı tüketir hem de güvenlik riski oluşturur — yamalanmamış JDK'lar yıllar boyunca açık kalır. ElasticSearch'i Java 8'den 11'e, sonra 17'ye yükselttiyseniz eski sürümleri kaldırmadan bırakmak gereksizdir. Bu rehber AlmaLinux 8/9'da Java temizleme adımlarını gösterir.

Adım 1 — Hangi Sürümler Yüklü?​

Önce envanter çıkarın:

Code:
rpm -qa | grep -i jdk
alternatives --display java

Çıktı örneği: java-1.8.0-openjdk-1.8.0.382.b05-1.el9.x86_64 (Java 8), java-11-openjdk-11.0.21.0.9-1.el9.x86_64 (Java 11), java-17-openjdk-17.0.9.0.9-1.el9.x86_64 (Java 17).

Adım 2 — Bağımlılıkları Kontrol Et​

Hangi servislerin hangi Java'ya bağlı olduğunu görmek için:

Code:
systemctl list-units --type=service | grep -i java
grep -r "JAVA_HOME" /etc/systemd/system/ 2>/dev/null

ElasticSearch, Solr, Tomcat gibi servislerin systemd unit dosyalarındaki Environment=JAVA_HOME=/usr/lib/jvm/... satırı kullandığı sürümü işaret eder. Yanlış sürümü kaldırırsanız servis başlatılamaz.

Adım 3 — Servisleri Durdurun​

Etkilenebilecek servisleri önce durdurun (gerekirse alternatif Java sürümüne geçirin):

Code:
sudo systemctl stop elasticsearch
sudo systemctl stop tomcat

Adım 4 — Eski Sürümü Kaldır​

DNF ile temiz kaldırma:

Code:
sudo dnf remove java-1.8.0-openjdk java-1.8.0-openjdk-headless

Bağımlı paketler (javapackages-tools) varsa DNF onları da soracaktır; "y" ile onaylayın. Manuel kurulu Java için ilgili /opt dizinini elle silin.

Adım 5 — Alternatives Temizliği​

RPM paketi temizlendiğinde alternatives girdileri kalmış olabilir:

Code:
alternatives --remove java /usr/lib/jvm/jre-1.8.0-openjdk/bin/java
alternatives --remove javac /usr/lib/jvm/java-1.8.0-openjdk/bin/javac

Hata mesajı veriyorsa zaten silinmiştir, geçebilirsiniz.

Adım 6 — Doğrulama​

Kaldırma sonrası kontroller:

Code:
java -version
rpm -qa | grep jdk
ls /usr/lib/jvm/

Sonuçlar yalnızca tutmak istediğiniz sürümleri göstermelidir. Servisleri yeniden başlatın:

Code:
sudo systemctl start elasticsearch
sudo systemctl status elasticsearch

Yaygın Hatalar​

"Package not installed": sürüm zaten yoktu, normal. "javac: command not found" servis hatası: JDK yerine yalnızca JRE bıraktıysanız Maven/SBT gibi araçlar javac arar — JDK'yı geri kurmanız gerekebilir. "alternatives: no priorities" hatası: tüm Java alternatives girdileri silinmiş, en az bir Java'yı alternatives --install ile geri eklemelisiniz.

Genel Disk Temizliği​

Java cache dizinleri zamanla şişebilir:

Code:
rm -rf /root/.java/deployment/cache/
dnf clean all

Üretim Önerisi​

Tek seferde kaldırmak yerine eski sürümün servislerini önce yeni sürüme migrate edin, bir hafta sorunsuz çalıştığını doğrulayın, sonra eski sürümü kaldırın. AIOR olarak müşterilerimizin ElasticSearch ve XenForo deploy'larında Java migration'larını planlı pencerede yapıyor ve rollback hazır tutuyoruz.


Which Version Are We Removing?​

Old Java versions accumulated over time consume disk space and create a security risk — unpatched JDKs can stay vulnerable for years. If you upgraded ElasticSearch from Java 8 to 11 and then 17, leaving the old versions around is unnecessary. This guide walks through Java cleanup on AlmaLinux 8/9.

Step 1 — What's Installed?​

Start with an inventory:

Code:
rpm -qa | grep -i jdk
alternatives --display java

Sample output: java-1.8.0-openjdk-1.8.0.382.b05-1.el9.x86_64 (Java 8), java-11-openjdk-11.0.21.0.9-1.el9.x86_64 (Java 11), java-17-openjdk-17.0.9.0.9-1.el9.x86_64 (Java 17).

Step 2 — Check Dependencies​

See which services rely on which Java:

Code:
systemctl list-units --type=service | grep -i java
grep -r "JAVA_HOME" /etc/systemd/system/ 2>/dev/null

The Environment=JAVA_HOME=/usr/lib/jvm/... line in ElasticSearch, Solr or Tomcat service unit files tells you which version they bind to. Remove the wrong one and the service fails to start.

Step 3 — Stop Affected Services​

Before removal, stop any service that may break (and migrate it to another Java first if needed):

Code:
sudo systemctl stop elasticsearch
sudo systemctl stop tomcat

Step 4 — Remove the Old Version​

Clean removal via DNF:

Code:
sudo dnf remove java-1.8.0-openjdk java-1.8.0-openjdk-headless

If dependent packages exist (javapackages-tools), DNF will prompt; answer "y". For manually installed Java, delete the relevant /opt directory by hand.

Step 5 — Cleaning Alternatives​

After the RPM is gone, leftover alternatives entries may persist:

Code:
alternatives --remove java /usr/lib/jvm/jre-1.8.0-openjdk/bin/java
alternatives --remove javac /usr/lib/jvm/java-1.8.0-openjdk/bin/javac

If you see an error, the entry was already removed — safe to ignore.

Step 6 — Verify​

Post-removal sanity checks:

Code:
java -version
rpm -qa | grep jdk
ls /usr/lib/jvm/

Results should show only the versions you intended to keep. Restart your services:

Code:
sudo systemctl start elasticsearch
sudo systemctl status elasticsearch

Common Errors​

"Package not installed": the version was already absent — fine. "javac: command not found" service error: if you left only the JRE and tools like Maven/SBT expect javac, you may need to reinstall a JDK. "alternatives: no priorities": all Java alternatives were removed; re-add at least one with alternatives --install.

General Disk Cleanup​

Java cache directories balloon over time:

Code:
rm -rf /root/.java/deployment/cache/
dnf clean all

Production Recommendation​

Rather than removing in one go, migrate services to the new Java version first, run for a week without issues, then remove the old one. At AIOR we run customer Java migrations on planned change windows with rollback ready.
 

Forum statistics

Threads
891
Messages
898
Members
27
Latest member
AIORAli

Members online

No members online now.

Featured content

AIOR
AIOR TEKNOLOJİ

Tüm ihtiyaçlarınız için Teklif alın

Hosting · Domain · Sunucu · Tasarım · Yazılım · Mühendislik · Sektörel Çözümler

Teklif al

7/24 Destek · Anında yanıt

Back
Top