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
Ş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
Paket yada paketlerin indirilebilir olduğunu dnf search paket_ismi komutuyla öğrenebiliriz.

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
İ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

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/
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
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
Dosyayı cat komutu ile okursak çıktısı aşağıdaki gibi olmalı.

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
Repomuzu dnf repolist komutu ile görüntüleyelim.

Son olarak postrgesql16-server kurulumunu local repository üzerinden yaparak yapılan işlemlerin doğruluğunu kontrol edelim.
dnf install postgresql16-server
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)