์ด ๊ธฐ์ฌ์์๋ ์๋ก์ด Linux ๋ฐฐํฌํ์ Firebird DBMS ๋ฒ์ 3.0์ ์ต์ ์ผ๋ก ์ค์นํ๋ ๋ฐ ํ์ํ ์ต์ ์์ ์ธํธ์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์๋ก๋ CentOS 8 ๋ฐ Ubuntu 19๊ฐ ์ ํ๋์์ต๋๋ค.
Firebird ๋ฐฐํฌํ์ ๋์ ์์คํ
์ "์ ๋ฌ"ํ๊ธฐ ์ํด ์ด ๊ฐ์ด๋์์๋ ๊ณต์ ํ๋ก์ ํธ ์น์ฌ์ดํธ์ ๋งํฌ๋ฅผ ์ฌ์ฉํ์ฌ tar.gz ์์นด์ด๋ธ๋ฅผ ๋ค์ด๋ก๋ํ๋ ์ต์
์ ์ ํํฉ๋๋ค(
์ฐธ์์ฑ์ด ์๋ค๋ฉด ๋ฐ๋ก ์ ํฌ์ ์ฐธ์ฌํ์ธ์.
๋น ๋ฅธ ์ค์น
ํ์ผ ํธ์ง /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(
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