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 (
Mo te hunga e kore e manawanui, haere tika ki te whawhai:
Te whakauru tere
Whakatika i te kōnae /etc/sysctl.conf
ma 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 (
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