Nginstal Firebird 3 ing Versi Linux Modern: CentOS8 lan Ubuntu 19

Ing artikel iki kita bakal njlèntrèhaké set minimal saka tumindak sing dibutuhake kanggo instalasi optimal saka Firebird DBMS versi 3.0 ing distribusi Linux anyar. CentOS 8 lan Ubuntu 19 dipilih kanggo conto.

Kanggo "ngirim" distribusi Firebird menyang sistem target, ing pandhuan iki, pilihan kanggo ndownload arsip tar.gz dipilih kanthi nggunakake link saka situs web proyek resmi (firebirdsql.org).

Kanggo sing paling ora sabar, langsung menyang perang:

Instalasi cepet

Ngedit file /etc/sysctl.confkanthi nambahake baris:

vm.max_map_count = 256000

Simpen file lan aplikasi setelan:

sudo sysctl -p /etc/sysctl.conf

Pandhuan luwih beda kanggo CentOS 8 lan Ubuntu 19, nanging ССЫЛКА и КАТАЛОГ nuduhake link saka situs web proyek Firebird resmi kanggo ndownload distribusi lan direktori sing distribusi bakal dibongkar sajrone proses download.
Saiki (Maret 2020) rilis saiki yaiku Firebird 3.0.5 (punika link menyang versi 64-bit).

CentOS 8

sudo yum -y install epel-release
sudo yum -y makecache
sudo yum -y install libicu libtommath tar
ln -s libncurses.so.5 
/usr/lib64/libncurses.so.5
ln -s libtommath.so.1 
/usr/lib64/libtommath.so.0
curl -L ССЫЛКА|tar -zxC /tmp

Ubuntu 19

sudo apt-get -y install libncurses5 libtommath1
ln -s libtommath.so.1 
/usr/lib/x86_64-linux-gnu/libtommath.so.0
wget -O- ССЫЛКА|tar -zxC /tmp

Instalasi nyata DBMS Firebird:

cd /tmp/КАТАЛОГ
sudo ./install.sh

Yen sampeyan pengin luwih ngerti apa tumindak kasebut, waca.

Bagéyan utama

Pambuka singkat

Dianggep yen OS wis diinstal ing versi minimal lan akses menyang repositori umum utawa salinan lokal wis dikonfigurasi.

Dianggep manawa maca duwe kawruh dhasar babagan Linux lan Firebird DBMS.

Planning

Ing server DBMS dianjurake kanggo nyedhiakke bagean kapisah kanggo file sauntara (/tmp), file database lan serep lokal.

Sauntara kalebu file kunci, ngurutake file, file "materialisasi" saka tabel sementara global (GTT) lan tabel pemantauan. File kanggo ngurutake lan tabel sementara global dumunung ing /tmp, file mon$-tabel lan file kunci - ing /tmp/firebird.

Ngurutake file "dibusak" (unlink) sanalika sawise digawe, mula ora bisa "katon" ing dhaptar direktori - mung ing dhaptar proses (ditandhani minangka deleted):

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

Ing dhaptar direktori pseudo /proc/…/fd/ symlinks ditampilake, lan informasi nyata babagan file kasebut diwenehake dening:

sudo stat -L /proc/`pgrep firebird`/fd/НОМЕР

ngendi НОМЕР – deskriptor (deskriptor) saka file kapentingan.

Daripada nelpon"pgrep исполняемый-файл"Sampeyan bisa langsung ngganti pengenal proses kapentingan.

File sauntara bisa dadi gedhe banget, dadi /tmp Dianjurake kanggo nyedhiyakake paling sethithik 20-30 GB. Sampeyan kudu eling yen ukuran file ngurutake mung gumantung saka jumlah data sing diurutake kanthi eksplisit utawa implisit ing panyuwunan, lan pangguna siji bisa "nggawe" gigabyte file sauntara.

Bagean kanggo file database kudu nampung kabeh file database. plus, minimal, salinan file database paling gedhe. Sampeyan perlu kanggo njupuk menyang akun wutah saka file database ing mangsa kanggo sawetara taun teka.

Bagean serep lokal kudu ngemot paling ora siji arsip serep kabeh database plus serep database paling gedhe. Iku seng di pengeni sing bagean iki uga ngemot papan kanggo mulihake database paling gedhe. Wutah serep lan arsip serep ing mangsa ngarep kanggo sawetara taun kudu dianggep.

Persiyapan awal

Server DBMS Firebird 3.0 kanthi dinamis nyedhiyakake lan mbebasake memori sistem, sing bisa nyebabake fragmentasi. Contone, sawise akeh pangguna sing pedhot saka superserver bebarengan, kasalahan bisa kedadeyan nalika nggawe sambungan anyar.

Fragmentasi memori dikontrol dening parameter sistem vm.max_map_count, standar yaiku 64K. Disaranake kanggo nambah regane kaping papat:

sudo sysctl vm.max_map_count=256000

Supaya nilai anyar disetel nalika sistem urip maneh, tambahake menyang file kasebut /etc/sysctl.conf baris:

vm.max_map_count = 256000

Disaranake nggawe komentar supaya alasan kanggo ngganti parameter iki jelas. Sampeyan bisa ngowahi file kasebut dhisik banjur aplikasi setelan sing disimpen ing:

sudo sysctl -p /etc/sysctl.conf

Nginstal paket sing dibutuhake

File eksekusi saka Firebird 3.0 Linux DBMS gumantung ing perpustakaan ncurses (libncurses.so.5), ICU (ora diikat karo versi lan ora ditampilake ing output ldd) lan tommath (libtommath.so.0). Kanggo ndownload lan mbongkar arsip perakitan, sampeyan butuh utilitas gzip, tar и curl utawa wget. Versi ICU, gzip, tar и curl/wget - ora pati penting.

Nggarap paket gumantung saka sistem lan manajer paket sing digunakake ing sistem kasebut, mula kita bakal nimbang siji-siji.

CentOS 8

CentOS 8 nggunakake manajer paket anyar - dnf lan diarani "transparently" dening printah yum. Amarga kanggo tujuan kita ora ana bedane - ing conto bakal ana yum.

Nganyari cache metadata: sudo yum makecache

Paket libtomath dumunung ing gudang E(xtra)P(ackages kanggo)E(nterprise)L(inux) sing kapisah, mula kita priksa manawa wis kalebu:

yum -C repolist

Pilihan "mung saka cache" (-C utawa --cache-only) digunakake kanggo ngilangi mriksa lan download sing ora perlu, nggawe yum luwih cepet. Yen ora ana repositori epel ing dhaptar, instal lan nganyari cache metadata:

sudo yum install epel-release &&
sudo yum makecache

Kita konfirmasi panjalukan, yen perlu, mriksa nilai tombol pgp karo sing wis dikenal saka sumber sing dipercaya.

Yen ana masalah ngemot metainformation repositori saka sumber https, banjur sunting file kasebut /etc/yum.repos.d/epel.repo, ngganti https:// ing http:// lan baleni printah nganyari cache.

Kita mriksa status paket sing dibutuhake (printah kasebut rumit, ing conto output paket 32-bit disaring):

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

We ndeleng sing curl, gzip и ncurses di-host ing pseudo-repository installer (anaconda), lan tar – ora kalebu saka instalasi sistem minimal. Versi utama libncurses и libtommath luwih saka dibutuhake: 6 lan 1 tinimbang 5 lan 0, mungguh. Yen paket sing padha wis diinstal lan kasedhiya, nganyari wis dirilis. Instal paket sing ilang:

sudo yum install 
libicu libtommath tar

Ubuntu 19

Utilitas dirancang kanggo ngatur paket apt, apt‑get и apt‑cache. Pisanan dirancang kanggo karya interaktif, lan loro pungkasan dirancang kanggo nggunakake ing script. Jeneng paket rada beda lan kalebu versi.

Kita mriksa status paket sing dibutuhake (prentah digabungake, conto output disingkat, lan paket 32-bit disaring):

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]

Paket sing dituduhake kurung kothak installed/upgradable – diinstal. Kasedhiya nanging ora diinstal ncurses5, tinimbang curl diinstal wget. Instal paket sing ilang:

sudo apt‑get install 
libncurses5 libtommath1

Nggawe symlinks

Wiwit libtommath.so.1 и libncurses.so.6 mundur kompatibel karo libtommath.so.0 и libncurses.so.5, banjur kanggo Firebird cukup kanggo nggawe symlink menyang versi perpustakaan sing wis ana.

Golek libtommath.so.1 (libncurses.so.? dumunung ing direktori sing padha):

find /usr -name libtommath.so.1

CentOS:

/usr/lib64/libtommath.so.1

Ubuntu:

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

Kita nggawe symlinks.

CentOS:

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

Ubuntu:

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

Ayo dipriksa asil (prentah rumit, conto output disingkat):

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

CentOS:

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:

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

Ngundhuh kit distribusi Firebird DBMS.

Situs web resmi proyek Firebird (firebirdsql.org) nerbitake pranala menyang distribusi rilis "resmi" lan "saben dina" (bangunan snapshot).

Rilis Linux resmi kasedhiya minangka arsip (tar.gz) lan paket deb/rpm, nanging mbangun mung kasedhiya minangka arsip. Kita bakal nimbang "installer umum" (installer umum saka tar.gz).

Arsip mbangun kudu diundhuh lan dibongkar, nanging kita bakal nggabungake loro proses kasebut. Unpacking wis rampung ing /tmp,URL nuduhake pranala menyang arsip sing bisa didownload.

nggulung:

curl -L URL | tar -zxC /tmp

wget:

wget -O– URL | tar -zxC /tmp

standar curl ngirim data sing diundhuh menyang stdout nanging ora nangani redirections lan kita nambah "‑L", a wget, Kosok baline: nangani redirections, nanging nulis data menyang file lan kita sijine "‑O‑" Kanggo tar nuduhake nggunakake gzip-filter lan direktori ing ngendi unpacking bakal dileksanakake. Nalika proses rampung, direktori kaya iki bakal katon Firebird‑3.0.5.33220‑0.amd64 karo telung file: install.sh, buildroot.tar.gz и manifest.txt.

Nginstal Firebird

Sajrone persiapan awal, kita nyetel nilai parameter sistem vm.max_map_count, mriksa kasedhiyan lan nginstal ICU, ncurses lan perpustakaan tommath. Priksa manawa versi ncurses lan tommath wis bener (libncures.so.5 и libtommath.so.0) lan nggawe symlinks sing dibutuhake.

Instalasi nyata banget prasaja. Pindhah menyang direktori ing ngendi arsip distribusi Firebird dibukak, priksa lan, yen perlu, setel bendera skrip "eksekusi" install.sh:

chmod +x install.sh

jalankan skrip instalasi:

sudo ./install.sh

Kanthi menet tombol Ketik kita konfirmasi wiwitan instalasi, lan sawise nampa panjalukan, ketik sandhi sysdba.

Skrip instalasi diwiwiti kanthi otomatis systemd-unit firebird-superserver (arsitektur Firebird 3.0 bisu). Layanan Firebird bakal bisa digunakake karo paramèter standar kanggo superserver: cache kaca 2048 kaca (saben database), buffer ngurutake 64 MB (dibagi) lan mung nyambungake klien versi XNUMX. Ndeleng opsi firebird.conf:

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

Elinga yen nilai anyar saka firebird.conf bakal diaktifake mung sawise miwiti maneh layanan Firebird.

Nalika milih nilai parameter, iku kudu dijupuk menyang akun sing ana telung "konsumen" utama: cache kaca (kanggo database), buffer ngurutake (dibagi) lan memori diparengake dening server kanggo sambungan klien. Sampeyan mung bisa ngatur loro pisanan - jumlah memori kanggo sambungan klien gumantung ing nomer lan teks cached pitakon, plans lan obyek database melu pitakonan. Perkiraan memori sambungan klien mung digawe kanthi empiris lan bisa uga diganti nalika aplikasi klien lan / utawa obyek database diganti.

Kanggo superserver ing sarwa dumadi karo jumlah cilik saka memori (munggah 12-16 GB), sampeyan kudu ora nyedhiakke luwih saka katelu utawa seprapat saka jumlah total RAM kanggo kaca cache lan ngurutake buffer.

Yen jumlah database ora tetep lan bisa diganti, jumlah total memori cache kaca kudu dibagi karo jumlah maksimum database sing bisa ing server. Ukuran cache kaca ditemtokake ing kaca lan kudu diowahi kanthi kapisah dadi bita.

Kanggo ngalih menyang arsitektur klasik, sampeyan kudu, paling ora, kanthi jelas ServerMode в firebird.conf, nyuda cache kaca ing kana (ora luwih saka 2K), nyuda buffer ngurutake (total volume sing diidini kabeh jinis dibagi karo jumlah maksimum sambungan), mateni lan mungkasi unit firebird-superserver, ngaktifake lan miwiti unit firebird-classic.socket.

Nggunakake arsitektur superclassic ing Firebird 3.0 ora nggawe akeh pangertèn: "reliabilitas" kaya superserver lan buffer ngurutake umum padha. Ora ana cache kaca sing umum lan "rugi" kanggo nyinkronake sambungan sing beda karo saben liyane padha karo sing klasik.

Sampeyan kudu eling yen ing Firebird 3.0 sawetara paramèter (cache kaca, ukuran file kunci, tabel hash lan sawetara liyane) bisa disetel ing databases.conf individu kanggo saben database. Kanggo superserver migunani, contone, nyetel nilai cilik DefaultDbCachePages в firebird.conf lan nginstal cache kaca individu kanggo database sing dibutuhake ing databases.conf.

Takon pitakonan babagan artikel ing komentar, utawa nulis surat menyang alamat dhukungan [email dilindhungi].

Source: www.habr.com

Add a comment