Skip to main content

PostgreSQL 16.2 çevrimdışı kurulum dosyaları hazırlama

Öncelikle minimal rhel işletim sistemi kuruldu.

cd /tmp
yum install python3

Paketleri offline yüklenecek şekilde indirmek için aşağıdaki kod yazılır.

rpm -qa | grep python3 > python3_packages.txt

klasör açalım.

mkdir python3_rpm_repo
cd python3_rpm_repo

Klasör içerisinde aşağıdaki komutu çalıştırıyoruz.

while read -r package; do

>dnf download --resolve "$package"

>done < ../python3_packages.txt

bir önceki dizine gidelim.

cd ..

postgre sql kurulum dosyaları istenilen sürüm ve uygun işletim sistemi seçilerek aşağıdaki linkten indirilir.

Packages - PostgreSQL YUM Repository

Örnek olması açısından pgsql 16.2 sürümü rhel8.6 için kurulum dosyalarının linki aşağıdadır.

https://download.postgresql.org/pub/repos/yum/16/redhat/rhel-8-x86_64/postgresql16-libs-16.2-1PGDG.rhel8.x86_64.rpm

https://download.postgresql.org/pub/repos/yum/16/redhat/rhel-8-x86_64/postgresql16-16.2-1PGDG.rhel8.x86_64.rpm

https://download.postgresql.org/pub/repos/yum/16/redhat/rhel-8-x86_64/postgresql16-server-16.2-1PGDG.rhel8.x86_64.rpm

https://download.postgresql.org/pub/repos/yum/16/redhat/rhel-8-x86_64/postgresql16-contrib-16.2-1PGDG.rhel8.x86_64.rpm

Kurulum dosyalarının indirileceği klasör oluşturulup içerisine rpm paketleri indirilir.

mkdir pg16_rpm_repo

cd pg16_rpm_repo

curl -O https://download.postgresql.org/pub/repos/yum/16/redhat/rhel-8-x86_64/postgresql16-libs-16.2-1PGDG.rhel8.x86_64.rpm

curl -O https://download.postgresql.org/pub/repos/yum/16/redhat/rhel-8-x86_64/postgresql16-16.2-1PGDG.rhel8.x86_64.rpm

curl -O https://download.postgresql.org/pub/repos/yum/16/redhat/rhel-8-x86_64/postgresql16-server-16.2-1PGDG.rhel8.x86_64.rpm

curl -O https://download.postgresql.org/pub/repos/yum/16/redhat/rhel-8-x86_64/postgresql16-contrib-16.2-1PGDG.rhel8.x86_64.rpm

Sonrasında sırasıyla aşağıdaki komutları çalıştırıyoruz. Buradaki komutları çalıştırdığımızda eksik dependencyler gözükecektir. Bu dependencyleri çevrimiçi yükleyip, çevrimdışı yüklenecek hale getireceğiz.

rpm -ivh postgresql16-libs-16.2-1PGDG.rhel8.x86_64.rpm
rpm -ivh postgresql16-16.2-1PGDG.rhel8.x86_64.rpm
rpm -ivh postgresql16-server-16.2-1PGDG.rhel8.x86_64.rpm
rpm -ivh postgresql16-contrib-16.2-1PGDG.rhel8.x86_64.rpm

Bizim kullandığımız işletim sisteminde aşağıdaki dependencyler eksiktir. Ve bu dependencyleri yükleyeceğiz.

lz4

cd /tmp

sudo dnf install lz4

rpm -qa | grep lz4 > lz4_packages.txt

mkdir lz4_rpm_repo

cd lz4_rpm_repo

while read -r package; do

>dnf download --resolve "$package"
>
>done < ../lz4_packages.txt

perl

cd /tmp

sudo dnf install perl

rpm -qa | grep perl > perl_packages.txt

mkdir perl_rpm_repo

cd perl_rpm_repo

while read -r package; do dnf download --resolve "$package"; done < ../perl_packages.txt

Bundan sonra çevrimdışı kurulum için bütün kurulum dosyalarını dependencylerle birlikte tek bir klasörde topluyoruz.

cd ..

mkdir pg16_setup

mv -vi python3_rpm_repo pg16_setup

mv -vi pg16_rpm_repo pg16_setup

mv -vi perl_rpm_repo/ pg16_setup

mv -vi lz4_rpm_repo/ pg16_setup

tar -cvf pg16_setup.tar pg16_setup

Bundan sonra çevrimdışı kurulum yapılacak sunucuya bu tar dosyasını /tmp klasörüne kopyalıyoruz.

Sonrasında oluşturduğumuz tar dosyasını çıkarıyoruz.

cd /tmp

tar -xf pg16_setup.tar

cd pg16_setup

python3 kurulumunu yapalım.

cd python3_rpm_repo

rpm -Uvh ./*.rpm --nodeps --force

cd ..

dependency kurulumlarını yapalım.

cd lz4_rpm_repo/

rpm -Uvh ./*.rpm --nodeps --force

cd ..

cd perl_rpm_repo

rpm -Uvh ./*.rpm --nodeps --force

cd ..

postgre kurulumunu yapalım.

cd pg16_rpm_repo

rpm -ivh postgresql16-libs-16.2-1PGDG.rhel8.x86_64.rpm

rpm -ivh postgresql16-16.2-1PGDG.rhel8.x86_64.rpm

rpm -ivh postgresql16-server-16.2-1PGDG.rhel8.x86_64.rpm

rpm -ivh postgresql16-contrib-16.2-1PGDG.rhel8.x86_64.rpm

cd ..

postgre konfigürasyonlarını yapalım

sudo /usr/pgsql-16/bin/postgresql-16-setup initdb

systemctl enable postgresql-16

systemctl start postgresql-16

systemctl status postgresql-16