ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ BSDun, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для запуска исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² FreeBSD Π² Linux

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ BSDun, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для ядра Linux, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ, Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² Linux Π½Π΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ELF, собранныС для FreeBSD. Для запуска примСняСтся эмулируСмоС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ FreeBSD, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /compat/freebsd. Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ являСтся ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ FreeBSD Linuxulator. Код распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv2+ ΠΈ написан с использованиСм AI-ассистСнта Claude Code.

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ BSDun ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² Linux ΠΌΠ½ΠΎΠ³ΠΈΠ΅ прилоТСния ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² FreeBSD, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… pkg, nginx, mc, ping, xeyes, xfce4-panel, Thunar, xfce4-terminal, Libreoffice, Midori, Epiphany, Chromium ΠΈ VScode. Для запуска Chromium ΠΈ VScode трСбуСтся ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ sandbox-изоляции ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° видСопамяти ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΡ†ΠΈΠΉ Β«β€”no-sandbox β€”force-gpu-mem-available-mb=1024Β».

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΡƒΠ΅Ρ‚ Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² основной состав ядра, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° удалСния ABI Solaris Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ядра Linux Π½Π΅ допускаСт Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² (OS Personalities) ΠΈ прСдусматриваСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Для ΠΎΠ±Ρ…ΠΎΠ΄Π° этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² BSDun Π±Ρ‹Π» задСйствован ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ kprobe, ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ всС систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹.

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ kprobe cистСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ FreeBSD ΠΎΡ‚Π΄Π΅Π»ΡΠ»ΠΈΡΡŒ ΠΎΡ‚ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Linux ΠΈ Π·Π°Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Одна Ρ‡Π°ΡΡ‚ΡŒ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² FreeBSD Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Π»Π°ΡΡŒ ΠΊ систСмным Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ Linux, для Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ ΠΏΠ΅Ρ€Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° структуры ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Ρ‚Ρ€Π΅Ρ‚ΡŒΡ замСнялась Π·Π°Π³Π»ΡƒΡˆΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, связанныС с Capcicum), Π° чСтвёртая Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π»Π°ΡΡŒ Π½Π° основС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… структур ядра Linux. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° kevent/kqueue ΠΏΠΎΠ²Π΅Ρ€Ρ… epoll() ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° модификация ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, автоматичСски осущСствляСмая ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° FreeBSD.

Π’ ΠΎΠ±Ρ‰Π΅ΠΉ слоТности Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 250 систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ SystemV IPC, сСтСвыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, futex-Ρ‹, sysctl MIB, prctl, Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ ΠΈ ioctl. Для разграничСния Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм использовано chroot-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π½Π° сторонС Linux (Π² процСссС экспСримСнтов Π±Π΅Π· chroot Π°Π²Ρ‚ΠΎΡ€ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Β«pkg install …» пСрСзаписал содСрТимоС /usr/local/* Π² Linux). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ всС Π΅Ρ‰Ρ‘ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· chroot.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, сборки ΠΈ портирования ПО для FreeBSD Π±Π΅Π· использования Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин. ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ инструкция ΠΏΠΎ использованию: make make load ./bsdun-freebsd-root-resetup.sh ./bsdun-freebsd-enter.sh uname -a FreeBSD host 16.0-CURRENT FreeBSD 16.0-CURRENT (bsdun) amd64

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры πŸ”₯ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры | ProHoster