د لینکس په عصري نسخو کې د Firebird 3 نصب کول: CentOS8 او Ubuntu 19

پدې مقاله کې به موږ د نوي لینکس توزیعونو کې د Firebird DBMS نسخه 3.0 مطلوب نصبولو لپاره اړین اقداماتو لږترلږه سیټ تشریح کړو. CentOS 8 او اوبنټو 19 د مثالونو لپاره غوره شوي.

هدف سیسټم ته د Firebird توزیع "وړاندې کولو" لپاره، پدې لارښود کې، د tar.gz آرشیف ډاونلوډ کولو اختیار د پروژې رسمي ویب پاڼې څخه د لینک په کارولو سره غوره شوی (firebirdsql.org).

د ډیری بې صبرۍ لپاره، مستقیم جنګ ته لاړ شئ:

ګړندی نصب

د فایل ترمیم کول /etc/sysctl.confد کرښې په اضافه کولو سره:

vm.max_map_count = 256000

فایل خوندي کړئ او تنظیمات پلي کړئ:

sudo sysctl -p /etc/sysctl.conf

نور لارښوونې د CentOS 8 او Ubuntu 19 لپاره توپیر لري، مګر ССЫЛКА и КАТАЛОГ د توزیع ډاونلوډ کولو لپاره د رسمي فائر برډ پروژې ویب پا fromې څخه لینک په ګوته کړئ او هغه لارښود چې په کوم کې چې توزیع به د ډاونلوډ پروسې په جریان کې خلاص شي.
اوس مهال (مارچ 2020) اوسنی ریلیز د Firebird 3.0.5 دی (دلته لینک دی د 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

د Firebird DBMS اصلي نصب کول:

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

که تاسو غواړئ ښه پوه شئ چې دا کړنې څه کوي، ولولئ.

اصلي برخه

یوه لنډه تمثیل

داسې انګیرل کیږي چې OS لا دمخه په لږترلږه نسخه کې نصب شوی او عامه ذخیره کولو یا د دوی محلي کاپيونو ته لاسرسی تنظیم شوی.

داسې انګیرل کیږي چې لوستونکی د لینکس او فایربرډ DBMS لومړني پوهه لري.

پلان جوړونه

د DBMS سرور کې دا سپارښتنه کیږي چې د لنډمهاله فایلونو لپاره جلا برخې تخصیص کړي (/tmp)، د ډیټابیس فایلونه او محلي بیک اپ.

په لنډمهاله کې د فایلونو بندول، د فایلونو ترتیب کول، د نړیوال لنډمهاله میزونو (GTT) د "مادي کولو" فایلونه او د څارنې میزونه شامل دي. د ترتیب کولو او نړیوال لنډمهاله جدولونو فایلونه په کې موقعیت لري /tmp, mon$-table فایلونه او لاک فایلونه – in /tmp/firebird.

د فایلونو ترتیب کول "حذف شوي" دي (unlink) د جوړیدو سمدلاسه وروسته ، نو دوی نشي کولی د لارښود لیست کې "لیدل" شي - یوازې د پروسې لاسوندونو لیست کې (په نښه شوی deleted):

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

د pseudo لارښود لیست کې /proc/…/fd/ symlinks ښودل شوي، او د فایل په اړه حقیقي معلومات د دې لخوا ورکول کیږي:

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

چې НОМЕР - د ګټو د فایل تشریح کونکی (تفصیل کوونکی).

د زنګ وهلو پر ځای "pgrep исполняемый-файл"تاسو کولی شئ سمدلاسه د ګټو پروسې پیژندونکی ځای په ځای کړئ.

لنډمهاله فایلونه خورا لوی کیدی شي، نو /tmp دا سپارښتنه کیږي چې لږترلږه 20-30 GB تخصیص کړي. دا باید په پام کې ونیول شي چې د فایلونو ترتیب کولو اندازه یوازې د ډیټا مقدار پورې اړه لري چې په غوښتنه کې په واضح ډول یا په واضح ډول ترتیب شوي ، او یو واحد کارونکی کولی شي د لنډمهاله فایلونو ګیګابایټ "جوړ کړي".

د ډیټابیس فایلونو برخه باید ټول ډیټابیس فایلونه ځای په ځای کړي. پلس، لږترلږه، د ډیټابیس ترټولو لوی فایل کاپي. دا اړینه ده چې په راتلونکي کې د راتلونکو څو کلونو لپاره د ډیټابیس فایلونو وده په پام کې ونیول شي.

د محلي بیک اپ برخه باید د ټولو ډیټابیسونو لږترلږه یو بیک اپ آرشیف او د لوی ډیټابیس بیک اپ ولري. دا د پام وړ ده چې پدې برخه کې د لوی ډیټابیس بیا رغولو لپاره ځای هم شتون لري. په راتلونکي کې د څو کلونو لپاره د بیک اپ او بیک اپ آرشیفونو وده باید په پام کې ونیول شي.

لومړني چمتوالی

د Firebird 3.0 DBMS سرور په متحرک ډول د سیسټم حافظه تخصیص او آزادوي ، کوم چې کولی شي د دې ټوټې کیدو لامل شي. د مثال په توګه، وروسته له دې چې یو لوی شمیر کاروونکي په یوځل کې د سوپرسرور څخه منحل شي، د نوي اړیکو جوړولو په وخت کې غلطی واقع کیدی شي.

د حافظې ټوټې کول د سیسټم پیرامیټر لخوا کنټرول کیږي vm.max_map_count، ډیفالټ 64K دی. دا سپارښتنه کیږي چې خپل ارزښت څلور چنده زیات کړي:

sudo sysctl vm.max_map_count=256000

نو د دې لپاره چې نوی ارزښت تنظیم شي کله چې سیسټم ریبوټ شي ، فایل ته اضافه کړئ /etc/sysctl.conf کرښه:

vm.max_map_count = 256000

دا مشوره ورکول کیږي چې تبصره وکړئ ترڅو د دې پیرامیټر بدلولو دلیل روښانه شي. تاسو کولی شئ لومړی فایل ترمیم کړئ او بیا پدې کې خوندي شوي تنظیمات پلي کړئ:

sudo sysctl -p /etc/sysctl.conf

د اړتیا وړ کڅوړو نصب کول

د Firebird 3.0 Linux DBMS اجرا وړ فایلونه د ncurses کتابتونونو پورې اړه لري (libncurses.so.5)، ICU (د نسخې سره تړلی نه دی او په محصول کې نه ښودل شوی ldd) او تومات(libtommath.so.0). د مجلس آرشیف ډاونلوډ او خلاصولو لپاره ، تاسو به اسانتیاو ته اړتیا ولرئ gzip, tar и curl او یا wget. د ICU نسخې، gzip, tar и curl/wget - بې ارزښته دي.

د کڅوړو سره کار کول په سیسټم او د بسته بندۍ مدیر پورې اړه لري چې په سیسټم کې کارول کیږي، نو موږ به یې یو له بل سره په پام کې ونیسو.

CentOS 8

CentOS 8 د نوي کڅوړې مدیر کاروي - dnf او دا د قوماندې لخوا "شفافه" بلل کیږي yum. ځکه چې زموږ د موخو لپاره د دوی ترمنځ هیڅ توپیر نشته - په مثالونو کې به وي yum.

د میټاډاټا کیچ تازه کړئ: sudo yum makecache

د libtomath کڅوړه په جلا E(xtra)P(ackages for)E(nterprise)L(inux) ذخیره کې موقعیت لري، نو موږ ګورو چې دا دمخه شامل دی:

yum -C repolist

اختیار "یوازې د زیرمې څخه" (-C او یا --cache-only) د غیر ضروري چکونو او ډاونلوډونو له مینځه وړو لپاره کارول کیږي، یوم ګړندی کوي. که په لیست کې د ایپل ذخیره شتون نلري، دا نصب کړئ او د میټاډاټا کیچ تازه کړئ:

sudo yum install epel-release &&
sudo yum makecache

موږ غوښتنې تایید کوو، که اړتیا وي، د pgp کلیدونو ارزښتونه د هغو کسانو سره چک کړئ چې دمخه یې د باوري سرچینې څخه پیژندل شوي.

که چیرې د https سرچینو څخه د ذخیره میټین معلوماتو بارولو کې ستونزې شتون ولري ، نو فایل سم کړئ /etc/yum.repos.d/epel.repo، ځای په ځای کول https:// په http:// او د کیچ تازه کولو کمانډ تکرار کړئ.

موږ د اړتیا وړ کڅوړو حالت ګورو (قومانده پیچلې ده، د مثال په توګه د 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

موږ دا ګورو curl, gzip и ncurses په انسټالر سیوډو-ریپوزیټری کې کوربه شوی (anaconda) ، او tar - د لږترلږه سیسټم نصبولو څخه خارج شوی. مهمې نسخې libncurses и libtommath له اړتیا څخه ډیر: په ترتیب سره د 6 او 1 پرځای 5 او 0. که ورته کڅوړه دواړه نصب او شتون ولري ، نو د دې لپاره تازه خپور شوی. ورک شوي کڅوړې نصب کړئ:

sudo yum install 
libicu libtommath tar

Ubuntu 19

اسانتیاوې د کڅوړو اداره کولو لپاره ډیزاین شوي apt, apt‑get и apt‑cache. لومړی د متقابل کار لپاره ډیزاین شوی ، او وروستي دوه یې په سکریپټونو کې د کارولو لپاره ډیزاین شوي. د کڅوړې نومونه یو څه توپیر لري او نسخه پکې شامله ده.

موږ د اړتیا وړ کڅوړو حالت ګورو (کمانډ یوځای شوی، د مثال محصول لنډ شوی، او 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]

بستې چې د مربع قوسونه په ګوته کوي installed/upgradable - نصب شوی. شتون لري مګر نصب شوی ندي ncurses5، پرځای د curl لګول شوی wget. ورک شوي کڅوړې نصب کړئ:

sudo apt‑get install 
libncurses5 libtommath1

د سیملنک جوړول

د libtommath.so.1 и libncurses.so.6 سره مطابقت لري libtommath.so.0 и libncurses.so.5، بیا د Firebird لپاره دا کافي ده چې د کتابتونونو موجوده نسخو ته سم لینکونه رامینځته کړئ.

موږ موندلو libtommath.so.1 (libncurses.so.? په ورته لارښود کې موقعیت لري):

find /usr -name libtommath.so.1

CentOS:

/usr/lib64/libtommath.so.1

اوبنټو:

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

موږ سم لینکونه جوړوو.

CentOS:

sudo ln -s libtommath.so.1 
/usr/lib64/libtommath.so.0
sudo ln -s libncurses.so.6 
/usr/lib64/libncurses.so.5

اوبنټو:

sudo ln -s libtommath.so.1 
/usr/lib/x86_64-linux-gnu/libtommath.so.0

راځئ چې پایله وګورو (قومانده پیچلې ده، د محصول مثالونه لنډ شوي):

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*

اوبنټو:

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 توزیع کټ ډاونلوډ کول.

د Firebird پروژې رسمي ویب پاڼه (firebirdsql.org) د "رسمي" خپرونو او "ورځنیو" جوړونو (سنیپ شاټ جوړونه) د توزیع لپاره لینکونه خپروي.

د لینکس رسمي خپرونه د آرشیفونو (tar.gz) او deb/rpm کڅوړو په توګه شتون لري، مګر جوړونه یوازې د آرشیف په توګه شتون لري. موږ به "جنریک انسټالر" په پام کې ونیسو (د tar.gz څخه عمومي انسټالر).

د جوړونې آرشیف باید ډاونلوډ او پاک شي، مګر موږ به دواړه پروسې سره یوځای کړو. خلاصول په کې ترسره کیږي /tmp,URL د ډاونلوډ وړ آرشیف ته لینک په ګوته کوي.

curl:

curl -L URL | tar -zxC /tmp

ویجټ:

wget -O– URL | tar -zxC /tmp

په تلواله curl ډاونلوډ شوي ډاټا stdout ته لیږي مګر بیا لارښوونې نه اداره کوي او موږ اضافه کوو "‑L"، الف wget، برعکس: لارښوونې اداره کوي ، مګر فایل ته ډیټا لیکي او موږ یې ورکوو "‑O‑" لپاره tar کارول په ګوته کوي gzip- فلټر او هغه ډایرکټر چې په هغه کې به پیک کول ترسره کیږي. کله چې پروسه بشپړه شي، د دې په څیر یو لارښود به ښکاره شي Firebird‑3.0.5.33220‑0.amd64 د دریو فایلونو سره: install.sh, buildroot.tar.gz и manifest.txt.

د Firebird نصب کول

د لومړني چمتووالي په جریان کې ، موږ د سیسټم پیرامیټر ارزښت تنظیم کړ vm.max_map_count، د شتون لپاره چک شوي او د ICU، ncurses او tommath کتابتونونه نصب شوي. ډاډ ترلاسه کړئ چې د ncurses او tommath نسخې سمې دي (libncures.so.5 и libtommath.so.0) او اړین سیملنکونه یې جوړ کړل.

اصلي نصب خورا ساده دی. هغه لارښود ته لاړشئ چیرې چې د فایربرډ توزیع آرشیف خلاص شوی و ، چیک کړئ او که اړتیا وي ، د سکریپټ لپاره د "عملي کیدو وړ" بیرغ تنظیم کړئ install.sh:

chmod +x install.sh

د نصب کولو سکریپټ چلول:

sudo ./install.sh

د Enter کیلي په فشارولو سره موږ د نصب پیل تایید کوو، او د غوښتنې په ترلاسه کولو سره، د sysdba پټنوم دننه کړئ.

د نصب کولو سکریپټ په اوتومات ډول پیل کیږي systemd- واحد firebird-superserver (خاموش فایربرډ 3.0 جوړښت). د Firebird خدمت به د سوپرسرور لپاره د ډیفالټ پیرامیټونو سره کار وکړي: د 2048 مخونو یوه پاڼه کیچ (په هر ډیټابیس) ، د 64 MB ترتیب بفر (شریک شوی) او یوازې د XNUMX پیرودونکو سره وصل کول. اختیارونه وګورئ firebird.conf:

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

مهرباني وکړئ په یاد ولرئ چې د نوي ارزښتونو څخه firebird.conf یوازې د Firebird خدمت بیا پیل کولو وروسته به فعال شي.

کله چې د پیرامیټرو ارزښتونو غوره کول، دا باید په پام کې ونیول شي چې درې اصلي "مصرف کوونکي" شتون لري: د پاڼې زیرمه (د ډیټابیس لپاره)، د ترتیب کولو بفر (شریک) او د سرور لخوا د مراجعینو اړیکو لپاره تخصیص شوی حافظه. تاسو کولی شئ یوازې لومړی دوه اداره کړئ - د پیرودونکي اړیکې لپاره د حافظې مقدار د زیرمه شوي پوښتنو شمیر او متن پورې اړه لري ، د دوی پلانونه او ډیټابیس توکي چې په پوښتنو کې ښکیل دي. د پیرودونکي پیوستون حافظې اټکلونه یوازې په تجربه سره رامینځته شوي او ممکن د پیرودونکي غوښتنلیکونو او / یا ډیټابیس شیانو بدلیدو سره بدل شي.

په کوربه کې د سوپرسرور لپاره چې لږ مقدار حافظه لري (تر 12-16 GB پورې)، تاسو باید د پاڼې کیچ او ترتیب بفر لپاره د RAM ټول مقدار له دریمې یا څلورمې برخې څخه ډیر تخصیص نه کړئ.

که چیرې د ډیټابیسونو شمیر ثابت نه وي او بدلون ومومي، د پاڼې کیچ حافظې ټول مقدار باید د ډیټابیسونو اعظمي شمیر سره وویشل شي چې په سرور کې کیدی شي. د پاڼې کیچ اندازه په پاڼو کې مشخص شوې او باید په جلا توګه په بایټ کې بدل شي.

د کلاسیک معمارۍ ته د بدلولو لپاره، تاسو باید لږترلږه، په واضح ډول مشخص کړئ ServerMode в firebird.conf، هلته د پاڼې زیرمه کمه کړئ (له 2K څخه ډیر نه وي) ، د ترتیب بفر کم کړئ (د ټولو ډولونو ټول اجازه وړ حجم د ډیری ارتباطاتو لخوا ویشل شوی) ، واحد غیر فعال کړئ او بند کړئ firebird-superserver، یونټ فعال او پیل کړئ firebird-classic.socket.

په Firebird 3.0 کې د سوپر کلاسیک جوړښت کارول ډیر معنی نلري: "باوریت" د سوپرسرور او ورته عمومي ترتیب بفر په څیر دی. د پاڼې عام زیرمه شتون نلري او د یو بل سره د مختلف اړیکو همغږي کولو لپاره "ضررونه" د کلاسیک په څیر ورته دي.

دا باید په یاد ولرئ چې په Firebird 3.0 کې ځینې پیرامیټونه (د پاڼې کیچ، د فایل اندازه، د هش میزونه او ځینې نور) تنظیم کیدی شي. databases.conf په انفرادي ډول د هر ډیټابیس لپاره. د سپرسرور لپاره دا ګټور دی، د بیلګې په توګه، یو کوچنی ارزښت ټاکل DefaultDbCachePages в firebird.conf او د اړتیا وړ ډیټابیسونو لپاره د انفرادي پاڼې کیچ نصب کړئ databases.conf.

په نظرونو کې د مقالې په اړه پوښتنې وکړئ، یا زموږ د ملاتړ پتې ته لیکونه ولیکئ [ایمیل خوندي شوی].

سرچینه: www.habr.com

Add a comment