ΠΠ° Π»ΠΈ ΡΡΠ΅ ΠΈΠΊΠ°Π΄Π° ΠΌΠΎΡΠ°Π»ΠΈ Π΄Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ΅ΡΠ΅ ΡΠ° ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΌ ΡΡΠ»ΡΠΆΠ½ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΠΌΠ° Ρ ΠΠΈΠ½ΡΠΊΡ ΠΊΠ°ΠΊΠΎ Π½Π΅ Π±ΠΈΡΡΠ΅ Π±ΡΠΈΠ½ΡΠ»ΠΈ ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π΄Π° Π½Π΅ Π±ΠΈΡΡΠ΅ ΡΠ²Π΅ ΡΡΡΡΠΈΠ»ΠΈ Ρ ΡΠ»ΡΡΠ°ΡΡ Π³ΡΠ΅ΡΠΊΠ΅ Ρ ΠΊΠΎΠ΄Ρ ΠΊΠΎΡΠΈ Π±ΠΈ ΡΡΠ΅Π±Π°Π»ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΠΊΡΠ΅ΡΠ΅ ΡΠ° ΡΠΎΠΎΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°ΠΌΠ°?
ΠΠ»ΠΈ ΡΡΠ° ΡΠ΅ ΡΠ° ΡΠΈΡΠ΅Π½ΠΈΡΠΎΠΌ Π΄Π° ΡΠ΅ΡΠΈΠΌΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΡΠ΅Π½Π΅ΡΠ΅ ΡΠΈΡΠ°Π² Π½ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π° ΡΠ΅Π΄Π½ΠΎΡ ΠΌΠ°ΡΠΈΠ½ΠΈ? Π‘ΡΠΎΡΠΈΠ½Ρ ΠΈΠ»ΠΈ ΡΠ°ΠΊ Ρ ΠΈΡΠ°Π΄Ρ?
Π‘Π° Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈΠΌ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠ° ΠΊΠΎΡΠΈΠΌΠ° ΡΠΏΡΠ°Π²ΡΠ° Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ, ΡΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΌΠΎΠ³Ρ ΠΈ Π±ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈ, Π°Π»ΠΈ ΠΏΠΎ ΠΊΠΎΡΡ ΡΠ΅Π½Ρ? ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ Ρ ΠΠΠ‘Π Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠΈ ΡΡΠΎΡΠΈ ΡΠ°ΠΌΠΎ 7.60MB
Π ΠΠ-Π° ΠΈ Π³Π΄Π΅ ΠΊΠΎΡΠ΅Π½ΡΠΊΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° Π·Π°ΡΠ·ΠΈΠΌΠ° Π½Π°ΠΊΠΎΠ½ ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ° 9.5MB
! ΠΠ°ΠΊΠΎ ΡΠΈ ΡΠ΅ ΡΠΎ ΡΠ²ΠΈΡΠ°, ΠΠ»ΠΎΠ½Π΅ ΠΡΡΠΊ? ΠΡΠ΅ΠΏΠΎΡΡΡΡΡΠ΅ΠΌ Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠ°Π²ΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½Π΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ ΠΠΠ‘Π - ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡΠΊΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΠΈΠ½ΡΠΊΡ
ΠΠ°ΠΊΠΎΠ½ ΡΡΠΎ ΡΠ΅ ΡΠΎΠΏΡΡΠ΅ ΠΏΠΎΡΡΠ°Π»ΠΎ ΡΠ°ΡΠ½ΠΎ ΡΡΠ° ΡΡ ΠΠΠ‘Π ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ, ΠΈΠ΄Π΅ΠΌΠΎ Π΄Π°ΡΠ΅ ΠΈ ΡΠ°Π·ΠΌΠΈΡΠ»ΠΈΠΌΠΎ, ΡΡΠ° Π°ΠΊΠΎ ΠΏΠΎΡΡΠΎΡΠΈ ΡΠ°ΠΊΠ²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Ρ Π°ΡΠ²Π΅ΡΡΠ΅Ρ Π½Π° ΠΊΠΎΡΠΎΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° ΠΏΠΎΠΊΡΠ΅Π½Π΅ΡΠ΅ ΠΊΠΎΠ΄ Π·Π° Ρ ΠΎΡΡ, Π³Π΅Π½Π΅ΡΠΈΡΠ΅ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ½Π΅, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΈ (ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ) ΠΏΠΎΠ²Π΅ΠΆΠ΅ΡΠ΅ Π£Π-Π²ΠΈΡΠ΅ΡΠ΅ ΡΠ° ΡΠ²ΠΎΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π΄ΠΎΠΏΡΠ½ΠΈΡΠΈ ΠΊΠΎΠ΄ ΡΠ΅ΠΊΡΡΠΎΠΌ ΡΠ° Π±Π»Π°ΡΠΊΡΠ°ΡΠΊ-ΠΎΠΌ... ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠ΅ΠΌ? ΠΠ΅ΠΊΠ° Π²ΡΡΡΠ° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ Π±Π»ΠΎΠ³Π°? ΠΠ°Ρ... Ρ ΠΎΡΡ! ΠΠ΅Π»ΠΈΠΌ! π
ΠΠΎΠ³Π»Π΅Π΄Π°Ρ ΠΈΡΠΏΠΎΠ΄ ΠΌΠ°ΡΠΊΠ΅ Π³Π΄Π΅ ΡΠ΅ΠΌΠΎ Π»Π°Π½ΡΠΈΡΠ°ΡΠΈ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± - ΡΠ»Π΅Π΄Π΅ΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎΠ³ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠ° ΡΠΌΠ΅ΡΡΠΎ Π·Π°ΡΡΠ°ΡΠ΅Π»ΠΎΠ³ ΠΡΠΏΠΈΡΠ΅Ρ Π½ΠΎΡΠ΅Π±ΠΎΠΎΠΊ ΡΠ°ΡΡΠ½Π°ΡΠ°, Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ΠΌΠΎ ΠΈ ΠΠΈΡΡ ΠΎΠ½ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΊΠ°ΠΎ Π½ΠΏΡ. ΠΡΠΌΠΠΈ, ΠΏΠ°Π½Π΄Π΅, ΠΠ°ΡΠΏΠ»ΠΎΡΠ»ΠΈΠ±, ΠΠΠΈΠΠΈΠ΄Π³Π΅ΡΡ ΠΊΠΎΡΠΈ ΡΠ΅ Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡΡΠΈΡΠΈ Π΄Π° ΡΡΠ°Π΄ΠΈΡΠ΅ ΡΠ²Π΅ Π³ΠΎΡΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ ΠΈ ΡΠ²Π΅ ΡΠΎ ΡΠ°ΡΡΠ²Π°ΡΠ΅ Ρ ΠΏΠΎΡΠ΅Π±Π½ΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΡΠΈ β ΠΠΠΈΡΡ ΠΎΠ½ Π»Π°ΠΏΡΠΎΠΏΡ.
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡΠ°
- ΠΠ»Π°Π½ ΠΎΡΠ±ΠΈΡΠ°Π»Π½ΠΎΠ³ ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ°
- ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ ΡΠΎΡΡΠ²Π΅ΡΠ° ΠΈ ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±-Π°
- ΠΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΡΠ° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΠΌ
- ΠΠ΄ΡΠ°Π²ΠΎ Π‘Π²Π΅ΡΠ΅!
- ΠΡΠΎΡΠΈΡΠΈΠ²Π°ΡΠ΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ ΠΠΈΡΡ ΠΎΠ½-Π°
- Π’Π΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Π° Ρ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±-Ρ
- Π¨ΡΠ° ΡΠΎΡ?
ΠΠ»Π°Π½ ΠΎΡΠ±ΠΈΡΠ°Π»Π½ΠΎΠ³ ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ° ^
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π½Π°Π²Π΅Π΄Π΅ΠΌΠΎ ΠΊΡΠ°ΡΠ°ΠΊ Π°ΠΊΡΠΈΠΎΠ½ΠΈ ΠΏΠ»Π°Π½ ΠΊΠ°ΠΊΠΎ Π±ΠΈ Π½Π°ΠΌ ΠΎΠ»Π°ΠΊΡΠ°Π»ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π³ΠΎΡΡΠ΅ ΡΠ΅ΠΌΠ΅:
- Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠΎ ΠΈ ΠΏΠΎΠΊΡΠ΅Π½Π΅ΠΌΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠ° Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡ ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ. ΠΠΎΡΠΈΡΡΠΈΡΠ΅ΠΌΠΎ ΠΎΠ²Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡ ΡΠ΅Ρ ΡΠ΅ ΡΡΠΌΠ΅ΡΠ΅Π½Π° Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·Π°ΠΌ ΠΈ Ρ ΡΡ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠΈ ΡΠ°ΠΌΠΎ Π½Π°ΡΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠΈ ΡΠΎΡΡΠ²Π΅Ρ, Π½ΠΈΡΡΠ° ΡΡΠ²ΠΈΡΠ½ΠΎ.
- Π₯Π°ΡΠ΄Π΅ Π΄Π° Π΄ΠΎΠ΄Π°ΠΌΠΎ Π΄ΠΎΠ΄Π°ΡΠ½ΠΈ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ Π΄ΠΈΡΠΊ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈ Π΄Π°ΠΌΠΎ ΠΌΡ ΠΈΠΌΠ΅ -
hostfs
ΠΈ ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΡΠ΅ Π³Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°. ΠΠ²Π°Ρ Π΄ΠΈΡΠΊ ΡΠ΅ ΠΎΠΌΠΎΠ³ΡΡΠΈΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π° Ρ ΠΎΡΡΡ ΠΈΠ· Π΄Π°ΡΠΎΠ³ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΠ° ΡΠ½ΡΡΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. Π’Π°ΠΊΠΎ ΡΠ΅ Π½Π°ΡΠΈ ΠΏΠΎΠ΄Π°ΡΠΈ Π±ΠΈΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΈ ΠΎΠ΄ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. ΠΠΊΠΎ ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈΠ·Π±ΡΠΈΡΠ΅, ΠΏΠΎΠ΄Π°ΡΠΈ ΡΠ΅ ΠΎΡΡΠ°ΡΠΈ Π½Π° Ρ ΠΎΡΡΡ. Π’Π°ΠΊΠΎΡΠ΅, ΠΎΠ²Π° ΡΠ΅ΠΌΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½Π° Π·Π° Π΄Π΅ΡΠ΅ΡΠ΅ ΠΈΡΡΠΈΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈΠ·ΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Π±Π΅Π· ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΡ ΠΌΡΠ΅ΠΆΠ½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌΠ° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. - Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠΎ ΠΠ°ΡΡ , ΡΡΠ΄ΠΎ, ΠΏΠΎΡΡΠ΅Π±Π½Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅, Π΄ΠΎΠ΄Π°ΠΌΠΎ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ΅ΠΌΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ°
- Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠΎ ΠΠΈΡΡ ΠΎΠ½, ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΠΌΠΎ Π±ΠΈΠ½Π°ΡΠ½Π΅ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ Π·Π° ΡΠΈΡ
- Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠΎ ΠΈ ΠΏΠΎΠΊΡΠ΅Π½Π΅ΠΌΠΎ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±, ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΠΈΡΠ΅ ΠΈΠ·Π³Π»Π΅Π΄, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΡΠ΅ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ΅ Π·Π° ΡΠ΅Π³Π°.
Π£ ΠΎΠ²ΠΎΠΌ ΡΠ»Π°Π½ΠΊΡ ΡΠ΅ΠΌΠΎ ΠΏΠΎΡΠ΅ΡΠΈ ΡΠ° ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, Π½Π΅ΡΠ΅ΠΌΠΎ ΡΠ°Π·ΠΌΠ°ΡΡΠ°ΡΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΠΠΠ‘Π-Π°, ΡΠ²Π΅ ΠΎΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ½Π°ΡΠΈ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ»Π°Π½ΠΊΡ - ΠΡΠ½ΠΎΠ²Π½Π΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ΅ ΠΠΠ‘Π - ΠΠΈΠ½ΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ° ^
ΠΠ°ΠΏΡΠ°Π²ΠΈΠΌΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΌ Ρ ΠΊΠΎΡΠΎΡ Π½Π°Π²ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»ΠΈΠΊΡ - alpine3
, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ - jupyterlab
ΠΈ, Π°ΠΊΠΎ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ:
lxc init alpine3 jupyterlab --profile=default --profile=hddroot
ΠΠ²Π΄Π΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ» hddroot
ΠΊΠΎΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠ° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΡΠ° ΡΠΎΠΎΡ ΠΏΠ°ΡΡΠΈΡΠΈΡΠΎΠΌ Ρ Π‘ΡΠΎΡΠ°Π³Π΅ ΠΠΎΠΎΠ» Π½Π°Π»Π°Π·ΠΈ ΡΠ΅ Π½Π° ΡΠΈΠ·ΠΈΡΠΊΠΎΠΌ Π₯ΠΠ Π΄ΠΈΡΠΊΡ:
lxc profile show hddroot
config: {}
description: ""
devices:
root:
path: /
pool: hddpool
type: disk
name: hddroot
used_by: []
lxc storage show hddpool
config:
size: 10GB
source: /dev/loop1
volatile.initial_source: /dev/loop1
description: ""
name: hddpool
driver: btrfs
used_by:
- /1.0/images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
- /1.0/profiles/hddroot
status: Created
locations:
- none
ΠΠ²ΠΎ ΠΌΠΈ Π΄Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΈΠΊΡ Π΄Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ΅ΠΌ ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΠΌΠ° Π½Π° Π₯ΠΠ Π΄ΠΈΡΠΊΡ, ΡΡΠ²Π°ΡΡΡΠΈ ΡΠ΅ΡΡΡΡΠ΅ Π‘Π‘Π Π΄ΠΈΡΠΊΠ°, ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ°Π½ Ρ ΠΌΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ π Π·Π° ΠΊΠΎΡΠΈ ΡΠ°ΠΌ Π½Π°ΠΏΡΠ°Π²ΠΈΠΎ ΠΏΠΎΡΠ΅Π±Π°Π½ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ» ssdroot
.
ΠΠ°ΠΊΠΎΠ½ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΊΡΠ΅ΠΈΡΠ°Π½, ΠΎΠ½ ΡΠ΅ Ρ ΡΡΠ°ΡΡ STOPPED
, ΡΠ°ΠΊΠΎ Π΄Π° ΠΌΠΎΡΠ°ΠΌΠΎ Π΄Π° Π³Π° ΠΏΠΎΠΊΡΠ΅Π½Π΅ΠΌΠΎ ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ΅ΠΌ ΠΈΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΡΠ΅ΠΌΡ:
lxc start jupyterlab
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ΠΌΠΎ Π»ΠΈΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Ρ ΠΠΠ‘Π ΠΏΠΎΠΌΠΎΡΡ ΡΠ°ΡΡΠ΅ΡΠ° -c
ΡΡΠΎ ΡΠΊΠ°Π·ΡΡΠ΅ Π½Π° ΠΊΠΎΡΠ΅ cΠΏΡΠΈΠΊΠ°Π· ΡΡΡΠ±ΠΎΠ²Π°:
lxc list -c ns4b
+------------+---------+-------------------+--------------+
| NAME | STATE | IPV4 | STORAGE POOL |
+------------+---------+-------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.198 (eth0) | hddpool |
+------------+---------+-------------------+--------------+
ΠΡΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, ΠΠ Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅ ΠΈΠ·Π°Π±ΡΠ°Π½Π° Π½Π°ΡΡΠΌΠΈΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎ ΡΠΌΠΎ ΠΊΠΎΡΠΈΡΡΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ» default
ΠΊΠΎΡΠΈ ΡΠ΅ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ Ρ ΡΠ»Π°Π½ΠΊΡ ΠΡΠ½ΠΎΠ²Π½Π΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ΅ ΠΠΠ‘Π - ΠΠΈΠ½ΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡΠΊΠΈΡ
ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ²Ρ ΠΠ Π°Π΄ΡΠ΅ΡΡ ΡΠ΅ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠΈ Ρ ΠΏΠ°ΠΌΡΡΠΈΠ²ΠΈΡΡ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ΠΌ ΠΌΡΠ΅ΠΆΠ½ΠΎΠ³ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠ° Π½Π° Π½ΠΈΠ²ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, Π° Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½ΠΎΠ³ ΠΏΡΠΎΡΠΈΠ»Π° ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ ΡΠ°Π΄Π° Ρ ΡΡΠ΅Π½ΡΡΠ½ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΈ. ΠΠ΅ ΠΌΠΎΡΠ°ΡΠ΅ ΠΎΠ²ΠΎ Π΄Π° ΡΠ°Π΄ΠΈΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎ ΠΏΡΠ΅ΡΠΊΠΎΡΠΈΡΠΈ.
ΠΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΌΡΠ΅ΠΆΠ½ΠΎΠ³ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠ° eth0
ΠΊΠΎΡΠΈ ΠΏΠΎΠ²Π΅Π·ΡΡΠ΅ΠΌΠΎ ΡΠ° ΠΏΡΠ΅ΠΊΠΈΠ΄Π°ΡΠ΅ΠΌ (ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΌΠΎΡΡ) lxdbr0
Ρ ΠΊΠΎΡΠ΅ΠΌ ΡΠΌΠΎ ΠΎΠΌΠΎΠ³ΡΡΠΈΠ»ΠΈ ΠΠΠ’ ΠΏΡΠ΅ΠΌΠ° ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»Π°Π½ΠΊΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ΅ ΡΠ°Π΄Π° ΠΈΠΌΠ°ΡΠΈ ΠΏΡΠΈΡΡΡΠΏ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ, Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΡ Π΄ΠΎΠ΄Π΅ΡΡΡΠ΅ΠΌΠΎ ΠΈ ΡΡΠ°ΡΠΈΡΠΊΡ ΠΠ Π°Π΄ΡΠ΅ΡΡ - 10.0.5.5
:
lxc config device add jupyterlab eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5
ΠΠ°ΠΊΠΎΠ½ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ° ΡΡΠ΅ΡΠ°ΡΠ°, ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ΅ ΠΌΠΎΡΠ° ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΡΠ΅Π½ΡΡΠΈ:
lxc restart jupyterlab
ΠΡΠΎΠ²Π΅ΡΠ° ΡΡΠ°ΡΡΡΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°:
lxc list -c ns4b
+------------+---------+------------------+--------------+
| NAME | STATE | IPV4 | STORAGE POOL |
+------------+---------+------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.5 (eth0) | hddpool |
+------------+---------+------------------+--------------+
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ ΡΠΎΡΡΠ²Π΅ΡΠ° ΠΈ ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° ^
ΠΠ° Π±ΠΈΡΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π»ΠΈ Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠΈ ΡΠΎΡΡΠ²Π΅Ρ:
ΠΏΠ°ΠΊΠ΅Ρ
Opis
ΡΡΠ΅ΡΠ½ΡΡΠΈ
ΠΠΠ£ ΠΠΎΡΡΠ½Π΅ ΠΠ³Π°ΠΈΠ½ ΡΡΡΠΊΠ°
Π±Π°ΡΡ
-Π·Π°Π²ΡΡΠ΅ΡΠ°ΠΊ
ΠΡΠΎΠ³ΡΠ°ΠΌΠ°Π±ΠΈΠ»Π½ΠΈ Π·Π°Π²ΡΡΠ΅ΡΠ°ΠΊ Π·Π° Π±Π°ΡΡ
ΡΡ
Π΅Π»Π»
ΡΡΠ΄ΠΎ
ΠΠ°ΡΡΠ΅ ΠΎΠ΄ΡΠ΅ΡΠ΅Π½ΠΈΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΠΌΠ° ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ Π΄Π° ΠΏΠΎΠΊΡΠ΅ΡΡ Π½Π΅ΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΊΠ°ΠΎ ΡΠΎΠΎΡ
ΡΠ΅Π½ΠΊΠ°
ΠΠ°ΠΊΠ΅Ρ Π°Π»Π°ΡΠ° Π·Π° ΡΠΏΡΠ°Π²ΡΠ°ΡΠ΅ Π»ΠΎΠ·ΠΈΠ½ΠΊΠΎΠΌ ΠΈ Π½Π°Π»ΠΎΠ³ΠΎΠΌ ΡΠ° ΠΏΠΎΠ΄ΡΡΠΊΠΎΠΌ Π·Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ Ρ ΡΠ΅Π½ΡΠΈ ΠΈ ΠΠΠ
ΡΠ·Π΄Π°ΡΠ°
ΠΠ·Π²ΠΎΡΠΈ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΎΡ Π·ΠΎΠ½ΠΈ ΠΈ Π»Π΅ΡΡΠ΅ΠΌ ΡΠ°ΡΡΠ½Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π°
ΠΠ°Π½ΠΎ
ΠΠΈΡΠΎ Π΅Π΄ΠΈΡΠΎΡ ΠΊΠ»ΠΎΠ½ ΡΠ° ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠΈΠΌΠ°
ΠΠΎΡΠ΅Π΄ ΡΠΎΠ³Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΊΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΌ ΠΌΠ°Π½-ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠ° ΡΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠΈ ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ΅ β man man-pages mdocml-apropos less
lxc exec jupyterlab -- apk add bash bash-completion sudo shadow tzdata nano
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π°ΠΌΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ ΡΠ°ΡΡΠ΅ΡΠ΅ ΠΊΠΎΡΠ΅ ΡΠΌΠΎ ΠΊΠΎΡΠΈΡΡΠΈΠ»ΠΈ:
lxc
β ΠΠΎΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΠΠ‘Π ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ°exec
- ΠΠΠ‘Π ΠΊΠ»ΠΈΡΠ΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠΎΡΠΈ ΠΏΠΎΠΊΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡjupyterlab
β ΠΠ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°--
- Π‘ΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΈ ΠΊΡΡΡ ΠΊΠΎΡΠΈ Π½Π°Π²ΠΎΠ΄ΠΈ Π΄Π° ΡΠ΅ Π΄Π°ΡΠΈ ΠΊΡΡΡΠ΅Π²ΠΈ Π½Π΅ ΡΡΠΌΠ°ΡΠ΅ ΠΊΠ°ΠΎ ΠΊΡΡΡΠ΅Π²ΠΈ Π·Π°lxc
ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΠ΅ ΠΎΡΡΠ°ΡΠ°ΠΊ Π½ΠΈΠ·Π° ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρapk
β ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°add
β ΠΠ΅ΡΠΎΠ΄ ΠΌΠ΅Π½Π°ΡΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΊΠΎΡΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½Π΅ Π½Π°ΠΊΠΎΠ½ ΠΊΠΎΠΌΠ°Π½Π΄Π΅
ΠΠ°ΡΠΈΠΌ ΡΠ΅ΠΌΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΡ Π·ΠΎΠ½Ρ Ρ ΡΠΈΡΡΠ΅ΠΌΡ Europe/Moscow
:
lxc exec jupyterlab -- cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
ΠΠ°ΠΊΠΎΠ½ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ΅ Π·ΠΎΠ½Π΅, ΠΏΠ°ΠΊΠ΅Ρ tzdata
Π²ΠΈΡΠ΅ Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π°Π½ Ρ ΡΠΈΡΡΠ΅ΠΌΡ, Π·Π°ΡΠ·Π΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎΡ, ΠΏΠ° Ρ
Π°ΡΠ΄Π΅ Π΄Π° Π³Π° ΠΈΠ·Π±ΡΠΈΡΠ΅ΠΌΠΎ:
lxc exec jupyterlab -- apk del tzdata
ΠΡΠΎΠ²Π΅ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ΅ Π·ΠΎΠ½Π΅:
lxc exec jupyterlab -- date
Wed Apr 15 10:49:56 MSK 2020
ΠΠ° Π½Π΅ Π±ΠΈΡΠΌΠΎ ΡΡΠΎΡΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π° Π½Π° ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ΅ ΠΠ°ΡΡ
-Π° Π·Π° Π½ΠΎΠ²Π΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡ, Ρ ΡΠ»Π΅Π΄Π΅ΡΠΈΠΌ ΠΊΠΎΡΠ°ΡΠΈΠΌΠ° ΡΠ΅ΠΌΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠΈ Π³ΠΎΡΠΎΠ²Π΅ ΡΠΊΠ΅Π» ΡΠ°ΡΠ»ΠΎΠ²Π΅ ΡΠ° Ρ
ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΡΠ΅Π³Π°. ΠΠ²ΠΎ ΡΠ΅ Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡΡΠΈΡΠΈ Π΄Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ»Π΅ΠΏΡΠ°ΡΠ΅ ΠΠ°ΡΡ
Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡ. ΠΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π΄ΠΎΠΌΠ°ΡΠΈΠ½Π° ΡΠ΅ ΠΠ°ΡΠ°ΡΠΎ ΠΠΈΠ½ΡΠΊ ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ ΠΊΠΎΡΠ΅ ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ°ΡΡ /etc/skel/.bash_profile
, /etc/skel/.bashrc
, /etc/skel/.dir_colors
Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΡ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈ Π·Π° ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ ΠΈ Π½Π΅ ΠΈΠ·Π°Π·ΠΈΠ²Π°ΡΡ ΠΊΡΠΈΡΠΈΡΠ½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, Π°Π»ΠΈ ΠΌΠΎΠΆΠ΄Π° ΠΈΠΌΠ°ΡΠ΅ Π΄ΡΡΠ³Π°ΡΠΈΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡ ΠΈ ΠΌΠΎΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠ°Π»Π½ΠΎ Π΄Π° ΠΎΡΠΊΡΠΈΡΠ΅ΡΠ΅ Π΄Π° Π»ΠΈ ΠΏΠΎΡΡΠΎΡΠΈ Π³ΡΠ΅ΡΠΊΠ° ΠΊΠ°Π΄Π° ΡΠ΅ ΠΠ°ΡΡ
ΠΏΠΎΠΊΡΠ΅ΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡ.
ΠΠΎΠΏΠΈΡΠ°ΡΡΠ΅ ΡΠΊΠ΅Π» Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΡΡΡ --create-dirs
ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°ΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π½Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΠ΅ Π°ΠΊΠΎ Π½Π΅ ΠΏΠΎΡΡΠΎΡΠ΅:
lxc file push /etc/skel/.bash_profile jupyterlab/etc/skel/.bash_profile --create-dirs
lxc file push /etc/skel/.bashrc jupyterlab/etc/skel/.bashrc
lxc file push /etc/skel/.dir_colors jupyterlab/etc/skel/.dir_colors
ΠΠ° ΠΏΠΎΡΡΠΎΡΠ΅ΡΠ΅Π³ ΡΠΎΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ°, ΠΊΠΎΠΏΠΈΡΠ°ΡΡΠ΅ ΡΠΊΠ΅Π» Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ ΠΊΠΎΡΠ΅ ΡΡ ΡΠΏΡΠ°Π²ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ Ρ ΠΊΡΡΠ½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌ:
lxc exec jupyterlab -- cp /etc/skel/.bash_profile /root/.bash_profile
lxc exec jupyterlab -- cp /etc/skel/.bashrc /root/.bashrc
lxc exec jupyterlab -- cp /etc/skel/.dir_colors /root/.dir_colors
ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΡΠΊΡ ΡΠΊΠΎΡΠΊΡ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ΅ /bin/sh
, Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ΠΌΠΎ Π³Π° ΡΠ° root
ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Ρ ΠΠ°ΡΡ
Ρ:
lxc exec jupyterlab -- usermod --shell=/bin/bash root
ΠΠ° root
ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π½ΠΈΡΠ΅ Π±ΠΈΠΎ Π±Π΅Π· Π»ΠΎΠ·ΠΈΠ½ΠΊΠ΅, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈ Π»ΠΎΠ·ΠΈΠ½ΠΊΡ. Π‘Π»Π΅Π΄Π΅ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠΈ ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠΈ Π½ΠΎΠ²Ρ ΡΠ»ΡΡΠ°ΡΠ½Ρ Π»ΠΎΠ·ΠΈΠ½ΠΊΡ Π·Π° ΡΠ΅Π³Π°, ΠΊΠΎΡΡ ΡΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΠΈ Π½Π° Π΅ΠΊΡΠ°Π½Ρ ΠΊΠΎΠ½Π·ΠΎΠ»Π΅ Π½Π°ΠΊΠΎΠ½ ΡΠ΅Π½ΠΎΠ³ ΠΈΠ·Π²ΡΡΠ΅ΡΠ°:
lxc exec jupyterlab -- /bin/bash -c "PASSWD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 12); echo "root:$PASSWD" | chpasswd && echo "New Password: $PASSWD""
New Password: sFiXEvBswuWA
Π’Π°ΠΊΠΎΡΠ΅, Ρ
Π°ΡΠ΄Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠΎ Π½ΠΎΠ²ΠΎΠ³ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ° - jupyter
Π·Π° ΠΊΠΎΡΠ΅ ΡΠ΅ΠΌΠΎ ΠΊΠ°ΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠΈ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±:
lxc exec jupyterlab -- useradd --create-home --shell=/bin/bash jupyter
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ΅ΠΌΠΎ ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠΎ Π»ΠΎΠ·ΠΈΠ½ΠΊΡ Π·Π° ΡΠΎ:
lxc exec jupyterlab -- /bin/bash -c "PASSWD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 12); echo "jupyter:$PASSWD" | chpasswd && echo "New Password: $PASSWD""
New Password: ZIcbzWrF8tki
ΠΠ°ΡΠΈΠΌ ΡΠ΅ΠΌΠΎ ΠΈΠ·Π²ΡΡΠΈΡΠΈ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΏΡΠ²Π° ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΡ Π³ΡΡΠΏΡ sudo
, Π° Π΄ΡΡΠ³ΠΈ ΡΠ΅ ΠΌΡ Π΄ΠΎΠ΄Π°ΡΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° jupyter
:
lxc exec jupyterlab -- groupadd --system sudo
lxc exec jupyterlab -- groupmems --group sudo --add jupyter
ΠΠ° Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΊΠΎΡΠΈΠΌ Π³ΡΡΠΏΠ°ΠΌΠ° ΠΏΡΠΈΠΏΠ°Π΄Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ jupyter
:
lxc exec jupyterlab -- id -Gn jupyter
jupyter sudo
Π‘Π²Π΅ ΡΠ΅ ΠΎΠΊ, ΠΈΠ΄Π΅ΠΌΠΎ Π΄Π°ΡΠ΅.
ΠΠΎΠ·Π²ΠΎΠ»ΠΈ ΡΠ²ΠΈΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΠΌΠ° ΠΊΠΎΡΠΈ ΡΡ ΡΠ»Π°Π½ΠΎΠ²ΠΈ Π³ΡΡΠΏΠ΅ sudo
ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ sudo
. ΠΠ° Π±ΠΈΡΡΠ΅ ΡΠΎ ΡΡΠ°Π΄ΠΈΠ»ΠΈ, ΠΏΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π³Π΄Π΅ sed
Π΄Π΅ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ° Π»ΠΈΠ½ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠ° Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½ΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΡΠΈ /etc/sudoers
:
lxc exec jupyterlab -- /bin/bash -c "sed --in-place -e '/^#[ t]*%sudo[ t]*ALL=(ALL)[ t]*ALL$/ s/^[# ]*//' /etc/sudoers"
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±-Π° ^
ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΡΠ΅ ΠΠΈΡΡ
ΠΎΠ½ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°, ΡΠ°ΠΊΠΎ Π΄Π° ΠΏΡΠ²ΠΎ ΠΌΠΎΡΠ°ΠΌΠΎ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠΎ ΠΎΠ²Π°Ρ ΡΡΠΌΠ°Ρ. ΡΠ°ΠΊΠΎΡΠ΅, ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ΠΌΠΎ ΠΏΠΎΠΌΠΎΡΡ ΠΠΈΡΡ
ΠΎΠ½ ΠΌΠ΅Π½Π°ΡΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° pip
, Π° Π½Π΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ, ΡΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ Π·Π°ΡΡΠ°ΡΠ΅ΠΎ Ρ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΎΠΌ ΡΠΏΡΠ΅ΠΌΠΈΡΡΡ ΠΈ ΡΡΠΎΠ³Π° ΠΌΠΎΡΠ°ΠΌΠΎ ΡΡΡΠ½ΠΎ Π΄Π° ΡΠ΅ΡΠΈΠΌΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ Π·Π° ΡΠ΅Π³Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄Π΅ΡΠΈΡ
ΠΏΠ°ΠΊΠ΅ΡΠ° β python3 python3-dev gcc libc-dev zeromq-dev
:
lxc exec jupyterlab -- apk add python3 python3-dev gcc libc-dev zeromq-dev
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π°ΠΆΡΡΠΈΡΠ°ΠΌΠΎ ΠΠΈΡΡ
ΠΎΠ½ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈ ΠΌΠ΅Π½Π°ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° pip
Π½Π° ΡΡΠ΅Π½ΡΡΠ½Ρ Π²Π΅ΡΠ·ΠΈΡΡ:
lxc exec jupyterlab -- python3 -m pip install --upgrade pip setuptools wheel
Π‘Π΅Ρ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΠΏΡΠ΅ΠΊΠΎ ΠΌΠ΅Π½Π°ΡΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° pip
:
lxc exec jupyterlab -- python3 -m pip install jupyterlab
ΠΠΎΡΡΠΎ ΡΡ ΠΏΡΠΎΡΠΈΡΠ΅ΡΠ° Ρ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΡΡ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΠΈ Π·Π²Π°Π½ΠΈΡΠ½ΠΎ ΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΡΡΡΡΡΡ ΡΠ° ΡΡΠΏΠΈΡΠ΅ΡΠ»Π°Π± ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ, ΡΠ°ΠΊΠΎ Π΄Π° ΠΌΠΎΡΠ°ΠΌΠΎ Π΄Π° Π³Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠΎ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ΅ΠΌΠΎ ΡΡΡΠ½ΠΎ.
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠΎ ΠΠΎΠ΄Π΅ΠΠ‘ ΠΈ ΠΌΠ΅Π½Π°ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° Π·Π° ΡΠ΅Π³Π° - ΠΠΠ, ΠΏΠΎΡΡΠΎ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΠΊΠΎΡΠΈΡΡΠΈ ΠΈΡ Π·Π° ΡΠ²ΠΎΡΠ΅ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ΅:
lxc exec jupyterlab -- apk add nodejs npm
ΠΠ° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ΅ Π·Π° ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΠΊΠΎΡΠ΅ ΡΠ΅ΠΌΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠΈ ΡΡ ΡΠ°Π΄ΠΈΠ»ΠΈ, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΠΈΡ
ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠΈ Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΈΠΌΠ΅Π½ΠΈΠΊ ΠΏΠΎΡΡΠΎ ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π±ΠΈΡΠΈ ΠΏΠΎΠΊΡΠ΅Π½ΡΡΠ° ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° jupyter
. ΠΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ Ρ ΡΠΎΠΌΠ΅ ΡΡΠΎ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ° Π½Π΅ ΠΏΠΎΡΡΠΎΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ ΠΊΠΎΡΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠΈ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌ; Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΡΠΈΡ
Π²Π°ΡΠ° ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Ρ ΠΎΠΊΡΡΠΆΠ΅ΡΠ° ΠΈ Π·Π°ΡΠΎ ΡΠ΅ ΠΌΠΎΡΠ°ΠΌΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠΈ. ΠΠ° Π±ΠΈΡΠΌΠΎ ΡΠΎ ΡΡΠ°Π΄ΠΈΠ»ΠΈ, Π½Π°ΠΏΠΈΡΠ°ΡΠ΅ΠΌΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π° ΠΈΠ·Π²ΠΎΠ· ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π΅ JUPYTERLAB_DIR
Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅ΡΡ jupyter
, Π΄Π° ΠΏΠΎΠ΄Π½Π΅ΡΠ΅ .bashrc
ΠΊΠΎΡΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΠ°Π²Π° ΡΠ²Π°ΠΊΠΈ ΠΏΡΡ ΠΊΠ°Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΠΏΡΠΈΡΠ°Π²ΠΈ:
lxc exec jupyterlab -- su -l jupyter -c "echo -e "nexport JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab" >> .bashrc"
Π‘Π»Π΅Π΄Π΅ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ ΠΏΡΠΎΡΠΈΡΠ΅ΡΠ΅ - ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±:
lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter labextension install --no-build @jupyter-widgets/jupyterlab-manager"
Π‘Π°Π΄Π° ΡΠ΅ ΡΠ²Π΅ ΡΠΏΡΠ΅ΠΌΠ½ΠΎ Π·Π° ΠΏΡΠ²ΠΎ Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±, Π°Π»ΠΈ ΡΠΎΡ ΡΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠΎ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ°:
toc
β Π‘Π°Π΄ΡΠΆΠ°Ρ, Π³Π΅Π½Π΅ΡΠΈΡΠ΅ Π»ΠΈΡΡΡ Π½Π°ΡΠ»ΠΎΠ²Π° Ρ ΡΠ»Π°Π½ΠΊΡ/Π±Π΅Π»Π΅ΠΆΠ½ΠΈΡΠΈjupyterlab-horizon-theme
β Π£Π ΡΠ΅ΠΌΠ°jupyterlab_neon_theme
β Π£Π ΡΠ΅ΠΌΠ°jupyterlab-ubu-theme
- ΠΠΎΡ ΡΠ΅Π΄Π°Π½ ΡΠ΅ΠΌΠ° ΠΎΠ΄ Π°ΡΡΠΎΡΠ° ΠΎΠ²Π°Ρ ΡΠ»Π°Π½Π°ΠΊ :) ΠΠ»ΠΈ Ρ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ Π±ΠΈΡΠΈ ΠΏΡΠΈΠΊΠ°Π·Π°Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° ΠΈΠ· ΠΠΈΡΠ₯ΡΠ± ΡΠΏΡΠ΅ΠΌΠΈΡΡΠ°
ΠΠ°ΠΊΠ»Π΅, ΠΏΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ·Π°ΡΡΠΎΠΏΠ½ΠΎ Π΄Π° Π±ΠΈΡΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π»ΠΈ ΠΎΠ²Π° ΠΏΡΠΎΡΠΈΡΠ΅ΡΠ°:
lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter labextension install --no-build @jupyterlab/toc @mohirio/jupyterlab-horizon-theme @yeebc/jupyterlab_neon_theme"
lxc exec jupyterlab -- su -l jupyter -c "wget -c https://github.com/microcoder/jupyterlab-ubu-theme/archive/master.zip"
lxc exec jupyterlab -- su -l jupyter -c "unzip -q master.zip && rm master.zip"
lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter labextension install --no-build jupyterlab-ubu-theme-master"
lxc exec jupyterlab -- su -l jupyter -c "rm -r jupyterlab-ubu-theme-master"
ΠΠ°ΠΊΠΎΠ½ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ°, ΠΌΠΎΡΠ°ΠΌΠΎ ΠΈΡ
ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠΈ, ΠΏΠΎΡΡΠΎ ΡΠΌΠΎ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ, ΡΠΎΠΊΠΎΠΌ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ΅, Π½Π°Π²Π΅Π»ΠΈ ΠΊΡΡΡ --no-build
Π±ΠΈΡΡΠ΅ ΡΡΡΠ΅Π΄Π΅Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅. Π‘Π°Π΄Π° ΡΠ΅ΠΌΠΎ Π·Π½Π°ΡΠ°ΡΠ½ΠΎ ΡΠ±ΡΠ·Π°ΡΠΈ ΡΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ΠΌΠΎ ΠΈΡ
ΡΠ°ΡΡΠ°Π²ΠΈΡΠΈ Ρ ΡΠ΅Π΄Π½ΠΎΠΌ ΠΏΠΎΡΠ΅Π·Ρ:
lxc exec jupyterlab -- su -l jupyter -c "export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab; jupyter lab build"
Π‘Π°Π΄Π° ΠΏΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΄Π° Π±ΠΈΡΡΠ΅ Π³Π° ΠΏΠΎΠΊΡΠ΅Π½ΡΠ»ΠΈ ΠΏΡΠ²ΠΈ ΠΏΡΡ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±. ΠΠΎΠ³Π»ΠΎ Π±ΠΈ ΡΠ΅ ΠΏΠΎΠΊΡΠ΅Π½ΡΡΠΈ ΡΠ΅Π΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΌ, Π°Π»ΠΈ Ρ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ΅, ΠΊΠΎΡΡ ΡΠ΅ ΡΠ΅ΡΠΊΠΎ Π·Π°ΠΏΠ°ΠΌΡΠΈΡΠΈ Ρ Π²Π°ΡΠ΅ΠΌ ΡΠΌΡ, ΠΏΠ°ΠΌΡΠΈΡΠ΅ Π±Π°ΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡ, Π° Π½Π΅ Π½Π° Ρ ΠΎΡΡΡ, Π³Π΄Π΅ Π²Π΅Ρ ΠΈΠΌΠ° Π΄ΠΎΠ²ΠΎΡΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π΄Π° ΠΈΡ ΡΠΏΠΈΡΠ΅ΠΌ Ρ ΠΈΡΡΠΎΡΠΈΡΡ :)
ΠΡΠΈΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΊΠ°ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ jupyter
:
lxc exec jupyterlab -- su -l jupyter
Π‘Π»Π΅Π΄Π΅ΡΠ΅, ΡΡΡΠΈ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΡΠ° ΠΊΡΡΡΠ΅Π²ΠΈΠΌΠ° ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠΌΠ° ΠΊΠ°ΠΊΠΎ ΡΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ:
[jupyter@jupyterlab ~]$ jupyter lab --ip=0.0.0.0 --no-browser
ΠΠ΄ΠΈΡΠ΅ Π½Π° Π°Π΄ΡΠ΅ΡΡ Ρ ΡΠ²ΠΎΠΌ Π²Π΅Π± ΠΏΡΠ΅ΡΡΠ°ΠΆΠΈΠ²Π°ΡΡ http://10.0.5.5:8888 Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΊΠΎΡΠ° ΡΠ΅ ΠΎΡΠ²ΠΎΡΠΈ ΡΠ½Π΅ΡΠΈΡΠ΅ ΠΆΠ΅ΡΠΎΠ½ ΠΏΡΠΈΡΡΡΠΏ ΠΊΠΎΡΠΈ ΡΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΠΈ Ρ ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ. ΠΠΎΠΏΠΈΡΠ°ΡΡΠ΅ Π³Π° ΠΈ Π½Π°Π»Π΅ΠΏΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, Π° Π·Π°ΡΠΈΠΌ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΡΠΈΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅. ΠΠ°ΠΊΠΎΠ½ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΡΠ°Π²ΠΈΡΠ΅, ΠΈΠ΄ΠΈΡΠ΅ Π½Π° ΠΌΠ΅Π½ΠΈ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° ΡΠ° Π»Π΅Π²Π΅ ΡΡΡΠ°Π½Π΅, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»ΠΈΡΠΈ ΠΈΡΠΏΠΎΠ΄, Π³Π΄Π΅ ΡΠ΅ ΠΎΠ΄ Π²Π°Ρ Π±ΠΈΡΠΈ Π·Π°ΡΡΠ°ΠΆΠ΅Π½ΠΎ, ΠΊΠ°Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΌΠ΅Π½Π°ΡΠ΅Ρ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ°, Π΄Π° ΠΏΡΠ΅ΡΠ·ΠΌΠ΅ΡΠ΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½Π΅ ΡΠΈΠ·ΠΈΠΊΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ΠΌ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° ΠΎΠ΄ ΡΡΠ΅ΡΠΈΡ Π»ΠΈΡΠ° Π·Π° ΠΊΠΎΡΠ΅ ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΡΠ°Π·Π²ΠΎΡ Π½ΠΈΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ°Π½:
ΠΠ΅ΡΡΡΠΈΠΌ, ΠΈΠ·ΠΎΠ»ΡΡΠ΅ΠΌΠΎ ΡΠ΅Π»ΠΈΠ½Ρ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΠΈ ΡΡΠ°Π²ΠΈΡΠ΅ Π³Π° Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ°ΠΊΠΎ Π΄Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ΅ ΡΡΠ΅ΡΠ΅ ΡΡΡΠ°Π½Π΅ ΠΊΠΎΡΠ΅ Π·Π°Ρ
ΡΠ΅Π²Π°ΡΡ ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ ΠΠΎΠ΄Π΅ΠΠ‘ Π½Π΅ ΠΌΠΎΠ³Ρ Π±Π°ΡΠ΅ΠΌ Π΄Π° ΡΠΊΡΠ°Π΄Ρ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Π½Π° Π΄ΠΈΡΠΊΡ ΠΎΡΠΈΠΌ ΠΎΠ½ΠΈΡ
ΠΊΠΎΡΠ΅ ΠΎΡΠ²Π°ΡΠ°ΠΌΠΎ ΡΠ½ΡΡΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. ΠΠΎΡΠΈΡΠ΅ Π΄ΠΎ ΡΠ²ΠΎΡΠΈΡ
ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈΡ
Π΄ΠΎΠΊΡΠΌΠ΅Π½Π°ΡΠ° Π½Π° Ρ
ΠΎΡΡΡ /home
ΠΌΠ°Π»ΠΎ ΡΠ΅ Π²Π΅ΡΠΎΠ²Π°ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΡΡΠΏΠ΅ΡΠΈ, Π° Π°ΠΊΠΎ ΡΡΠΏΠ΅ΡΡ, ΠΎΠ½Π΄Π° ΠΌΠΎΡΠ°ΡΠ΅ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ΅ Π½Π°Π΄ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΠΌΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ Ρ
ΠΎΡΡΠ°, ΠΏΠΎΡΡΠΎ ΠΌΠΈ ΠΏΠΎΠΊΡΠ΅ΡΠ΅ΠΌΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ Ρ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΎΠ²Π°Π½ΠΈ ΡΠ΅ΠΆΠΈΠΌ. ΠΠ° ΠΎΡΠ½ΠΎΠ²Ρ ΠΎΠ²ΠΈΡ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅Π½ΠΈΡΠΈ ΡΠΈΠ·ΠΈΠΊ ΠΎΠ΄ ΡΠΊΡΡΡΠΈΠ²Π°ΡΠ° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° Ρ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±.
ΠΠ°ΠΏΡΠ°Π²ΡΠ΅Π½Π΅ ΠΠΠΈΡΡ
ΠΎΠ½ ΡΠ²Π΅ΡΠΊΠ΅ (ΡΡΡΠ°Π½ΠΈΡΠ΅ Ρ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±) ΡΠ΅ ΡΠ°Π΄Π° Π±ΠΈΡΠΈ ΠΊΡΠ΅ΠΈΡΠ°Π½ Ρ ΠΏΠΎΡΠ΅ΡΠ½ΠΎΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° - /home/jupyter
, Π°Π»ΠΈ Π½Π°ΡΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ ΡΡ Π΄Π° ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ (Π΄Π΅ΡΠ΅ΡΠ΅) ΠΈΠ·ΠΌΠ΅ΡΡ Ρ
ΠΎΡΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, ΠΏΠ° ΡΠ΅ Π²ΡΠ°ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Ρ ΠΈ Π·Π°ΡΡΡΠ°Π²ΠΈΡΠ΅ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΠΈΠ·Π²ΡΡΠ°Π²Π°ΡΠ΅ΠΌ ΠΏΡΠ΅ΡΠΈΡΠ΅ - CTRL+C
ΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΠ΅ y
Π½Π° Π·Π°Ρ
ΡΠ΅Π². ΠΠ°ΡΠΈΠΌ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Ρ ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° jupyter
Π΄ΠΎΠ²ΡΡΠ°Π²Π°ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π΅Π½ΡΠ½ΠΎΠ³ ΡΠ°ΡΡΠ΅ΡΠ° CTRL+D
.
ΠΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΡΠ° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΠΌ ^
ΠΠ° Π±ΠΈΡΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΡΠ° Ρ ΠΎΡΡΠΎΠΌ, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΡΠ΅ΡΠ°Ρ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡ ΠΊΠΎΡΠΈ Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° Π΄Π° ΡΠΎ ΡΡΠ°Π΄ΠΈΡΠ΅ ΠΈ Π΄Π° ΡΠΎ ΡΡΠ°Π΄ΠΈΡΠ΅, ΠΏΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π³Π΄Π΅ Π½Π°Π²ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΠΊΡΡΡΠ΅Π²Π΅:
lxc config device add
β ΠΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ΄Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ ΡΡΠ΅ΡΠ°ΡΠ°jupyter
β ΠΠ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΊΠΎΠΌΠ΅ ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π΄ΠΎΠ΄Π°ΡΠ°hostfs
β ΠΠ ΡΡΠ΅ΡΠ°ΡΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠΈ Π±ΠΈΠ»ΠΎ ΠΊΠΎΡΠ΅ ΠΈΠΌΠ΅.disk
β Π’ΠΈΠΏ ΡΡΠ΅ΡΠ°ΡΠ° ΡΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½path
β ΠΠ΄ΡΠ΅ΡΡΡΠ΅ ΠΏΡΡΠ°ΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡ Π½Π° ΠΊΠΎΡΠΈ ΡΠ΅ ΠΠΠ‘Π ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠΈ ΠΎΠ²Π°Ρ ΡΡΠ΅ΡΠ°Ρsource
β ΠΠ΄ΡΠ΅Π΄ΠΈΡΠ΅ ΠΈΠ·Π²ΠΎΡ, ΠΏΡΡΠ°ΡΡ Π΄ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΠ° Π½Π° Ρ ΠΎΡΡΡ ΠΊΠΎΡΠΈ ΠΆΠ΅Π»ΠΈΡΠ΅ Π΄Π° Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΠΌ. ΠΠ΄ΡΠ΅Π΄ΠΈΡΠ΅ ΠΏΡΡΠ°ΡΡ ΠΏΡΠ΅ΠΌΠ° Π²Π°ΡΠΈΠΌ ΠΆΠ΅ΡΠ°ΠΌΠ°
lxc config device add jupyterlab hostfs disk path=/mnt/hostfs source=/home/dv/projects/ipython-notebooks
ΠΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /home/dv/projects/ipython-notebooks
Π΄ΠΎΠ·Π²ΠΎΠ»Π° ΠΌΠΎΡΠ° Π±ΠΈΡΠΈ ΠΏΠΎΠ΄Π΅ΡΠ΅Π½Π° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΊΠΎΡΠΈ ΡΡΠ΅Π½ΡΡΠ½ΠΎ ΠΈΠΌΠ° Π£ΠΠ ΡΠ΅Π΄Π½Π°ΠΊ SubUID + UID
, Π²ΠΈΠ΄ΠΈ ΠΏΠΎΠ³Π»Π°Π²ΡΠ΅ Π‘ΠΈΠ³ΡΡΠ½ΠΎΡΡ. ΠΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Ρ ΡΠ»Π°Π½ΠΊΡ ΠΡΠ½ΠΎΠ²Π½Π΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ΅ ΠΠΠ‘Π - ΠΠΈΠ½ΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡΠΊΠΈΡ
ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠΎΠ΄Π΅ΡΠΈΡΠ΅ Π΄ΠΎΠ·Π²ΠΎΠ»Ρ Π·Π° Ρ
ΠΎΡΡ, Π³Π΄Π΅ ΡΠ΅ Π²Π»Π°ΡΠ½ΠΈΠΊ Π±ΠΈΡΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° jupyter
, ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Π° $USER
ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄ΠΈΡΠΈ Π²Π°ΡΠ΅Π³ Ρ
ΠΎΡΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° ΠΊΠ°ΠΎ Π³ΡΡΠΏΡ:
sudo chown 1001000:$USER /home/dv/projects/ipython-notebooks
ΠΠ΄ΡΠ°Π²ΠΎ Π‘Π²Π΅ΡΠ΅! ^
ΠΠΊΠΎ ΡΠΎΡ ΡΠ²Π΅ΠΊ ΠΈΠΌΠ°ΡΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½Π·ΠΎΠ»Π΅ Ρ ββΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡ ΡΠ° ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±, Π° Π·Π°ΡΠΈΠΌ Π³Π° ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΈΠΌ ΠΊΡΡΡΠ΅ΠΌ --notebook-dir
ΠΏΠΎΡΡΠ°Π²ΡΠ°ΡΠ΅ΠΌ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ /mnt/hostfs
ΠΊΠ°ΠΎ ΠΏΡΡΠ°ΡΡ Π΄ΠΎ ΠΊΠΎΡΠ΅Π½Π° Π»Π°ΠΏΡΠΎΠΏ ΡΠ°ΡΡΠ½Π°ΡΠ° Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡ Π·Π° ΡΡΠ΅ΡΠ°Ρ ΠΊΠΎΡΠΈ ΡΠΌΠΎ ΠΊΡΠ΅ΠΈΡΠ°Π»ΠΈ Ρ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΡΠ°ΠΊΡ:
jupyter lab --ip=0.0.0.0 --no-browser --notebook-dir=/mnt/hostfs
ΠΠ°ΡΠΈΠΌ ΠΈΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ http://10.0.5.5:8888 ΠΈ ΠΊΡΠ΅ΠΈΡΠ°ΡΡΠ΅ ΡΠ²ΠΎΡ ΠΏΡΠ²ΠΈ Π»Π°ΠΏΡΠΎΠΏ ΠΊΠ»ΠΈΠΊΠΎΠΌ Π½Π° Π΄ΡΠ³ΠΌΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»ΠΈΡΠΈ ΠΈΡΠΏΠΎΠ΄:
ΠΠ°ΡΠΈΠΌ Ρ ΠΏΠΎΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠ½Π΅ΡΠΈΡΠ΅ ΠΠΈΡΡ
ΠΎΠ½ ΠΊΠΎΠ΄ ΠΊΠΎΡΠΈ ΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·Π°ΡΠΈ ΠΊΠ»Π°ΡΠΈΠΊ Hello World!
. ΠΠ°Π΄Π° Π·Π°Π²ΡΡΠΈΡΠ΅ ΡΠ° ΡΠ½ΠΎΡΠΎΠΌ, ΠΏΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ CTRL+ENTER
ΠΈΠ»ΠΈ Π΄ΡΠ³ΠΌΠ΅ "ΠΏΠ»Π°ΠΈ" Π½Π° ΡΡΠ°ΡΠΈ ΡΠ° Π°Π»Π°ΡΠΊΠ°ΠΌΠ° Π½Π° Π²ΡΡ
Ρ Π΄Π° Π±ΠΈ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΡΡΠ°Π΄ΠΈΠΎ ΠΎΠ²ΠΎ:
Π£ ΠΎΠ²ΠΎΠΌ ΡΡΠ΅Π½ΡΡΠΊΡ, ΡΠΊΠΎΡΠΎ ΡΠ²Π΅ ΡΠ΅ ΡΠΏΡΠ΅ΠΌΠ½ΠΎ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Ρ, Π°Π»ΠΈ Π±ΠΈΡΠ΅ Π½Π΅Π·Π°Π½ΠΈΠΌΡΠΈΠ²ΠΎ Π°ΠΊΠΎ Π½Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠΎ Π΄ΠΎΠ΄Π°ΡΠ½Π΅ ΠΠΈΡΡ ΠΎΠ½ ΠΌΠΎΠ΄ΡΠ»Π΅ (ΠΏΡΠ½ΠΎΠΏΡΠ°Π²Π½Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅) ΠΊΠΎΡΠΈ ΠΌΠΎΠ³Ρ Π·Π½Π°ΡΠ°ΡΠ½ΠΎ Π΄Π° ΠΏΡΠΎΡΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ ΠΠΈΡΡ ΠΎΠ½-Π° Ρ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±, Π΄Π°ΠΊΠ»Π΅, ΠΈΠ΄Π΅ΠΌΠΎ Π΄Π°ΡΠ΅ :)
ΠΠ‘ ΠΠ°Π½ΠΈΠΌΡΠΈΠ²ΠΎ ΡΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΡΠΏΠΈΡΠ΅Ρ ΠΏΠΎΠ΄ ΠΊΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½ΠΎΠΌ ΠΡΠΏΠΈΡΠ΅Ρ ΠΠΎΡΠ΅Π±ΠΎΠΎΠΊ Π½ΠΈΡΠ΅ Π½Π΅ΡΡΠ°Π»Π° ΠΈ ΠΏΠΎΡΡΠΎΡΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΡΠ° ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±. ΠΠ° Π±ΠΈΡΡΠ΅ ΠΏΡΠ΅ΡΠ»ΠΈ Π½Π° ΡΡΠ°ΡΡ Π²Π΅ΡΠ·ΠΈΡΡ, ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π²Π΅Π·Ρ Π΄ΠΎΠ΄Π°ΡΡΡΠΈ ΡΡΡΠΈΠΊΡ Ρ Π°Π΄ΡΠ΅ΡΡ/tree
, Π° ΠΏΡΠ΅Π»Π°Π·Π°ΠΊ Π½Π° Π½ΠΎΠ²Ρ Π²Π΅ΡΠ·ΠΈΡΡ Π²ΡΡΠΈ ΡΠ΅ ΡΡΡΠΈΠΊΡΠΎΠΌ /lab
, Π°Π»ΠΈ Π½Π΅ ΠΌΠΎΡΠ° Π΄Π° Π±ΡΠ΄Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ:
- ΠΡΠΏΠΈΡΠ΅Ρ ΡΠ²Π΅ΡΠΊΠ° - http://10.0.5.5:8888/tree
- ΠΡΠΏΠΈΡΠ΅Ρ ΠΠ°Π± - http://10.0.5.5:8888/lab
ΠΡΠΎΡΠΈΡΠΈΠ²Π°ΡΠ΅ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ ΠΠΈΡΡ ΠΎΠ½-Π° ^
Π£ ΠΎΠ²ΠΎΠΌ ΠΎΠ΄Π΅ΡΠΊΡ ΡΠ΅ΠΌΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠΈ ΡΠ°ΠΊΠΎ ΠΌΠΎΡΠ½Π΅ ΠΠΈΡΡ ΠΎΠ½ ΡΠ΅Π·ΠΈΡΠΊΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΊΠ°ΠΎ ΡΡΠΎ ΡΡ ΠΡΠΌΠΠΈ, ΠΏΠ°Π½Π΄Π΅, ΠΠ°ΡΠΏΠ»ΠΎΡΠ»ΠΈΠ±, ΠΠΠΈΠΠΈΠ΄Π³Π΅ΡΡ ΡΠΈΡΠΈ ΡΡ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ Ρ Π»Π°ΠΏΡΠΎΠΏ ΡΠ°ΡΡΠ½Π°ΡΠ΅ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±.
ΠΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ° Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ
ΠΠΈΡΡ
ΠΎΠ½ ΠΌΠΎΠ΄ΡΠ»Π° ΠΏΡΠ΅ΠΊΠΎ ΠΌΠ΅Π½Π°ΡΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° pip
ΠΏΡΠ²ΠΎ ΠΌΠΎΡΠ°ΠΌΠΎ Π΄Π° ΡΠ΅ΡΠΈΠΌΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠ΅ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ Ρ ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ-Ρ:
g++
β ΠΠΎΡΡΠ΅Π±Π°Π½ Π·Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Π°, ΠΏΠΎΡΡΠΎ ΡΡ Π½Π΅ΠΊΠΈ ΠΎΠ΄ ΡΠΈΡ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ Ρ ΡΠ΅Π·ΠΈΠΊΡ Π¦ + + ΠΈ ΠΏΠΎΠ²Π΅ΠΆΠΈΡΠ΅ ΡΠ΅ ΡΠ° ΠΠΈΡΡ ΠΎΠ½-ΠΎΠΌ ΡΠΎΠΊΠΎΠΌ ΠΈΠ·Π²ΡΡΠ°Π²Π°ΡΠ° ΠΊΠ°ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈfreetype-dev
- Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ ΠΠΈΡΡ ΠΎΠ½ ΠΌΠΎΠ΄ΡΠ»Π° ΠΠ°ΡΠΏΠ»ΠΎΡΠ»ΠΈΠ±
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ:
lxc exec jupyterlab -- apk add g++ freetype-dev
ΠΠΎΡΡΠΎΡΠΈ ΡΠ΅Π΄Π°Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ: Ρ ΡΡΠ΅Π½ΡΡΠ½ΠΎΠΌ ΡΡΠ°ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ΅ ΠΠ»ΠΏΠΈΠ½Π΅ ΠΠΈΠ½ΡΠΊ-Π°, Π½Π΅ΡΠ΅ Π±ΠΈΡΠΈ ΠΌΠΎΠ³ΡΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠΈ Π½ΠΎΠ²Ρ Π²Π΅ΡΠ·ΠΈΡΡ ΠΡΠΌΠΠΈ-Π°; ΠΏΠΎΡΠ°Π²ΠΈΡΠ΅ ΡΠ΅ Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠΈ ΠΊΠΎΡΡ Π½ΠΈΡΠ°ΠΌ ΠΌΠΎΠ³Π°ΠΎ Π΄Π° ΡΠ΅ΡΠΈΠΌ:
ΠΠ ΠΠ¨ΠΠ: ΠΠΈΡΠ΅ ΠΌΠΎΠ³ΡΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠΈ ΡΠΎΡΠΊΠΎΠ²Π΅ Π·Π° Π½ΡΠΌΠΏΠΈ ΠΊΠΎΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ ΠΠΠ 517 ΠΈ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠΈ
Π‘ΡΠΎΠ³Π° ΡΠ΅ΠΌΠΎ ΠΎΠ²Π°Ρ ΠΌΠΎΠ΄ΡΠ» ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠΈ ΠΊΠ°ΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΊΠΎΡΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° Π²Π΅Ρ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°Π½Ρ Π²Π΅ΡΠ·ΠΈΡΡ, Π°Π»ΠΈ ΠΌΠ°Π»ΠΎ ΡΡΠ°ΡΠΈΡΡ ΠΎΠ΄ ΠΎΠ½Π΅ ΠΊΠΎΡΠ° ΡΠ΅ ΡΡΠ΅Π½ΡΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π° ΡΠ°ΡΡΡ:
lxc exec jupyterlab -- apk add py3-numpy py3-numpy-dev
ΠΠ°ΡΠΈΠΌ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΡΠ΅ ΠΠΈΡΡ
ΠΎΠ½ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΏΡΠ΅ΠΊΠΎ ΠΌΠ΅Π½Π°ΡΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° pip
. ΠΡΠ΄ΠΈΡΠ΅ ΡΡΡΠΏΡΠΈΠ²ΠΈ ΡΠ΅Ρ ΡΠ΅ ΡΠ΅ Π½Π΅ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΡΠ°ΡΠ°ΡΠΈ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΌΠΈΠ½ΡΡΠ°. ΠΠ° ΠΌΠΎΡΠΎΡ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ° ΡΠ΅ ΡΡΠ°ΡΠ°Π»Π° ΠΎΠΊΠΎ 15 ΠΌΠΈΠ½ΡΡΠ°:
lxc exec jupyterlab -- python3 -m pip install pandas ipywidgets matplotlib
ΠΡΠΈΡΠ°ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½ΠΈΡ ΠΊΠ΅ΡΠ°:
lxc exec jupyterlab -- rm -rf /home/*/.cache/pip/*
lxc exec jupyterlab -- rm -rf /root/.cache/pip/*
Π’Π΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Π° Ρ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±-Ρ ^
ΠΠΊΠΎ ΡΡΡΠΈΡΠ΅ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±, ΠΏΠΎΠ½ΠΎΠ²ΠΎ Π³Π° ΠΏΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ Π½ΠΎΠ²ΠΎΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΡ. ΠΠ° Π±ΠΈΡΡΠ΅ ΡΠΎ ΡΡΠ°Π΄ΠΈΠ»ΠΈ, Ρ ΡΠ΅ΡΠΈΡΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»Π΅ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ CTRL+C
Π³Π΄Π΅ ΡΠ΅ ΠΏΠΎΠΊΡΠ΅Π½ΡΡ ΠΈ ΡΡΠΈΡΠ΅ y
Π΄Π° Π·Π°ΡΡΡΠ°Π²ΠΈΡΠ΅ Π·Π°Ρ
ΡΠ΅Π², Π° Π·Π°ΡΠΈΠΌ ΠΏΠΎΡΠ½Π΅ΡΠ΅ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΠΏΡΠΈΡΠΈΡΠΊΠΎΠΌ Π½Π° ΡΡΡΠ΅Π»ΠΈΡΡ Π½Π°Π³ΠΎΡΠ΅ Π½Π° ΡΠ°ΡΡΠ°ΡΡΡΠΈ Π΄Π° Π½Π΅ Π±ΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΡΠ½Π΅Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π·Π°ΡΠΈΠΌ Enter
Π΄Π° Π±ΠΈΡΡΠ΅ Π³Π° ΠΏΠΎΠΊΡΠ΅Π½ΡΠ»ΠΈ:
jupyter lab --ip=0.0.0.0 --no-browser --notebook-dir=/mnt/hostfs
ΠΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ http://10.0.5.5:8888/lab ΠΈΠ»ΠΈ ΠΎΡΠ²Π΅ΠΆΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΡΡ, Π° Π·Π°ΡΠΈΠΌ ΡΠ½Π΅ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠΈ ΠΊΠΎΠ΄ Ρ Π½ΠΎΠ²Ρ ΡΠ΅Π»ΠΈΡΡ Π±Π΅Π»Π΅ΠΆΠ½ΠΈΡΠ΅:
%matplotlib inline
from ipywidgets import interactive
import matplotlib.pyplot as plt
import numpy as np
def f(m, b):
plt.figure(2)
x = np.linspace(-10, 10, num=1000)
plt.plot(x, m * x + b)
plt.ylim(-5, 5)
plt.show()
interactive_plot = interactive(f, m=(-2.0, 2.0), b=(-3, 3, 0.5))
output = interactive_plot.children[-1]
output.layout.height = '350px'
interactive_plot
Π’ΡΠ΅Π±Π°Π»ΠΎ Π±ΠΈ Π΄Π° Π΄ΠΎΠ±ΠΈΡΠ΅ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΊΠ°ΠΎ Π½Π° ΡΠ»ΠΈΡΠΈ ΠΈΡΠΏΠΎΠ΄, Π³Π΄Π΅ ΠΠΠΈΠΠΈΠ΄Π³Π΅ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ Π£Π Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΊΠΎΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅Π°Π³ΡΡΠ΅ ΡΠ° ΠΈΠ·Π²ΠΎΡΠ½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π° ΡΠ°ΠΊΠΎΡΠ΅ ΠΠ°ΡΠΏΠ»ΠΎΡΠ»ΠΈΠ± ΠΏΡΠΈΠΊΠ°Π·ΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΊΠΎΠ΄Π° Ρ ΠΎΠ±Π»ΠΈΠΊΡ ΡΠ»ΠΈΠΊΠ΅ ΠΊΠ°ΠΎ Π³ΡΠ°ΡΠΈΠΊ ΡΡΠ½ΠΊΡΠΈΡΠ΅:
ΠΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΠΠΈΠΠΈΠ΄Π³Π΅ΡΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π³Π° ΠΏΡΠΎΠ½Π°ΡΠΈ Ρ ΡΡΡΠΎΡΠΈΡΠ°Π»ΠΈΠΌΠ° ΠΎΠ²Π΄Π΅
Π¨ΡΠ° ΡΠΎΡ? ^
ΠΡΠ°Π²ΠΎ Π°ΠΊΠΎ ΡΡΠ΅ ΠΎΡΡΠ°Π»ΠΈ ΠΈ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ ΡΠ°ΠΌΠΎΠ³ ΠΊΡΠ°ΡΠ° ΡΠ»Π°Π½ΠΊΠ°. ΠΠ°ΠΌΠ΅ΡΠ½ΠΎ Π½ΠΈΡΠ°ΠΌ ΠΏΠΎΡΡΠ°Π²ΠΈΠΎ Π³ΠΎΡΠΎΠ²Ρ ΡΠΊΡΠΈΠΏΡΡ Π½Π° ΠΊΡΠ°ΡΡ ΡΠ»Π°Π½ΠΊΠ° ΠΊΠΎΡΠ° Π±ΠΈ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π»Π° ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π± ΡΠ΅Π΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ Π΄Π° ΠΎΡ ΡΠ°Π±ΡΠΈΡΠ΅ ΡΠ°Π΄Π½ΠΈΠΊΠ΅ :) ΠΠ»ΠΈ ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈ ΡΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎ Π²Π΅Ρ Π·Π½Π°ΡΠ΅ ΠΊΠ°ΠΊΠΎ, Π½Π°ΠΊΠΎΠ½ ΡΡΠΎ ΡΡΠ΅ ΡΠ°ΠΊΡΠΏΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ ΡΠ΅Π΄Π½Ρ ΠΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ :)
ΠΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅:
- ΠΠΎΠ΄Π΅ΡΠΈΡΠ΅ Π½Π°Π·ΠΈΠ² ΠΌΡΠ΅ΠΆΠ΅ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΌΠ΅ΡΡΠΎ ΠΠ Π°Π΄ΡΠ΅ΡΠ΅ ΡΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ΡΠ΅ Π³Π° Π½Π°ΠΏΠΈΡΠ°ΡΠΈ Π½Π° ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎΠΌ
/etc/hosts
ΠΈ ΡΠΊΡΡΠ°ΡΡΠ΅ Π°Π΄ΡΠ΅ΡΡ Ρ ΠΏΡΠ΅ΡΡΠ°ΠΆΠΈΠ²Π°Ρ http://jupyter.local:8888 - ΠΠΎΠΈΠ³ΡΠ°ΡΡΠ΅ ΡΠ΅ ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅ΡΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠ° Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π·Π° ΠΎΠ²ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡΠ΅ ΠΏΠΎΠ³Π»Π°Π²ΡΠ΅ Ρ ΠΎΡΠ½ΠΎΠ²Π½Π΅ ΠΠΠ‘Π ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°ΠΆΠΈΡΠ΅ Π²ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° Π½Π° ΡΠ°ΡΡΡ Π·Π° ΠΠΠ‘Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠ΅.
- ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΌΡ:
Π ΡΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠ³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΈΠ½ΠΈΡΠΈ! Π’ΠΎ ΡΠ΅ ΡΠ²Π΅. ΠΠ΅Π»ΠΈΠΌ Π²Π°ΠΌ ΡΡΠΏΠ΅Ρ !
ΠΠΠ£Π ΠΠ ΠΠΠ: 15.04.2020 18:30 - ΠΡΠΏΡΠ°Π²ΡΠ΅Π½Π΅ Π³ΡΠ΅ΡΠΊΠ΅ Ρ ΠΏΠΎΠ³Π»Π°Π²ΡΡ βΠΠ΄ΡΠ°Π²ΠΎ, ΡΠ²Π΅Ρ!β
ΠΠΠ£Π ΠΠ ΠΠΠ: 16.04.2020 10:00 β ΠΡΠΏΡΠ°Π²ΡΠ΅Π½ ΠΈ Π΄ΠΎΠ΄Π°Ρ ΡΠ΅ΠΊΡΡ Ρ ΠΎΠΏΠΈΡΡ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡΠ΅ ΠΌΠ΅Π½Π°ΡΠ΅ΡΠ° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° ΠΡΠΏΠΈΡΠ΅ΡΠΠ°Π±
ΠΠΠ£Π ΠΠ ΠΠΠ: 16.04.2020 10:40 β ΠΡΠΏΡΠ°Π²ΡΠ΅Π½Π΅ Π³ΡΠ΅ΡΠΊΠ΅ ΠΏΡΠΎΠ½Π°ΡΠ΅Π½Π΅ Ρ ΡΠ΅ΠΊΡΡΡ ΠΈ ΠΌΠ°Π»ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΎ Π½Π° Π±ΠΎΡΠ΅ ΠΏΠΎΠ³Π»Π°Π²ΡΠ΅ βΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ ΡΠΎΡΡΠ²Π΅ΡΠ° ΠΈ ΠΏΠΎΠ΄Π΅ΡΠ°Π²Π°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°β
ΠΠ·Π²ΠΎΡ: Π²Π²Π².Ρ Π°Π±Ρ.ΡΠΎΠΌ