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 (
Pazientziarik handiena dutenentzat, zoaz zuzenean borrokara:
Instalazio azkarra
Fitxategia editatzen /etc/sysctl.conf
lerroa 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 (
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