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 (
Kuwa ugu dulqaadan - isla markiiba dagaalka:
Rakibaadda deg deg ah
Tafatirka faylka /etc/sysctl.conf
Adigoo 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 (
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" (unlink
Isla 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 ldd
iyo 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 gzip
shaandhaynta 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