Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π‘Π£ΠΠ Firebird Π²Π΅ΡΡΠΈΠΈ 3.0 Π½Π° Π½ΠΎΠ²ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Linux. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²ΡΠ±ΡΠ°Π½Ρ 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) Π°ΠΊΡΡΠ°Π»Π΅Π½ ΡΠ΅Π»ΠΈΠ· Firebird 3.0.5 (
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:
cd /tmp/ΠΠΠ’ΠΠΠΠ
sudo ./install.sh
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΡΠ΅Π³ΠΎ ΡΠ»ΡΠΆΠ°Ρ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ β ΡΠΈΡΠ°ΠΉΡΠ΅ Π΄Π°Π»ΡΡΠ΅.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°ΡΡΡ
ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠ΅Π°ΠΌΠ±ΡΠ»Π°
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠΆΠ΅ ΠΠ‘ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ ΠΈΠ»ΠΈ ΠΊ ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΏΠΈΡΠΌ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Ρ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ Linux ΠΈ, Π‘Π£ΠΠ Firebird.
ΠΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π‘Π£ΠΠ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² (/tmp
), ΡΠ°ΠΉΠ»ΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½ΡΡ
ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π±ΡΠΊΠ°ΠΏΠΎΠ².
Π Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ lock-ΡΠ°ΠΉΠ»Ρ, ΡΠ°ΠΉΠ»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ, ΡΠ°ΠΉΠ»Ρ Β«ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΒ» Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ°Π±Π»ΠΈΡ (GTT) ΠΈ ΡΠ°Π±Π»ΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π€Π°ΠΉΠ»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ°Π±Π»ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² /tmp
, ΡΠ°ΠΉΠ»Ρ mon$-ΡΠ°Π±Π»ΠΈΡ ΠΈ lock-ΡΠ°ΠΉΠ»Ρ β Π² /tmp/firebird
.
Π€Π°ΠΉΠ»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ Β«ΡΠ΄Π°Π»ΡΡΡΡΡΒ» (unlink
) ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡ
Π½Π΅Π»ΡΠ·Ρ Β«ΡΠ²ΠΈΠ΄Π΅ΡΡΒ» Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° β ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ (handles) ΠΏΡΠΎΡΠ΅ΡΡΠ° (ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΊΠ°ΠΊ deleted
):
sudo ls -lhF /proc/`pgrep firebird`/fd
Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° /proc/β¦/fd/
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠΈΠΌΠ»ΠΈΠ½ΠΊΠΈ, Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΉΠ»Π΅ Π΄Π°ΡΡ:
sudo stat -L /proc/`pgrep firebird`/fd/ΠΠΠΠΠ
Π³Π΄Π΅ ΠΠΠΠΠ
β ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ (Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ) ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π° Β«pgrep ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ-ΡΠ°ΠΉΠ»
Β» ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ΠΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ /tmp
ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠ΄Π΅Π»ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20-30 ΠΠ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ
, ΡΠ²Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠ²Π½ΠΎ ΡΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ
Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΠΈ ΠΎΠ΄ΠΈΠ½-Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Β«ΡΠΎΠ·Π΄Π°ΡΡΒ» Π³ΠΈΠ³Π°Π±Π°ΠΉΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
Π Π°Π·Π΄Π΅Π» Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ Π²ΡΠ΅Ρ Π±Π°Π·. ΠΏΠ»ΡΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΊΠΎΠΏΠΈΡ ΡΠ°ΠΉΠ»Π° ΡΠ°ΠΌΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±Π°Π·Ρ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π±Π°Π· Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π²ΠΏΠ΅ΡΡΠ΄.
Π Π°Π·Π΄Π΅Π» Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π±ΡΠΊΠ°ΠΏΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΌΠ΅ΡΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π°ΡΡ ΠΈΠ²Ρ Π±ΡΠΊΠ°ΠΏΠΎΠ² Π²ΡΠ΅Ρ Π±Π°Π· ΠΏΠ»ΡΡ Π±ΡΠΊΠ°ΠΏ ΡΠ°ΠΌΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±Π°Π·Ρ. ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π½Π° ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π±ΡΠ»ΠΎ ΠΈ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±Π°Π·Ρ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠΎΡΡ Π±ΡΠΊΠ°ΠΏΠΎΠ² ΠΈ Π°ΡΡ ΠΈΠ²ΠΎΠ² Π±ΡΠΊΠ°ΠΏΠΎΠ² Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π²ΠΏΠ΅ΡΡΠ΄.
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°
Π‘Π΅ΡΠ²Π΅Ρ Π‘Π£ΠΠ Firebird 3.0 Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π΅Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅ Π΅Π΄ΠΈΠ½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡ ΡΡΠΏΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ .
Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ 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 Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ncurses (libncurses.so.5
), ICU (Π±Π΅Π· ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ Π²Π΅ΡΡΠΈΠΈ ΠΈ Π±Π΅Π· ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π²ΡΠ²ΠΎΠ΄Π΅ ldd
) ΠΈ tommath (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
) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΡΠΊΠΎΡΠΈΠ² ΡΠ°Π±ΠΎΡΡ 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
Ubuntu 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
Ubuntu:
/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
Ubuntu:
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*
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.
ΠΠ° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Firebird (firebirdsql.org) ΠΏΡΠ±Π»ΠΈΠΊΡΡΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Β«ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ Β» Π²ΡΠΏΡΡΠΊΠΎΠ² (releases) ΠΈ Β«Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΡ Β» ΡΠ±ΠΎΡΠΎΠΊ (snapshot build).
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π²ΡΠΏΡΡΠΊΠΈ Π΄Π»Ρ Π»ΠΈΠ½ΡΠΊΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² Π²ΠΈΠ΄Π΅ Π°ΡΡ ΠΈΠ²ΠΎΠ² (tar.gz) ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² deb/rpm, Π° ΡΠ±ΠΎΡΠΊΠΈ β ΡΠΎΠ»ΡΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ Π°ΡΡ ΠΈΠ²ΠΎΠ². ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Β«ΠΎΠ±ΡΠΈΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΒ» (generic installer ΠΈΠ· tar.gz).
ΠΡΡ
ΠΈΠ² ΡΠ±ΠΎΡΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ, Π½ΠΎ ΠΌΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΠΎΠ±Π° ΡΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠ°. Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π΄Π΅Π»Π°Π΅ΡΡΡ Π² /tmp
, URL ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠΉ Π°ΡΡ
ΠΈΠ².
curl:
curl -L URL | tar -zxC /tmp
wget:
wget -Oβ URL | tar -zxC /tmp
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ curl
ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Β«β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
) ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠΈΠΌΠ»ΠΈΠ½ΠΊΠΈ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΊΡΠ΄Π° Π±ΡΠ» ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½ Π°ΡΡ
ΠΈΠ² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Firebird, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΈ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ»Π°Π³ Β«ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉΒ» ΡΠΊΡΠΈΠΏΡΡ install.sh
:
chmod +x install.sh
Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΠ½ΡΡΠ°Π»ΡΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ:
sudo ./install.sh
Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ Enter ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΠΌ Π½Π°ΡΠ°Π»ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π° ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ° β Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠ°ΡΠΎΠ»Ρ sysdba.
Π‘ΠΊΡΠΈΠΏΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ systemd
-ΡΠ½ΠΈΡ firebird-superserver
(ΡΠΌΠ°Π»ΡΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° Firebird 3.0). Π‘Π΅ΡΠ²ΠΈΡ Firebird Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ°: ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ ΠΊΡΡ Π² 2048 ΡΡΡΠ°Π½ΠΈΡ (Π½Π° Π±Π°Π·Ρ), Π±ΡΡΠ΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ Π² 64 ΠΠ (ΠΎΠ±ΡΠΈΠΉ) ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΡΡΠ΅ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠΎΡΠΌΠΎΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² firebird.conf
:
grep -v ^# firebird.conf | grep -v ^$
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· firebird.conf
Π±ΡΠ΄ΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠ° Firebird.
ΠΡΠΈ ΠΏΠΎΠ΄Π±ΠΎΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Π΅ΡΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Β«ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΒ»: ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ ΠΊΡΡ (Π΄Π»Ρ Π±Π°Π·Ρ), Π±ΡΡΠ΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ (ΠΎΠ±ΡΠΈΠΉ) ΠΈ ΠΏΠ°ΠΌΡΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. Π£ΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ Π΄Π²ΡΠΌΡ β ΠΎΠ±ΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΈΡ ΠΏΠ»Π°Π½ΠΎΠ² ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±Π°Π·Ρ. ΠΡΠ΅Π½ΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΌΠΏΠΈΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ/ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±Π°Π·Ρ.
ΠΠ»Ρ ΡΡΠΏΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π° Ρ ΠΎΡΡΠ°Ρ Ρ ΠΌΠ°Π»ΡΠΌ ΠΎΠ±ΡΡΠΌΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ (Π΄ΠΎ 12-16 ΠΠ) Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ° ΠΈ Π±ΡΡΠ΅ΡΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ΅ΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΡΠΌΠ° ΠΠΠ£.
ΠΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°Π· Π½Π΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ β ΠΎΠ±ΡΠΈΠΉ ΠΎΠ±ΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄Π΅Π»ΠΈΡΡ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°Π·, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. Π Π°Π·ΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ° Π·Π°Π΄Π°ΡΡΡΡ Π² ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΠΈ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΡΠ²Π°ΡΡ Π² Π±Π°ΠΉΡΡ.
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΊΠ»Π°ΡΡΠΈΠΊΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ServerMode
Π² firebird.conf
, ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°ΠΌ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ ΠΊΡΡ (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 2K), ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π±ΡΡΠ΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ (ΡΡΠΌΠΌΠ°ΡΠ½ΡΠΉ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΎΠ±ΡΡΠΌ Π²ΡΠ΅Ρ
ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ, ΠΏΠΎΠ΄Π΅Π»ΡΠ½Π½ΡΠΉ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ), Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ½ΠΈΡ firebird-superserver
, ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ½ΠΈΡ firebird-classic.socket
.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠΈΠΊ Π² Firebird 3.0 Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π°: Β«Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡΒ» β ΠΊΠ°ΠΊ Ρ ΡΡΠΏΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΎΠ±ΡΠΈΠΉ Π±ΡΡΠ΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΠΊ. ΠΠ΅Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ° ΠΈ Β«ΠΏΠΎΡΠ΅ΡΠΈΒ» Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΠΊΠ»Π°ΡΡΠΈΠΊΠ°.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π² Firebird 3.0 ΡΠ°ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ ΠΊΡΡ, ΡΠ°Π·ΠΌΠ΅ΡΡ Π»ΠΎΠΊ-ΡΠ°ΠΉΠ»Π°, Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅) ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Π² databases.conf
ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±Π°Π·Ρ. ΠΠ»Ρ ΡΡΠΏΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π΄Π°ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ DefaultDbCachePages
Π² firebird.conf
ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ½ΡΠ΅ ΠΊΡΡΠΈ Π½ΡΠΆΠ½ΡΠΌ Π±Π°Π·Π°ΠΌ Π² databases.conf
.
ΠΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΡΡΠ°ΡΡΠ΅ Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
, ΠΈΠ»ΠΈ ΠΏΠΈΡΠΈΡΠ΅ ΠΏΠΈΡΡΠΌΠ° Π½Π° Π½Π°Ρ Π°Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ [email protected].
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com