Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux From ScratchΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 7

Автор Gerard Beekmans

Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π°, ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ hda11. Π­Ρ‚ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π» ΠΌΡ‹ впослСдствии Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ LFS.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму Π½Π° Π½ΠΎΠ²ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» создан, создадим Π½Π° Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ стандартная файловая систСма – ext2, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы становятся ΠΎΡ‡Π΅Π½ΡŒ популярными. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ext2. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ ΠΏΠΎ созданию Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм см. Π½Π° http://beyond.linuxfromscratch.org/view/cvs/postlfs/filesystems.html.

Для создания Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ext2, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ mke2fs. НаимСнованиС Ρ€Π°Π·Π΄Π΅Π»Π° LFS – СдинствСнная опция ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΈ файловая систСма создана.

mke2fs /dev/xxx


Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Β«xxxΒ» Π½Π° Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π° LFS (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ hda11).

ΠœΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»

Π˜Ρ‚Π°ΠΊ, файловая систСма создана ΠΈ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ эксплуатации. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ чтСния ΠΈ записи ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° Π½Π΅ΠΌ), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Если Ρ‚ΠΎΡ‡ΠΊΠ° монтирования /mnt/lfs, ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ этому Ρ€Π°Π·Π΄Π΅Π»Ρƒ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cd /mnt/lfs. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ° монтирования Ρ€Π°Π·Π΄Π΅Π»Π° – /mnt/lfs. Π’Ρ‹Π±ΠΎΡ€ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ для Ρ‚ΠΎΡ‡ΠΊΠΈ монтирования Π½Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»Π΅Π½, просто Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ /mnt/lfs:

mkdir -p /mnt/lfs


ΠœΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ LFS Ρ€Π°Π·Π΄Π΅Π»:

mount /dev/xxx /mnt/lfs


Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Β«xxxΒ» Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ hda11).

Π­Ρ‚Π° дирСктория (/mnt/lfs) ΠΈ Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ LFS variable ΠΈΠ· Π“Π»Π°Π²Ρ‹ 2. Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды LFS, самоС врСмя Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ export LFS=/mnt/lfs.

Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ LFS нСсколько Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ $LFS ΠΈ $LFS/usr), ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΡ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

mkdir -p /mnt/lfs && mount /dev/xxx /mnt/lfs && mkdir /mnt/lfs/usr && mount /dev/yyy /mnt/lfs/usr


ЕстСствСнно, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ /dev/xxx ΠΈ /dev/yyy Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ наимСнования Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ².

Π“Π»Π°Π²Π° 5. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° систСмы LFS

ВступлСниС

Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ скомпилируСм ΠΈ установим ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Linux-систСму. Π­Ρ‚Π° систСма Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ инструмСнтами, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для сборки ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы LFS Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅.

Π€Π°ΠΉΠ»Ρ‹, скомпилированныС Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅, Π±ΡƒΠ΄ΡƒΡ‚ инсталлированы Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ $LFS/static, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΡ‚ Ρ‚Π΅Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ установлСны Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ эти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π½Π΅Ρ‚ нСобходимости Π·Π°ΡΠΎΡ€ΡΡ‚ΡŒ ΠΈΠΌΠΈ Π½Π°ΡˆΡƒ Π±ΡƒΠ΄ΡƒΡ‰ΡƒΡŽ систСму LFS.

ΠšΠ»ΡŽΡ‡ ΠΊ пониманию Ρ€Π°Π±ΠΎΡ‚Ρ‹ Linux – Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½ систСмС ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚. Для этого послС инструкций ΠΏΠΎ установкС ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ описания входящих Π² Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ΠΈ. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ ΠΈ Ρ‚ΠΎΠ³Π΄Π°, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ стоит Π²ΠΎΠ»Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ссли инструкции ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ΠΏΠ°Ρ‚Ρ‡Π° ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚.

Π’ΠΎ врСмя инсталляции Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π½Π° экран Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ многочислСнныС прСдупрСТдСния компилятора. Π’ Π½ΠΈΡ… Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ, Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π½Π° Π½ΠΈΡ… Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π­Ρ‚ΠΎ просто прСдупрСТдСния – Π² основном, связанныС с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ, Π½ΠΎ Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½Ρ‹ΠΌ использованиСм синтаксиса C ΠΈΠ»ΠΈ C++. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ стандарты C довольно часто мСнялись, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ всС Π΅Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ старый стандарт, ΠΎΠ΄Π½Π°ΠΊΠΎ это Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ пСрСмСнная LFS Π·Π°Π΄Π°Π½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

echo $LFS


Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° экранС соотвСтствуСт Ρ‚ΠΎΡ‡ΠΊΠ΅ монтирования Ρ€Π°Π·Π΄Π΅Π»Π° LFS (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ /mnt/lfs).

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ статичСскиС ссылки?

(Бпасибо Plasmatic'Ρƒ Π·Π° Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΠ΅ этого вопроса Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· списков рассылки LFS.)

ΠŸΡ€ΠΈ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ядром, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами, Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, всС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ хранятся Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…. glibc, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ установим ΠΏΠΎΠ·ΠΆΠ΅, являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π°. Она содСрТит ΠΊΠΎΠ΄ для всСх основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° экран, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ПослС компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ссылками с Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° ΠΌΠΎΠ³Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Однако Ρ‚Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ довольно большими (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, libc.a ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2.5 MB), ΠΈ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ копию ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½ΠΎΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚ΠΎ ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π²Ρ€ΠΎΠ΄Π΅ ls с лишними 2.5 MB, ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊ Π½Π΅ΠΉ! ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠ»ΠΈ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ статичСской ссылкой, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. Π­Ρ‚ΠΎ называСтся динамичСскими ссылками, Ρ‚.ΠΊ. Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° загруТаСтся ΠΈ выгруТаСтся динамичСски, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π˜Ρ‚Π°ΠΊ, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 1 KB ΠΈ Ρ„Π°ΠΉΠ» Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 2.5 MB. Пока ΠΌΡ‹ Π½Π΅ сэкономили дискового пространства (Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ освободили ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° понадобится). Настоящая Π²Ρ‹Π³ΠΎΠ΄Π° ΠΎΡ‚ использования динамичСских ссылок состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ лишь ΠΎΠ΄Π½Ρƒ копию Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Если ls ΠΈ rm ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ОбС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’Π°ΠΊΠΆΠ΅ ΠΈ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ – Π΄Π²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΅Π³ΠΎ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ экономится Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ мСсто Π½Π° дискС, Π½ΠΎ ΠΈ драгоцСнная опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Если динамичСскиС ссылки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ мСста, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ ΠΌΡ‹ Π²Π΅Π·Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ статичСскиС ссылки? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π² Π½ΠΎΠ²ΡƒΡŽ (ΠΈ Π΄Π°Π»Π΅ΠΊΡƒΡŽ ΠΎΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Π°) систСму LFS с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ chroot, динамичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ нСдоступны, Ρ‚.ΠΊ. ΠΎΠ½ΠΈ находятся Π² Π΄Π΅Ρ€Π΅Π²Π΅ старого дистрибутива (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² /usr/lib). Π­Ρ‚ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ нСдоступны ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ систСмы LFS ($LFS).

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ скомпилированныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π² срСдС chroot, ΠΏΡ€ΠΈ компиляции ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ связаны статичСскими ссылками, ΠΎΡ‚ΡΡŽΠ΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΎΠΏΡ†ΠΈΠΈ –enable-static-link, –disable-shared, ΠΈ -static Π² Π“Π»Π°Π²Π΅ 5. ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ описываСт Π“Π»Π°Π²Π° 6, это компиляция основных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ систСмы, glibc. ПослС этого, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, собранныС Π² Π“Π»Π°Π²Π΅ 5, Π½ΠΎ Π² этот Ρ€Π°Π· с динамичСскими ссылками, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всСми прСимущСствами экономии дискового пространства.

ИмСнно поэтому ΠΌΡ‹ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ эти странныС ΠΎΠΏΡ†ΠΈΠΈ -static. Если ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π±Π΅Π· Π½ΠΈΡ…, Π²Ρ‹ довольно быстро ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ случится, послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ Π²ΠΎΠΉΠ΄Π΅Ρ‚Π΅ Π² ΠΏΠ°Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ систСму LFS ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ chroot.

Для получСния Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ динамичСски связанным Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΊΠ½ΠΈΠ³Π°ΠΌ ΠΈ Linux-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ сайтам ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ $LFS/static

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²ΠΎ вступлСнии Π² Π΄Π°Π½Π½ΡƒΡŽ Π³Π»Π°Π²Ρƒ, всС, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ инсталлировано Π² этой Π³Π»Π°Π²Π΅, ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ $LFS/static, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°Π³Ρ€ΡΠ·Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π» LFS ΠΊΡƒΡ‡Π΅ΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Нам Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ лишь ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ эту Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ:

mkdir $LFS/static


Для удобства ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ $LFS/static, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ $LFS/static/src.

Установка всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Если ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ шагов, описанных Π² Π“Π»Π°Π²Π΅ 5, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ зарСгистрированы Π² систСмС ΠΊΠ°ΠΊ root, Π΅ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ систСмы Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ скомпилированы Π² Π“Π»Π°Π²Π΅ 5. На это Π΅ΡΡ‚ΡŒ ряд ΠΏΡ€ΠΈΡ‡ΠΈΠ½, нСопрСдСлСнная пСрСмСнная $LFS – ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ…. Π—Π°ΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° вашСй систСмС скорСС всСго ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ возникновСнию всякого Ρ€ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, поэтому рСкомСндуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ шаги Π“Π»Π°Π²Ρ‹ 5 ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Для чистоты экспСримСнта создадим Π½ΠΎΠ²ΡƒΡŽ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Β«lfsΒ», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° стадии компиляции со статичСскими ссылками. Для добавлСния Π½ΠΎΠ²ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root:

useradd -s /bin/bash -m lfs && passwd lfs


Π’Π΅ΠΏΠ΅Ρ€ΡŒ скоррСктируСм ΠΏΡ€Π°Π²Π° Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ $LFS/static, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Β«lfsΒ» ΠΈΠΌΠ΅Π» ΠΊ Π½Π΅ΠΉ доступ Π½Π° запись:

chown -R lfs $LFS/static


Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² систСму ΠΏΠΎΠ΄ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записью Β«lfsΒ». Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ двумя способами: Ρ‡Π΅Ρ€Π΅Π· Π½ΠΎΠ²ΡƒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ консоль ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ su – lfs. ПослС этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Β«lfsΒ» для создания благоприятной срСды:

cat > ~/.bash_profile << Β«EOFΒ» umask 022 LFS=/mnt/lfs LC_ALL=POSIX CC='gcc -s' export LFS LC_ALL CC EOF source ~/.bash_profile


Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ устанавливаСт umask Ρ€Π°Π²Π½Ρ‹ΠΌ 022, Ρ‡Ρ‚ΠΎΠ±Ρ‹ созданныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ автоматичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Π»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²Π°. ΠΠ°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся использованиС этой установки Π½Π° протяТСнии всСй инсталляции LFS. Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΈ Π·Π°Π΄Π°Π½Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ $LFS, $LC_ALL, ΠΈ $CC. ΠŸΡ€ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ $LFS ΠΌΡ‹ ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π°Π· Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ $LC_ALL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.