Firebird 3 instalatzea Linux-en bertsio modernoetan: CentOS8 eta Ubuntu 19

Artikulu honetan Firebird DBMS 3.0 bertsioa Linux banaketa berrietan instalatzeko behar diren gutxieneko ekintzak deskribatuko ditugu. CentOS 8 eta Ubuntu 19 aukeratzen dira adibideetarako.

Firebird banaketa xede-sistemara "helarazteko", gida honetan, tar.gz artxiboa deskargatzeko aukera hautatzen da proiektuaren webgune ofizialeko esteka bat erabiliz (firebirdsql.org).

Pazientziarik handiena dutenentzat, zoaz zuzenean borrokara:

Instalazio azkarra

Fitxategia editatzen /etc/sysctl.conflerroa gehituz:

vm.max_map_count = 256000

Gorde fitxategia eta aplikatu ezarpena:

sudo sysctl -p /etc/sysctl.conf

Argibide gehiago desberdinak dira CentOS 8 eta Ubuntu 19entzat, baina ССЫЛКА и КАТАЛОГ adierazi banaketa deskargatzeko Firebird proiektuaren webgune ofizialeko esteka eta deskargatzeko prozesuan banaketa deskonprimituko den direktorioa.
Gaur egun (2020ko martxoa) oraingo bertsioa Firebird 3.0.5 da (Hemen dago lotura 64 biteko bertsiora).

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

Firebird DBMSren benetako instalazioa:

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

Ekintza hauek zer egiten duten hobeto ulertu nahi baduzu, jarraitu irakurri.

РћСЃРЅРѕРІРЅР ° С ° С ° Р ° СЃС‚С °

Hitzaurre labur bat

Suposatzen da sistema eragilea dagoeneko gutxieneko bertsio batean instalatuta dagoela eta biltegi publikoetarako sarbidea edo haien kopia lokaletara konfiguratuta dagoela.

Suposatzen da irakurleak Linux eta Firebird DBMSren oinarrizko ezagutzak dituela.

plangintza

DBMS zerbitzarian aldi baterako fitxategietarako atal bereiziak esleitzea gomendatzen da (/tmp), datu-baseko fitxategiak eta tokiko babeskopiak.

Behin-behinekoen artean blokeo fitxategiak, ordenatzeko fitxategiak, aldi baterako taula globalen (GTT) "materializazio" fitxategiak eta jarraipen-taulak daude. Sailkatzeko eta aldi baterako taula orokorrak egiteko fitxategiak bertan daude /tmp, mon$-table fitxategiak eta lock-fitxategiak – in /tmp/firebird.

Ordenatzeko fitxategiak "ezabatu" dira (unlink) sortu eta berehala, beraz, ezin dira "ikusi" direktorio-zerrendan - soilik prozesu-kudeatzaileen zerrendan (hala markatuta). deleted):

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

Sasi direktorioen zerrendan /proc/…/fd/ esteka sinbolikoak bistaratzen dira, eta fitxategiari buruzko benetako informazioa honako hauek ematen dute:

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

non НОМЕР – interes-fitxategiaren deskribatzailea (deskribatzailea).

"Deitu beharrean"pgrep исполняемый-файл"Berehala ordezkatu dezakezu interesa duen prozesuaren identifikatzailea.

Aldi baterako fitxategiak oso handiak izan daitezke, beraz /tmp Gutxienez 20-30 GB esleitzea gomendatzen da. Kontuan izan behar da ordenatzeko fitxategien tamaina eskaeran esplizituki edo inplizituki ordenatutako datu kopuruaren araberakoa dela, eta erabiltzaile bakar batek aldi baterako fitxategien gigabyte "sor ditzake".

Datu-base-fitxategien atalak datu-base-fitxategi guztiak jaso behar ditu. gehi, gutxienez, datu-base fitxategi handienaren kopia bat. Etorkizunean datu-baseen fitxategien hazkundea kontuan hartu behar da datozen urteetan.

Tokiko babeskopien atalak datu-base guztien babeskopia-artxibo bat eduki behar du gutxienez, gehi datu-base handienaren babeskopia. Komeni da atal honek datu-base handiena berreskuratzeko tokia ere edukitzea. Etorkizunean hainbat urtetan babeskopien eta babeskopien artxiboen hazkundea kontuan hartu behar da.

Aurretiazko prestaketa

Firebird 3.0 DBMS zerbitzariak sistemaren memoria dinamikoki esleitu eta askatzen du, eta horrek zatikatzea ekar dezake. Adibidez, erabiltzaile kopuru handi bat aldi berean superzerbitzaritik deskonektatu ondoren, akatsak gerta daitezke konexio berriak egitean.

Memoriaren zatiketa sistema-parametro batek kontrolatzen du vm.max_map_count, lehenetsia 64K da. Bere balioa lau aldiz handitzea gomendatzen da:

sudo sysctl vm.max_map_count=256000

Sistema berrabiarazten denean balio berria ezarri dadin, gehitu fitxategira /etc/sysctl.conf lerroa:

vm.max_map_count = 256000

Komeni da iruzkin bat egitea, parametro hau aldatzearen arrazoia argi izan dadin. Lehenik fitxategia edita dezakezu eta ondoren bertan gordetako ezarpenak aplikatu:

sudo sysctl -p /etc/sysctl.conf

Beharrezko paketeak instalatzea

Firebird 3.0 Linux DBMSren fitxategi exekutagarriak ncurses liburutegien araberakoak dira (libncurses.so.5), ICU (ez dago bertsioari lotuta eta ez da irteeran bistaratzen ldd) eta Tomath (libtommath.so.0). Muntaia artxiboa deskargatzeko eta deskonprimitzeko, utilitateak beharko dituzu gzip, tar и curl edo wget. ICU bertsioak, gzip, tar и curl/wget - hutsalak dira.

Paketeekin lan egitea sistemaren eta sisteman erabiltzen den pakete-kudeatzailearen araberakoa da, beraz, banan-banan kontuan hartuko ditugu.

CentOS 8

CentOS 8-k pakete kudeatzaile berri bat erabiltzen du - dnf eta aginduz “garden” esaten zaio yum. Gure helburuetarako ez baita haien artean desberdintasunik - adibideetan egongo da yum.

Eguneratu metadatuen cachea: sudo yum makecache

libtomath paketea E(xtra)P(ackages for)E(nterprise)L(inux) biltegi batean dago, beraz, dagoeneko sartuta dagoela egiaztatzen dugu:

yum -C repolist

"Cachetik bakarrik" aukera (-C edo --cache-only) alferrikako egiaztapenak eta deskargak kentzeko erabiltzen da, yum azkarrago eginez. Zerrendan epel biltegirik ez badago, instalatu eta eguneratu metadatuen cachea:

sudo yum install epel-release &&
sudo yum makecache

Eskaerak berresten ditugu, behar izanez gero, pgp gakoen balioak egiaztatzeko iturri fidagarri batetik ezagutzen direnekin.

https baliabideetatik biltegiaren metainformazioa kargatzeko arazoak izanez gero, editatu fitxategia /etc/yum.repos.d/epel.repo, ordezkatuz https:// on http:// eta errepikatu cachea eguneratzeko komandoa.

Beharrezko paketeen egoera egiaztatzen dugu (komandoa konplikatua da, adibideko irteeran 32 biteko paketea iragazten da):

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

Hori ikusten dugu curl, gzip и ncurses instalatzailearen sasi-biltegian ostatatuta (anaconda), eta tar – sistemaren gutxieneko instalaziotik kanpo utzita. Bertsio nagusiak libncurses и libtommath behar baino gehiago: 6 eta 1 5 eta 0 beharrean, hurrenez hurren. Pakete bera instalatuta eta eskuragarri badago, eguneratze bat kaleratu da. Instalatu falta diren paketeak:

sudo yum install 
libicu libtommath tar

Ubuntu 19

Utilitateak paketeak kudeatzeko diseinatuta daude apt, apt‑get и apt‑cache. Lehenengoa lan interaktiborako diseinatuta dago, eta azken biak scriptetan erabiltzeko diseinatuta daude. Paketeen izenak apur bat desberdinak dira eta bertsioa barne hartzen dute.

Beharrezko paketeen egoera egiaztatzen dugu (komandoa konbinatuta dago, adibideko irteera laburtu egiten da eta 32 biteko paketeak iragazten dira):

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]

Kortxeteek adierazten duten paketeak installed/upgradable – instalatuta. Eskuragarri baina instalatu gabe ncurses5, ordez curl instalatuta wget. Instalatu falta diren paketeak:

sudo apt‑get install 
libncurses5 libtommath1

Lotura sinbolikoak sortzea

Urteaz geroztik libtommath.so.1 и libncurses.so.6 atzerantz bateragarria libtommath.so.0 и libncurses.so.5, orduan Firebird-erako nahikoa da liburutegien dauden bertsioetarako esteka sinbolikoak sortzea.

dugu aurkitu libtommath.so.1 (libncurses.so.? direktorio berean dago):

find /usr -name libtommath.so.1

CentOS:

/usr/lib64/libtommath.so.1

Ubuntu:

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

Lotura sinbolikoak sortzen ditugu.

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

Ikus dezagun emaitza (komandoa konplikatua da, irteerako adibideak laburtzen dira):

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

Firebird DBMS banaketa kit deskargatzen.

Firebird proiektuaren webgune ofizialak (firebirdsql.org) estekak argitaratzen ditu bertsio "ofizialen" eta "eguneroko" eraikuntza (snapshot builds) banaketetarako.

Linux-eko bertsio ofizialak artxibo gisa (tar.gz) eta deb/rpm pakete gisa daude eskuragarri, baina eraikuntzak artxibo gisa soilik daude eskuragarri. "Instalatzaile generikoa" kontuan hartuko dugu (tar.gz-eko instalatzaile generikoa).

Eraikitze-artxiboa deskargatu eta despakitu egin behar da, baina bi prozesuak konbinatuko ditugu. Despaketatzea bertan egiten da /tmp,URL-k deskarga daitekeen artxiborako esteka adierazten du.

Kiribil:

curl -L URL | tar -zxC /tmp

wget:

wget -O– URL | tar -zxC /tmp

Lehenespenez curl deskargatutako datuak stdout-era bidaltzen ditu baina ez ditu birbideraketak kudeatzen eta " gehitzen dugu "‑L", a wget, aitzitik: birbideraketak kudeatzen ditu, baina datuak fitxategi batean idazten ditu eta " jartzen dugu "‑O‑" Izan ere tar erabilera adierazi gzip-iragazkia eta despaketatzea egingo den direktorioa. Prozesua amaitutakoan, honelako direktorio bat agertuko da Firebird‑3.0.5.33220‑0.amd64 hiru fitxategirekin: install.sh, buildroot.tar.gz и manifest.txt.

Firebird instalatzen

Aurretiazko prestaketan, sistemaren parametroaren balioa egokitu dugu vm.max_map_count, erabilgarritasuna egiaztatu eta ICU, ncurses eta tommath liburutegiak instalatu. Ziurtatu ncurses eta tommath-en bertsioak zuzenak direla (libncures.so.5 и libtommath.so.0) eta beharrezko lotura sinbolikoak sortu zituen.

Benetako instalazioa oso erraza da. Joan Firebird banaketa-artxiboa deskonprimitu zen direktoriora, egiaztatu eta, behar izanez gero, ezarri script-erako "exekutatu daitekeen" bandera. install.sh:

chmod +x install.sh

exekutatu instalazio scripta:

sudo ./install.sh

Sartu tekla sakatuz instalazioaren hasiera berresten dugu, eta eskaera jaso ondoren, sysdba pasahitza sartu.

Instalazio-scripta automatikoki hasten da systemd-unitatea firebird-superserver (Firebird 3.0 arkitektura isila). Firebird zerbitzuak superzerbitzariaren parametro lehenetsiekin funtzionatuko du: 2048 orrialdeko orrialde-cachea (datu-base bakoitzeko), 64 MB-ko ordenazio-buffer bat (partekatua) eta XNUMX bertsioko bezeroak soilik konektatzea. Ikusi aukerak firebird.conf:

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

Mesedez, kontuan izan balio berriak firebird.conf Firebird zerbitzua berrabiarazi ondoren bakarrik aktibatuko da.

Parametroen balioak hautatzerakoan, kontuan izan behar da hiru "kontsumitzaile" nagusi daudela: orrialdearen cachea (datu-baserako), ordenatzeko buffera (partekatua) eta zerbitzariak bezeroen konexioetarako esleitutako memoria. Lehenengo biak bakarrik kudeatu ditzakezu: bezeroen konexioetarako memoria kopurua cachean gordetako kontsulten, haien planen eta kontsultetan parte hartzen duten datu-baseko objektuen kopuruaren eta testuaren araberakoa da. Bezeroaren konexio-memoriaren estimazioak enpirikoki soilik egiten dira eta alda daitezke bezeroen aplikazioak eta/edo datu-baseko objektuak aldatzen diren heinean.

Memoria kopuru txikia duten ostalarietako superzerbitzari batentzat (12-16 GB arte), ez duzu RAM kopuru osoaren herena edo laurdena baino gehiago esleitu behar orrialdearen cacherako eta ordenatzeko buffererako.

Datu-baseen kopurua finkoa ez bada eta alda daitekeen, orrialdeen cache-memoriaren guztizko kopurua zerbitzarian egon daitekeen datu-baseen gehienezko kopuruarekin zatitu beharko litzateke. Orrialdearen cachearen tamaina orrietan zehazten da eta bereizita byte bihurtu behar da.

Arkitektura klasikora aldatzeko, gutxienez, esplizituki zehaztu behar duzu ServerMode в firebird.conf, murriztu orrialdearen cachea bertan (2K baino gehiago), murriztu ordenatzeko buffera (mota guztietako baimendutako bolumena gehienezko konexio kopuruarekin zatituta), desgaitu eta gelditu unitatea. firebird-superserver, gaitu eta abiarazi unitatea firebird-classic.socket.

Firebird 3.0-n arkitektura superklasikoa erabiltzeak ez du zentzu handirik: "fidagarritasuna" superzerbitzari bat eta ordenatzeko buffer orokor bera bezalakoa da. Ez dago orrialde-cache arruntik eta konexio desberdinak elkarren artean sinkronizatzeko "galerak" klasikoaren berdinak dira.

Gogoratu behar da Firebird 3.0-n parametro batzuk (orrien cachea, blokeatu fitxategien tamainak, hash-taulak eta beste batzuk) ezar daitezkeela. databases.conf datu-base bakoitzeko banaka. Superzerbitzari baterako erabilgarria da, adibidez, balio txiki bat ezartzea DefaultDbCachePages в firebird.conf eta instalatu orrialde indibidualaren cacheak beharrezko datu-baseetarako databases.conf.

Egin iruzkinetan artikuluari buruzko galderak edo idatzi gutunak gure laguntza-helbidera [posta elektroniko bidez babestua].

Iturria: www.habr.com

Gehitu iruzkin berria