āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋ āĻāĻāĻ¨ā§ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ āĻā§āĻĄ āĻŦāĻž āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž-āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻ¨āĻž āĻāĻ°ā§ āĻāĻŦāĻ āĻ°ā§āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻĨāĻž āĻā§āĻĄā§ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻā§āĻā§ āĻĢā§āĻ˛āĻž?
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ āĻ¸āĻ¤ā§āĻ¯āĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻā§ āĻŦāĻ˛āĻž āĻ¯āĻžāĻ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§āĻ° āĻĒā§āĻ°ā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻŦāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻĻāĻ°āĻāĻžāĻ°? āĻāĻāĻļ āĻŦāĻž āĻāĻ āĻšāĻžāĻāĻžāĻ°?
āĻāĻāĻāĻŋ āĻšāĻžāĻāĻĒāĻžāĻ°āĻāĻžāĻāĻāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§, āĻāĻ āĻāĻžāĻ¤ā§āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻšāĻŦā§, āĻ¤āĻŦā§ āĻā§ āĻŽā§āĻ˛ā§āĻ¯ā§? āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ˛āĻĒāĻžāĻāĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻ˛āĻāĻā§āĻ¸āĻĄāĻŋ-āĻ¤ā§ āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ 7.60MB
RAM, āĻāĻŦāĻ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ°ā§āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒā§āĻ° āĻĒāĻ°ā§ āĻĻāĻāĻ˛ āĻāĻ°ā§ 9.5MB
! āĻāĻĒāĻ¨āĻŋ āĻāĻāĻž āĻāĻŋāĻāĻžāĻŦā§ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°ā§āĻ¨, āĻāĻ˛āĻ¨ āĻŽāĻžāĻ¸ā§āĻ? āĻāĻŽāĻŋ āĻā§āĻ āĻāĻāĻ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ LXD āĻāĻ° āĻŽā§āĻ˛āĻŋāĻ āĻā§āĻˇāĻŽāĻ¤āĻž - āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ
āĻāĻ˛āĻāĻā§āĻ¸āĻĄāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋ āĻā§ āĻ¤āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§, āĻāĻ¸ā§āĻ¨ āĻāĻ°āĻ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ āĻāĻŦāĻ āĻāĻžāĻŦāĻŋ, āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻšāĻžāĻ°ā§āĻā§āĻ¸ā§āĻāĻžāĻ° āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻĨāĻžāĻāĻ˛ā§ āĻā§ āĻšāĻ¤ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻšā§āĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§ āĻā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻā§āĻ°āĻžāĻĢ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻ¤āĻŋāĻļā§āĻ˛āĻāĻžāĻŦā§ (āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻāĻāĻžāĻŦā§) āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ UI- āĻāĻāĻā§āĻāĻā§āĻ˛āĻŋ āĻ˛āĻŋāĻā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻŦā§āĻ˛ā§āĻ¯āĻžāĻāĻā§āĻ¯āĻžāĻ... āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻ¸āĻš āĻĒāĻžāĻ ā§āĻ¯ āĻ¸āĻš āĻā§āĻĄā§āĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°āĻ? āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻ āĻŦā§āĻ˛āĻ āĻāĻŋāĻā§ āĻ§āĻ°āĻ¨ā§āĻ°? āĻŦāĻžāĻš... āĻāĻŽāĻŋ āĻāĻāĻž āĻāĻžāĻ! āĻāĻžāĻ! đ
āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§āĻ° āĻ¨ā§āĻā§ āĻĻā§āĻā§āĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻ˛āĻā§āĻ āĻāĻ°āĻŦ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ - āĻĒā§āĻ°āĻžāĻ¨ā§ āĻā§āĻĒāĻŋāĻāĻžāĻ° āĻ¨ā§āĻāĻŦā§āĻā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ°āĻāĻ¨ā§āĻŽā§āĻ° āĻāĻāĻāĻžāĻ° āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸, āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻĒāĻžāĻāĻĨāĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛āĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻŦ āĻ¯ā§āĻŽāĻ¨ āĻ¨āĻŽā§āĻ°, āĻĒāĻžāĻ¨ā§āĻĄāĻžāĻ¸, āĻŽā§āĻ¯āĻžāĻāĻĒā§āĻ˛ā§āĻ˛ā§āĻŦ, IPyWidgets āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻĒāĻ°ā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŋāĻā§ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻĢāĻžāĻāĻ˛ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§ - āĻāĻāĻāĻŋ āĻāĻāĻĒāĻŋāĻĨāĻ¨ āĻ˛ā§āĻ¯āĻžāĻĒāĻāĻĒāĨ¤
āĻ¨ā§āĻ¯āĻžāĻāĻŋāĻā§āĻļāĻ¨
- āĻ āĻ°āĻŦāĻŋāĻāĻžāĻ˛ āĻā§āĻ āĻ āĻĢ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨
- āĻŽā§āĻ˛āĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
- āĻŽā§āĻ˛āĻŋāĻ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻāĻŦāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž
- JupyterLab āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§
- āĻšā§āĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĄā§āĻāĻž āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻž
- āĻāĻšā§ āĻŦāĻŋāĻļā§āĻŦ!
- āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°āĻž
- JupyterLab āĻ āĻā§āĻ¸ā§āĻāĻŋāĻ āĻŽāĻĄāĻŋāĻāĻ˛
- āĻāĻ° āĻāĻŋ?
āĻ āĻ°āĻŦāĻŋāĻāĻžāĻ˛ āĻā§āĻ āĻ āĻĢ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ ^
āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻāĻŋāĻŽāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻšāĻ āĻāĻ°āĻ¤ā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻāĻ°ā§āĻŽ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻžāĻ° āĻ°ā§āĻĒāĻ°ā§āĻāĻž āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ:
- āĻāĻ° āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ āĻāĻŋāĻā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻ¯āĻžāĻ āĻāĻ˛āĻĒāĻžāĻāĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸. āĻāĻŽāĻ°āĻž āĻāĻ āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽāĻ¤āĻžāĻ° āĻ˛āĻā§āĻˇā§āĻ¯ā§ āĻāĻŦāĻ āĻāĻāĻŋāĻ¤ā§ āĻā§āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻŦ, āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻŋāĻā§āĻ āĻ¨āĻ¯āĻŧāĨ¤
- āĻāĻ¸ā§āĻ¨ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻāĻāĻŋ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ¸ā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻāĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¨ -
hostfs
āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻ°ā§āĻ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻŽāĻžāĻāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ āĻĄāĻŋāĻ¸ā§āĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĨā§āĻā§ āĻšā§āĻ¸ā§āĻā§ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻ°āĻŦā§āĨ¤ āĻāĻāĻāĻžāĻŦā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻĄā§āĻāĻž āĻ§āĻžāĻ°āĻ āĻĨā§āĻā§ āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨ āĻšāĻŦā§āĨ¤ āĻ§āĻžāĻ°āĻāĻāĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻšāĻ˛ā§, āĻĄā§āĻāĻž āĻšā§āĻ¸ā§āĻā§ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻ āĻ¸ā§āĻāĻŋāĻŽāĻāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻŦāĻŋāĻ¤āĻ°āĻŖā§āĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°ā§ āĻ āĻ¨ā§āĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻ āĻĄā§āĻāĻž āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§āĨ¤ - āĻāĻ¸ā§āĻ¨ Bash, sudo, āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻŋ, āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¯ā§āĻ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻŋ
- āĻāĻ¸ā§āĻ¨ āĻĒāĻžāĻāĻĨāĻ¨, āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻŋ
- āĻāĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻ¯āĻžāĻ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ, āĻā§āĻšāĻžāĻ°āĻž āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻāĻ āĻāĻ°ā§āĻ¨, āĻāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§, āĻāĻŽāĻ°āĻž āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻļā§āĻ°ā§ āĻāĻ°āĻŦ, āĻāĻŽāĻ°āĻž LXD āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻŦ āĻ¨āĻž, āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ - LXD-āĻāĻ° āĻŽā§āĻ˛āĻŋāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ - āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ.
āĻŽā§āĻ˛āĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ ^
āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻš āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ āĻ¯āĻžāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻŋ - alpine3
, āĻ§āĻžāĻ°āĻāĻāĻŋāĻ° āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§ - jupyterlab
āĻāĻŦāĻ, āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ, āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛:
lxc init alpine3 jupyterlab --profile=default --profile=hddroot
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻāĻŋ hddroot
āĻ¯āĻž āĻāĻāĻāĻŋ āĻ°ā§āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ āĻ¸āĻš āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻĒā§āĻ˛ āĻāĻāĻāĻŋ āĻļāĻžāĻ°ā§āĻ°āĻŋāĻ HDD āĻĄāĻŋāĻ¸ā§āĻā§ āĻ
āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤:
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
, āĻ¤āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋāĻ¤ā§ init āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻāĻāĻŋ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
lxc start jupyterlab
āĻāĻ¸ā§āĻ¨ āĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ LXD-āĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻŋ -c
āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻā§āĻ¨āĻāĻŋ cāĻāĻ˛āĻžāĻŽ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨:
lxc list -c ns4b
+------------+---------+-------------------+--------------+
| NAME | STATE | IPV4 | STORAGE POOL |
+------------+---------+-------------------+--------------+
| jupyterlab | RUNNING | 10.0.5.198 (eth0) | hddpool |
+------------+---------+-------------------+--------------+
āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻāĻŋ āĻāĻ˛ā§āĻŽā§āĻ˛ā§āĻāĻžāĻŦā§ āĻŦā§āĻā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ default
āĻ¯āĻž āĻĒā§āĻ°ā§āĻŦā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ LXD-āĻāĻ° āĻŽā§āĻ˛āĻŋāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ - āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ.
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻŽāĻ¤ā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻ˛ā§āĻā§āĻ˛ā§ āĻ¨āĻ¯āĻŧ, āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ° āĻ˛ā§āĻā§āĻ˛ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻāĻŽāĻ°āĻž āĻāĻ āĻāĻāĻĒāĻŋ āĻ ā§āĻ¯āĻžāĻĄā§āĻ°ā§āĻ¸āĻāĻŋāĻā§ āĻāĻ°āĻ āĻ¸ā§āĻŽāĻ°āĻŖā§āĻ¯āĻŧ āĻāĻ°ā§ āĻ¤ā§āĻ˛āĻŦāĨ¤ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§ eth0
āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻ¸ā§āĻāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ˛āĻŋāĻā§āĻ āĻāĻ°āĻŋ (āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻŦā§āĻ°āĻŋāĻ) lxdbr0
āĻ¯ā§āĻāĻŋāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻ
āĻ¨ā§āĻ¸āĻžāĻ°ā§ NAT āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻāĻŋ āĻāĻāĻ¨ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĒāĻžāĻŦā§, āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻŋ - 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 |
+------------+---------+------------------+--------------+
āĻŽā§āĻ˛āĻŋāĻ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻāĻŦāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž ^
āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
āĻĒā§āĻ¯āĻžāĻā§āĻ
āĻŦāĻŋāĻŦāĻ°āĻŖ
āĻ¸āĻā§āĻ°ā§ āĻāĻāĻžāĻ¤
āĻāĻŋāĻāĻ¨āĻāĻ āĻŦā§āĻ°ā§āĻ¨ āĻāĻŦāĻžāĻ° āĻļā§āĻ˛
bash-āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ¤āĻž
āĻŦā§āĻ¯āĻžāĻļ āĻļā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻŦāĻ˛ āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋ
āĻāĻŦā§āĻ¨ā§āĻā§
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ°ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĻāĻŋāĻ¨
āĻāĻžāĻ¯āĻŧāĻž
āĻļā§āĻ¯āĻžāĻĄā§ āĻĢāĻžāĻāĻ˛ āĻāĻŦāĻ āĻĒāĻŋāĻāĻāĻŽ-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ āĻ
ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻŽā§āĻ¨ā§āĻ āĻā§āĻ˛ āĻ¸ā§āĻ¯ā§āĻ
tzdata
āĻāĻžāĻāĻŽ āĻā§āĻ¨ āĻāĻŦāĻ āĻĄā§āĻ˛āĻžāĻāĻ āĻ¸ā§āĻāĻŋāĻ āĻāĻžāĻāĻŽ āĻĄā§āĻāĻžāĻ° āĻā§āĻ¸
āĻ¨ā§āĻ¯āĻžāĻ¨ā§
āĻŦāĻ°ā§āĻ§āĻŋāĻ¤āĻāĻ°āĻŖ āĻ¸āĻš āĻĒāĻŋāĻā§ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ āĻā§āĻ˛ā§āĻ¨
āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤āĻāĻžāĻŦā§, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻŽā§āĻ¯āĻžāĻ¨-āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ - man man-pages mdocml-apropos less
lxc exec jupyterlab -- apk add bash bash-completion sudo shadow tzdata nano
āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻŦāĻ āĻā§āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ āĻ¤āĻž āĻĻā§āĻāĻŋ:
lxc
- āĻāĻ˛āĻāĻā§āĻ¸āĻĄāĻŋ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§ āĻāĻ˛ āĻāĻ°ā§āĻ¨exec
- LXD āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻž āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¯āĻŧ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"
JupyterLab āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§ ^
āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨, āĻ¤āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ āĻĻā§āĻāĻžāĻˇā§āĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŽāĻ°āĻž āĻĒāĻžāĻāĻĨāĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻŦ 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
āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻāĻ¨ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ āĻāĻŦāĻ āĻāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻāĻāĻžāĻŦā§ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻ° āĻāĻ¨ā§āĻ¯ NodeJS āĻāĻŦāĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻ¯āĻžāĻ - NPM, āĻ¯ā§āĻšā§āĻ¤ā§ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻ¤āĻžāĻĻā§āĻ° āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§:
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
- UI āĻĨāĻŋāĻŽjupyterlab_neon_theme
- UI āĻĨāĻŋāĻŽjupyterlab-ubu-theme
- āĻāĻ°ā§āĻāĻāĻž āĻ˛ā§āĻāĻ āĻĨā§āĻā§ āĻĨāĻŋāĻŽ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ :) āĻ¤āĻŦā§ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, GitHub āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻŦā§
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨:
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 āĻāĻŦāĻ āĻ¯ā§ āĻĒā§āĻˇā§āĻ āĻžāĻāĻŋ āĻā§āĻ˛ā§ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻ¨ā§āĻāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻā§āĻā§āĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨āĨ¤ āĻāĻĒāĻŋ āĻāĻ°ā§ āĻĒā§āĻāĻā§ āĻĒā§āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨ āĻ˛āĻāĻāĻ¨. āĻ˛āĻ āĻāĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻ¨ā§āĻā§āĻ° āĻāĻŋāĻ¤ā§āĻ°ā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻžāĻŽ āĻĻāĻŋāĻā§āĻ° āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻŽā§āĻ¨ā§āĻ¤ā§ āĻ¯āĻžāĻ¨, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ° āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻā§āĻāĻāĻŋ āĻ¨āĻŋāĻ¤ā§ āĻŦāĻ˛āĻž āĻšāĻŦā§ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĻāĻžāĻ¯āĻŧā§ āĻ¨āĻ¯āĻŧ:
āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻŽāĻ°āĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻ°āĻžāĻā§āĻ¨ āĻ¯āĻžāĻ¤ā§ NodeJS-āĻāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻ
āĻ¨ā§āĻ¤āĻ¤ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻĄā§āĻāĻž āĻā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻā§āĻ˛āĻŋāĨ¤ āĻšā§āĻ¸ā§āĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ¨āĻĨāĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨ /home
āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻā§āĻ˛āĻŋ āĻ¸āĻĢāĻ˛ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻāĻŽ, āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻ°ā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻšā§āĻ¸ā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻļā§āĻˇāĻžāĻ§āĻŋāĻāĻžāĻ° āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻāĻŋ āĻāĻžāĻ˛āĻžāĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŦāĻŋāĻšā§āĻ¨ āĻŽā§āĻĄ. āĻāĻ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻāĻāĻŋ āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ.
āĻāĻāĻĒāĻŋāĻĨāĻ¨ āĻ¨ā§āĻāĻŦā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻĒā§āĻˇā§āĻ āĻž āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ) āĻāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻšā§āĻŽ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§ - /home/jupyter
, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž āĻšāĻ˛ āĻšā§āĻ¸ā§āĻ āĻāĻŦāĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĄā§āĻāĻž (āĻļā§āĻ¯āĻŧāĻžāĻ°) āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°āĻž, āĻ¤āĻžāĻ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻĨāĻžāĻŽā§āĻ¨ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻšāĻāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ - CTRL+C
āĻāĻŦāĻ āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻā§āĻā§ y
āĻ
āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĢāĻ˛ā§. āĻ¤āĻžāĻ°āĻĒāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻ āĻ
āĻ§āĻŋāĻŦā§āĻļāĻ¨ āĻŦāĻ¨ā§āĻ§ jupyter
āĻāĻāĻāĻŋ āĻšāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻž āĻšāĻā§āĻā§ CTRL+D
.
āĻšā§āĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĄā§āĻāĻž āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻž ^
āĻšā§āĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĄā§āĻāĻž āĻāĻžāĻ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻŋ:
lxc config device add
â āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§jupyter
â āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻāĻāĻĄāĻŋ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§hostfs
- āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻāĻāĻĄāĻŋāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻā§āĻ¨ā§ āĻ¨āĻžāĻŽ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤disk
â āĻĄāĻŋāĻāĻžāĻāĻ¸ā§āĻ° āĻ§āĻ°āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧpath
â LXD āĻāĻ āĻĄāĻŋāĻāĻžāĻāĻ¸āĻāĻŋ āĻŽāĻžāĻāĻ¨ā§āĻ āĻāĻ°āĻŦā§ āĻāĻŽāĻ¨ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻĒāĻžāĻĨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§source
â āĻā§āĻ¸ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨, āĻšā§āĻ¸ā§āĻā§āĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻĒāĻĨ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻ§āĻžāĻ°āĻāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻāĻ¨ā§āĻĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻĒāĻĨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§āĻ¨
lxc config device add jupyterlab hostfs disk path=/mnt/hostfs source=/home/dv/projects/ipython-notebooks
āĻā§āĻ¯āĻžāĻāĻžāĻ˛āĻ āĻāĻ¨ā§āĻ¯ /home/dv/projects/ipython-notebooks
āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¯āĻžāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻāĻāĻāĻĄāĻŋ āĻ¸āĻŽāĻžāĻ¨ SubUID + UID
, āĻ
āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻĻā§āĻā§āĻ¨ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ§āĻžāĻ°āĻ āĻŦāĻŋāĻļā§āĻˇāĻžāĻ§āĻŋāĻāĻžāĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ LXD-āĻāĻ° āĻŽā§āĻ˛āĻŋāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ - āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ.
āĻšā§āĻ¸ā§āĻā§ āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻŽāĻžāĻ˛āĻŋāĻ āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻšāĻŦā§āĻ¨ 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
āĻŦāĻž āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦāĻā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻļā§āĻ°ā§āĻˇā§ āĻā§āĻ˛āĻŦāĻžāĻ°ā§ "āĻĒā§āĻ˛ā§" āĻŦā§āĻ¤āĻžāĻŽāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨:
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§, āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŦāĻāĻŋāĻā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ āĻ°ā§āĻāĻŋāĻāĻ° āĻšāĻŦā§ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒāĻžāĻāĻĨāĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛ (āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨) āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻ¨āĻž āĻāĻ°āĻŋ āĻ¯āĻž āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻŽāĻžāĻ¨āĻ āĻā§āĻˇāĻŽāĻ¤āĻžāĻā§āĻ˛āĻŋ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦāĻ¤āĻžāĻ, āĻāĻ˛ā§āĻ¨ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ :)
PS āĻŽāĻāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻā§āĻĒāĻŋāĻāĻžāĻ° āĻā§āĻĄ āĻ¨āĻžāĻŽā§āĻ° āĻ
āĻ§ā§āĻ¨ā§ Jupyter āĻ¨ā§āĻāĻŦā§āĻ āĻĻā§āĻ°ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻŋ āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻāĻžāĻŦā§ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ. āĻĒā§āĻ°āĻžāĻ¨ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°āĻ¤ā§, āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧ āĻ¯ā§āĻ āĻāĻ°ā§ āĻ˛āĻŋāĻā§āĻāĻāĻŋ āĻ
āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§āĻ¨/tree
, āĻāĻŦāĻ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧ āĻ¸āĻš āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧ /lab
, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž:
- āĻā§āĻĒāĻŋāĻāĻžāĻ° āĻ¨ā§āĻāĻŦā§āĻ - http://10.0.5.5:8888/tree
- āĻā§āĻĒāĻŋāĻāĻžāĻ° āĻ˛ā§āĻ¯āĻžāĻŦ - http://10.0.5.5:8888/lab
āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°āĻž ^
āĻāĻ āĻŦāĻŋāĻāĻžāĻā§, āĻāĻŽāĻ°āĻž āĻ¯ā§āĻŽāĻ¨ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻĒāĻžāĻāĻĨāĻ¨ āĻāĻžāĻˇāĻž āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻŦ āĻ¨āĻŽā§āĻ°, āĻĒāĻžāĻ¨ā§āĻĄāĻžāĻ¸, āĻŽā§āĻ¯āĻžāĻāĻĒā§āĻ˛ā§āĻ˛ā§āĻŦ, IPyWidgets āĻ¯āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ˛ā§āĻ¯āĻžāĻĒāĻāĻĒā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ.
āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻĒāĻžāĻāĻĨāĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻā§ pip
āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ˛āĻĒāĻžāĻāĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
g++
â āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻ¯ā§āĻšā§āĻ¤ā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻŋāĻā§ āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸āĻŋ ++ āĻāĻŦāĻ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§ āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°ā§āĻ¨freetype-dev
- āĻĒāĻžāĻāĻĨāĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻŽā§āĻ¯āĻžāĻāĻĒā§āĻ˛ā§āĻ˛ā§āĻŦ
āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž:
lxc exec jupyterlab -- apk add g++ freetype-dev
āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻā§: āĻāĻ˛āĻĒāĻžāĻāĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻŦāĻŋāĻ¤āĻ°āĻŖā§āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ, NumPy-āĻāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻšāĻŦā§ āĻ¨āĻž; āĻāĻāĻāĻŋ āĻ¸āĻāĻāĻ˛āĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§ āĻ¯āĻž āĻāĻŽāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĻ¨āĻŋ:
ERROR: āĻ¨āĻŽā§āĻĒāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĻ¨āĻŋ āĻ¯āĻž PEP 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/*
JupyterLab āĻ āĻā§āĻ¸ā§āĻāĻŋāĻ āĻŽāĻĄāĻŋāĻāĻ˛ ^
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĻā§āĻĄāĻŧāĻžāĻā§āĻā§āĻ¨ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ, āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§, āĻāĻāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻ˛ āĻ¸ā§āĻļāĻ¨ā§, āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨ 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
āĻāĻĒāĻ¨āĻŋ āĻ¨ā§āĻā§āĻ° āĻāĻŦāĻŋāĻ° āĻŽāĻ¤ āĻāĻāĻāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ¤ā§ āĻšāĻŦā§, āĻ¯ā§āĻāĻžāĻ¨ā§ IPyWidgets āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ UI āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻ¯āĻž āĻāĻ¤ā§āĻ¸ āĻā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻāĻāĻžāĻŦā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ ā§āĻ¯āĻžāĻā§āĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻŽā§āĻ¯āĻžāĻāĻĒā§āĻ˛ā§āĻ˛ā§āĻŦ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻā§āĻ°āĻžāĻĢ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻāĻŦāĻŋāĻ° āĻāĻāĻžāĻ°ā§ āĻā§āĻĄā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§:
āĻ āĻ¨ā§āĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ IPyWidgets āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻāĻāĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻāĻžāĻ¨ā§
āĻāĻ° āĻāĻŋ? ^
āĻāĻžāĻ˛ āĻāĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻĨā§āĻā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻāĻā§āĻŦāĻžāĻ°ā§ āĻļā§āĻˇā§ āĻĒā§āĻāĻā§āĻā§āĻ¨. āĻāĻŽāĻŋ āĻāĻā§āĻāĻžāĻā§āĻ¤āĻāĻžāĻŦā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻļā§āĻˇā§ āĻāĻāĻāĻŋ āĻ°ā§āĻĄāĻŋāĻŽā§āĻĄ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻĒā§āĻ¸ā§āĻ āĻāĻ°āĻŋāĻ¨āĻŋ āĻ¯āĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻšāĻŦā§ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻ°ā§āĻŽā§āĻĻā§āĻ° āĻāĻ¤ā§āĻ¸āĻžāĻšāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ "āĻāĻ āĻā§āĻ˛āĻŋāĻā§" :) āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻā§āĻ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻžāĻ¨ā§āĻ¨ āĻāĻŋāĻāĻžāĻŦā§, āĻāĻāĻāĻŋ āĻāĻāĻ āĻŦā§āĻ¯āĻžāĻļ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°ā§ :)
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
- āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻšāĻā§ āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨āĻžāĻŽ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨
/etc/hosts
āĻāĻŦāĻ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨ http://jupyter.local:8888 - āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸ āĻ˛āĻŋāĻŽāĻŋāĻ āĻ¨āĻŋāĻ¯āĻŧā§ āĻā§āĻ˛ā§āĻ¨, āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻāĻŋ āĻĒāĻĄāĻŧā§āĻ¨ āĻŽā§āĻ˛āĻŋāĻ LXD āĻā§āĻˇāĻŽāĻ¤āĻž āĻ āĻĨāĻŦāĻž LXD āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻ¸āĻžāĻāĻā§ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ¨āĨ¤
- āĻĨāĻŋāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨:
āĻāĻŦāĻ āĻāĻ°ā§ āĻ āĻ¨ā§āĻ āĻāĻŋāĻā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨! āĻāĻāĻžāĻ¨ā§āĻ āĻļā§āĻˇ. āĻāĻŽāĻŋ āĻ¤ā§āĻŽāĻžāĻ° āĻ¸āĻžāĻĢāĻ˛ā§āĻ¯ āĻāĻžāĻŽāĻ¨āĻž āĻāĻ°āĻŋ!
āĻāĻĒāĻĄā§āĻ: 15.04.2020/18/30 XNUMX:XNUMX - "āĻšā§āĻ¯āĻžāĻ˛ā§, āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ!" āĻ
āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻāĻĒāĻĄā§āĻ: 16.04.2020/10/00 XNUMX:XNUMX â āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ° āĻ
ā§āĻ¯āĻžāĻā§āĻāĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖā§ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻ˛ā§āĻāĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻā§āĻĒāĻŋāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ
āĻāĻĒāĻĄā§āĻ: 16.04.2020/10/40 XNUMX:XNUMX â āĻĒāĻžāĻ ā§āĻ¯āĻāĻŋāĻ¤ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ "āĻŦā§āĻ¸āĻŋāĻ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻāĻŦāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž" āĻ
āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻāĻŋ āĻāĻ°āĻ āĻāĻžāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§āĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻāĻ¤ā§āĻ¸: www.habr.com