Fifi Firebird 3 sori awọn ẹya ode oni ti Linux: CentOS8 ati Ubuntu 19

Ninu nkan yii a yoo ṣapejuwe eto iṣe ti o kere ju ti o nilo fun fifi sori ẹrọ aipe ti ẹya Firebird DBMS 3.0 lori awọn pinpin Lainos tuntun. CentOS 8 ati Ubuntu 19 ni a yan fun awọn apẹẹrẹ.

Lati “firanṣẹ” pinpin Firebird si eto ibi-afẹde, ninu itọsọna yii, aṣayan ti igbasilẹ igbasilẹ tar.gz ti yan ni lilo ọna asopọ kan lati oju opo wẹẹbu iṣẹ akanṣe osise (firebirdsql.org).

Fun alailagbara julọ, lọ taara si ogun:

Fifi sori yarayara

Ṣatunkọ faili /etc/sysctl.confnipa fifi ila sii:

vm.max_map_count = 256000

Fi faili pamọ ki o lo eto naa:

sudo sysctl -p /etc/sysctl.conf

Awọn itọnisọna siwaju sii yatọ fun CentOS 8 ati Ubuntu 19, ṣugbọn ССЫЛКА и КАТАЛОГ tọkasi ọna asopọ kan lati oju opo wẹẹbu iṣẹ akanṣe Firebird fun igbasilẹ pinpin ati itọsọna sinu eyiti pinpin yoo jẹ ṣiṣi silẹ lakoko ilana igbasilẹ naa.
Lọwọlọwọ (Oṣu Kẹta ọdun 2020) itusilẹ lọwọlọwọ jẹ Firebird 3.0.5 (nibi ni ọna asopọ si ẹya 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

Fifi sori ẹrọ gangan ti Firebird DBMS:

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

Ti o ba fẹ lati ni oye daradara kini awọn iṣe wọnyi ṣe, ka siwaju.

Apa akọkọ

A kukuru Preamble

O ti ro pe OS ti fi sori ẹrọ tẹlẹ ni ẹya ti o kere ju ati iraye si awọn ibi ipamọ ti gbogbo eniyan tabi awọn ẹda agbegbe ti tunto.

O ti ro pe oluka naa ni imọ ipilẹ ti Lainos ati Firebird DBMS.

Eto

Lori olupin DBMS o gba ọ niyanju lati pin awọn apakan lọtọ fun awọn faili igba diẹ (/tmp), awọn faili ipamọ data ati awọn afẹyinti agbegbe.

Awọn igba diẹ pẹlu awọn faili titiipa, awọn faili yiyan, awọn faili “ohun elo” ti awọn tabili igba diẹ agbaye (GTT) ati awọn tabili ibojuwo. Awọn faili fun tito lẹsẹsẹ ati awọn tabili igba diẹ agbaye wa ninu /tmp, mon$-tabili awọn faili ati titiipa-faili – ni /tmp/firebird.

Awọn faili tito lẹsẹsẹ jẹ “paarẹ” (unlinkLẹsẹkẹsẹ lẹhin ẹda, nitorinaa wọn ko le “ri” ninu atokọ liana - nikan ninu atokọ awọn imudani ilana (ti samisi bi deleted):

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

Ninu atokọ iwe afọwọkọ /proc/…/fd/ awọn ami-ami han, ati alaye gangan nipa faili naa jẹ fifun nipasẹ:

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

nibi ti НОМЕР – Apejuwe (apejuwe) ti awọn faili ti awọn anfani.

Dipo ipe "pgrep исполняемый-файл"O le lẹsẹkẹsẹ paarọ idanimọ ti ilana iwulo.

Awọn faili igba diẹ le tobi pupọ, bẹ /tmp A ṣe iṣeduro lati pin o kere ju 20-30 GB. O yẹ ki o ṣe akiyesi pe iwọn awọn faili yiyan da lori iye data ni gbangba tabi titọ lẹsẹsẹ ninu ibeere naa, ati pe olumulo kan le “ṣẹda” gigabytes ti awọn faili igba diẹ.

Apakan fun awọn faili ibi ipamọ data gbọdọ gba gbogbo awọn faili ibi ipamọ data. pẹlu, ni o kere ju, ẹda ti faili data data ti o tobi julọ. O jẹ dandan lati ṣe akiyesi idagba ti awọn faili data ni ọjọ iwaju fun ọpọlọpọ ọdun to nbọ.

Abala awọn afẹyinti agbegbe gbọdọ ni o kere ju iwe-ipamọ afẹyinti kan ti gbogbo awọn apoti isura infomesonu pẹlu afẹyinti aaye data ti o tobi julọ. O jẹ wuni pe apakan yii tun ni aaye fun mimu-pada sipo aaye data ti o tobi julọ. Idagba ti awọn afẹyinti ati awọn pamosi afẹyinti ni ojo iwaju fun ọdun pupọ yẹ ki o ṣe akiyesi.

Igbaradi iṣaaju

Olupin Firebird 3.0 DBMS ṣe ipinya ni agbara ati sọ iranti eto laaye, eyiti o le ja si pipin rẹ. Fun apẹẹrẹ, lẹhin nọmba nla ti awọn olumulo ti ge asopọ lati superserver ni ẹẹkan, awọn aṣiṣe le waye nigba ṣiṣe awọn asopọ tuntun.

Pipin iranti jẹ iṣakoso nipasẹ paramita eto kan vm.max_map_count, aiyipada jẹ 64K. A ṣe iṣeduro lati mu iye rẹ pọ si ni igba mẹrin:

sudo sysctl vm.max_map_count=256000

Ki iye tuntun ti ṣeto nigbati eto ba tun bẹrẹ, ṣafikun faili naa /etc/sysctl.conf ila:

vm.max_map_count = 256000

O ni imọran lati ṣe asọye ki idi fun iyipada paramita yii jẹ kedere. O le kọkọ ṣatunkọ faili naa lẹhinna lo awọn eto ti o fipamọ sinu rẹ:

sudo sysctl -p /etc/sysctl.conf

Fifi awọn idii ti o nilo

Awọn faili ṣiṣe ti Firebird 3.0 Linux DBMS da lori awọn ile-ikawe awọn eegun (libncurses.so.5), ICU (ko ti so mọ ẹya ati pe ko ṣe afihan ni iṣelọpọ lddati tommath (libtommath.so.0). Lati ṣe igbasilẹ ati ṣi silẹ iwe ipamọ apejọ, iwọ yoo nilo awọn ohun elo gzip, tar и curl tabi wget. Awọn ẹya ICU, gzip, tar и curl/wget – ni o wa insignificant.

Ṣiṣẹ pẹlu awọn idii da lori eto ati lori oluṣakoso package ti a lo ninu eto naa, nitorinaa a yoo gbero wọn ni ọkọọkan.

CentOS 8

CentOS 8 nlo oluṣakoso package tuntun kan - dnf ati pe o pe ni “sihin” nipasẹ aṣẹ yum. Niwon fun awọn idi wa ko si iyatọ laarin wọn - ninu awọn apẹẹrẹ yoo wa yum.

Ṣe imudojuiwọn kaṣe metadata: sudo yum makecache

Apo libtomath wa ni lọtọ E (afikun) P (awọn akopọ fun) ibi ipamọ E (nterprise) L (inux), nitorinaa a ṣayẹwo pe o ti wa tẹlẹ:

yum -C repolist

Aṣayan "nikan lati kaṣe" (-C tabi --cache-only) ni a lo lati yọkuro awọn sọwedowo ati awọn igbasilẹ ti ko wulo, ṣiṣe yum yiyara. Ti ko ba si ibi ipamọ epel ninu atokọ naa, fi sii ki o ṣe imudojuiwọn kaṣe metadata:

sudo yum install epel-release &&
sudo yum makecache

A jẹrisi awọn ibeere, ti o ba jẹ dandan, ṣayẹwo awọn iye ti awọn bọtini pgp pẹlu awọn ti a ti mọ tẹlẹ lati orisun ti o gbẹkẹle.

Ti awọn iṣoro ba wa ni ikojọpọ metainformation ibi ipamọ lati awọn orisun https, lẹhinna ṣatunkọ faili naa /etc/yum.repos.d/epel.repo, rirọpo https:// on http:// ki o si tun kaṣe imudojuiwọn pipaṣẹ.

A ṣayẹwo ipo ti awọn idii ti a beere (aṣẹ naa jẹ idiju, ninu apẹẹrẹ ti o wujade package 32-bit jẹ filtered):

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

A ri iyẹn curl, gzip и ncurses ti gbalejo ni ibi ipamọ pseudo-insitola (anaconda), ṣugbọn tar – rara lati awọn kere eto fifi sori. Major awọn ẹya libncurses и libtommath diẹ ẹ sii ju beere: 6 ati 1 dipo ti 5 ati 0, lẹsẹsẹ. Ti package kanna ba ti fi sori ẹrọ mejeeji ti o wa, imudojuiwọn ti tu silẹ fun rẹ. Fi sori ẹrọ awọn idii ti o padanu:

sudo yum install 
libicu libtommath tar

Ubuntu 19

Awọn ohun elo jẹ apẹrẹ lati ṣakoso awọn idii apt, apt‑get и apt‑cache. Ni igba akọkọ ti a ṣe fun ibaraẹnisọrọ iṣẹ, ati awọn ti o kẹhin meji ti wa ni apẹrẹ fun lilo ninu awọn iwe afọwọkọ. Awọn orukọ package yatọ diẹ ati pẹlu ẹya naa.

A ṣayẹwo ipo ti awọn idii ti a beere (aṣẹ naa ni idapo, apẹẹrẹ apẹẹrẹ ti kuru, ati pe awọn idii 32-bit ti yọ jade):

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]

Awọn idii fun eyiti awọn biraketi square tọkasi installed/upgradable – fi sori ẹrọ. Wa sugbon ko fi sori ẹrọ ncurses5, dipo curl fi sori ẹrọ wget. Fi sori ẹrọ awọn idii ti o padanu:

sudo apt‑get install 
libncurses5 libtommath1

Ṣiṣẹda symlinks

Niwon igba libtommath.so.1 и libncurses.so.6 sẹhin ni ibamu pẹlu libtommath.so.0 и libncurses.so.5, lẹhinna fun Firebird o to lati ṣẹda awọn ọna asopọ si awọn ẹya ti o wa ti awọn ile-ikawe.

A ri libtommath.so.1 (libncurses.so.? ti o wa ninu itọsọna kanna):

find /usr -name libtommath.so.1

CentOS:

/usr/lib64/libtommath.so.1

Ubuntu:

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

A ṣẹda 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

Jẹ ki a ṣayẹwo abajade (aṣẹ naa jẹ idiju, awọn apẹẹrẹ ti o jade jẹ kuru):

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

Gbigba ohun elo pinpin Firebird DBMS.

Oju opo wẹẹbu osise ti iṣẹ akanṣe Firebird (firebirdsql.org) ṣe atẹjade awọn ọna asopọ si awọn ipinpinpin ti awọn idasilẹ “osise” ati awọn kikọ “ojoojumọ” (awọn aworan aworan).

Awọn idasilẹ Lainos osise wa bi awọn ile ifi nkan pamosi (tar.gz) ati awọn idii deb/rpm, ṣugbọn awọn itumọ ti wa nikan bi awọn ile-ipamọ. A yoo ṣe akiyesi “insitola jeneriki” (insitola jeneriki lati tar.gz).

Ile ifi nkan pamosi nilo lati ṣe igbasilẹ ati ṣiṣi silẹ, ṣugbọn a yoo ṣajọpọ awọn ilana mejeeji. Unpacking ti wa ni ṣe ni /tmp,URL tọkasi ọna asopọ si ile-ipamọ igbasilẹ.

iṣupọ:

curl -L URL | tar -zxC /tmp

wget:

wget -O– URL | tar -zxC /tmp

Nipa aiyipada curl firanṣẹ data ti a ṣe igbasilẹ si stdout ṣugbọn ko mu awọn atunṣeto ati pe a ṣafikun "‑L", a wget, ni ilodi si: mu awọn atunṣe, ṣugbọn kọ data si faili kan ati pe a fi "‑O‑" Fun tar tọkasi lilo gzip-àlẹmọ ati awọn liana sinu eyi ti awọn unpacking yoo wa ni ošišẹ ti. Nigbati ilana naa ba ti pari, itọsọna bii eyi yoo han Firebird‑3.0.5.33220‑0.amd64 pẹlu awọn faili mẹta: install.sh, buildroot.tar.gz и manifest.txt.

Fifi Firebird sori ẹrọ

Lakoko igbaradi alakoko, a ṣatunṣe iye ti paramita eto naa vm.max_map_count, ṣayẹwo fun wiwa ati fi sori ẹrọ ICU, awọn eegun ati awọn ile-ikawe tommath. Rii daju pe awọn ẹya ti awọn eegun ati tommath jẹ deede (libncures.so.5 и libtommath.so.0) ati ki o ṣẹda awọn pataki symlinks.

Fifi sori ẹrọ gangan jẹ irorun. Lọ si itọsọna nibiti iwe-ipamọ pinpin Firebird ko jẹ ṣiṣi silẹ, ṣayẹwo ati, ti o ba jẹ dandan, ṣeto asia “executable” fun iwe afọwọkọ naa install.sh:

chmod +x install.sh

ṣiṣe akosile fifi sori ẹrọ:

sudo ./install.sh

Nipa titẹ bọtini Tẹ a jẹrisi ibẹrẹ fifi sori ẹrọ, ati lẹhin gbigba ibeere naa, tẹ ọrọ igbaniwọle sysdba sii.

Iwe afọwọkọ fifi sori ẹrọ laifọwọyi bẹrẹ systemd-kuro firebird-superserver (ipalọlọ Firebird 3.0 faaji). Iṣẹ Firebird yoo ṣiṣẹ pẹlu awọn paramita aiyipada fun superserver: kaṣe oju-iwe kan ti awọn oju-iwe 2048 (fun data data), ifipamọ yiyan ti 64 MB (pin) ati sisopọ awọn alabara ẹya XNUMX nikan. Wo awọn aṣayan firebird.conf:

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

Jọwọ ṣe akiyesi pe awọn iye tuntun lati firebird.conf yoo muu ṣiṣẹ nikan lẹhin ti o tun bẹrẹ iṣẹ Firebird.

Nigbati o ba yan awọn iye paramita, o yẹ ki o ṣe akiyesi pe awọn “olumulo” akọkọ mẹta wa: kaṣe oju-iwe (fun ibi ipamọ data), saarin yiyan (pin) ati iranti ti a pin nipasẹ olupin fun awọn asopọ alabara. O le ṣakoso awọn meji akọkọ nikan - iye iranti fun awọn asopọ alabara da lori nọmba ati ọrọ ti awọn ibeere ti a fipamọ, awọn ero wọn ati awọn ohun elo data ti o ni ipa ninu awọn ibeere naa. Awọn iṣiro iranti asopọ alabara ti ṣe ni agbara nikan ati pe o le yipada bi awọn ohun elo alabara ati/tabi awọn nkan data ṣe yipada.

Fun superserver lori awọn ọmọ-ogun pẹlu iwọn kekere ti iranti (to 12-16 GB), o ko gbọdọ pin diẹ sii ju idamẹta tabi mẹẹdogun ti iye Ramu lapapọ fun kaṣe oju-iwe ati too saarin.

Ti nọmba awọn apoti isura infomesonu ko ba wa titi ati pe o le yipada, iye lapapọ ti iranti kaṣe oju-iwe yẹ ki o pin nipasẹ nọmba ti o pọju ti awọn data data ti o le wa lori olupin naa. Iwọn kaṣe oju-iwe jẹ pato ninu awọn oju-iwe ati pe o gbọdọ yipada lọtọ si awọn baiti.

Lati yipada si faaji Ayebaye, o gbọdọ, ni o kere ju, sọ ni pato ServerMode в firebird.conf, dinku kaṣe oju-iwe nibẹ (ko si ju 2K lọ), dinku ifipamọ too (apapọ iwọn didun ti a gba laaye ti gbogbo iru ti o pin nipasẹ nọmba ti o pọ julọ ti awọn asopọ), mu ati da ẹrọ duro firebird-superserver, mu ṣiṣẹ ki o bẹrẹ ẹrọ naa firebird-classic.socket.

Lilo faaji superclassic ni Firebird 3.0 ko ni oye pupọ: “igbẹkẹle” dabi superserver ati ifipamọ yiyan gbogbogbo kanna. Ko si kaṣe oju-iwe ti o wọpọ ati “awọn adanu” fun mimuuṣiṣẹpọ awọn ọna asopọ oriṣiriṣi pẹlu ara wọn jẹ kanna bii ti Ayebaye.

O yẹ ki o ranti pe ni Firebird 3.0 diẹ ninu awọn paramita (kaṣe oju-iwe, awọn iwọn faili titiipa, awọn tabili hash ati diẹ ninu awọn miiran) le ṣeto ni databases.conf leyo fun kọọkan database. Fun superserver o wulo, fun apẹẹrẹ, lati ṣeto iye kekere kan DefaultDbCachePages в firebird.conf ki o si fi awọn kaṣe oju-iwe kọọkan sori ẹrọ fun awọn apoti isura infomesonu ti o nilo ni databases.conf.

Beere awọn ibeere nipa nkan ti o wa ninu awọn asọye, tabi kọ awọn lẹta si adirẹsi atilẹyin wa [imeeli ni idaabobo].

orisun: www.habr.com

Fi ọrọìwòye kun