Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Skills ΠΠ°Ρ‡Π°Ρ‚ΡŒ
Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ
Администрация Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅

Π‘Π΅Ρ€Π²Π΅Ρ€ Apple M1 ΠΎΡ‚ AlexHost: ΠŸΠΎΠ»Π½Ρ‹ΠΉ тСхничСский ΠΎΠ±Π·ΠΎΡ€ ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования

Π‘Π΅Ρ€Π²Π΅Ρ€ Apple M1 β€” это ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ размСщённая физичСская машина Mac Π½Π° Π±Π°Π·Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поколСния ARM-Ρ‡ΠΈΠΏΠ° SoC ΠΎΡ‚ Apple, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ доступ ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ срСдС macOS β€” Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ инструмСнтов Apple, Secure Enclave ΠΈ Unified Memory Architecture β€” Π±Π΅Π· нСобходимости Π²Π»Π°Π΄Π΅Ρ‚ΡŒ физичСским ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр Apple M1 ΠΎΡ‚ AlexHost прСдоставляСт 8 GB Π΅Π΄ΠΈΠ½ΠΎΠΉ RAM, 256 GB NVMe SSD ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ IPv4-адрСс, доступный Ρ‡Π΅Ρ€Π΅Π· VNC ΠΈ SSH.

Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Π΅ соглашСния Apple Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ компиляции ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS ΠΈ macOS Π½Π° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ Apple ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ macOS. Никакой ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ эмуляции x86, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Hackintosh ΠΈ никакая Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Π½Π° Linux-хостС Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΊΠΎΠ½Π½ΠΎ ΠΈΠ»ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это. Если ваш CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° App Store, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ настоящий Apple Silicon β€” ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ это прСдоставляСт Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ВСхничСскиС характСристики оборудования

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π₯арактСристика
ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Apple M1 (ARM64, 8 ядСр: 4 ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… + 4 энСргоэффСктивных)
RAM8 GB Unified Memory
Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅256 GB NVMe SSD
ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ SSDΠ”ΠΎ 1 GB/s ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ чтСния
Π‘Π΅Ρ‚ΡŒ1 Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ IPv4-адрСс
Π£Π΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ доступVNC (графичСский) + SSH (CLI)
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ОБmacOS (основная), Linux (вторичная/тСстированиС)

Unified Memory Architecture (UMA) заслуТиваСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ упоминания. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… сСрвСров, Π³Π΄Π΅ CPU ΠΈ GPU ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΠ»Ρ‹ памяти, UMA Ρ‡ΠΈΠΏΠ° M1 позволяСт ΠΊΠ°ΠΊ CPU, Ρ‚Π°ΠΊ ΠΈ встроСнному GPU ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ физичСскому ΠΏΡƒΠ»Ρƒ памяти с ΠΊΡ€Π°ΠΉΠ½Π΅ Π½ΠΈΠ·ΠΊΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ. Для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡, ΠΊΠ°ΠΊ транскодированиС Π²ΠΈΠ΄Π΅ΠΎ, компиляция Swift ΠΈΠ»ΠΈ инфСрСнс Core ML, это выраТаСтся Π² ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠΌΠΎ Π±ΠΎΠ»Π΅Π΅ высокой пропускной способности ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с x86-машинами Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… характСристик с Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ шинами памяти.

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ сСрвСру Apple M1

AlexHost прСдоставляСт Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° доступа с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ дня. Ни ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвСрного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния β€” ΠΎΠ±Π° доступны сразу послС получСния ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Доступ Ρ‡Π΅Ρ€Π΅Π· VNC (графичСский Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол)

VNC прСдоставляСт ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ графичСский сСанс Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола macOS, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ ΠΈ транслируСмый Π½Π° ваш ΠΊΠ»ΠΈΠ΅Π½Ρ‚. Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с графичСским интСрфСйсом Xcode, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Instruments для профилирования ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π»ΡŽΠ±Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ macOS, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ Π±Π΅Π·Π³ΠΎΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ VNC-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌ:

  • Windows: RealVNC Viewer, TigerVNC
  • macOS: ВстроСнный ΠΎΠ±Ρ‰ΠΈΠΉ доступ ΠΊ экрану (vnc://), RealVNC Viewer
  • Linux: Remmina, TigerVNC Viewer
  • iOS / Android: RealVNC Viewer (ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ)

Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ RealVNC Viewer Π²Π²Π΅Π΄ΠΈΡ‚Π΅ IP-адрСс сСрвСра ΠΈ ΠΏΠΎΡ€Ρ‚ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 5900) Π² Π°Π΄Ρ€Π΅ΡΠ½ΡƒΡŽ строку, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ с ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ управлСния AlexHost. Для сниТСния Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· высоколатСнтныС соСдинСния ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ Ρ†Π²Π΅Ρ‚Π° Π΄ΠΎ Medium Π² настройках VNC-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° β€” это Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сократит ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ полосы пропускания Π±Π΅Π· ΡƒΡ‰Π΅Ρ€Π±Π° для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π’Π°ΠΆΠ½Ρ‹ΠΉ нюанс: встроСнный VNC-сСрвСр macOS (/System/Library/CoreServices/RemoteManagement/ARDAgent.app) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ сСанс. Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ VNC-ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΏΠΎΠΊΠ° ΠΎΠ΄ΠΈΠ½ ΡƒΠΆΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ сСанс Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΡ‘Π½. ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс доступа ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ SSH-ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π΅Π· GUI.

Доступ Ρ‡Π΅Ρ€Π΅Π· SSH (интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки)

SSH-доступ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎ ΠΈ VNC, ΠΈ пСрСносит вас нСпосрСдствСнно Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ zsh Π½Π° macOS. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ², ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ выполнСния скриптов ΠΈ Π±Π΅Π·Π³ΠΎΠ»ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ сборки.

ssh username@your-server-ip

Для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° основС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ β€” Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся вмСсто ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ β€” сгСнСрируйтС ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Ed25519 ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π² ~/.ssh/authorized_keys Π½Π° сСрвСрС:

ssh-keygen -t ed25519 -C "m1-server-access"
ssh-copy-id -i ~/.ssh/id_ed25519.pub username@your-server-ip

ПослС подтвСрТдСния работоспособности Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π² /etc/ssh/sshd_config ΠΈ установив PasswordAuthentication no, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π΄Π΅ΠΌΠΎΠ½:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load /System/Library/LaunchDaemons/ssh.plist

SSH-Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для VNC: Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ VNC (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½), пропуститС Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· SSH:

ssh -L 5901:localhost:5900 username@your-server-ip -N

Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ VNC-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π° localhost:5901. Π’Π΅ΡΡŒ VNC-Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ пСрСдаётся Π²Π½ΡƒΡ‚Ρ€ΠΈ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ SSH-туннСля.

АрхитСктура Apple M1: ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ для сСрвСрных Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ

ARM64 ΠΈ прСимущСство ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° Π²Π°Ρ‚Ρ‚

M1 построСн Π½Π° 5-Π½ΠΌ тСхпроцСссС TSMC ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ISA ARM64. Π•Π³ΠΎ 4 Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ядра Β«FirestormΒ» ΠΈ 4 энСргоэффСктивных ядра Β«IcestormΒ» ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ динамичСски распрСдСляСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ β€” Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ интСнсивныС ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° Firestorm, Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ β€” Π½Π° Icestorm. Π­Ρ‚ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ big.LITTLE; ΠΎΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ крСмния.

Для сСрвСрных Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚:

  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ Swift ΠΈ Objective-C выполняСтся Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ Π±Π΅Π· Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов Π½Π° Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ Rosetta 2
  • Π˜Π½Ρ„Π΅Ρ€Π΅Π½Ρ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Core ML выполняСтся Π½Π° Neural Engine (16 ядСр, 11 TOPS), ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ разгруТая CPU
  • ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ тСст-Ρ€Π°Π½Π½Π΅Ρ€Ρ‹ Π² Xcode Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ энСргоэффСктивныС ядра ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ I/O-ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ ΠΎΡ€ΠΊΠ΅ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ тСстов, ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ядра Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ компиляциСй

Secure Enclave

Secure Enclave β€” это Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π·Π°Ρ‰ΠΈΡ‚Π½Ρ‹ΠΉ сопроцСссор, встроСнный Π² кристалл M1. Он управляСт Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ криптографичСских ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ биомСтричСских Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π’ контСкстС сСрвСра Π΅Π³ΠΎ практичСскиС послСдствия Ρ‚Π°ΠΊΠΎΠ²Ρ‹:

  • ΠšΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ диска FileVault 2 хранятся Π² Secure Enclave ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ основному CPU ΠΈΠ»ΠΈ ядру ОБ
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Keychain, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ kSecAttrAccessibleWhenUnlockedThisDeviceOnly, криптографичСски привязаны ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ β€” ΠΈΡ… Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ пСрСнСсти Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±Ρ€Π°Π·Π° диска
  • ВСрификация подписи ΠΊΠΎΠ΄Π° для Π½ΠΎΡ‚Π°Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ускорСна

Π­Ρ‚ΠΎ сущСствСнноС прСимущСство Π² области бСзопасности ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… VPS ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… x86-сСрвСрах.

Apple M1 ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ x86-сСрвСра: Π²Ρ‹Π±ΠΎΡ€ подходящСго инструмСнта

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉΠ‘Π΅Ρ€Π²Π΅Ρ€ Apple M1Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ x86-сСрвСр
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ iOS / macOSНативная, трСбуСтся ΠΏΠΎ условиям Apple ToSНСвозмоТно (ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈ ΠΈΠ»ΠΈ тСхничСски)
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° XcodeΠŸΠΎΠ»Π½Π°ΡΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚
Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ LinuxΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎ (основная ОБ β€” macOS)Полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° экосистСмы
АрхитСктура памятиЕдиная (CPU + GPU ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡƒΠ»)РаздСльная (ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ RAM для CPU/GPU)
Core ML / Neural EngineАппаратноС ΡƒΡΠΊΠΎΡ€Π΅Π½ΠΈΠ΅Π’ΠΎΠ»ΡŒΠΊΠΎ программная эмуляция
Виртуализация (KVM/Hyper-V)НС поддСрТиваСтся Π½Π° macOSПолная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
Docker (Linux-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹)Π§Π΅Ρ€Π΅Π· Colima ΠΈΠ»ΠΈ Docker Desktop (ARM)НативныС Linux-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹
ЭкономичСская ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ для Π²Π΅Π±-хостингаНиТС (спСциализированноС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅)Π’Ρ‹ΡˆΠ΅ (стандартноС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅)
Π£Π΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅VNC + SSHIPMI/iDRAC + SSH

Если ваша Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ основана Π½Π° Linux β€” Π²Π΅Π±-сСрвСры, Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ микросСрвисы β€” стандартный Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр обСспСчит Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π‘Π΅Ρ€Π²Π΅Ρ€ M1 β€” это Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ инструмСнт для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ тСстирования Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Apple.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ сцСнарии использования

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS ΠΈ macOS

Π­Ρ‚ΠΎ флагманский сцСнарий использования. Xcode, IDE ΠΎΡ‚ Apple, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° macOS. xcodebuild β€” интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для Xcode β€” Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ хоста Π½Π° macOS с установлСнным Xcode. НС сущСствуСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ способа кросс-компиляции подписанного ΠΏΠ°ΠΊΠ΅Ρ‚Π° .ipa ΠΈΠ»ΠΈ .app ΠΈΠ· Linux ΠΈΠ»ΠΈ Windows.

Π£Π΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ сСрвСр M1 позволяСт распрСдСлённым ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½ΡƒΡŽ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду сборки macOS, ΠΏΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· SSH для запуска сборок ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· VNC для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с графичСским интСрфСйсом Xcode. Π­Ρ‚ΠΎ особСнно Ρ†Π΅Π½Π½ΠΎ для ΠΊΠΎΠΌΠ°Π½Π΄, Π³Π΄Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ станции Π½Π° Linux ΠΈΠ»ΠΈ Windows, Π½ΠΎ пСриодичСски Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² доступС ΠΊ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ Apple.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠΌ

Π‘Π΅Ρ€Π²Π΅Ρ€ M1 Π»Π΅Π³ΠΊΠΎ интСгрируСтся с ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹ΠΌΠΈ CI-Ρ€Π°Π½Π½Π΅Ρ€Π°ΠΌΠΈ. Для GitHub Actions установитС Π°Π³Π΅Π½Ρ‚ Ρ€Π°Π½Π½Π΅Ρ€Π° ΠΈ зарСгистрируйтС Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π°Π½Π½Π΅Ρ€:

mkdir actions-runner && cd actions-runner
curl -o actions-runner-osx-arm64.tar.gz -L 
  https://github.com/actions/runner/releases/download/v2.x.x/actions-runner-osx-arm64-2.x.x.tar.gz
tar xzf ./actions-runner-osx-arm64.tar.gz
./config.sh --url https://github.com/your-org/your-repo --token YOUR_TOKEN
./run.sh

Для GitLab CI зарСгистрируйтС Ρ€Π°Π½Π½Π΅Ρ€ с исполнитСлСм shell, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½Π° хост macOS. Задания сборки, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ xcodebuild test ΠΈΠ»ΠΈ fastlane, Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ Π½Π° ARM64 Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ уровня эмуляции.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° сборок TestFlight ΠΈ нотаризация ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сборок Π² TestFlight Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ altool ΠΈΠ»ΠΈ notarytool β€” ΠΎΠ±Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для macOS. Π‘Π΅Ρ€Π²Π΅Ρ€ M1 ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ этап вашСго ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° выпуска β€” Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, экспорт, подпись ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ β€” сохраняя этот процСсс Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈ Π½Π΅ зависящим ΠΎΡ‚ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол macOS (VDI)

Командам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ пСриодичСски Π½ΡƒΠΆΠ΅Π½ доступ ΠΊ macOS для Π·Π°Π΄Π°Ρ‡, Π½Π΅ связанных с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ, β€” тСстированиС спСцифичного для Safari Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π²Π΅Π±-страниц, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° повСдСния UI, спСцифичного для macOS, ΠΈΠ»ΠΈ запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для macOS β€” интСрфСйс VNC ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол Mac. Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΏΠΈΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ оборудования Mac для нСчастого использования.

ΠšΡ€ΠΎΡΡ-компиляция ΠΈ тСстированиС ARM64

Π‘ ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ отраслСвого ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ARM (AWS Graviton, Ampere Altra, кластСры Raspberry Pi) сСрвСр M1 прСдоставляСт Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ срСду ARM64 для тСстирования пСрСносимости ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΈ запуск Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ARM64 Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ Π½Π° M1 выполняСтся быстрСС ΠΈ Ρ‚ΠΎΡ‡Π½Π΅Π΅, Ρ‡Π΅ΠΌ эмуляция Π½Π° основС QEMU Π½Π° x86-хостС.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм

macOS являСтся основной ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ОБ. AlexHost прСдоставляСт сСрвСр с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ выпуском macOS, прСдоставляя Π²Π°ΠΌ доступ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ Apple SDK, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρƒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Homebrew ΠΈ всСм систСмным Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌ macOS.

Linux Π½Π° Apple M1 тСхничСски Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ β€” Asahi Linux продСмонстрировал Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ARM64 Linux Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ M1 β€” Π½ΠΎ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½ΠΎΠΌ сСрвСрС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ пСрСустановки ОБ зависят ΠΎΡ‚ инфраструктуры ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°. Для Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ, Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… для Linux, стандартный ΠΏΠ»Π°Π½ VPS-хостинга ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Ubuntu, Debian ΠΈΠ»ΠΈ AlmaLinux Π½Π° x86_64 ΠΈΠ»ΠΈ ARM64 являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ экономичСски эффСктивным Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ список ΠΏΠΎ ΡƒΡΠΈΠ»Π΅Π½ΠΈΡŽ бСзопасности сСрвСра M1

ПослС получСния SSH-доступа Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги ΠΏΠΎ ΡƒΡΠΈΠ»Π΅Π½ΠΈΡŽ бСзопасности ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ любой производствСнной Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  • ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π²Ρ…ΠΎΠ΄ root Ρ‡Π΅Ρ€Π΅Π· SSH: установитС PermitRootLogin no Π² /etc/ssh/sshd_config
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΡŒΡ‚Π΅ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π½Π° основС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ: установитС PasswordAuthentication no послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ вашСго ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°
  • Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ брандмауэр macOS: Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
  • Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ FileVault: sudo fdesetup enable β€” ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ Secure Enclave
  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΡŒΡ‚Π΅ доступ VNC ΠΏΠΎ IP: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнный ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ macOS (pf) для добавлСния вашСго IP Π² Π±Π΅Π»Ρ‹ΠΉ список для ΠΏΠΎΡ€Ρ‚Π° 5900
  • НСмСдлСнно смСнитС ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ VNC ΠΈ ΡƒΡ‡Ρ‘Ρ‚Π½ΠΎΠΉ записи ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π΅
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ macOS Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии: softwareupdate --install --all --restart β€” Apple рСгулярно выпускаСт ΠΏΠ°Ρ‚Ρ‡ΠΈ бСзопасности для macOS

Для ΠΊΠΎΠΌΠ°Π½Π΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ сборки, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡƒΡ‡Ρ‘Ρ‚Π½ΠΎΠΉ записи слуТбы Π±Π΅Π· ΠΏΡ€Π°Π² администратора для CI-Ρ€Π°Π½Π½Π΅Ρ€ΠΎΠ², вмСсто использования основной ΡƒΡ‡Ρ‘Ρ‚Π½ΠΎΠΉ записи администратора для SSH-Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ сСрвСра M1 Π² Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ инфраструктуру

Π‘Π΅Ρ€Π²Π΅Ρ€ M1 Ρ€Π΅Π΄ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ стСк Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Apple ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ:

  • Π‘Π΅Ρ€Π²Π΅Ρ€ M1 для сборок macOS, подписи ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π² App Store
  • ЭкзСмпляр VPS-хостинга ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Linux для сСрвСрных API, Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ микросСрвисов Π½Π° основС Docker
  • SSL-сСртификаты для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π»ΡŽΠ±Ρ‹Ρ… Π²Π΅Π±-эндпоинтов ΠΈΠ»ΠΈ API-шлюзов, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ взаимодСйствуСт вашС мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
  • РСгистрация Π΄ΠΎΠΌΠ΅Π½Π° для Π²Π΅Π±-присутствия вашСго прилоТСния, ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π° API ΠΈΠ»ΠΈ ΠΏΠΎΡ€Ρ‚Π°Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π’Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ позволяСт ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ инструмСнтарий, спСцифичный для macOS, ΠΎΡ‚ инфраструктуры Linux ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ обслуТиваниС ΠΈ сокращаСт ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ систСму.

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ сСрвСр Apple M1 для вашСй Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ?

НагрузкаБСрвСр M1ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°
Π‘Π±ΠΎΡ€ΠΊΠΈ Xcode ΠΈ компиляция ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ iOSΠ”Π° β€” ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π½Π΅Ρ‚
ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π² App Store ΠΈ Π½ΠΎΡ‚Π°Ρ€ΠΈΠ·Π°Ρ†ΠΈΡΠ”Π°ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π½Π΅Ρ‚
ВСстированиС UI/Safari, спСцифичного для macOSΠ”Π°ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π½Π΅Ρ‚
ВСстированиС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ARM64 ΠΈ кросс-компиляцияДаQEMU Π½Π° x86 (ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅)
Π’Π΅Π±-хостинг Linux / LAMP-стСкНСтVPS ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для WindowsНСтWindows VPS
ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния с большим числом ядСрНСт (8 ядСр)Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр
GPU-вычислСния / ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ML Π² ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ΠΠ΅Ρ‚GPU-хостинг
ΠžΠ±Ρ‰ΠΈΠΉ хостинг PHP/WordPressΠΠ΅Ρ‚ΠžΠ±Ρ‰ΠΈΠΉ Π²Π΅Π±-хостинг

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ тСхничСскиС Π²Ρ‹Π²ΠΎΠ΄Ρ‹

  • Unified Memory Architecture Ρ‡ΠΈΠΏΠ° M1 Π΄Π°Ρ‘Ρ‚ Π΅ΠΌΡƒ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠΌΠΎΠ΅ прСимущСство ΠΏΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ x86-машинами для Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰ΠΈΡ… доступ CPU ΠΈ GPU, β€” особСнно ΠΏΡ€ΠΈ компиляции Swift ΠΈ инфСрСнсС Core ML.
  • VNC-Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½; всСгда Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· SSH (ssh -L) ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
  • Secure Enclave привязываСт элСмСнты Keychain ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ FileVault ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ β€” это нСпСрСносимо, поэтому ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ это ΠΏΡ€ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ восстановлСния.
  • xcodebuild ΠΈ altool/notarytool β€” Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для macOS Π±Π΅Π· эквивалСнтов для Linux; любой CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° App Store, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ хоста macOS.
  • Для инфраструктуры, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ основанной Π½Π° Linux, стандартный VPS ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр обСспСчиваСт Π»ΡƒΡ‡ΡˆΡƒΡŽ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ; Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ сСрвСра M1 сосрСдоточСна Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Apple.
  • НСмСдлСнно ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ SSH послС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ сСрвСра ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ Ed25519 для всСго Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ доступа.
  • Если Π²Ρ‹ запускаСтС CI-Ρ€Π°Π½Π½Π΅Ρ€ ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ слуТбу launchd, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ учётная запись слуТбы ΠΈΠΌΠ΅Π΅Ρ‚ минимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ β€” ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ запуска Π°Π³Π΅Π½Ρ‚ΠΎΠ² сборки ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

МоТно Π»ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Docker Π½Π° сСрвСрС Apple M1?

Π”Π°. Docker Desktop для Mac ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Apple Silicon ΠΈ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ запускаСт ARM64 Linux-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Linux VM. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ x86_64 Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ΄ эмуляциСй Rosetta 2 со сниТСниСм ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Для производствСнных Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ с Linux-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Linux VPS эффСктивнСС.

ЯвляСтся Π»ΠΈ сСрвСр Apple M1 настоящСй Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ машиной ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной?

Π­Ρ‚ΠΎ физичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅. macOS Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Ρ‹ Type-1 (KVM, Hyper-V) Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ смыслС, Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Π΅ условия Apple Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‚ запуск macOS Π² качСствС гостСвой ОБ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΡ‚ Apple. Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹ΠΉ доступ ΠΊ физичСскому Mac mini Π½Π° M1 ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ.

ΠœΠΎΠ³ΡƒΡ‚ Π»ΠΈ нСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ сСрвСр M1?

Π§Π΅Ρ€Π΅Π· SSH β€” Π΄Π°: macOS ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… SSH-сСансов ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹ΠΌΠΈ записями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π§Π΅Ρ€Π΅Π· VNC ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ графичСский сСанс. Для ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… срСд создайтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ записи ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ macOS для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ SSH для всСй Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ CLI-Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π§Ρ‚ΠΎ происходит с ΠΌΠΎΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈ нСобходимости пСрСустановки macOS?

Полная пСрСустановка macOS стираСт SSD. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию всСх постоянных Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Xcode, ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ, сСртификатов подписи ΠΈ элСмСнтов Keychain β€” Π²ΠΎ внСшнСм мСстС ΠΏΠ΅Ρ€Π΅Π΄ запросом пСрСустановки. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ элСмСнты Keychain, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ привязанныС ΠΊ устройству, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ экспортированы; Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ сСртификаты подписи Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ сСкрСтов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, HashiCorp Vault ΠΈΠ»ΠΈ собствСнном Keychain Apple с экспортируСмыми Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ) с самого Π½Π°Ρ‡Π°Π»Π°.

ВлияСт Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π² 8 GB Π΅Π΄ΠΈΠ½ΠΎΠΉ памяти Π½Π° ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Xcode?

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ iOS ΠΈ macOS 8 GB достаточно. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с ΠΎΡ‡Π΅Π½ΡŒ большими ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Swift, нСсколькими ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ экзСмплярами симулятора ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ использованиСм прСдпросмотров SwiftUI ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ использованиС памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ vm_stat ΠΈΠ»ΠΈ Activity Monitor; Ссли использованиС swap ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ высокоС, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ схСмы сборки для сниТСния ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° (-jobs 2) ΠΈΠ»ΠΈ раздСлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ сборки.