āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ•ā§‡ LXD āĻ•āĻ•ā§āĻˇāĻĒāĻĨā§‡ āĻ‰ā§ŽāĻ•ā§āĻˇā§‡āĻĒāĻŖ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻŋ āĻ•āĻ–āĻ¨ā§‹ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻ•ā§‹āĻĄ āĻŦāĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ°ā§āĻŸ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ•āĻĨāĻž āĻ•ā§‹āĻĄā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ­ā§‡āĻ™ā§‡ āĻĢā§‡āĻ˛āĻž?

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻ¸āĻ¤ā§āĻ¯āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•ā§€ āĻŦāĻ˛āĻž āĻ¯āĻžāĻ• āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ā§‡āĻ° āĻĒā§āĻ°ā§‹ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻĻāĻ°āĻ•āĻžāĻ°? āĻāĻ•āĻļ āĻŦāĻž āĻāĻ• āĻšāĻžāĻœāĻžāĻ°?

āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ‡āĻĒāĻžāĻ°āĻ­āĻžāĻ‡āĻœāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡, āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻšāĻŦā§‡, āĻ¤āĻŦā§‡ āĻ•ā§€ āĻŽā§‚āĻ˛ā§āĻ¯ā§‡? āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻ˛āĻĒāĻžāĻ‡āĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ˛āĻāĻ•ā§āĻ¸āĻĄāĻŋ-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻ°āĻ• āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ 7.60MB RAM, āĻāĻŦāĻ‚ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ°ā§āĻŸ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸāĻ†āĻĒā§‡āĻ° āĻĒāĻ°ā§‡ āĻĻāĻ–āĻ˛ āĻ•āĻ°ā§‡ 9.5MB! āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĻ¨, āĻāĻ˛āĻ¨ āĻŽāĻžāĻ¸ā§āĻ•? āĻ†āĻŽāĻŋ āĻšā§‡āĻ• āĻ†āĻ‰āĻŸ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ LXD āĻāĻ° āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ•ā§āĻˇāĻŽāĻ¤āĻž - āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻ°āĻ• āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ

āĻāĻ˛āĻāĻ•ā§āĻ¸āĻĄāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ•ā§€ āĻ¤āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻ¸ā§āĻ¨ āĻ†āĻ°āĻ“ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ‡ āĻāĻŦāĻ‚ āĻ­āĻžāĻŦāĻŋ, āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ°ā§āĻ­ā§‡āĻ¸ā§āĻŸāĻžāĻ° āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ•ā§€ āĻšāĻ¤ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ āĻ•ā§‹āĻĄ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ—ā§āĻ°āĻžāĻĢ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ (āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­āĻ­āĻžāĻŦā§‡) āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ UI- āĻ‰āĻ‡āĻœā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻŦā§āĻ˛ā§āĻ¯āĻžāĻ•āĻœā§āĻ¯āĻžāĻ•... āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸāĻŋāĻ‚ āĻ¸āĻš āĻĒāĻžāĻ ā§āĻ¯ āĻ¸āĻš āĻ•ā§‹āĻĄā§‡āĻ° āĻĒāĻ°āĻŋāĻĒā§‚āĻ°āĻ•? āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­ āĻŦā§āĻ˛āĻ— āĻ•āĻŋāĻ›ā§ āĻ§āĻ°āĻ¨ā§‡āĻ°? āĻŦāĻžāĻš... āĻ†āĻŽāĻŋ āĻāĻŸāĻž āĻšāĻžāĻ‡! āĻšāĻžāĻ‡! 🙂

āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻĻā§‡āĻ–ā§āĻ¨ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻ˛āĻžā§āĻš āĻ•āĻ°āĻŦ āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ - āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻœā§āĻĒāĻŋāĻŸāĻžāĻ° āĻ¨ā§‹āĻŸāĻŦā§āĻ•ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§āĻ°āĻœāĻ¨ā§āĻŽā§‡āĻ° āĻ‡āĻ‰āĻœāĻžāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸, āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ“ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻŦ āĻ¯ā§‡āĻŽāĻ¨ āĻ¨āĻŽā§āĻ°, āĻĒāĻžāĻ¨ā§āĻĄāĻžāĻ¸, āĻŽā§āĻ¯āĻžāĻŸāĻĒā§āĻ˛ā§āĻ˛ā§‹āĻŦ, IPyWidgets āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡ - āĻāĻ•āĻŸāĻŋ āĻ†āĻ‡āĻĒāĻŋāĻĨāĻ¨ āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒāĨ¤

āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ•ā§‡ LXD āĻ•āĻ•ā§āĻˇāĻĒāĻĨā§‡ āĻ‰ā§ŽāĻ•ā§āĻˇā§‡āĻĒāĻŖ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ…āĻ°āĻŦāĻŋāĻŸāĻžāĻ˛ āĻŸā§‡āĻ• āĻ…āĻĢ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ ^

āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ•ā§‡ LXD āĻ•āĻ•ā§āĻˇāĻĒāĻĨā§‡ āĻ‰ā§ŽāĻ•ā§āĻˇā§‡āĻĒāĻŖ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸ā§āĻ•āĻŋāĻŽāĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻšāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ•āĻ°ā§āĻŽ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻžāĻ° āĻ°ā§‚āĻĒāĻ°ā§‡āĻ–āĻž āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•:

  • āĻāĻ° āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻ•āĻŋāĻŸā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻ°āĻ• āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻāĻŦāĻ‚ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ†āĻ˛āĻĒāĻžāĻ‡āĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸. āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽāĻ¤āĻžāĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ•ā§‡āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻŦ, āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ•āĻŋāĻ›ā§āĻ‡ āĻ¨āĻ¯āĻŧāĨ¤
  • āĻ†āĻ¸ā§āĻ¨ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ¸ā§āĻ• āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¨ - 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 āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻŸāĻŋ āĻ–ā§‹āĻ˛ā§‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ¨ā§āĻŸāĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻŸā§‹āĻ•ā§‡āĻ¨ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨āĨ¤ āĻ•āĻĒāĻŋ āĻ•āĻ°ā§‡ āĻĒā§‡āĻ‡āĻœā§‡ āĻĒā§‡āĻ¸ā§āĻŸ āĻ•āĻ°ā§āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨ āĻ˛āĻ—āĻ‡āĻ¨. āĻ˛āĻ— āĻ‡āĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ¨ā§€āĻšā§‡āĻ° āĻšāĻŋāĻ¤ā§āĻ°ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻžāĻŽ āĻĻāĻŋāĻ•ā§‡āĻ° āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻŽā§‡āĻ¨ā§āĻ¤ā§‡ āĻ¯āĻžāĻ¨, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ•ā§āĻˇā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻā§āĻāĻ•āĻŋ āĻ¨āĻŋāĻ¤ā§‡ āĻŦāĻ˛āĻž āĻšāĻŦā§‡ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĻāĻžāĻ¯āĻŧā§€ āĻ¨āĻ¯āĻŧ:

āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ•ā§‡ LXD āĻ•āĻ•ā§āĻˇāĻĒāĻĨā§‡ āĻ‰ā§ŽāĻ•ā§āĻˇā§‡āĻĒāĻŖ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§‡ āĻ°āĻžāĻ–ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ 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 āĻāĻŦāĻ‚ āĻ¨ā§€āĻšā§‡āĻ° āĻ›āĻŦāĻŋāĻ¤ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻŦā§‹āĻ¤āĻžāĻŽā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨:

āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ•ā§‡ LXD āĻ•āĻ•ā§āĻˇāĻĒāĻĨā§‡ āĻ‰ā§ŽāĻ•ā§āĻˇā§‡āĻĒāĻŖ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ¤āĻžāĻ°āĻĒāĻ°, āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨ āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ¸āĻŋāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻŦā§‡ Hello World!. āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻļā§‡āĻˇ āĻšāĻ˛ā§‡, āĻŸāĻŋāĻĒā§āĻ¨ CTRL+ENTER āĻŦāĻž āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦāĻ•ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻļā§€āĻ°ā§āĻˇā§‡ āĻŸā§āĻ˛āĻŦāĻžāĻ°ā§‡ "āĻĒā§āĻ˛ā§‡" āĻŦā§‹āĻ¤āĻžāĻŽāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨:

āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ•ā§‡ LXD āĻ•āĻ•ā§āĻˇāĻĒāĻĨā§‡ āĻ‰ā§ŽāĻ•ā§āĻˇā§‡āĻĒāĻŖ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ…āĻ°ā§āĻšāĻŋāĻ•āĻ° āĻšāĻŦā§‡ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ (āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨) āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ¨āĻž āĻ•āĻ°āĻŋ āĻ¯āĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡āĻ° āĻŽāĻžāĻ¨āĻ• āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦāĻ¤āĻžāĻ‡, āĻšāĻ˛ā§āĻ¨ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ‡ :)

PS āĻŽāĻœāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻœā§āĻĒāĻŋāĻŸāĻžāĻ° āĻ•ā§‹āĻĄ āĻ¨āĻžāĻŽā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ Jupyter āĻ¨ā§‹āĻŸāĻŦā§āĻ• āĻĻā§‚āĻ°ā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ. āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻ¤ā§‡, āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨/tree, āĻāĻŦāĻ‚ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧ āĻ¸āĻš āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧ /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 āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ‰āĻ¤ā§āĻ¸ āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­āĻ­āĻžāĻŦā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŽā§āĻ¯āĻžāĻŸāĻĒā§āĻ˛ā§āĻ˛ā§‹āĻŦ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ—ā§āĻ°āĻžāĻĢ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ›āĻŦāĻŋāĻ° āĻ†āĻ•āĻžāĻ°ā§‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡:

āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ•ā§‡ LXD āĻ•āĻ•ā§āĻˇāĻĒāĻĨā§‡ āĻ‰ā§ŽāĻ•ā§āĻˇā§‡āĻĒāĻŖ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ IPyWidgets āĻ†āĻĒāĻ¨āĻŋ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻāĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ–āĻžāĻ¨ā§‡

āĻ†āĻ° āĻ•āĻŋ? ^

āĻ­āĻžāĻ˛ āĻ•āĻžāĻœ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻļā§‡āĻˇā§‡ āĻĒā§ŒāĻāĻ›ā§‡āĻ›ā§‡āĻ¨. āĻ†āĻŽāĻŋ āĻ‡āĻšā§āĻ›āĻžāĻ•ā§ƒāĻ¤āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻļā§‡āĻˇā§‡ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĄāĻŋāĻŽā§‡āĻĄ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĒā§‹āĻ¸ā§āĻŸ āĻ•āĻ°āĻŋāĻ¨āĻŋ āĻ¯āĻž āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻšāĻŦā§‡ āĻœā§āĻĒāĻŋāĻŸāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻŦ āĻ•āĻ°ā§āĻŽā§€āĻĻā§‡āĻ° āĻ‰āĻ¤ā§āĻ¸āĻžāĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ "āĻāĻ• āĻ•ā§āĻ˛āĻŋāĻ•ā§‡" :) āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻŦā§āĻ¯āĻžāĻļ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ :)

āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ“ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

  • āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœā§‡ āĻ˛āĻŋāĻ–ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¨āĻžāĻŽ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ /etc/hosts āĻāĻŦāĻ‚ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨ http://jupyter.local:8888
  • āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡āĻ° āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ˛āĻŋāĻŽāĻŋāĻŸ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ–ā§‡āĻ˛ā§āĻ¨, āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻŸāĻŋ āĻĒāĻĄāĻŧā§āĻ¨ āĻŽā§ŒāĻ˛āĻŋāĻ• LXD āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ…āĻĨāĻŦāĻž 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

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨