sunucu.com.tr
Linux Sunucular

EPEL repo kurulumu: AlmaLinux, Rocky Linux 8-9 ve RHEL 9'da dnf ile EPEL deposunu etkinleştirme

EPEL repo, Enterprise Linux dağıtımlarına Fedora kaynaklı ek paketler getiren topluluk deposudur. AlmaLinux ve Rocky Linux 8-9'da önce CRB ya da PowerTools deposunu açıp epel-release paketini dnf ile kurmayı, kurulumu doğrulamayı ve EPEL 7'nin 30 Haziran 2024'te sona ermesinin ne anlama geldiğini anlatıyoruz.

Güncellendi: 7 dk okuma

EPEL (Extra Packages for Enterprise Linux), Red Hat Enterprise Linux ve onunla uyumlu dağıtımlarda temel depolarda bulunmayan yazılımları kurmanızı sağlayan ek bir paket deposudur. Bu rehberde EPEL'in ne olduğunu, AlmaLinux ve Rocky Linux 8 ile 9'da dnf kullanarak nasıl etkinleştirildiğini, kurulumu nasıl doğrulayacağınızı ve sık karşılaşılan hataları anlatıyoruz. Yazının eski sürümü CentOS 7 ve yum üzerine kuruluydu; EPEL 7 artık sürdürülmediği için o bölüm yazının sonunda yalnız tarihsel not olarak duruyor.

EPEL repo nedir?

EPEL, Fedora Projesi bünyesindeki EPEL grubu tarafından yönetilen bir topluluk deposudur. Grup, Enterprise Linux dağıtımlarının çekirdek depolarında yer almayan yazılımlar için ek paketler hazırlar ve bakımını yapar. AlmaLinux belgelerinde de belirtildiği gibi EPEL paketleri genellikle Fedora'daki karşılıklarından türetilir. Kısacası amaç, kurumsal Linux dağıtımlarında daha geniş bir yazılım yelpazesine güvenli ve paket yöneticisiyle yönetilebilir biçimde erişmektir.

Bu yaklaşımın pratik faydası şudur: kaynak koddan derlemek ya da rastgele RPM dosyaları indirmek yerine, yazılımı dnf ile kurar, güncellemeleri de diğer sistem paketleriyle birlikte alırsınız. Paketler imzalıdır; ilk kurulumda GPG anahtarı içe aktarılır ve sonraki indirmeler bu anahtarla doğrulanır.

EPEL hangi dağıtımlarla kullanılır?

EPEL, RHEL ile ikili uyumlu Enterprise Linux ailesi için hazırlanır. Günümüzde tipik olarak şu dağıtımlarda kullanılır:

  • Red Hat Enterprise Linux (RHEL)
  • AlmaLinux
  • Rocky Linux
  • CentOS Stream
  • Oracle Linux

Eski yazıda listelenen Scientific Linux ve CentOS Linux artık güncel seçenekler değildir. Hangi dağıtımı kullanırsanız kullanın, EPEL'in ana sürümü dağıtımın ana sürümüyle eşleşmelidir: 8 tabanlı bir sistemde EPEL 8, 9 tabanlı bir sistemde EPEL 9 kullanılır.

Kurulumdan önce kontrol listesi

Komutlara geçmeden önce birkaç noktayı netleştirin. Bu kontroller, sonradan çıkacak bağımlılık hatalarının çoğunu baştan önler.

  1. Yetki: SSH ile root olarak ya da sudo yetkili bir kullanıcıyla bağlanın. Sudo kullanıcısı oluşturmanız gerekiyorsa CentOS Linux 8'de sudo kullanıcısı ekleme rehberindeki adımlar 8 tabanlı dağıtımlarda da aynı mantıkla çalışır.
  2. Dağıtım ve sürüm: Hangi dağıtımda ve hangi ana sürümde olduğunuzu öğrenin.
  3. Mevcut depolar: Sistemde hangi depoların tanımlı ve açık olduğunu görün.
  4. Güncel sistem: Kurulumdan önce mevcut paketleri güncellemek, eski meta veriden kaynaklanan çakışmaları azaltır.
bash
cat /etc/os-release
rpm -E %rhel
dnf repolist all

rpm -E %rhel çıktısı 8 ya da 9 olmalıdır; bu sayı hangi EPEL sürümünü kullanacağınızı gösterir. dnf repolist all çıktısında crb ya da powertools adlı bir depo görüp görmediğinize ve durumunun disabled olup olmadığına bakın.

bash
sudo dnf upgrade --refresh

Güncelleme sonrasında çekirdek değiştiyse bakım penceresinde yeniden başlatmayı planlayın. Üretim sunucusunda büyük bir değişiklikten önce yedek ya da anlık görüntü almak iyi bir alışkanlıktır.

Neden önce CRB ya da PowerTools açılmalı?

EPEL kurulumunun en çok atlanan adımı budur. AlmaLinux belgesine göre EPEL paketlerinin çoğu, CRB (eski adıyla PowerTools) deposundaki paketlere bağımlıdır. Bu depo varsayılan olarak kapalı gelir. Kapalıyken EPEL'den bir paket kurmaya çalışırsanız dnf bağımlılığı bulamaz ve "nothing provides ..." türünde bir hata verir.

Deponun adı ana sürüme göre değişir:

Ana sürüm Depo adı Etkinleştirme
AlmaLinux 8 powertools dnf config-manager --set-enabled powertools
AlmaLinux 9 crb dnf config-manager --set-enabled crb

Rocky Linux da aynı RHEL tabanını izlediği için benzer bir yapı kullanır; ancak depo adını varsaymak yerine dnf repolist all çıktısında gördüğünüz adı esas alın. Doğru adı kullanmak, yanlış ya da var olmayan bir depoyu açmaya çalışmaktan daha güvenlidir.

AlmaLinux ve Rocky Linux 9'da EPEL kurulumu

9 tabanlı sistemlerde adımlar şöyledir.

1. Adım: config-manager'ın kullanılabilir olduğunu kontrol edin.

bash
dnf config-manager --help

Komut tanınmıyorsa eklenti paketini kurun:

bash
sudo dnf install dnf-plugins-core

2. Adım: CRB deposunu etkinleştirin.

bash
sudo dnf config-manager --set-enabled crb

3. Adım: epel-release paketini kurun.

bash
sudo dnf install epel-release

Kurulum sırasında EPEL'in GPG anahtarını içe aktarmak için onay istenebilir. Anahtarın EPEL'e ait olduğunu, gösterilen kullanıcı kimliğinde "Fedora EPEL" ifadesinin geçtiğini kontrol ederek onaylayın.

4. Adım: Depo listesini yenileyin ve doğrulayın.

bash
sudo dnf makecache
dnf repolist

Çıktıda epel ve crb depolarının birlikte görünmesi gerekir.

AlmaLinux ve Rocky Linux 8'de EPEL kurulumu

8 tabanlı sistemlerde tek fark, ek deponun adının powertools olmasıdır.

bash
sudo dnf install dnf-plugins-core
sudo dnf config-manager --set-enabled powertools
sudo dnf install epel-release
sudo dnf makecache
dnf repolist

Rocky Linux 8'de dnf repolist all çıktısında depo adı büyük/küçük harf farkıyla görünebilir. --set-enabled komutuna listede gördüğünüz kimliği aynen yazın.

RHEL 9 kullanıyorsanız

RHEL'de depolar abonelik yönetimi üzerinden açılır ve epel-release paketinin nasıl kurulacağı AlmaLinux ile Rocky Linux'taki yoldan farklıdır. CRB'nin RHEL'deki karşılığı da abonelik altındaki ayrı bir depodur. Bu yazıda RHEL'e özgü komut vermiyoruz, çünkü depo kimliği ve paket adresi aboneliğinize ve sürümünüze göre değişebilir. Doğru yol şudur:

  1. Sunucunun aboneliğinin etkin olduğunu doğrulayın.
  2. Red Hat belgelerinden CRB karşılığı olan depoyu etkinleştirme komutunu alın.
  3. epel-release kurulumu için Fedora Projesi'nin resmi EPEL sayfasındaki RHEL yönergesini izleyin.
  4. Ardından bu yazıdaki doğrulama adımlarını aynen uygulayın.

Kurulumu doğrulama

Depo listede görünüyor diye her şey hazır sayılmaz. Aşağıdaki kontroller EPEL'in gerçekten çalıştığını gösterir.

bash
rpm -q epel-release
dnf repoinfo epel

dnf repoinfo çıktısında deponun durumunun enabled olduğunu ve paket sayısının sıfırdan büyük olduğunu görmelisiniz. Yalnız EPEL'den gelen paketleri listelemek için:

bash
dnf --disablerepo="*" --enablerepo="epel" list available | head -n 20

Bir paketin hangi depodan geleceğini kurulumdan önce görmek için dnf info paket_adi komutunu kullanın; çıktıdaki Repository satırı epel diyorsa paket EPEL'den kurulacaktır.

bash
dnf info paket_adi

EPEL'i kontrollü kullanma

Bazı yöneticiler EPEL'i sürekli açık tutmak yerine yalnız gerektiğinde kullanmayı tercih eder. Bu, temel depolardaki bir paketin beklenmedik biçimde EPEL sürümüyle değişme riskini azaltır.

EPEL'i varsayılan olarak kapatmak:

bash
sudo dnf config-manager --set-disabled epel

Kapalıyken tek seferlik kurulum yapmak:

bash
sudo dnf --enablerepo=epel install paket_adi

Bu yöntemi seçerseniz, EPEL'den kurduğunuz paketlerin güncellemelerini de aynı bayrakla almanız gerektiğini unutmayın:

bash
sudo dnf --enablerepo=epel upgrade

Güncellemeleri düzenli alıp almadığınızı izlemek ve sunucunun genel durumunu takip etmek için sunucu izleme araçlarından yararlanabilirsiniz.

Sık yapılan hatalar ve çözümleri

"nothing provides ..." bağımlılık hatası. En sık neden, CRB ya da PowerTools deposunun açılmamış olmasıdır. dnf repolist çıktısında bu depoyu arayın; yoksa yukarıdaki etkinleştirme adımını tekrarlayın.

"No such command: config-manager". dnf-plugins-core paketi kurulu değildir. Paketi kurup komutu yeniden çalıştırın.

Yanlış ana sürüme ait EPEL paketi. İnternetten bulunan bir epel-release RPM adresini elle kurmak, 9 tabanlı bir sistemde EPEL 8 deposunun tanımlanmasına yol açabilir. AlmaLinux ve Rocky Linux'ta epel-release paketini dağıtımın kendi deposundan dnf install ile kurmak bu hatayı önler. Emin değilseniz rpm -q epel-release çıktısındaki sürüm etiketine bakın.

GPG denetimini kapatmak. İmza hatası aldığınızda gpgcheck=0 yazmak sorunu çözmez, yalnız gizler. Bunun yerine depo meta verisini zorla yenileyin ve anahtarın doğru içe aktarıldığını kontrol edin:

bash
sudo dnf makecache --refresh
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'

İkinci komutun çıktısında EPEL anahtarına ait bir satır görmelisiniz.

Birden fazla üçüncü taraf depoyla çakışma. EPEL ile başka bir ek depo aynı paketi farklı sürümlerle sunabilir. Kurulumdan önce dnf info ile paketin kaynağını kontrol edin; gerekirse ilgili depoyu yalnız ihtiyaç anında açın.

Güvenlik güncellemelerini atlamak. EPEL'den kurulan paketler de güncelleme alır. EPEL'i kapalı tuttuysanız düzenli güncellemelerde --enablerepo=epel bayrağını eklemeyi unutmayın. SSH gibi temel bileşenlerin güncel olup olmadığını doğrulamak için OpenSSH yamalı sürüm doğrulama rehberine de göz atabilirsiniz.

Tarihsel not: CentOS 7 ve EPEL 7

Bu yazının ilk sürümü CentOS 7 içindi. CentOS 7'de EPEL, CentOS Extras deposundaki epel-release paketiyle kurulurdu:

bash
sudo yum install epel-release
sudo yum repolist

Bu yöntem artık önerilmiyor. EPEL Yönlendirme Komitesi, EPEL 7'yi olağan destek süresinin bittiği 30 Haziran 2024'ten sonra sürdürmeme kararını 2023'te oybirliğiyle aldı. RHEL 7 için satılan uzatılmış destek seçeneği de bu kararı değiştirmedi. Dolayısıyla EPEL 7 paketleri yeni güvenlik güncellemesi almıyor.

Hâlâ CentOS 7 üzerinde çalışan bir sunucunuz varsa yapılacak iş EPEL 7'yi ayakta tutmaya çalışmak değil, uygulamayı AlmaLinux ya da Rocky Linux 9 gibi desteklenen bir dağıtıma taşımaktır. Taşıma için temiz bir sistemle başlamak çoğu zaman en az riskli yoldur: İstanbul ya da Fransa lokasyonlu bir bulut sunucu üzerinde güncel dağıtımı kurup EPEL'i bu yazıdaki adımlarla açabilir, uygulamanızı orada test ettikten sonra trafiği yeni sunucuya yönlendirebilirsiniz.

Sık sorulan sorular

EPEL repo güvenli mi?

EPEL, Fedora Projesi'nin bir grubu tarafından yönetilir ve paketleri imzalıdır. GPG denetimini açık tuttuğunuz ve paketleri dnf üzerinden kurduğunuz sürece imzası doğrulanmamış bir paket kurulmaz. Yine de EPEL bir topluluk deposudur; üretim sunucusunda yalnız gerçekten ihtiyaç duyduğunuz paketleri kurmanız ve kaynağını dnf info ile kontrol etmeniz önerilir.

AlmaLinux 9'da EPEL kurduktan sonra paket bulunamıyorsa ne yapmalıyım?

Önce dnf repolist ile hem epel hem crb depolarının açık olduğunu doğrulayın. Ardından sudo dnf makecache --refresh ile meta veriyi yenileyin. Paket yine görünmüyorsa o paket EPEL 9 için hazırlanmamış olabilir; dnf --enablerepo=epel search paket_adi ile arama yapın.

CRB ile PowerTools aynı şey mi?

İşlev olarak aynı amaca hizmet ederler: EPEL paketlerinin ihtiyaç duyduğu ek geliştirme ve kütüphane paketlerini sağlarlar. AlmaLinux 8'de bu depo powertools, AlmaLinux 9'da crb adını taşır.

EPEL'i kaldırmak istersem ne yapmalıyım?

Kaldırmadan önce EPEL'den kurduğunuz paketlerin listesini çıkarın, çünkü depo kaldırıldığında bu paketler güncelleme almaz. Depoyu tamamen silmek yerine sudo dnf config-manager --set-disabled epel ile kapatmak çoğu durumda daha güvenli bir başlangıçtır.

CentOS 7'de EPEL hâlâ kullanılabilir mi?

EPEL 7, 30 Haziran 2024'ten sonra sürdürülmüyor; yeni güvenlik güncellemesi almıyor. CentOS 7 sunucularını desteklenen bir dağıtıma taşımak ve EPEL'i orada dnf ile kurmak gerekir.

Yazar

Kurucu, sunucu.com.tr · Bulut altyapısı ve yapay zeka otomasyonları

sunucu.com.tr ve Sunucu UK'in kurucusu. Bulut altyapısı, sanallaştırma ve sunucu yönetimi üzerine çalışıyor; şirketlerin iş yazılımlarını, web sitelerini ve yapay zeka iş yüklerini güvenli sunuculara taşıyor. Blogdaki rehberler sahada karşılaşılan kurulum, güvenlik ve taşıma işlerinden derlenir; yazılar yapay zeka desteğiyle hazırlanır ve kaynaklarla doğrulanır.

Tüm yazılarıProfil