Shigar da Firebird 3 akan nau'ikan Linux na zamani: CentOS8 da Ubuntu 19

A cikin wannan labarin za mu bayyana mafi ƙarancin saitin ayyukan da ake buƙata don ingantaccen shigarwa na Firebird DBMS sigar 3.0 akan sabon rarrabawar Linux. An zaɓi CentOS 8 da Ubuntu 19 don misalai.

Don “ba da” rarrabawar Firebird zuwa tsarin da aka yi niyya, a cikin wannan jagorar, an zaɓi zaɓi na zazzage tarihin tar.gz ta amfani da hanyar haɗi daga gidan yanar gizon aikin hukuma (firebirdsql.org).

Ga wanda ya fi rashin haƙuri, tafi kai tsaye zuwa yaƙi:

Fast shigarwa

Gyara fayil ɗin /etc/sysctl.confta hanyar ƙara layin:

vm.max_map_count = 256000

Ajiye fayil ɗin kuma yi amfani da saitin:

sudo sysctl -p /etc/sysctl.conf

Ƙarin umarni sun bambanta ga CentOS 8 da Ubuntu 19, amma ССЫЛКА и КАТАЛОГ nuna hanyar haɗi daga gidan yanar gizon aikin Firebird na hukuma don zazzage rarrabawa da kundin adireshi wanda za a buɗe rarrabawar a cikin lokacin aikin zazzagewa.
A halin yanzu (Maris 2020) sakin na yanzu shine Firebird 3.0.5 (ga mahaɗin zuwa 64-bit version).

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

Ainihin shigarwa na Firebird DBMS:

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

Idan kuna son ƙarin fahimtar abin da waɗannan ayyukan suke yi, karanta a gaba.

Babban jiki

Gajeren gabatarwa

Ana ɗauka cewa an riga an shigar da OS a cikin ƙaramin sigar kuma samun damar zuwa wuraren ajiyar jama'a ko an daidaita kwafi na gida.

Ana ɗauka cewa mai karatu yana da ainihin ilimin Linux da Firebird DBMS.

Tsare-tsare

A kan uwar garken DBMS ana ba da shawarar ware sassa daban-daban don fayilolin wucin gadi (/tmp), fayilolin bayanai da maajiyar gida.

Wadanda na wucin gadi sun haɗa da fayilolin kulle, rarraba fayiloli, fayilolin “kayan abu” na tebur na wucin gadi na duniya (GTT) da teburan sa ido. Fayilolin rarrabuwa da teburan wucin gadi na duniya suna cikin /tmp, Mon$-fayil ɗin tebur da fayilolin kulle-in /tmp/firebird.

Ana “share” ana rarraba fayiloli (unlink) nan da nan bayan halitta, don haka ba za a iya "ganin" ba a cikin jerin kundin adireshi - kawai a cikin jerin abubuwan sarrafa kayan aiki (alama kamar haka). deleted):

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

A cikin jeri na pseudo directory /proc/…/fd/ ana nuna alamar haɗin gwiwa, kuma ainihin bayani game da fayil ɗin yana bayar da:

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

inda НОМЕР – mai siffanta (mai kwatanta) na fayil ɗin sha'awa.

Maimakon kira"pgrep исполняемый-файл"Za ku iya nan da nan canza mai gano tsarin sha'awa.

Fayilolin wucin gadi na iya zama manya sosai, don haka /tmp Ana ba da shawarar don ware aƙalla 20-30 GB. Ya kamata a la'akari da cewa girman rarrabuwar fayiloli ya dogara ne kawai akan adadin bayanai a bayyane ko a bayyane a cikin buƙatun, kuma mai amfani ɗaya zai iya "ƙirƙira" gigabytes na fayilolin wucin gadi.

Sashen don fayilolin bayanai dole ne ya ɗauki duk fayilolin bayanai. da, aƙalla, kwafin babban fayil ɗin bayanai. Wajibi ne a yi la'akari da haɓakar fayilolin bayanai a nan gaba na shekaru masu zuwa.

Sashin madogaran gida dole ne ya ƙunshi aƙalla rumbun adana bayanai guda ɗaya na duk ma'ajin bayanai da maajiyar babbar ma'adanar bayanai. Yana da kyau wannan sashe kuma ya ƙunshi sarari don maido da mafi girman bayanai. Ya kamata a yi la'akari da haɓakar ma'ajin ajiya da adanawa a nan gaba na shekaru da yawa.

Shiryawa na farko

Sabar DBMS ta Firebird 3.0 tana ba da ƙarfi sosai kuma tana ba da ƙwaƙwalwar tsarin, wanda zai haifar da rarrabuwar ta. Misali, bayan an cire haɗin ɗimbin masu amfani daga babban uwar garken lokaci guda, kurakurai na iya faruwa lokacin yin sabbin haɗin gwiwa.

Ana sarrafa ɓarna ƙwaƙwalwar ajiya ta hanyar sigar tsarin vm.max_map_count, tsoho shine 64K. Ana ba da shawarar ƙara darajarta sau huɗu:

sudo sysctl vm.max_map_count=256000

Domin an saita sabuwar ƙima lokacin da tsarin ya sake yi, ƙara zuwa fayil ɗin /etc/sysctl.conf layi:

vm.max_map_count = 256000

Yana da kyau a yi sharhi domin dalilin canza wannan siga ya fito fili. Kuna iya fara gyara fayil ɗin sannan ku yi amfani da saitunan da aka adana a ciki:

sudo sysctl -p /etc/sysctl.conf

Shigar da fakitin da ake buƙata

Fayilolin da za a iya aiwatarwa na Firebird 3.0 Linux DBMS sun dogara da ɗakunan karatu na ncurses (libncurses.so.5), ICU (ba a haɗa shi da sigar ba kuma ba a nuna shi a cikin fitarwa ba lddda kuma tommath (libtommath.so.0). Don zazzagewa da cire kayan tarihin taro, kuna buƙatar abubuwan amfani gzip, tar и curl ko wget. ICU versions, gzip, tar и curl/wget - ba su da mahimmanci.

Yin aiki tare da fakiti ya dogara da tsarin da kuma mai sarrafa kunshin da aka yi amfani da shi a cikin tsarin, don haka za mu yi la'akari da su daya bayan daya.

CentOS 8

CentOS 8 yana amfani da sabon manajan fakiti - dnf kuma ana kiran shi “a bayyane” ta umarni yum. Tunda don manufarmu babu wani bambanci tsakanin su - a cikin misalan za a kasance yum.

Sabunta cache na metadata: sudo yum makecache

Fakitin libtomath yana cikin keɓantaccen E(karin) P (akayyana don) E(nterprise) L(inux), ma'aji, don haka mun duba cewa an riga an haɗa shi:

yum -C repolist

Zaɓin "kawai daga cache" (-C ko --cache-only) ana amfani da shi don kawar da cak da zazzagewa maras buƙata, yin yum sauri. Idan babu ma'ajiyar epel a cikin lissafin, shigar da shi kuma sabunta cache na metadata:

sudo yum install epel-release &&
sudo yum makecache

Muna tabbatar da buƙatun, idan ya cancanta, bincika ƙimar maɓallan pgp tare da waɗanda aka riga aka sani daga amintaccen tushe.

Idan akwai matsalolin loda bayanan metain bayanai daga albarkatun https, sannan a gyara fayil ɗin /etc/yum.repos.d/epel.repo, maye gurbin https:// a kan http:// kuma maimaita umarnin sabunta cache.

Muna duba matsayin fakitin da ake buƙata (umarnin yana da rikitarwa, a cikin misalin fitarwa an tace fakitin 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

Muna ganin haka curl, gzip и ncurses wanda aka shirya a cikin ma'ajiyar mai sakawa (pseudo-repository)anaconda), da tar – ware daga mafi ƙarancin tsarin shigarwa. Manyan sigogi libncurses и libtommath fiye da yadda ake buƙata: 6 da 1 maimakon 5 da 0, bi da bi. Idan kunshin iri ɗaya ne duka an shigar kuma akwai, an fitar da sabuntawa don shi. Sanya fakitin da suka ɓace:

sudo yum install 
libicu libtommath tar

Ubuntu 19

An tsara abubuwan amfani don sarrafa fakiti apt, apt‑get и apt‑cache. An tsara na farko don aiki mai mu'amala, kuma na ƙarshe an tsara su don amfani da rubutun. Sunayen kunshin sun ɗan bambanta kuma sun haɗa da sigar.

Muna duba matsayin fakitin da ake buƙata (an haɗa umarnin, an taƙaita fitar da misalin kuma an tace fakitin 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]

Fakitin wanda maƙallan murabba'in ke nunawa installed/upgradable – shigar. Akwai amma ba a shigar ba ncurses5, maimakon curl shigar wget. Sanya fakitin da suka ɓace:

sudo apt‑get install 
libncurses5 libtommath1

Ƙirƙirar alamomi

Tun da libtommath.so.1 и libncurses.so.6 baya masu jituwa da libtommath.so.0 и libncurses.so.5, to don Firebird ya isa ya ƙirƙiri alamomin zuwa nau'ikan ɗakunan karatu da ake da su.

Mun sami libtommath.so.1 (libncurses.so.? wanda yake a cikin wannan directory):

find /usr -name libtommath.so.1

CentOS:

/usr/lib64/libtommath.so.1

Ubuntu:

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

Muna ƙirƙirar alamomi.

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

Bari mu duba sakamakon (umarnin yana da rikitarwa, an gajarta misalan fitarwa):

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

Zazzage kayan rarrabawar Firebird DBMS.

Gidan yanar gizon hukuma na aikin Firebird (firebirdsql.org) yana buga hanyoyin haɗin kai zuwa rarrabawar "aiki" da kuma "kullum" yana ginawa (hoton yana ginawa).

Ana samun fitowar Linux na hukuma azaman ma'ajin tarihi (tar.gz) da fakitin deb/rpm, amma ana samun ginin a matsayin ma'ajiya. Za mu yi la'akari da "mai sakawa na gabaɗaya" (mai sakawa gabaɗaya daga tar.gz).

Ana buƙatar saukar da ma'ajiyar ginin gini da buɗewa, amma za mu haɗa hanyoyin guda biyu. Ana kwashe kaya a ciki /tmp,URL yana nuna hanyar haɗin yanar gizon da za a iya saukewa.

dunƙule:

curl -L URL | tar -zxC /tmp

wget:

wget -O– URL | tar -zxC /tmp

da default curl yana aika bayanan da aka zazzage zuwa stdout amma baya kula da jujjuyawa kuma muna ƙara"‑L", ba a wget, akasin haka: yana sarrafa jujjuyawar, amma yana rubuta bayanai zuwa fayil kuma mun sanya "‑O‑" Domin tar nuna amfani gzip-tace da directory ɗin da za'a kwashe kayan a ciki. Lokacin da tsari ya cika, directory kamar wannan zai bayyana Firebird‑3.0.5.33220‑0.amd64 tare da fayiloli guda uku: install.sh, buildroot.tar.gz и manifest.txt.

Shigar da Firebird

A lokacin shirye-shiryen farko, mun daidaita ƙimar tsarin tsarin vm.max_map_count, an bincika don samuwa kuma an shigar da ICU, ncurses da ɗakunan karatu na tommath. Tabbatar cewa sigogin ncurses da tommath daidai ne (libncures.so.5 и libtommath.so.0) kuma ya ƙirƙiri alamomin da suka dace.

Ainihin shigarwa yana da sauƙi. Je zuwa kundin adireshi inda aka cire kayan tarihin rarraba Firebird, duba kuma, idan ya cancanta, saita tutar “executable” don rubutun. install.sh:

chmod +x install.sh

gudanar da rubutun shigarwa:

sudo ./install.sh

Ta danna maɓallin Shigar muna tabbatar da fara shigarwa, kuma bayan karɓar buƙatar, shigar da kalmar sirri ta sysdba.

Rubutun shigarwa yana farawa ta atomatik systemd- naúrar firebird-superserver (Silent Firebird 3.0 gine). Sabis na Firebird zai yi aiki tare da tsoffin sigogi na babban uwar garken: ma'ajin shafi na shafuka 2048 (kowace ma'ajin bayanai), rarrabuwa na 64 MB (raba) da haɗa nau'ikan abokan ciniki kawai XNUMX. Duba zaɓuɓɓuka firebird.conf:

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

Lura cewa sabbin dabi'u daga firebird.conf za a kunna kawai bayan sake kunna sabis na Firebird.

Lokacin zabar ma'auni, ya kamata a la'akari da cewa akwai manyan "masu amfani" guda uku: cache na shafi (don bayanan bayanai), buffer mai rarraba (shared) da ƙwaƙwalwar ajiyar da uwar garken ta keɓe don haɗin gwiwar abokin ciniki. Kuna iya sarrafa biyun farko kawai - adadin ƙwaƙwalwar ajiya don haɗin abokin ciniki ya dogara da lamba da rubutu na tambayoyin cache, tsare-tsaren su da abubuwan bayanan da ke cikin tambayoyin. Ana yin ƙididdige ƙididdigan ƙwaƙwalwar haɗin haɗin abokin ciniki ta zahiri kawai kuma yana iya canzawa yayin da aikace-aikacen abokin ciniki da/ko abubuwan bayanai ke canzawa.

Don babban uwar garken da ke da ƙaramin adadin ƙwaƙwalwar ajiya (har zuwa 12-16 GB), bai kamata ku ware fiye da kashi uku ko kwata na jimlar adadin RAM don cache ɗin shafi da warware buffer ba.

Idan adadin bayanan ba a kayyade ba kuma yana iya canzawa, jimlar adadin ƙwaƙwalwar ajiyar shafi yakamata a raba ta matsakaicin adadin bayanan bayanai da zai iya kasancewa akan sabar. An ƙayyade girman cache ɗin shafi a cikin shafuka kuma dole ne a canza shi daban zuwa bytes.

Don canzawa zuwa ƙirar gine-gine na gargajiya, dole ne, aƙalla, ƙididdigewa a sarari ServerMode в firebird.conf, rage cache shafi a can (ba fiye da 2K ba), rage nau'in buffer (jimlar adadin da aka yarda da kowane nau'i wanda aka raba ta matsakaicin adadin haɗin), kashe kuma dakatar da naúrar. firebird-superserver, kunna kuma fara naúrar firebird-classic.socket.

Yin amfani da tsarin gine-gine mafi girma a cikin Firebird 3.0 ba shi da ma'ana mai yawa: "dogara" kamar babban uwar garken ne da kuma babban rarrabuwa na gaba ɗaya. Babu cache na shafi na gama gari da “asarar” don daidaita haɗin kai daban-daban da juna iri ɗaya ne da na al'ada.

Ya kamata a tuna cewa a cikin Firebird 3.0 za a iya saita wasu sigogi (cache shafi, girman fayil ɗin kulle, tebur hash da wasu) databases.conf akayi daban-daban ga kowane database. Don superserver yana da amfani, alal misali, saita ƙaramin ƙima DefaultDbCachePages в firebird.conf kuma shigar da caches na shafi ɗaya don bayanan bayanan da ake buƙata a ciki databases.conf.

Yi tambayoyi game da labarin a cikin sharhi, ko rubuta wasiƙu zuwa adireshin tallafin mu [email kariya].

source: www.habr.com

Add a comment