Π‘Π΅ΡΠ²Π΅Ρ 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 ΡΠ½Π΅ΡΠ³ΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ) |
| RAM | 8 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.plistSSH-ΡΡΠ½Π½Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ 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 + SSH | IPMI/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) ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΡΠ΅Π»Π΅Π²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ±ΠΎΡΠΊΠΈ.
Π½Π° Π²ΡΠ΅Ρ
Ρ
ΠΎΡΡΠΈΠ½Π³ΠΎΠ²ΡΡ
ΡΡΠ»ΡΠ³Π°Ρ