Ku rakibida Firebird 3 ee Noocyada Linux ee Casriga ah: CentOS8 iyo Ubuntu 19

Maqaalkan, waxaan ku sharxi doonaa tillaabooyinka ugu yar ee looga baahan yahay rakibaadda ugu habboon ee nooca Firebird DBMS 3.0 ee qaybinta cusub ee Linux. CentOS 8 iyo Ubuntu 19 ayaa loo doortay tusaale ahaan.

Si loo "gaarsiiyo" qaybinta Firebird nidaamka bartilmaameedka, ee tilmaan-bixiyahan, ikhtiyaarka ah soo dejinta tar.gz archive ee xiriirka ka website-ka rasmiga ah ee mashruuca (firebirdsql.org).

Kuwa ugu dulqaadan - isla markiiba dagaalka:

Rakibaadda deg deg ah

Tafatirka faylka /etc/sysctl.confAdigoo ku daray khadka:

vm.max_map_count = 256000

Kaydi faylka oo dabaq dejinta:

sudo sysctl -p /etc/sysctl.conf

Tilmaamo dheeraad ah ayaa ku kala duwan CentOS 8 iyo Ubuntu 19, laakiin ССЫЛКА и КАТАЛОГ Muuji xiriirka ka socda goobta rasmiga ah ee mashruuca Firebird si aad u soo dejiso qaybinta iyo tusaha kaas oo qaybinta laga furi doono inta lagu jiro soo dejinta.
Waqtigan xaadirka ah (Maarso 2020), siidaynta Firebird 3.0.5 ayaa khusaysa (waa kan isku xirka ee nooca 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

Rakibaadda dhabta ah ee Firebird DBMS:

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

Haddii aad rabto in aad si fiican u fahanto waxa falalkani u adeegaan, sii akhri.

Qaybta ugu muhiimsan

Hordhac yar

Waxaa loo malaynayaa in OS-gu mar hore lagu rakibay nooca ugu yar iyo gelitaanka kaydka dadweynaha ama koobiyada maxalliga ah ayaa la habeeyey.

Waxaa loo maleynayaa in akhristuhu uu leeyahay aqoonta aasaasiga ah ee Linux iyo Firebird DBMS.

Qorshaynta

Adeegga DBMS, waxaa lagu talinayaa in loo qoondeeyo qaybo gaar ah faylasha ku meel gaarka ah (/tmp), faylalka keydka macluumaadka iyo kaydinta maxalliga ah.

Ku meel gaadhka ah waxa ka mid ah feylasha qufulka, kala-soocida faylalka, faylalka "qalabaynta" ee miisaska ku meel gaadhka ah ee caalamiga ah (GTT) iyo miisaska la socodka. Kala soocida iyo faylasha miiska ku meel gaadhka ah ee caalamiga ah waxay ku yaalaan /tmp, mon$-faylalka miiska iyo faylasha qufulka - gudaha /tmp/firebird.

Kala soocida faylasha waa "la tirtiray" (unlinkIsla markiiba ka dib abuurista, si aanay "loo arki karin" liiska hagaha - kaliya liiska hababka gacanta (oo lagu calaamadeeyay sida deleted):

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

Ku jira liiska hagaha been-abuurka ah /proc/…/fd/ symlinks waa la soo bandhigay, iyo macluumaadka dhabta ah ee ku saabsan faylka waxaa bixiyay:

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

halkaas oo НОМЕР - sharaxe (sharaxeeyaha) faylka xiisaha.

Halkii aad wici lahayd"pgrep исполняемый-файл» isla markiiba waxaad bedeli kartaa aqoonsiga habka xiisaha.

Faylasha ku meel gaarka ah waxay noqon karaan kuwo aad u weyn, sidaas darteed /tmp waxaa lagu talinayaa in la qoondeeyo ugu yaraan 20-30 GB. Maskaxda ku hay in cabbirka noocyada faylalka ay ku xiran tahay oo keliya tirada xogta si cad ama si aan toos ahayn loogu soocay codsiga, iyo hal isticmaale ayaa "abuuri kara" gigabytes ee faylasha ku meel gaarka ah.

Qaybta faylalka keydka macluumaadka waa in ay ka kooban tahay faylalka dhammaan xogta macluumaadka. lagu daray ugu yaraan nuqul ka mid ah faylka ugu weyn ee keydka macluumaadka. Waa lagama maarmaan in la tixgeliyo koritaanka faylasha xogta mustaqbalka dhowr sano ka hor.

Qaybta kaydinta deegaanka waa in ay ka kooban tahay ugu yaraan hal kayd kayd ah oo dhammaan xogaha kaydka ah iyo kayd kaydka xogta ugu weyn. Waa suurad wacan in qaybtani ay sidoo kale leedahay meel lagu soo celiyo xogta ugu weyn. Kobaca kaydka iyo kaydka kaydka ee mustaqbalka dhawr sano waa in lagu xisaabtamaa.

Diyaargarow hordhac ah

Adeegga Firebird 3.0 DBMS wuxuu si firfircoon u qoondeeyaa oo xoreeyaa xusuusta nidaamka, taas oo u horseedi karta kala qaybsanaanteeda. Tusaale ahaan, ka dib markii tiro badan oo isticmaaleyaal ah laga gooyo superserver isku mar, khaladaad ayaa dhici kara inta lagu jiro isku xirnaanta cusub.

Kala qaybsanaanta xusuusta waxaa lagu xakameynayaa cabbirka nidaamka vm.max_map_count, default waa 64K. Waxaa lagu talinayaa in la laba jibaaro qiimaheeda:

sudo sysctl vm.max_map_count=256000

Si aad u dejiso qiimaha cusub marka nidaamka dib loo bilaabo, ku dar faylka /etc/sysctl.conf line:

vm.max_map_count = 256000

Waxaa lagugula talinayaa inaad faallo ka bixiso si sababta loo beddelayo cabbirkan ay u caddaato. Waxaad marka hore tafatiri kartaa faylka oo aad dabaqi kartaa dejinta ku kaydsan:

sudo sysctl -p /etc/sysctl.conf

Ku rakibida baakadaha loo baahan yahay

Firebird 3.0 Linux DBMS la fulin karo waxay kuxirantahay maktabadaha ncurses (libncurses.so.5), ICU (iyada oo aan la tixraacin nooca iyo iyada oo aan la soo bandhigin wax soo saarka lddiyo tommath (libtommath.so.0). Utilities ayaa looga baahan yahay inay soo dejiyaan oo ay furaan kaydka kulanka gzip, tar и curl ama wget. Noocyada ICU, gzip, tar и curl/wget - waa wax aan micno lahayn.

Ku shaqeynta xirmooyinka waxay ku xiran tahay nidaamka iyo maamulaha xirmada ee loo isticmaalo nidaamka, markaa waxaan u tixgelin doonaa mid mid.

CentOS 8

CentOS 8 waxay isticmaashaa maareeye xirmo cusub - dnf waxaana "si hufan" loogu yeeraa amarka yum. Maadaama ujeeddooyinkeena aysan jirin wax farqi ah oo u dhexeeya - tusaalooyinka waxaa jiri doona yum.

Cusbooneysii kaydka xogta badan: sudo yum makecache

Xirmada libtomath waxay ku jirtaa meel gooni ah E(dheeraad)P(xirmooyinka) E(nterprise)L(inux) bakhaar, markaa iska hubi inay horeba ugu soo dartay:

yum -C repolist

Keliya ikhtiyaarka kaydinta (-C ama --cache-only) waxaa loo isticmaalaa in lagu baabi'iyo jeegaga aan loo baahnayn iyo soo dejinta, taasoo ka dhigaysa yum inuu si degdeg ah u socdo. Haddii aysan jirin meel epel liiska, ku rakib oo cusboonaysii kaydinta xogta badan:

sudo yum install epel-release &&
sudo yum makecache

Waxaan xaqiijinaa codsiyada, haddii loo baahdo, hubinta qiyamka furayaasha pgp kuwa horay looga yaqaanay ilo la aamini karo.

Haddii ay jiraan dhibaatooyin marka laga soo raraynayo macluumaadka meta-macluumadka https-alaabta, ka dibna wax ka beddel faylka /etc/yum.repos.d/epel.repo, beddelaadda https:// on http:// oo ku celi amarka cusboonaysiinta kaydka

Hubi heerka xirmooyinka loo baahan yahay (amarka waa mid adag, tusaale ahaan soosaarka xirmo 32-bit ah ayaa la sifeeyaa):

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

Waxaan aragnaa taas curl, gzip и ncurses lagu dhejiyay kaydiyaha beenta ah (pseudo-repository)anaconda), tar - Laga saaray rakibaadda nidaamka ugu yar. Noocyada waaweyn libncurses и libtommath in ka badan inta loo baahan yahay: 6 iyo 1 halkii 5 iyo 0, siday u kala horreeyaan. Haddii xirmo isku mid ah la rakibay oo la heli karo, cusbooneysiin ayaa loo sii daayay. Ku rakib xirmooyinka maqan:

sudo yum install 
libicu libtommath tar

Ubuntu 19

Adeegyada maaraynta xirmada apt, apt‑get и apt‑cache. Midka hore waxaa loogu talagalay shaqada is-dhexgalka, labada dambena waxaa loogu talagalay isticmaalka qoraallada. Magacyada xirmada wax yar bay ka duwan yihiin waxaana ku jira nooca.

Hubi heerka baakadaha loo baahan yahay (amarka waa la laabay, wax soo saarka muunada waa la gaabiyay iyo baakadaha 32-bit waa la sifeeyay):

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]

Baakado leh xajin labajibbaaran installed/upgradable – rakibay. La heli karo laakiin lama rakibin ncurses5, Halkii curl rakibay wget. Ku rakib xirmooyinka maqan:

sudo apt‑get install 
libncurses5 libtommath1

Abuuritaanka calaamadaha

Tan iyo tan libtommath.so.1 и libncurses.so.6 dib u socon kara libtommath.so.0 и libncurses.so.5, ka dibna Firebird waa ku filan tahay in la abuuro calaamadaha la heli karo ee maktabadaha.

Hel libtommath.so.1 (libncurses.so.? ku yaal isla buuggaag):

find /usr -name libtommath.so.1

CentOS:

/usr/lib64/libtommath.so.1

Ubuntu:

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

Waxaan abuurnaa calaamado.

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

Waxaan hubineynaa natiijada (amarka waa mid adag, tusaalooyinka wax soo saarka waa la soo gaabiyey):

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

Raraya qalabka qaybinta Firebird DBMS.

Bogga rasmiga ah ee mashruuca Firebird (firebirdsql.org) wuxuu daabacaa isku xirka qaybinta "rasmiga ah" ee sii daynta iyo "maalin walba" dhisa (dhis sawir leh).

Siidaynta rasmiga ah ee Linux ayaa loo heli karaa kayd ahaan (tar.gz) iyo baakadaha deb/rpm, halka dhismayaashuna ay diyaar u yihiin kayd ahaan. Waxaan tixgelin doonaa "rakibaadaha guud" (rakiye guud oo ka socda tar.gz).

Kaydka shirku wuxuu u baahan yahay in la soo dejiyo oo la furo, laakiin waxaanu isku dari doonaa labadan habraac. Baakadaha ayaa lagu sameeyaa gudaha /tmp, URL waxa ay tilmaamaysaa isku xidhka kaydka la soo dejiyay.

laablaab:

curl -L URL | tar -zxC /tmp

wget:

wget -O– URL | tar -zxC /tmp

by default curl waxay u soo dirtaa xogta la soo dejiyay stdout, laakiin ma qabato dib u jihaynta, markaa waxaanu ku darnaa"‑L", a wget, liddi ku ah: waxay qabataa dib u habeynta, laakiin waxay ku qortaa xogta faylka waxaana ku dhejineynaa "‑O‑" Waayo tar tilmaam isticmaalka gzipshaandhaynta iyo tusaha lagu soo dayn doono. Marka la dhammeeyo hawsha, hagaha foomka ayaa soo bixi doona Firebird‑3.0.5.33220‑0.amd64 oo leh saddex fayl: install.sh, buildroot.tar.gz и manifest.txt.

Ku rakibida Firebird

Inta lagu jiro diyaarinta hordhaca ah, waxaanu hagaajinnay qiimaha nidaamka nidaamka vm.max_map_count, la hubiyay oo lagu rakibay ICU-da, dhaleeceynta iyo maktabadaha tommath. Xaqiiji in nacladyada iyo noocyada tommathku ay sax yihiin (libncures.so.5 и libtommath.so.0) oo abuuray calaamadaha loo baahan yahay.

Rakibaadda dhabta ah waa mid aad u fudud. Tag tusaha halka kaydka qaybinta Firebird laga furay, hubi oo, haddii loo baahdo, deji calanka "la fulin karo" ee qoraalka install.sh:

chmod +x install.sh

socodsii qoraalka rakibaadda:

sudo ./install.sh

Markaad riixdo furaha Enter, waxaan xaqiijineynaa bilawga rakibidda, ka dib markaan helno codsiga, waxaan galeynaa erayga sysdba.

Qoraalka rakibaadda si toos ah ayuu u shaqeeyaa systemd- unug firebird-superserver (default Firebird 3.0 architecture). Adeegga Firebird waxa uu la socon doona habaynta caadiga ah ee superserver-ka: 2048 bog kayd (saldhig kasta), 64 MB nooc kaydinta (la wadaago), iyo xidhiidhka kaliya ee nooca XNUMX macmiilka. Eeg dejinta firebird.conf:

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

Ogsoonow in qiyamka cusub ee ka yimid firebird.conf waxa la hawlgelin doonaa ka dib marka dib loo bilaabo adeega Firebird.

Marka la dooranayo qiyamka halbeegyada, waa in lagu xisaabtamaa inay jiraan saddex "macaamiisha" ugu waaweyn: khasnadda bogga (loogu talagalay kaydinta xogta), nooca kaydinta (la wadaago) iyo xusuusta uu u qoondeeyay server-ku xiriirinta macmiilka. Waxaad maareyn kartaa oo kaliya labada hore - qadarka xusuusta ee isku xirka macmiilku waxay kuxirantahay tirada iyo qoraalka codsiyada la kaydiyay, qorshayaashooda, iyo walxaha xogta ee ku lug leh codsiyada. Qiyaasta xusuusta ee xidhiidhada macmiilka waxaa loo sameeyaa kaliya si macquul ah waxaana laga yaabaa inay isbedelaan marka codsiyada macmiilka iyo/ama walxaha xogta ay isbedelaan.

Superserver-ka martigeliyaha leh qadar yar oo xusuusta ah (illaa 12-16 GB), waa inaadan u qoondayn wax ka badan saddex meelood meel ilaa rubuc wadarta RAM ee kaydinta bogga oo kala saar kaydinta.

Haddii tirada saldhigyadu aanay go'in oo ay isbeddeli karaan, wadarta tirada guud ee xusuusta kaydinta bogga waa in loo qaybiyaa tirada ugu badan ee saldhigyada ku jiri kara server-ka. Cabbirka khasnadda bogga waxa lagu qeexay bogag waana in si gaar ah loogu beddelaa bytes.

Si aad ugu wareegtid qaab-dhismeedka caadiga ah, waa inaad ugu yaraan si cad u qeexdaa ServerMode в firebird.conf, yaree khasnadda bogga isla meel (aan ka badnayn 2K), yaree nooca kaydinta (wadarta mugga la oggol yahay ee dhammaan noocyada loo qaybiyay tirada ugu badan ee isku xirka), dami oo jooji cutubka firebird-superserver, karti oo socodsii unugga firebird-classic.socket.

Isticmaalka qaab dhismeedka superclassic ee Firebird 3.0 macno badan ma samaynayso: "isku halaynta" waxay la mid tahay kaydiye sare iyo nooc isku mid ah. Ma jiro khasnado bog wadaag ah iyo "khasaaraha" ee isku xidhka kala duwan ee midba midka kale wuxuu la mid yahay kan caadiga ah.

Waa in la xusuustaa in Firebird 3.0 qaar ka mid ah xuduudaha (cache bogag, cabbirrada feylasha quful, miisaska xashiishka, iyo qaar kale) lagu dejin karo databases.conf gaar ahaan saldhig kasta. Superserver, waa faa'iido, tusaale ahaan, in la dejiyo qiime yar DefaultDbCachePages в firebird.conf oo ku rakib khasnadaha bogga gaarka ah ee xogta macluumaadka ee loo baahan yahay gudaha databases.conf.

Weydii su'aalo ku saabsan maqaalka faallooyinka, ama warqad u qor ciwaanka taageerada [emailka waa la ilaaliyay].

Source: www.habr.com

Add a comment