DEV Community

Cover image for Rocky Linux 9'da Paket Spesifik Local Repository Oluşturma
Mustafa ZAİMOĞLU
Mustafa ZAİMOĞLU

Posted on • Updated on

Rocky Linux 9'da Paket Spesifik Local Repository Oluşturma

Bu dokümanda spesifik olarak PostgreSQL-16 kurulumunun local repository üzerinden yapılabilmesi için local repository’nin nasıl oluşturulacağı anlatılmıştır.

Öncelikle repoların indirilebilmesi ve oluşturulabilmesi için gerekli paketleri yükleyelim.

dnf install -y yum-utils createrepo
Enter fullscreen mode Exit fullscreen mode

Şu aşamada PostgreSQL-16 için gerekli tüm bağımlıkları alt bağımlılıklarıyla birlikte repotrack komutu ile indirebiliriz.

Ancak indirmek istediğiniz paket yada paketlerin hali hazırda indirilebilir olduğundan emin olun. PostgreSQL'in indirilebilmesi içim repoları sisteme ekleyelim.

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Enter fullscreen mode Exit fullscreen mode

Paket yada paketlerin indirilebilir olduğunu dnf search paket_ismi komutuyla öğrenebiliriz.
search

Paketimizin indirilebilir olduğunu kontrol ettiğimize göre indirme işlemine başlayabiliriz.

İndirme işlemini istediğimiz dizin içerisine yapabiliriz eğer repotrack komutuna dizin vermezseniz içinde bulunduğunuz dizine RPM paketlerini indirecektir.

Aşağıdaki komutu kullanarak /var/www/html/repos/postgres dizinine postgresql16-server için gerekli paketleri indirelim.

repotrack --downloaddir=/var/www/html/repos/postgres postgresql16-server
Enter fullscreen mode Exit fullscreen mode

İndirme işleminin ardından indirilen RPM paketlerinin bir repository şeklinde kullanılabilmesi için createrepo komutu yardımıyla paketleri repository haline getirelim.

createrepo /var/www/html/repos/postgres
Enter fullscreen mode Exit fullscreen mode

createrepo
Bu işlemden sonra /var/www/html/repos/postgre altında repodata isimli klasörün oluştuğu gözlenir.

Artık linux sistemine oluşturduğumuz repository'i tanıtabiliriz. Bunu yapmak için önce eski repo tanımlarını ortadan kaldırmalıyız ki yaptığımız işlemler geçerli olabilsin.

mkdir -p /etc/yum.repos.d/old
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/old/
Enter fullscreen mode Exit fullscreen mode

Yukardaki işlemler ile eski tüm repo tanımlarını /etc/yum.repos.d/old dizini altına taşıdık. Şimdi kendi repo tanım dosyamızı oluşturalım.

vi /etc/yum.repos.d/local-postgres.repo
Enter fullscreen mode Exit fullscreen mode

VI editörü ile girdiğimiz dosyanın içerisine aşağıdaki metni kaydedip çıkalım.

[LocalRepository-PostgreSQL16]
name=RL9 - Local PostgreSQL16-Server Repository
metadata_expire=-1
gpgcheck=0
enabled=1
baseurl=file:///var/www/html/repos/postgres
Enter fullscreen mode Exit fullscreen mode

Dosyayı cat komutu ile okursak çıktısı aşağıdaki gibi olmalı.
cat

Bu işlemlerin ardından repository'mizin aktif olabilmesi için dnf paket yöneticisinin cacheleriniz temizleyip yeniden repo listesini taratmamız gerekmekte. Bunu aşağıdaki komutlar ile yapabiliriz.

dnf clean all
dnf update
Enter fullscreen mode Exit fullscreen mode

Repomuzu dnf repolist komutu ile görüntüleyelim.
repolist

Son olarak postrgesql16-server kurulumunu local repository üzerinden yaparak yapılan işlemlerin doğruluğunu kontrol edelim.

dnf install postgresql16-server
Enter fullscreen mode Exit fullscreen mode

installation

Yükleme işlemi başarıyla tamamlandı! Kırmızı kutu içerisindeki alan gerekli tüm paketlerin local repository üzerinden yüklendiğine işaret etmekte.

Top comments (0)