Π“Π»Π°Π²Π° 4. Π“ΠΎΡ‚ΠΎΠ²ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»

ВступлСниС

Π’ этой Π³Π»Π°Π²Π΅ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎ создании Ρ€Π°Π·Π΄Π΅Π»Π° для систСмы LFS. ΠœΡ‹ создадим сам Ρ€Π°Π·Π΄Π΅Π», Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму Π½Π° Π½Π΅ΠΌ, ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ систСму LFS Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ с ΡƒΠΆΠ΅ установлСнным дистрибутивом. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ для ΠΏΠ΅Ρ€Π²ΠΎΠΉ установки LFS Π΄Π°Π½Π½Ρ‹ΠΉ шаг Π½Π΅ рСкомСндуСтся, это ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ссли Ρƒ вас Π΄Π΅Ρ„ΠΈΡ†ΠΈΡ‚ дискового пространства. Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Ρ€ΠΈΡΠΊΠ½ΡƒΡ‚ΡŒ, см. совСт ΠΏΠΎ Π˜Π½ΡΡ‚Π°Π»Π»ΡΡ†ΠΈΠΈ LFS Π½Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·Π΄Π΅Π» с ΡΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ систСмами Π½Π° http://hints.linuxfromscratch.org/hints/lfs_next_to_existing_systems.txt.

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ установкС LFS Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ пустой Linux native Ρ€Π°Π·Π΄Π΅Π». Для установки LFS рСкомСндуСтся Ρ€Π°Π·Π΄Π΅Π» Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 1 GB. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ tar-Π°Ρ€Ρ…ΠΈΠ²Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ LFS Π² качСствС основной Linux-систСмы, Π²Π°ΠΌ придСтся отвСсти для Π½Π΅Π΅ большС мСста для инсталляции Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Если Linux-native Ρ€Π°Π·Π΄Π΅Π» для LFS ΡƒΠΆΠ΅ сущСствуСт, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ смСло ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту ΠΏΠΎΠ΄ΡΠ΅ΠΊΡ†ΠΈΡŽ.

Π’ связи с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, рСкомСндуСтся отвСсти мСсто Π½Π° дискС для Ρ„Π°ΠΉΠ»ΠΎΠ² swap. Π€Π°ΠΉΠ» swap – это мСсто, Π³Π΄Π΅ хранится информация ΠΈΠ· памяти, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚. LFS ΠΈ ваш дистрибутив ΠΌΠΎΠ³ΡƒΡ‚ совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это дисковоС пространство. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ссли Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ swap-Ρ€Π°Π·Π΄Π΅Π», Π½Π΅Ρ‚ особого смысла ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½. Если ΠΆΠ΅ Ρƒ вас Π΅Π³ΠΎ Π½Π΅Ρ‚, создайтС Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ fdisk. Π’ любом случаС, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ swap-Ρ€Π°Π·Π΄Π΅Π»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, hda2), это понадобится ΠΏΡ€ΠΈ создании Ρ„Π°ΠΉΠ»Π° /etc/fstab.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° cfdisk (аналогичная fdisk) запускаСтся с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ТСсткого диска Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ /dev/hda, Π² случаС Ссли Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» слСдуСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π° ТСстком дискС primary master с IDE интСрфСйсом). Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ создайтС Ρ€Π°Π·Π΄Π΅Π» Linux native. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ fdisk ( руководства man ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠ΅ Π½Π°Ρ‡Π°Π»ΠΎ для поиска ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ) для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ создании Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Linux native ΠΈ записи Ρ‚Π°Π±Π»ΠΈΡ† Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ².

Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π°, ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 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 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ОбС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’Π°ΠΊΠΆΠ΅ ΠΈ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ – Π΄Π²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΅Π³ΠΎ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ экономится Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ мСсто Π½Π° дискС, Π½ΠΎ ΠΈ драгоцСнная опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ.


ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° страницу:
Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°: