Bu sayfa makine çevirisidir. İngilizce orijinalini okuyun. English

IBSurgeon kütüphanesi

CentOS 8 ve Ubuntu 19 gibi modern Linux sürümlerine Firebird 3 kurulumu

(C) Basil Sidorov, IBSurgeon, 22-May-2020

Bu makale, Firebird 3.0’ın yeni Linux dağıtımlarına hızlı kurulumuna ayrılmıştır: CentOS 8 ve Ubuntu 19 (18 için de çalışır).

İlk bölüm, Firebird 3.0’ı olabildiğince hızlı, ayrıntısız kurmak için hızlı bir kurulum rehberidir. İkinci bölüm ayrıntıları açıklar.

CentOS 8 ve Ubuntu 19’da Firebird 3’ün Hızlı Kurulumu

  1. /etc/sysctl.conf dosyasına aşağıdaki satırı ekleyin:

vm.max_map_count = 256000

  1. sysctl.conf dosyasını kaydedin ve yeni ayarları uygulayın:

sudo sysctl -p /etc/sysctl.conf

Sonraki talimatlar CentOS 8 ve Ubuntu 19 için biraz farklıdır.

Lütfen, FirebirdSQL.org’dan Firebird 3.0’ın en son sürüm dağıtımına açık bağlantıyı kullandığımızı unutmayın; şu anda (Mayıs 2020) 3.0.5’tir ve 64-bit sürümün bağlantısı şu şekildedir:

https://github.com/FirebirdSQL/firebird/releases/download/R3.0.5/Firebird-3.0.5.33220-0.amd64.tar.gz

Gelecekte, 3.0.6 vb. göründüğünde, yeni sürüm için doğru bağlantıyı kullanmanız gerekecektir - bu, www.firebirdsql.org adresinde yayınlanacaktır.

  1. Paketleri kurun

CentOS8

sudo yum -y install epel-release sudo yum -y makecache sudo yum -y install libicu libtommath tar sudo ln -s libncurses.so.6 /usr/lib64/libncurses.so.5 sudo ln -s libtommath.so.1 /usr/lib64/libtommath.so.0

sudo ln -s ln -s libncurses.so.5 /usr/lib64/libncurses.so.5

curl -L https://github.com/FirebirdSQL/firebird/releases/download/R3_0_5/Firebird-3.0.5.33220-0.amd64.tar.gz|tar -zxC /tmp

Ubuntu 19

sudo apt-get -y install libncurses5 libtommath1 sudo ln -s libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0 wget -O- https://github.com/FirebirdSQL/firebird/releases/download/R3_0_5/Firebird-3.0.5.33220-0.amd64.tar.gz|tar -zxC /tmp

Sonuç olarak, tüm Firebird kurulum dosyalarınız /tmp/firebird içinde hazır olacaktır:

Code
/tmp/Firebird-3.0.5.33220-0.amd64# ll
total 8484
drwxr-xr-x  2 root root    4096 Jan  9 13:13 ./
drwxrwxrwt 28 root root    4096 May 22 17:20 ../
-rw-r--r--  1 root root 8615663 Jan  9 13:13 buildroot.tar.gz
-rwxr-xr-x  1 root root   44096 Jan  9 13:13 install.sh*
-rw-r--r--  1 root root   14967 Jan  9 13:13 manifest.txt
  1. Ve sonra Firebird’ü kurun:

cd /tmp/Firebird-3.0.5.33220-0.amd64 sudo ./install.sh

ardından, Firebird’ün çalıştığını kontrol edin - aşağıdaki komut Firebird ile ilgili veya firebird kullanıcısı altında çalışan tüm işlemleri gösterecektir:

ps aux | grep firebird

Yalnızca Firebird 3.0 kurmanız gerekiyorsa hepsi bu.

Yukarıdaki komutların ne anlama geldiğini bilmek istiyorsanız, okumaya devam edin!

Ana bölüm: Linux’ta Firebird 3 kurulumunun ayrıntıları

Bu makalede, işletim sisteminin minimum sürümde kurulduğunu ve genel depolara veya yerel kopyalarına erişiminizin olduğunu varsayıyoruz.

Alan tahsisini planlama

Firebird veritabanlarına hizmet etmesi amaçlanan sunucuda, geçici dosyalar (/tmp), veritabanı dosyaları ve yerel yedeklemeler için ayrı birimler ayırmanızı öneririz.

Geçici dosyalar için birim

Firebird geçici dosyaları kilit dosyalarını, sıralama dosyalarını, global geçici tabloları (GTT) “somutlaştırmak” için dosyaları ve izleme tablolarını içerir. Sıralama dosyaları ve GTT dosyaları /tmp içinde, mon$- ve kilit dosyaları /tmp/firebird içinde bulunur.

Sıralama dosyaları oluşturulduktan hemen sonra bağlantısı kesilir, bu yüzden onları klasörde (Windows’un aksine) ls komutuyla göremezsiniz.

Bu dosyaları görmek için Firebird işleminin dosya tanıtıcılarını istemeniz gerekir (ve bunlar silinmiş olarak işaretlenir):

sudo ls -lhF /proc/`pgrep firebird`/fd

Belirli bir sıralama dosyası hakkında ayrıntı almak için komutu çalıştırın

sudo stat -L /proc/`pgrep firebird`/fd/NUMBER

burada NUMBER dosyanın dosya tanımlayıcısıdır.

Geçici dosyalar büyük olabilir, bu nedenle /tmp için 20-30Gb ayrılması önerilir.

Lütfen sıralama boyutunun veritabanı boyutuna bağlı olmadığını unutmayın: doğrudan çarpım içeren bazı hatalı sorgular, 3Mb’lik bir veritabanından kolayca 100Gb’lık bir sıralama dosyası üretebilir.

Veritabanı dosyaları için birim

Veritabanı dosyaları için birim, tüm veritabanı dosyalarını artı, olası yerinde işlemler için en azından en büyük veritabanının boyutunu tutacak kadar büyük olmalıdır.

Ayrıca, veritabanlarının zamanla büyüdüğünü unutmayın ve onlar için de biraz boş alan ayırın.

Veritabanı dosyaları için birimi, sahip olduğunuz en hızlı sürücüye/SAN’a/donanıma, en yüksek rastgele G/Ç yetenekleriyle yerleştirmeniz şiddetle önerilir.

Yerel yedekleme dosyaları için birim

Yerel yedekleme dosyaları için birim, tüm veritabanlarının yedeklerini artı en büyük veritabanı dosyasının boyutunu (yedek değil - olası test geri yüklemesi içindir) tutacak kadar büyük olmalıdır. Elbette, veritabanı yedeklerinin büyümesini de unutmayın. Yerel yedekleme dosyaları için birim nispeten yavaş sürücülerde bulunabilir. Firebird yedekleme dosyaları doğrusal bir yapıya sahiptir, bu nedenle bir yedekleme sürücüsü için yüksek sıralı hıza sahip olmak yeterlidir.

Hazırlık

Firebird motoru belleği dinamik olarak tahsis eder ve serbest bırakır, bu bellek parçalanmasına yol açabilir.

Örneğin, Firebird SuperServer örneğinden birçok kullanıcının bağlantısı kesildikten sonra olabilir. Bellek parçalanması, varsayılan değeri 65K olan v m.max_map_count sistem parametresi tarafından kontrol edilir. En az 4 kat artırılması ve bu ayarın kalıcı yapılması önerilir.

/etc/sysctl.conf dosyasına aşağıdaki satırı ekleyin:

vm.max_map_count = 256000

ve uygulayın

sudo sysctl -p /etc/sysctl.conf

Gerekli paketlerin kurulumu

Firebird 3, birkaç Linux paketine bağlıdır: ncurses, ICU, tommath. Ayrıca, gzip, tar ve curl veya wget yardımcı programlarına ihtiyacımız var.

CentOS 8

CentOS, yum tarafından şeffaf bir şekilde çağrılan yeni paket yöneticisi dnf’yi kullanır. Biz yum’u seviyoruz, o yüzden yum kullanalım. Önce, meta veri önbelleğini yenileyin:

sudo yum makecache

libtommath paketi ayrı EPEL (E(xtra)P(ackages for)E(nterprise)L(inux)) deposunda bulunur, bu yüzden etkin olduğunu kontrol etmemiz gerekir:

yum -C repolist

-C (–cache-only) seçeneği yum’un yalnızca önbelleği kullanmasını sağlar.

yum -C repolist sonucunda epel deposunu görmüyorsanız, kurun:

sudo yum install epel-release && sudo yum makecache

Sorun durumunda, /etc/yum.repos.d/epel.repo dosyasını düzenleyin ve https:// yerine http:// yazın, ardından tekrar yum makecache deneyin.

Ardından, gerekli tüm paketlere sahip olduğumuzu kontrol edelim (örnekte 64-bit):

Code
yum -C list ncurses libicu libtommath gzip tar curl wget | grep -v i686
Installed Packages
curl.x86_64 7.61.1-11.el8 @anaconda
gzip.x86_64 1.9-9.el8 @anaconda
ncurses.x86_64 6.1-7.20180224.el8 @anaconda
Available Packages
libicu.x86_64 60.3-1.el8 BaseOS
libtommath.x86_64 1.1.0-1.el8 epel
tar.x86_64 2:1.30-4.el8 BaseOS
wget.x86_64 1.19.5-8.el8_1.1 AppStream

CentOS 8’de eksik paketleri kurma

sudo yum install libicu libtommath tar

Ubuntu 19

Code
apt list libncurses? libicu?? libtommath? gzip tar curl wget | grep -v i386
curl 7.65.3-1
gzip 1.10-0 [upgradable…]
libicu63 63.2-2 [installed]
libncurses5 6.1
libncurses6 6.1 [installed,automatic]
libtommath1 1.1.0
tar 1.30 [installed]
wget 1.20.3 [installed]

Ubuntu 19’da eksik paketleri kurma:

sudo apt‑get install libncurses5 libtommath1

Sembolik bağlantılar oluşturma

Libtommath.so.1 ve libncurses.so.6, libtommath.so.0 ve libncurses.so.5 ile uyumludur, Firebird’ün mevcut kitaplık sürümlerine sembolik bağlantılar oluşturması yeterli olacaktır.

Önce, libtommath.so.1’i bulalım (libncurses.so.? Aynı klasördedir):

find /usr -name libtommath.so.1

CentOS8’de şu konumdadır:

Code
/usr/lib64/libtommath.so.1

Ubuntu 19’da:

Code
/usr/lib/x86_64-linux-gnu/libtommath.so.1

Sembolik bağlantılar oluşturalım

CentOS8

sudo ln -s libtommath.so.1 /usr/lib64/libtommath.so.0 sudo ln -s libncurses.so.6 /usr/lib64/libncurses.so.5

Ubuntu 19

sudo ln -s libtommath.so.1 /usr/lib/x86_64-linux-gnu/libtommath.so.0

sonuçları kontrol etmek için:

ls -lhF $(dirname `find /usr -name libtommath.so.1`) | grep "lib\(ncurses\|tommath\)\.so\."

CentOS8’de şunu verir:

Code
libncurses.so.5 -> libncurses.so.6*
libncurses.so.6 -> libncurses.so.6.1*
libncurses.so.6.1*
libtommath.so.0 -> libtommath.so.1*
libtommath.so.1 -> libtommath.so.1.1.0*
libtommath.so.1.1.0*

Ubuntu’da şunu verir:

Code
libncurses.so.5 -> libncurses.so.5.9
libncurses.so.5.9
libncurses.so.6 -> libncurses.so.6.1
libncurses.so.6.1
libtommath.so.0 -> libtommath.so.1
libtommath.so.1 -> libtommath.so.1.1.0
libtommath.so.1.1.0

Firebird 3.0 sürüm dağıtımını alma

Firebird Linux sürümleri www.firebirdsql.org adresinde tar.gz arşivleri olarak mevcuttur. URL’nin Firebird sürüm tar.gz arşivine indirme bağlantısı olduğunu varsayalım. Arşivi indirip açmamız gerekiyor, bunun için curl veya wget kullanabiliriz.

curl

curl -L URL | tar -zxC /tmp

wget

wget -O- URL | tar -zxC /tmp

Sonuç olarak, 3 dosya içeren /tmp/Firebird‑3.0.5.33220‑0.amd64 klasörü oluşturulacaktır: install.sh, buildroot.tar.gz ve manifest.txt.

Firebird’ü kurma

Ön koşul olarak, vm.max_map_count’u ayarladık, ICU, ncurses ve tommath’i kontrol ettik ve kurduk ve sembolik bağlantılar oluşturduk.

Bundan sonra, son adım kolaydır - çalıştırın

sudo ./install.sh

Bu betik firebird-superserver sistem birimini başlatır ve Firebird çalışmaya hazırdır.

Yapılandırma dosyası ve optimizasyonu

Lütfen, varsayılan Firebird yapılandırma dosyası firebird.conf’un çok mütevazı bir şekilde yapılandırıldığını unutmayın. firebird.conf içeriğini (yorum satırı olmayan) şu komutla kontrol edebilirsiniz:

grep -v ^# firebird.conf | grep -v ^$

Varsayılan firebird.conf için yukarıdaki komut hiçbir şey döndürmez, bu tüm değerlerin varsayılan olduğu anlamına gelir.

Üretim sistemi yapılandırıyorsanız, optimize edilmiş Firebird yapılandırma dosyalarını kullanmayı düşünün: /tr/optimized-firebird-configuration/

Sıkça Sorulan Soru #1

Sık sorulan soru “neden basitçe depoyu kullanıp yum veya apt ile Firebird kurmuyorsunuz?”. Elbette bu mümkündür, ancak 2 büyük neden vardır:

  1. depo eski sürümü içerebilir (yani, önceki alt sürüm),

  2. her şeyin doğru kurulduğundan ve yapılandırıldığından emin olmak için ortamı kontrol etmeyi seviyoruz.

Ayrıca, /opt’a kurulumu tercih ediyoruz, çapraz platform betikleri için daha kolaydır ve iyi bir yönetim uygulamasıdır.

İletişim

Lütfen sorularınızı, önerilerinizi ve olası hataları [email protected] adresine göndermekten çekinmeyin.