์ตœ์‹  Linux ๋ฒ„์ „์— Firebird 3 ์„ค์น˜: CentOS8 ๋ฐ Ubuntu 19

์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์ƒˆ๋กœ์šด Linux ๋ฐฐํฌํŒ์— Firebird DBMS ๋ฒ„์ „ 3.0์„ ์ตœ์ ์œผ๋กœ ์„ค์น˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ตœ์†Œ ์ž‘์—… ์„ธํŠธ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋กœ๋Š” CentOS 8 ๋ฐ Ubuntu 19๊ฐ€ ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Firebird ๋ฐฐํฌํŒ์„ ๋Œ€์ƒ ์‹œ์Šคํ…œ์— "์ „๋‹ฌ"ํ•˜๊ธฐ ์œ„ํ•ด ์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” ๊ณต์‹ ํ”„๋กœ์ ํŠธ ์›น์‚ฌ์ดํŠธ์˜ ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ tar.gz ์•„์นด์ด๋ธŒ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(Firebirdsql.org).

์ฐธ์„์„ฑ์ด ์—†๋‹ค๋ฉด ๋ฐ”๋กœ ์ „ํˆฌ์— ์ฐธ์—ฌํ•˜์„ธ์š”.

๋น ๋ฅธ ์„ค์น˜

ํŒŒ์ผ ํŽธ์ง‘ /etc/sysctl.conf๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•˜์—ฌ:

vm.max_map_count = 256000

ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ  ์„ค์ •์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

sudo sysctl -p /etc/sysctl.conf

CentOS 8๊ณผ Ubuntu 19์˜ ๊ฒฝ์šฐ ์ถ”๊ฐ€ ์ง€์นจ์ด ๋‹ค๋ฅด์ง€๋งŒ ะกะกะซะ›ะšะ ะธ ะšะะขะะ›ะžะ“ ๋ฐฐํฌํŒ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•œ ๊ณต์‹ Firebird ํ”„๋กœ์ ํŠธ ์›น์‚ฌ์ดํŠธ์˜ ๋งํฌ์™€ ๋‹ค์šด๋กœ๋“œ ํ”„๋กœ์„ธ์Šค ์ค‘์— ๋ฐฐํฌํŒ์˜ ์••์ถ•์ด ํ’€๋ฆด ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
ํ˜„์žฌ(2020๋…„ 3.0.5์›”) ์ตœ์‹  ๋ฆด๋ฆฌ์Šค๋Š” Firebird XNUMX(์—ฌ๊ธฐ ๋งํฌ๊ฐ€์žˆ๋‹ค. 64๋น„ํŠธ ๋ฒ„์ „์œผ๋กœ).

8 CentOS์—

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

์šฐ๋ถ„ํˆฌ 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๊ฐ€ ์ด๋ฏธ ์ตœ์†Œ ๋ฒ„์ „์œผ๋กœ ์„ค์น˜๋˜์–ด ์žˆ๊ณ  ๊ณต์šฉ ์ €์žฅ์†Œ ๋˜๋Š” ํ•ด๋‹น ๋กœ์ปฌ ๋ณต์‚ฌ๋ณธ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

๋…์ž๋Š” Linux ๋ฐ Firebird DBMS์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์‹์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ณ„ํš

DBMS ์„œ๋ฒ„์—์„œ๋Š” ์ž„์‹œ ํŒŒ์ผ(/tmp), ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ ๋ฐ ๋กœ์ปฌ ๋ฐฑ์—….

์ž„์‹œ ํŒŒ์ผ์—๋Š” ์ž ๊ธˆ ํŒŒ์ผ, ์ •๋ ฌ ํŒŒ์ผ, ๊ธ€๋กœ๋ฒŒ ์ž„์‹œ ํ…Œ์ด๋ธ”(GTT)์˜ "๊ตฌ์ฒดํ™”" ํŒŒ์ผ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ํ…Œ์ด๋ธ”์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ •๋ ฌ ๋ฐ ์ „์—ญ ์ž„์‹œ ํ…Œ์ด๋ธ”์šฉ ํŒŒ์ผ์€ ๋‹ค์Œ ์œ„์น˜์— ์žˆ์Šต๋‹ˆ๋‹ค. /tmp, mon$-ํ…Œ์ด๋ธ” ํŒŒ์ผ ๋ฐ ์ž ๊ธˆ ํŒŒ์ผ โ€“ /tmp/firebird.

์ •๋ ฌ ํŒŒ์ผ์ด "์‚ญ์ œ"๋ฉ๋‹ˆ๋‹ค(unlink) ์ƒ์„ฑ ์งํ›„์— ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก์—์„œ "๋ณผ ์ˆ˜" ์—†์œผ๋ฉฐ ํ”„๋กœ์„ธ์Šค ํ•ธ๋“ค ๋ชฉ๋ก์—์„œ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋‹ค์Œ์œผ๋กœ ํ‘œ์‹œ๋จ). deleted):

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

์˜์‚ฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ชฉ๋ก์—์„œ /proc/โ€ฆ/fd/ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ํ‘œ์‹œ๋˜๊ณ  ํŒŒ์ผ์— ๋Œ€ํ•œ ์‹ค์ œ ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

sudo stat -L /proc/`pgrep firebird`/fd/ะะžะœะ•ะ 

์–ด๋””์—์„œ ะะžะœะ•ะ  โ€“ ๊ด€์‹ฌ ํŒŒ์ผ์˜ ์„ค๋ช…์ž(์„ค๋ช…์ž).

"๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๋Œ€์‹ pgrep ะธัะฟะพะปะฝัะตะผั‹ะน-ั„ะฐะนะป"๊ด€์‹ฌ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์‹๋ณ„์ž๋ฅผ ์ฆ‰์‹œ โ€‹โ€‹๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž„์‹œ ํŒŒ์ผ์€ ๋งค์šฐ ํด ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ /tmp ์ตœ์†Œ 20~30GB๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ •๋ ฌ ํŒŒ์ผ์˜ ํฌ๊ธฐ๋Š” ์š”์ฒญ์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ๋˜๋Š” ์•”์‹œ์ ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ์˜ ์–‘์—๋งŒ ์˜์กดํ•˜๋ฉฐ ๋‹จ์ผ ์‚ฌ์šฉ์ž๋Š” ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ์˜ ์ž„์‹œ ํŒŒ์ผ์„ "์ƒ์„ฑ"ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ ์„น์…˜์€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์„ ์ˆ˜์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ์†Œํ•œ ๊ฐ€์žฅ ํฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์˜ ์‚ฌ๋ณธ. ์•ž์œผ๋กœ ๋ช‡ ๋…„ ๋™์•ˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์˜ ์ฆ๊ฐ€๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ ๋ฐฑ์—… ์„น์…˜์—๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐฑ์—… ์•„์นด์ด๋ธŒ์™€ ๊ฐ€์žฅ ํฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐฑ์—…์ด ํ•˜๋‚˜ ์ด์ƒ ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—๋Š” ๊ฐ€์žฅ ํฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณต์›ํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„๋„ ํฌํ•จํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค. ํ–ฅํ›„ ๋ช‡ ๋…„๊ฐ„ ๋ฐฑ์—… ๋ฐ ๋ฐฑ์—… ์•„์นด์ด๋ธŒ์˜ ์ฆ๊ฐ€๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋น„ ์ค€๋น„

Firebird 3.0 DBMS ์„œ๋ฒ„๋Š” ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•˜๊ณ  ํ•ด์ œํ•˜๋ฏ€๋กœ ์กฐ๊ฐํ™”๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋งŽ์€ ์ˆ˜์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์Šˆํผ์„œ๋ฒ„ ์—ฐ๊ฒฐ์„ ๋Š์€ ํ›„ ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์กฐ๊ฐํ™”๋Š” ์‹œ์Šคํ…œ ๋งค๊ฐœ๋ณ€์ˆ˜์— ์˜ํ•ด ์ œ์–ด๋ฉ๋‹ˆ๋‹ค. vm.max_map_count, ๊ธฐ๋ณธ๊ฐ’์€ 64K์ž…๋‹ˆ๋‹ค. ๊ฐ’์„ XNUMX๋ฐฐ๋กœ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

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 โ€“ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€ ์ž‘์—…์€ ์‹œ์Šคํ…œ๊ณผ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฏ€๋กœ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

8 CentOS์—

CentOS 8์€ ์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. dnf ๊ทธ๋ฆฌ๊ณ  ๋ช…๋ น์— ์˜ํ•ด "ํˆฌ๋ช…ํ•˜๊ฒŒ"๋ผ๊ณ  ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค. yum. ์šฐ๋ฆฌ์˜ ๋ชฉ์ ์ƒ ๊ทธ๋“ค ์‚ฌ์ด์—๋Š” ์ฐจ์ด๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์˜ˆ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. yum.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์บ์‹œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. sudo yum makecache

libtomath ํŒจํ‚ค์ง€๋Š” ๋ณ„๋„์˜ E(xtra)P(ackages for)E(nterprise)L(inux) ์ €์žฅ์†Œ์— ์žˆ์œผ๋ฏ€๋กœ ์ด๋ฏธ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

yum -C repolist

"์บ์‹œ์—์„œ๋งŒ" ์˜ต์…˜(-C ๋˜๋Š” --cache-only)๋Š” ๋ถˆํ•„์š”ํ•œ ํ™•์ธ๊ณผ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ yum์„ ๋” ๋น ๋ฅด๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ชฉ๋ก์— epel ์ €์žฅ์†Œ๊ฐ€ ์—†์œผ๋ฉด ์ด๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์บ์‹œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

sudo yum install epel-release &&
sudo yum makecache

ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์†Œ์Šค์—์„œ ์ด๋ฏธ ์•Œ๋ ค์ง„ pgp ํ‚ค ๊ฐ’์„ ํ™•์ธํ•˜์—ฌ ์š”์ฒญ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

https ๋ฆฌ์†Œ์Šค์—์„œ ์ €์žฅ์†Œ ๋ฉ”ํƒ€์ •๋ณด๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์‹ญ์‹œ์˜ค. /etc/yum.repos.d/epel.repo, ๊ต์ฒด https:// ์— http:// ์บ์‹œ ์—…๋ฐ์ดํŠธ ๋ช…๋ น์„ ๋ฐ˜๋ณตํ•˜์‹ญ์‹œ์˜ค.

ํ•„์š”ํ•œ ํŒจํ‚ค์ง€์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค(๋ช…๋ น์ด ๋ณต์žกํ•˜๋ฉฐ ์˜ˆ์ œ ์ถœ๋ ฅ์—์„œ๋Š” 32๋น„ํŠธ ํŒจํ‚ค์ง€๊ฐ€ ํ•„ํ„ฐ๋ง๋จ).

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

์šฐ๋ถ„ํˆฌ 19

์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ํŒจํ‚ค์ง€๋ฅผ ๊ด€๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. apt, aptโ€‘get ะธ aptโ€‘cache. ์ฒซ ๋ฒˆ์งธ๋Š” ๋Œ€ํ™”ํ˜• ์ž‘์—…์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ ๋งˆ์ง€๋ง‰ ๋‘ ๊ฐœ๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€ ์ด๋ฆ„์€ ์•ฝ๊ฐ„ ๋‹ค๋ฅด๋ฉฐ ๋ฒ„์ „์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ํŒจํ‚ค์ง€์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค(๋ช…๋ น์ด ๊ฒฐํ•ฉ๋˜๊ณ  ์˜ˆ์ œ ์ถœ๋ ฅ์ด ๋‹จ์ถ•๋˜๋ฉฐ 32๋น„ํŠธ ํŒจํ‚ค์ง€๊ฐ€ ํ•„ํ„ฐ๋ง๋จ).

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)์—์„œ๋Š” "๊ณต์‹" ๋ฆด๋ฆฌ์Šค ๋ฐ "์ผ์ผ" ๋นŒ๋“œ(์Šค๋ƒ…์ƒท ๋นŒ๋“œ) ๋ฐฐํฌ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค.

๊ณต์‹ Linux ๋ฆด๋ฆฌ์Šค๋Š” ์•„์นด์ด๋ธŒ(tar.gz) ๋ฐ deb/rpm ํŒจํ‚ค์ง€๋กœ ์ œ๊ณต๋˜์ง€๋งŒ ๋นŒ๋“œ๋Š” ์•„์นด์ด๋ธŒ๋กœ๋งŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” "์ผ๋ฐ˜ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ"(tar.gz์˜ ์ผ๋ฐ˜ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ)์„ ๊ณ ๋ คํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋นŒ๋“œ ์•„์นด์ด๋ธŒ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์••์ถ•์„ ํ’€์–ด์•ผ ํ•˜์ง€๋งŒ ๋‘ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฐํ•ฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํฌ์žฅ ํ’€๊ธฐ๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. /tmp,URL์€ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ์•„์นด์ด๋ธŒ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๊ณฑ์Šฌ ๊ณฑ์Šฌํ•˜๋‹ค:

curl -L URL | tar -zxC /tmp

wget :

wget -Oโ€“ URL | tar -zxC /tmp

๊ธฐ๋ณธ์ ์œผ๋กœ curl ๋‹ค์šด๋กœ๋“œํ•œ ๋ฐ์ดํ„ฐ๋ฅผ stdout์œผ๋กœ ๋ณด๋‚ด์ง€๋งŒ ๋ฆฌ๋””๋ ‰์…˜์„ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉฐ "โ€‘L"๊ทธ๋ฆฌ๊ณ  wget, ๋ฐ˜๋Œ€๋กœ: ๋ฆฌ๋””๋ ‰์…˜์„ ์ฒ˜๋ฆฌํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์— ์“ฐ๊ณ  "โ€‘Oโ€‘" ์„ ์œ„ํ•œ tar ์šฉ๋„๋ฅผ ํ‘œ์‹œํ•˜๋‹ค gzip-filter ๋ฐ ์••์ถ• ํ’€๊ธฐ๊ฐ€ ์ˆ˜ํ–‰๋  ๋””๋ ‰ํ„ฐ๋ฆฌ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. Firebirdโ€‘3.0.5.33220โ€‘0.amd64 ์„ธ ๊ฐœ์˜ ํŒŒ์ผ๋กœ: install.sh, buildroot.tar.gz ะธ manifest.txt.

ํŒŒ์ด์–ด๋ฒ„๋“œ ์„ค์น˜

์‚ฌ์ „ ์ค€๋น„ ๊ณผ์ •์—์„œ ์‹œ์Šคํ…œ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์„ ์กฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. vm.max_map_count, ๊ฐ€์šฉ์„ฑ์„ ํ™•์ธํ•˜๊ณ  ICU, ncurses ๋ฐ tommath ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ncurses ๋ฐ tommath์˜ ๋ฒ„์ „์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•˜์„ธ์š”(libncures.so.5 ะธ libtommath.so.0) ํ•„์š”ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ์„ค์น˜๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. Firebird ๋ฐฐํฌ ์•„์นด์ด๋ธŒ์˜ ์••์ถ•์ด ํ’€๋ฆฐ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•˜์—ฌ ํ™•์ธํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ "์‹คํ–‰ ๊ฐ€๋Šฅ" ์Šคํฌ๋ฆฝํŠธ ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค. install.sh:

chmod +x install.sh

์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

sudo ./install.sh

Enter ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ์„ค์น˜ ์‹œ์ž‘์„ ํ™•์ธํ•˜๊ณ  ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด sysdba ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. systemd-๋‹จ์œ„ firebird-superserver (์ž๋™ Firebird 3.0 ์•„ํ‚คํ…์ฒ˜). Firebird ์„œ๋น„์Šค๋Š” ์Šˆํผ์„œ๋ฒ„์˜ ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜์ธ 2048ํŽ˜์ด์ง€์˜ ํŽ˜์ด์ง€ ์บ์‹œ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‹น), 64MB์˜ ์ •๋ ฌ ๋ฒ„ํผ(๊ณต์œ ) ๋ฐ ๋ฒ„์ „ XNUMX ํด๋ผ์ด์–ธํŠธ๋งŒ ์—ฐ๊ฒฐํ•˜์—ฌ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์˜ต์…˜ ๋ณด๊ธฐ firebird.conf:

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

์ƒˆ๋กœ์šด ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. firebird.conf Firebird ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•œ ํ›„์—๋งŒ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์„ ์„ ํƒํ•  ๋•Œ ํŽ˜์ด์ง€ ์บ์‹œ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์šฉ), ์ •๋ ฌ ๋ฒ„ํผ(๊ณต์œ ) ๋ฐ ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ์„œ๋ฒ„์—์„œ ํ• ๋‹นํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ผ๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” "์†Œ๋น„์ž"๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ ๋‘ ๊ฐœ๋งŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์„ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์–‘์€ ์บ์‹œ๋œ ์ฟผ๋ฆฌ์˜ ์ˆ˜์™€ ํ…์ŠคํŠธ, ์ฟผ๋ฆฌ ๊ณ„ํš ๋ฐ ์ฟผ๋ฆฌ์™€ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ์ฒด์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ๋ฉ”๋ชจ๋ฆฌ ์ถ”์ •์น˜๋Š” ๊ฒฝํ—˜์ ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง€๋ฉฐ ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ/๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ์ฒด๊ฐ€ ๋ณ€๊ฒฝ๋จ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ ์€ ์–‘์˜ ๋ฉ”๋ชจ๋ฆฌ(์ตœ๋Œ€ 12-16GB)๊ฐ€ ์žˆ๋Š” ํ˜ธ์ŠคํŠธ์˜ ์Šˆํผ์„œ๋ฒ„์˜ ๊ฒฝ์šฐ ํŽ˜์ด์ง€ ์บ์‹œ ๋ฐ ์ •๋ ฌ ๋ฒ„ํผ์— ์ด RAM ์–‘์˜ XNUMX/XNUMX ๋˜๋Š” XNUMX๋ถ„์˜ XNUMX ์ด์ƒ์„ ํ• ๋‹นํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ์ง€ ์•Š๊ณ  ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ํŽ˜์ด์ง€ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ด๋Ÿ‰์„ ์„œ๋ฒ„์— ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€ ์บ์‹œ์˜ ํฌ๊ธฐ๋Š” ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ์ง€์ •๋˜๋ฉฐ ๋ณ„๋„๋กœ ๋ฐ”์ดํŠธ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ž˜์‹ ์•„ํ‚คํ…์ฒ˜๋กœ ์ „ํ™˜ํ•˜๋ ค๋ฉด ์ตœ์†Œํ•œ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ServerMode ะฒ firebird.conf, ํŽ˜์ด์ง€ ์บ์‹œ๋ฅผ ์ค„์ด๊ณ (2K ์ดํ•˜), ์ •๋ ฌ ๋ฒ„ํผ๋ฅผ ์ค„์ด๊ณ (๋ชจ๋“  ์ •๋ ฌ์˜ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ์ด ๋ณผ๋ฅจ์„ ์ตœ๋Œ€ ์—ฐ๊ฒฐ ์ˆ˜๋กœ ๋‚˜๋ˆˆ ๊ฐ’), ์žฅ์น˜๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. firebird-superserver, ์žฅ์น˜ ํ™œ์„ฑํ™” ๋ฐ ์‹œ์ž‘ firebird-classic.socket.

Firebird 3.0์—์„œ ์Šˆํผํด๋ž˜์‹ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ทธ๋‹ค์ง€ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. "์‹ ๋ขฐ์„ฑ"์€ ์Šˆํผ์„œ๋ฒ„ ๋ฐ ๋™์ผํ•œ ์ผ๋ฐ˜ ์ •๋ ฌ ๋ฒ„ํผ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ณตํ†ต ํŽ˜์ด์ง€ ์บ์‹œ๊ฐ€ ์—†์œผ๋ฉฐ ์„œ๋กœ ๋‹ค๋ฅธ ์—ฐ๊ฒฐ์„ ๋™๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•œ "์†์‹ค"์€ ๊ธฐ์กด ์บ์‹œ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

Firebird 3.0์—์„œ๋Š” ์ผ๋ถ€ ๋งค๊ฐœ๋ณ€์ˆ˜(ํŽ˜์ด์ง€ ์บ์‹œ, ์ž ๊ธˆ ํŒŒ์ผ ํฌ๊ธฐ, ํ•ด์‹œ ํ…Œ์ด๋ธ” ๋“ฑ)๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. databases.conf ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งˆ๋‹ค ๊ฐœ๋ณ„์ ์œผ๋กœ. ์Šˆํผ์„œ๋ฒ„์˜ ๊ฒฝ์šฐ ์˜ˆ๋ฅผ ๋“ค์–ด ์ž‘์€ ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. DefaultDbCachePages ะฒ firebird.conf ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๊ฐœ๋ณ„ ํŽ˜์ด์ง€ ์บ์‹œ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. databases.conf.

๋Œ“๊ธ€๋กœ ๊ธฐ์‚ฌ์— ๋Œ€ํ•ด ์งˆ๋ฌธํ•˜๊ฑฐ๋‚˜ ์ง€์› ์ฃผ์†Œ๋กœ ํŽธ์ง€๋ฅผ ์“ฐ์„ธ์š”. [์ด๋ฉ”์ผ ๋ณดํ˜ธ].

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€