Te whakauru i te Firebird 3 ki nga putanga hou o Linux: CentOS8 me Ubuntu 19

I roto i tenei tuhinga ka whakaahuahia e matou te huinga iti o nga mahi e hiahiatia ana mo te whakaurunga tino pai o te Firebird DBMS putanga 3.0 i runga i nga tohatoha Linux hou. Ko te CentOS 8 me te Ubuntu 19 kua tohua hei tauira.

Hei "tuku" te tohatoha Firebird ki te punaha whaainga, i roto i tenei aratohu, ka tohua te kowhiringa ki te tango i te puranga tar.gz ma te whakamahi i te hono mai i te paetukutuku kaupapa mana (firebirdsql.org).

Mo te hunga e kore e manawanui, haere tika ki te whawhai:

Te whakauru tere

Whakatika i te kōnae /etc/sysctl.confma te taapiri i te raina:

vm.max_map_count = 256000

Tiakina te kōnae ka hoatu te tautuhinga:

sudo sysctl -p /etc/sysctl.conf

He rereke nga tohutohu mo CentOS 8 me Ubuntu 19, engari ССЫЛКА и КАТАЛОГ tohuhia he hononga mai i te paetukutuku mana o te kaupapa Firebird mo te tango i te tohatoha me te raarangi ka wetewetehia te tohatoha i te wa e tango ana.
I tenei wa (Maehe 2020) ko te tukunga o naianei ko Firebird 3.0.5 (Koinei te hononga ki te putanga 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

Ko te whakaurunga o te Firebird DBMS:

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

Mena kei te pirangi koe ki te maarama ake he aha enei mahi, panuihia.

Ko te waahanga matua

He kupu whakataki poto

E kiia ana kua whakauruhia te OS i roto i te waahanga iti me te uru atu ki nga whare pupuri a te iwi, kua whirihorahia ranei o raatau kape rohe.

E kiia ana ko te kaipanui he matauranga taketake mo te Linux me te Firebird DBMS.

Te whakamahere

I runga i te tūmau DBMS ka tūtohu kia tohatohahia nga waahanga motuhake mo nga konae rangitahi (/tmp), nga konae raraunga me nga taapiri o te rohe.

Ko nga mea rangitahi ko nga konae raka, te whakariterite i nga konae, nga konae "whakatikatika" o nga ripanga rangitahi o te ao (GTT) me nga ripanga aroturuki. Ko nga konae mo te tohatoha me nga ripanga rangitahi o te ao kei roto /tmp, mon$-table files and lock-files – in /tmp/firebird.

Ko te whakatakoto i nga konae kua "muku" (unlink) i muri tonu i te hanganga, no reira kare e taea te "kitea" i te raarangi raarangi - kei te rarangi o nga kakau tukanga anake (kua tohua hei deleted):

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

I roto i te raarangi whaiaronga pseudo /proc/…/fd/ Ka whakaatuhia nga symlinks, ka tukuna nga korero mo te konae e:

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

te wahi НОМЕР – descriptor (descriptor) o te kōnae e whai hua ana.

Engari ki te karanga "pgrep исполняемый-файл"Ka taea e koe te whakakapi tonu i te tohu tohu o te tukanga o te paanga.

Ko nga konae rangitahi ka nui rawa, na /tmp E taunaki ana kia tohatohahia te 20-30 GB. Me whai whakaaro ko te rahi o nga konae konae kei runga noa iho i te nui o nga raraunga kua tohua i roto i te tono, ka taea e te kaiwhakamahi kotahi te "hanga" gigabytes o nga konae rangitahi.

Ko te waahanga mo nga konae raraunga me uru ki nga konae raraunga katoa. me te iti rawa, he kape o te konae raraunga nui rawa atu. He mea tika kia whai whakaaro ki te tipu o nga konae raraunga a muri ake nei mo etahi tau kei te heke mai.

Ko te wahanga o nga taapiri o te rohe me uru kia kotahi neke atu ranei nga putunga putunga o nga papaa raraunga katoa me te taapiri o te papaa raraunga nui rawa atu. Ko te hiahia kia whai waahi ano tenei waahanga mo te whakaora i te putunga raraunga nui rawa atu. Me whai whakaaro te tipu o nga taapiri me nga purongo a muri ake mo etahi tau.

Te whakarite i te timatanga

Ko te tūmau Firebird 3.0 DBMS ka tohatoha me te whakawātea i te pūmahara pūnaha, ka taea e ia te wehewehe. Hei tauira, i muri i te tini o nga kaiwhakamahi ka momotuhia mai i te superserver i te wa kotahi, ka puta he hapa i te wa e hono ana i nga hononga hou.

Ko te wehewehenga mahara e whakahaeretia ana e te tawhā pūnaha vm.max_map_count, ko te 64K te taunoa. E taunaki ana kia piki ake tona uara kia wha nga wa:

sudo sysctl vm.max_map_count=256000

Kia tau ai te uara hou ina whakaara ano te punaha, taapiri atu ki te konae /etc/sysctl.conf raina:

vm.max_map_count = 256000

He mea tika ki te tuku korero kia marama ai te take mo te whakarereke i tenei tawhā. Ka taea e koe te whakatika i te konae i te tuatahi ka tono i nga tautuhinga kua tiakina ki roto:

sudo sysctl -p /etc/sysctl.conf

Te whakauru i nga kohinga e hiahiatia ana

Ko nga konae whakahaere o te Firebird 3.0 Linux DBMS e whakawhirinaki ana ki nga whare pukapuka ncurses (libncurses.so.5), ICU (kaore i herea ki te putanga me te kore e whakaatuhia ki te putanga ldd) me tomati (libtommath.so.0). Hei tango me te wetewete i te puranga hui, ka hiahia koe ki nga taputapu gzip, tar и curl ranei wget. Nga putanga ICU, gzip, tar и curl/wget – he iti.

Ko te mahi me nga kete ka whakawhirinaki ki te punaha me te kaiwhakahaere o te kete e whakamahia ana i roto i te punaha, no reira ka whakaarohia e maatau takitahi.

CentOS 8

Ka whakamahi a CentOS 8 i tetahi kaiwhakahaere kete hou - dnf a ka kiia ko "marama" na te whakahau yum. Na te mea mo o maatau kaupapa kaore he rereketanga i waenga i a raatau - kei roto i nga tauira ka puta yum.

Whakahoutia te keteroki metadata: sudo yum makecache

Kei roto te kete libtomath i roto i te putunga motuhake E(xtra)P(nga mokete mo)E(nterprise)L(inux), no reira ka tirohia e matou kua whakaurua kētia:

yum -C repolist

Kōwhiringa "mai i te keteroki anake" (-C ranei --cache-only) ka whakamahia hei whakakore i nga arowhai me nga tangohanga kore, kia tere ake te yum. Mena karekau he putunga epel i roto i te rarangi, whakauruhia ka whakahou i te keteroki metadata:

sudo yum install epel-release &&
sudo yum makecache

Ka whakamanahia e matou nga tono, mena e tika ana, te tirotiro i nga uara o nga taviri pgp me nga mea kua mohiohia mai i tetahi puna pono.

Mēnā he raru ki te uta i te metainformation purongo mai i nga rauemi https, whakatikahia te konae /etc/yum.repos.d/epel.repo, whakakapi https:// i runga i http:// ka tuaruatia te whakahau whakahou keteroki.

Ka tirohia e matou te mana o nga kohinga e hiahiatia ana (he uaua te whakahau, i roto i te tauira putanga kua tohua te kete 32-bit):

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

Ka kite tatou i tera curl, gzip и ncurses ka whakahaerehia i roto i te putunga pseudo-repositor (anaconda), me tar – ka whakakorehia mai i te iti rawa o te whakaurunga o te punaha. Nga putanga nui libncurses и libtommath nui ake i te mea e hiahiatia ana: 6 me te 1 hei utu mo te 5 me te 0. Mena kei te whakauruhia taua kete me te waatea, kua tukuna he whakahou mo taua mea. Tāutahia ngā pōkai ngaro:

sudo yum install 
libicu libtommath tar

Ubuntu 19

Kua hangaia nga taputapu hei whakahaere i nga kohinga apt, apt‑get и apt‑cache. Ko te tuatahi i hangaia mo te mahi tauwhitiwhiti, a ko nga mea whakamutunga e rua kua hangaia mo te whakamahi i nga tuhinga. He paku rereke nga ingoa mokihi me te whakauru i te putanga.

Ka tirohia e matou te mana o nga kohinga e hiahiatia ana (ka whakakotahihia te whakahau, ka whakapotohia te putanga tauira ka tātarihia nga kohinga 32-bit):

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]

Ko nga kohinga e tohuhia ana e nga taiapa tapawha installed/upgradable – tāuta. Kei te waatea engari kaore i whakauruhia ncurses5, hei utu mo curl kua whakauruhia wget. Tāutahia ngā pōkai ngaro:

sudo apt‑get install 
libncurses5 libtommath1

Te hanga hononga tohu

Mai i te libtommath.so.1 и libncurses.so.6 whakamuri hototahi ki libtommath.so.0 и libncurses.so.5, katahi mo Firebird he nui ki te hanga hononga tohu ki nga momo putanga o nga whare pukapuka.

Ka kitea e tatou libtommath.so.1 (libncurses.so.? kei roto i te whaiaronga kotahi):

find /usr -name libtommath.so.1

CentOS:

/usr/lib64/libtommath.so.1

Ubuntu:

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

Ka hangaia e matou nga hononga tohu.

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

Me tirohia te hua (he uaua te whakahau, ka whakapoto nga tauira whakaputa):

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

Tikiake ana i te kete tohatoha Firebird DBMS.

Ko te paetukutuku mana o te kaupapa Firebird (firebirdsql.org) e whakaputa ana i nga hononga ki nga tohatoha o nga tukunga "mana" me nga hanga "ia ra" (hanga whakaahua).

E waatea ana nga putanga Linux mana hei puranga (tar.gz) me nga kohinga deb/rpm, engari ka waatea noa nga hanga hei purongo. Ka whakaarohia e matou te "kaiwhakauta i nga tikanga" (kaiwhakauta i te tar.gz).

Me tango me te wetewete te puranga hanga, engari ka whakakotahihia e matou nga tikanga e rua. Kua oti te wetewete ki roto /tmp, Ka tohu te URL i te hono ki te puranga ka taea te tango.

korukoru:

curl -L URL | tar -zxC /tmp

wget:

wget -O– URL | tar -zxC /tmp

i te taunoa curl ka tukuna nga raraunga kua tangohia ki te stdout engari kaore i te whakahaere i nga whakatikatika ka taapirihia e matou "‑L", a wget, engari: ka mau ki te whakatikatika, engari ka tuhia nga raraunga ki tetahi konae ka hoatu e matou "‑O‑" Mo tar tohu whakamahi gzip-tatari me te whaiaronga ka mahia te wetewete. Ka oti te tukanga, ka puta mai he whaiaronga penei Firebird‑3.0.5.33220‑0.amd64 me nga konae e toru: install.sh, buildroot.tar.gz и manifest.txt.

Tāuta Firebird

I te wa whakarite tuatahi, i whakatikahia e matou te uara o te tawhā punaha vm.max_map_count, tirohia mo te waatea me te whakauru i te ICU, ncurses me nga whare pukapuka tommath. Me mohio kei te tika nga putanga o ncurses me tommath (libncures.so.5 и libtommath.so.0) me te hanga i nga symlink e tika ana.

Ko te tino ngawari te whakaurunga. Haere ki te whaiaronga i wetewetehia te puranga tohatoha Firebird, tirohia, a, ki te tika, tautuhia te haki "whakahaere" mo te tuhinga. install.sh:

chmod +x install.sh

whakahaere te hōtuhi tāutanga:

sudo ./install.sh

Ma te pehi i te taviri Whakauru ka whakapumautia e matou te tiimata o te whakaurunga, a, i te taenga mai o te tono, whakauruhia te kupuhipa sysdba.

Ka timata aunoa te tuhinga whakauru systemd-waewae firebird-superserver (Silent Firebird 3.0 hoahoanga). Ka mahi te ratonga Firebird me nga tawhā taunoa mo te superserver: he keteroki wharangi o nga wharangi 2048 (mo ia putunga raraunga), he parapara tohatoha o te 64 MB (tiritiri) me te hono i te putanga XNUMX anake nga kiritaki. Tirohia nga whiringa firebird.conf:

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

Kia mahara ko nga uara hou mai i firebird.conf ka whakahohehia i muri i te whakaara ano i te ratonga Firebird.

I te wa e whiriwhiri ana i nga uara tawhā, me mahara kia toru nga "kaihokohoko" matua: ko te keteroki wharangi (mo te papaaarangi), ko te kaapiri (tiritiri) me te mahara kua tohatohahia e te tūmau mo nga hononga kiritaki. Ka taea e koe anake te whakahaere i nga mea tuatahi e rua - ko te nui o te mahara mo nga hononga kiritaki kei runga i te maha me nga tuhinga o nga patai keteroki, o raatau mahere me nga taonga papaa raraunga e uru ana ki nga patai. Ko nga whakatau tata mahara ki nga hononga a te kiritaki ka mahia i runga i nga tikanga noa, ka rereke pea i te wa e huri ana nga tono a te kiritaki me/ranei nga taonga papaa raraunga.

Mo te superserver i runga i nga kaihautu me te iti o te mahara (tae atu ki te 12-16 GB), kaua e toha neke atu i te hautoru, hauwha ranei o te rahinga RAM mo te keteroki wharangi me te whakahiato papa.

Mena karekau te maha o nga papaa raraunga i whakaritea, ka taea te whakarereke, me wehewehe te tapeke o te mahara keteroki wharangi ki te nui rawa o nga papaa raraunga ka taea ki runga i te tūmau. Ko te rahi o te keteroki wharangi kua tohua ki roto i nga wharangi, me huri motuhake hei paita.

Ki te huri ki te hoahoanga matarohia, me tino tohu koe ServerMode в firebird.conf, whakaitihia te keteroki wharangi ki reira (kaore e neke ake i te 2K), whakaitihia te whakahiato momo (te tapeke o nga rōrahi e whakaaetia ana o nga momo momo katoa ka wehea ki te maha o nga hononga), monohia ka whakamutua te waeine firebird-superserver, whakaahei ka timata i te waeine firebird-classic.socket.

Ko te whakamahi i te hoahoanga superclassic i roto i te Firebird 3.0 kaore i te tino whai kiko: "te pono" he rite ki te superserver me te rite tonu ki te whakahiato papaa. Kaore he keteroki wharangi noa me nga "ngaronga" mo te tukutahi i nga hononga rereke ki a raatau ano he rite ki te waarangi.

Kia maumahara kei roto i te Firebird 3.0 etahi tawhā (keteroki wharangi, rahinga konae maukati, ripanga hash me etahi atu) ka taea te whakanoho ki roto. databases.conf takitahi mo ia pātengi raraunga. Mo te superserver he mea pai, hei tauira, ki te whakarite i te uara iti DefaultDbCachePages в firebird.conf me te whakauru i nga keteroki wharangi takitahi mo nga papaa raraunga e hiahiatia ana ki roto databases.conf.

Pataihia nga paatai ​​​​mo te tuhinga i roto i nga korero, tuhia mai ranei he reta ki ta matou wahitau tautoko [email tiakina].

Source: will.com

Tāpiri i te kōrero