เชถเซเช เชคเชฎเชพเชฐเซ เชเซเชฏเชพเชฐเซเชฏ เชฒเชฟเชจเชเซเชธเชฎเชพเช เชเซเชก เช เชฅเชตเชพ เชธเชฟเชธเซเชเชฎ เชฏเซเชเชฟเชฒเชฟเชเซเช เชธเชพเชฅเซ เชชเซเชฐเชฏเซเช เชเชฐเชตเซ เชชเชกเซเชฏเซ เชเซ เชเซเชฅเซ เชฌเซเช เชธเชฟเชธเซเชเชฎ เชตเชฟเชถเซ เชเชฟเชเชคเชพ เชจ เชเชฐเชตเซ เช เชจเซ เชเซเชกเชฎเชพเช เชญเซเชฒเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เชฌเชงเซเช เช เชคเซเชกเซ เชจ เชจเชพเชเชตเซเช เชเซ เชฐเซเช เชตเชฟเชถเซเชทเชพเชงเชฟเชเชพเชฐเซ เชธเชพเชฅเซ เชเชพเชฒเชตเซเช เชเซเชเช?
เชชเชฐเชเชคเซ เช เชนเชเซเชเชค เชตเชฟเชถเซ เชถเซเช เชเชพเชฒเซ เชเชนเซเช เชเซ เชคเชฎเชพเชฐเซ เชเช เชฎเชถเซเชจ เชชเชฐ เชตเชฟเชตเชฟเชง เชฎเชพเชเชเซเชฐเซเชธเชฐเซเชตเชฟเชธเชฟเชธเชจเชพ เชธเชเชชเซเชฐเซเชฃ เชเซเชฒเชธเซเชเชฐเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเชฐเชตเชพเชจเซ เช เชฅเชตเชพ เชเชฒเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ? เชธเซ เชเซ เชนเชเชพเชฐ เชชเชฃ?
เชนเชพเชเชชเชฐเชตเชพเชเชเชฐ เชฆเซเชตเชพเชฐเชพ เชธเชเชเชพเชฒเชฟเชค เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฎเชถเซเชจเซ เชธเชพเชฅเซ, เชเชตเซ เชธเชฎเชธเซเชฏเชพเช เชนเชฒ เชฅเช เชถเชเซ เชเซ เช
เชจเซ เชฅเชถเซ, เชชเชฐเชเชคเซ เชเชฏเชพ เชเชฐเซเชเซ? เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเชฒเซเชชเชพเชเชจ Linux เชตเชฟเชคเชฐเชฃ เชชเชฐ เชเชงเชพเชฐเชฟเชค LXD เชฎเชพเช เชเชจเซเชเซเชจเชฐ เชซเชเซเชค เชตเชชเชฐเชพเชถ เชเชฐเซ เชเซ 7.60MB
RAM, เช
เชจเซ เชเซเชฏเชพเช เชฐเซเช เชชเชพเชฐเซเชเซเชถเชจ เชธเซเชเชพเชฐเซเชเช
เชช เชชเชเซ เชเชฌเชเซ เชเชฐเซ เชเซ 9.5MB
! เชคเชฎเชจเซ เชคเซ เชเซเชตเซเช เชเชฎเซเชฏเซเช, เชเชฒเซเชจ เชฎเชธเซเช? เชนเซเช เชคเชชเชพเชธเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช LXD เชจเซ เชฎเซเชณเชญเซเชค เชเซเชทเชฎเชคเชพเช - Linux เชฎเชพเช เชเชจเซเชเซเชจเชฐ เชธเชฟเชธเซเชเชฎ
LXD เชเชจเซเชเซเชจเชฐ เชถเซเช เชเซ เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชธเซเชชเชทเซเช เชฅเช เชเชฏเชพ เชชเชเซ, เชเชพเชฒเซ เชเชเชณ เชเชเช เช เชจเซ เชตเชฟเชเชพเชฐเซเช เชเซ, เชเซ เชเชตเซเช เชเซเช เชนเชพเชฐเซเชตเซเชธเซเชเชฐ เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชนเซเชฏ เชเซ เชเซเชฏเชพเช เชคเชฎเซ เชนเซเชธเซเช เชฎเชพเชเซ เชธเซเชฐเชเซเชทเชฟเชค เชฐเซเชคเซ เชเซเชก เชเชฒเชพเชตเซ เชถเชเซ, เชเซเชฐเชพเชซ เชเชจเชฐเซเช เชเชฐเซ เชถเชเซ, เชกเชพเชฏเชจเซเชฎเชฟเชเชฒเซ (เชเชจเซเชเชฐเซเชเซเชเชฟเชตเชฒเซ) UI- เชตเชฟเชเซเชเซเชธเชจเซ เชคเชฎเชพเชฐเชพ เชเซเชก เชธเชพเชฅเซ เชฒเชฟเชเช เชเชฐเซ เชถเชเซ, เชฌเซเชฒเซเชเชเซเช... เชซเซเชฐเซเชฎเซเชเชฟเชเช เชธเชพเชฅเซ เชเซเชเซเชธเซเช เชธเชพเชฅเซ เชเซเชกเชจเซ เชชเซเชฐเซเชคเชฟ เชเชฐเซเช? เช เชฐเชธเชชเชฐเชธ เชฌเซเชฒเซเช เช เชฎเซเช เชชเซเชฐเชเชพเชฐเชจเชพ? เชตเชพเชน... เชฎเชพเชฐเซ เชคเซ เชเซเชเช เชเซ! เชเซเชเช เชเซ! ๐
เชฌเชฟเชฒเชพเชกเซเชจเซ เชจเซเชเซ เชเซเช เชเซเชฏเชพเช เช เชฎเซ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชฒเซเชจเซเช เชเชฐเซเชถเซเช เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ - เชเซเชจเซ เชเซเชชเซเชเชฐ เชจเซเชเชฌเซเชเชจเซ เชฌเชฆเชฒเซ เชฏเซเชเชฐ เชเชจเซเชเชฐเชซเซเชธเชจเซ เชจเซเชเซเชธเซเช เชเชจเชฐเซเชถเชจ, เช เชจเซ เช เชฎเซ เชชเชพเชฏเชฅเซเชจ เชฎเซเชกเซเชฏเซเชฒเซ เชชเชฃ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชถเซเช เชเซเชฎ เชเซ เชจเชฎเซ, เชชเชพเชเชกเชพ, เชฎเซเชเชชเซเชฒเซเชเชฒเชฟเชฌ, IPyWidgets เชเซ เชคเชฎเชจเซ เชเชชเชฐ เชธเซเชเชฟเชฌเชฆเซเชง เชฌเชงเซเช เชเชฐเชตเชพ เช เชจเซ เชคเซ เชฌเชงเซเช เชเช เชตเชฟเชถเชฟเชทเซเช เชซเชพเชเชฒเชฎเชพเช เชธเชพเชเชตเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ - เชเช IPython เชฒเซเชชเชเซเชช.
เชจเซเชตเชฟเชเซเชถเชจ
- เชเชฐเซเชฌเชฟเชเชฒ เชเซเช-เชเชซ เชชเซเชฒเชพเชจ
- เชฎเซเชณเชญเซเชค เชธเชฟเชธเซเชเชฎเชจเซ เชธเซเชฅเชพเชชเชจเชพ เช เชจเซ เชเซเช เชตเชฃเซ
- เชฎเซเชณเชญเซเชค เชธเซเชซเซเชเชตเซเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเซเช เช เชจเซ เชธเชฟเชธเซเชเชฎ เชธเซเช เชเชฐเชตเซ
- JupyterLab เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชเซเช เชตเซ เชฐเชนเซเชฏเซเช เชเซ
- เชนเซเชธเซเช เชธเชพเชฅเซ เชกเซเชเชพ เชถเซเชฐ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
- เชนเซเชฒเซ, เชตเชฟเชถเซเชต!
- เชชเชพเชฏเชฅเซเชจเชจเซ เชเซเชทเชฎเชคเชพเช เชตเชฟเชธเซเชคเชฐเซ เชฐเชนเซ เชเซ
- JupyterLab เชฎเชพเช เชชเชฐเซเชเซเชทเชฃ เชฎเซเชกเซเชฏเซเชฒเซ
- เชฌเซเชเซเช เชถเซเช?
เชเชฐเซเชฌเชฟเชเชฒ เชเซเช-เชเชซ เชชเซเชฒเชพเชจ ^
เชเชชเชฐเซเชเซเชค เชฏเซเชเชจเชพเชจเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชจเซเช เช เชฎเชพเชฐเชพ เชฎเชพเชเซ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเชพเชฒเซ เชธเชเชเซเชทเชฟเชชเซเชค เชเชพเชฐเซเชฏ เชฏเซเชเชจเชพเชจเซ เชฐเซเชชเชฐเซเชเชพ เชเชชเซเช:
- เชเชพเชฒเซ เชตเชฟเชคเชฐเชฃ เชเซเช เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเชจเซเชเซเชจเชฐ เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชฒเซเชเช เชเชฐเซเช เชเชฒเซเชชเชพเชเชจ เชฒเชฟเชจเชเซเชธ. เช เชฎเซ เช เชตเชฟเชคเชฐเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช เชเชพเชฐเชฃ เชเซ เชคเซ เชจเซเชฏเซเชจเชคเชฎเชตเชพเชฆเชจเซ เชฒเชเซเชทเซเชฏเชฎเชพเช เชฐเชพเชเซ เชเซ เช เชจเซ เชคเซเชฎเชพเช เชซเชเซเชค เชธเซเชฅเซ เชเชฐเซเชฐเซ เชธเซเชซเซเชเชตเซเชฐ เช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชถเซเช, เชเชเชเชชเชฃ เช เชจเชพเชตเชถเซเชฏเช เชจเชนเซเช.
- เชเชพเชฒเซ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชตเชงเชพเชฐเชพเชจเซ เชตเชฐเซเชเซเชฏเซเช
เชฒ เชกเชฟเชธเซเช เชเชฎเซเชฐเซเช เช
เชจเซ เชคเซเชจเซ เชจเชพเชฎ เชเชชเซเช -
hostfs
เช เชจเซ เชคเซเชจเซ เชฐเซเช เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎ เชชเชฐ เชฎเชพเชเชจเซเช เชเชฐเซ. เช เชกเชฟเชธเซเช เชเชจเซเชเซเชจเชฐเชจเซ เช เชเชฆเชฐ เชเชชเซเชฒ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเชเชฅเซ เชนเซเชธเซเช เชชเชฐ เชซเชพเชเชฒเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชถเชเซเชฏ เชฌเชจเชพเชตเชถเซ. เชเชฎ, เช เชฎเชพเชฐเซ เชกเซเชเชพ เชเชจเซเชเซเชจเชฐเชฅเซ เชธเซเชตเชคเชเชคเซเชฐ เชฐเชนเซเชถเซ. เชเซ เชเชจเซเชเซเชจเชฐ เชเชพเชขเซ เชจเชพเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ เชกเซเชเชพ เชนเซเชธเซเช เชชเชฐ เชฐเชนเซเชถเซ. เชเชชเชฐเชพเชเชค, เช เชฏเซเชเชจเชพ เชเชจเซเชเซเชจเชฐ เชตเชฟเชคเชฐเชฃเชจเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชจเซเชเชตเชฐเซเช เชชเชฆเซเชงเชคเชฟเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เชเชฃเชพ เชเชจเซเชเซเชจเชฐ เชตเชเซเชเซ เชธเชฎเชพเชจ เชกเซเชเชพ เชถเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชชเชฏเซเชเซ เชเซ. - เชเชพเชฒเซ Bash, sudo, เชเชฐเซเชฐเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเช, เชธเชฟเชธเซเชเชฎ เชฏเซเชเชฐเชจเซ เชเชฎเซเชฐเซ เช เชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเซเช
- เชเชพเชฒเซ Python, เชฎเซเชกเซเชฏเซเชฒเซเชธ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเช เช เชจเซ เชคเซเชฎเชจเชพ เชฎเชพเชเซ เชฌเชพเชเชจเชฐเซ เชกเชฟเชชเซเชจเซเชกเชจเซเชธเซ เชเชฎเซเชชเชพเชเชฒ เชเชฐเซเช
- เชเชพเชฒเซ เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชฒเซเชจเซเช เชเชฐเซเช เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ, เชฆเซเชเชพเชตเชจเซ เชเชธเซเชเชฎเชพเชเช เชเชฐเซ, เชคเซเชจเชพ เชฎเชพเชเซ เชเชเซเชธเซเชเซเชจเซเชถเชจเซเชธ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ.
เช เชฒเซเชเชฎเชพเช เชเชชเชฃเซ เชเชจเซเชเซเชจเชฐ เชฒเซเชเช เชเชฐเชตเชพ เชธเชพเชฅเซ เชถเชฐเซ เชเชฐเซเชถเซเช, เช เชฎเซ LXD เชจเซ เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชเซเช เชตเชตเชพเชจเซเช เชตเชฟเชเชพเชฐเซเชถเซเช เชจเชนเซเช, เชคเชฎเซ เช เชฌเชงเซเช เชฌเซเชเชพ เชฒเซเชเชฎเชพเช เชถเซเชงเซ เชถเชเซ เชเซ - LXD - Linux เชเชจเซเชเซเชจเชฐ เชธเชฟเชธเซเชเชฎเชจเซ เชฎเซเชณเชญเซเชค เชธเซเชตเชฟเชงเชพเช.
เชฎเซเชณเชญเซเชค เชธเชฟเชธเซเชเชฎเชจเซ เชธเซเชฅเชพเชชเชจเชพ เช เชจเซ เชเซเช เชตเชฃเซ ^
เช
เชฎเซ เชเชฆเซเชถ เชธเชพเชฅเซ เชเชจเซเชเซเชจเชฐ เชฌเชจเชพเชตเซเช เชเซเช เชเซเชฎเชพเช เช
เชฎเซ เชเชฌเซเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซเช เชเซเช - 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
เช เชฎเชจเซ SSD เชกเชฟเชธเซเชเชจเชพ เชธเชเชธเชพเชงเชจเซเชจเซ เชธเชพเชเชตเซเชจเซ HDD เชกเชฟเชธเซเช เชชเชฐ เชเชจเซเชเซเชจเชฐ เชธเชพเชฅเซ เชชเซเชฐเชฏเซเช เชเชฐเชตเชพเชจเซ เชคเช เชเชชเซ เชเซ, เชเซ เชฎเชพเชฐเซ เชธเชฟเชธเซเชเชฎเชฎเชพเช เชชเชฃ เชเชชเชฒเชฌเซเชง เชเซ ๐ เชเซเชจเชพ เชฎเชพเชเซ เชฎเซเช เชเช เช
เชฒเช เชเซเช เชตเชฃเซ เชชเซเชฐเซเชซเชพเชเชฒ เชฌเชจเชพเชตเซ เชเซ. 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 |
+------------+---------+-------------------+--------------+
เชเชจเซเชเซเชจเชฐ เชฌเชจเชพเชตเชคเซ เชตเชเชคเซ, IP เชธเชฐเชจเชพเชฎเซเช เช
เชตเซเชฏเชตเชธเซเชฅเชฟเชค เชฐเซเชคเซ เชชเชธเชเชฆ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช, เชเชพเชฐเชฃ เชเซ เช
เชฎเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชชเซเชฐเซเชซเชพเชเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ เชนเชคเซ default
เชเซ เช
เชเชพเช เชฒเซเชเชฎเชพเช เชเซเช เชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช LXD - Linux เชเชจเซเชเซเชจเชฐ เชธเชฟเชธเซเชเชฎเชจเซ เชฎเซเชณเชญเซเชค เชธเซเชตเชฟเชงเชพเช.
เช เชฎเซ เช IP เชเชกเซเชฐเซเชธเชจเซ เชเชจเซเชเซเชจเชฐ เชฒเซเชตเชฒ เชชเชฐ เชจเซเชเชตเชฐเซเช เชเชจเซเชเชฐเชซเซเชธ เชฌเชจเชพเชตเซเชจเซ เชตเชงเซ เชฏเชพเชฆเชเชพเชฐเชฎเชพเช เชฌเชฆเชฒเซเชถเซเช, เช เชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชชเซเชฐเซเชซเชพเชเชฒ เชธเซเชคเชฐ เชชเชฐ เชจเชนเซเช เชเชพเชฐเชฃ เชเซ เชคเซ เชตเชฐเซเชคเชฎเชพเชจ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชฎเชพเช เชเซ. เชคเชฎเชพเชฐเซ เช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ, เชคเชฎเซ เชคเซเชจเซ เชเซเชกเซ เชถเชเซ เชเซ.
เชจเซเชเชตเชฐเซเช เชเชจเซเชเชฐเชซเซเชธ เชฌเชจเชพเชตเซ เชฐเชนเซเชฏเชพ เชเซเช eth0
เชเซเชจเซ เชเชชเชฃเซ เชธเซเชตเซเช (เชจเซเชเชตเชฐเซเช เชฌเซเชฐเชฟเช) เชธเชพเชฅเซ เชฒเชฟเชเช เชเชฐเซเช เชเซเช lxdbr0
เชเซเชฎเชพเช เช
เชฎเซ เช
เชเชพเชเชจเชพ เชฒเซเช เชฎเซเชเชฌ NAT เชจเซ เชธเชเซเชทเชฎ เชเชฐเซเชฏเซเช เชเซ เช
เชจเซ เชเชจเซเชเซเชจเชฐ เชชเชพเชธเซ เชนเชตเซ เชเชจเซเชเชฐเชจเซเชเชจเซ เชเชเซเชธเซเชธ เชนเชถเซ, เช
เชจเซ เช
เชฎเซ เชเชจเซเชเชฐเชซเซเชธเชจเซ เชธเซเชฅเชฟเชฐ IP เชธเชฐเชจเชพเชฎเซเช เชชเชฃ เชธเซเชเชชเซเชถเซเช - 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-เชชเซเชฐเซเชฃเชคเชพ
เชฌเซเชถ เชถเซเชฒ เชฎเชพเชเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชฌเชฒ เชชเซเชฐเซเชฃเชคเชพ
sudo
เช
เชฎเซเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเชจเซ เช
เชฎเซเช เชเชฆเซเชถเซเชจเซ เชฐเซเช เชคเชฐเซเชเซ เชเชฒเชพเชตเชตเชพเชจเซ เชเซเชทเชฎเชคเชพ เชเชชเซ
เชเชพเชฏเชพ
เชถเซเชกเซ เชซเชพเชเชฒเซ เช
เชจเซ PAM เชฎเชพเชเซ เชธเชชเซเชฐเซเช เชธเชพเชฅเซ เชชเชพเชธเชตเชฐเซเชก เช
เชจเซ เชเชเชพเชเชจเซเช เชฎเซเชจเซเชเชฎเซเชจเซเช เชเซเชฒ เชธเซเชฏเซเช
tzdata
เชเชพเชเชฎ เชเซเชจ เช
เชจเซ เชกเซเชฒเชพเชเช เชธเซเชตเชฟเชเช เชเชพเชเชฎ เชกเซเชเชพ เชฎเชพเชเซ เชธเซเชคเซเชฐเซเชคเซ
เชจเซเชจเซ
เชเชจเซเชจเชคเซเชคเชฟเชเชฐเชฃเซ เชธเชพเชฅเซ เชชเซเชเซ เชธเชเชชเชพเชฆเช เชเซเชฒเซเชจ
เชตเชงเซเชฎเชพเช, เชคเชฎเซ เชจเซเชเซเชจเชพ เชชเซเชเซเชเซ - เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชจเซ เชธเชฟเชธเซเชเชฎ เชฎเซเชจ-เชชเซเชเชฎเชพเช เชธเชชเซเชฐเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชถเชเซ เชเซ man man-pages mdocml-apropos less
lxc exec jupyterlab -- apk add bash bash-completion sudo shadow tzdata nano
เชเชพเชฒเซ เชเชชเชฃเซ เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชงเซเชฒเชพ เชเชฆเซเชถเซ เช เชจเซ เชเซเช เชเซเชเช:
lxc
- LXD เชเซเชฒเชพเชฏเชเชเชจเซ เชเซเชฒ เชเชฐเซexec
- LXD เชเซเชฒเชพเชฏเชเช เชชเชฆเซเชงเชคเชฟ เชเซ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชเชฆเซเชถ เชเชฒเชพเชตเซ เชเซjupyterlab
- เชเชจเซเชเซเชจเชฐ ID--
- เชเช เชตเชฟเชถเชฟเชทเซเช เชเซ เชเซ เชเซ เชธเซเชชเชทเซเช เชเชฐเซ เชเซ เชเซ เชเชเชณเชจเซ เชเซเชจเซ เชเซ เชคเชฐเซเชเซ เช เชฐเซเชฅเชเชเชจ เชจ เชเชฐเชตเซ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
เชเชจเซเชเซเชจเชฐเชฎเชพเช เชจเชตเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฎเชพเชเซ Bash เชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชฃเซ เชธเชฎเชฏ เชจ เชเชฐเซเชเชตเชพ เชฎเชพเชเซ, เชจเซเชเซเชจเชพ เชชเชเชฒเชพเชเชเชฎเชพเช เช
เชฎเซ เชนเซเชธเซเช เชธเชฟเชธเซเชเชฎเชฎเชพเชเชฅเซ เชคเซเชฏเชพเชฐ เชธเซเชเซเชฒ เชซเชพเชเชฒเซเชจเซ เชคเซเชฎเชพเช เชเซเชชเชฟ เชเชฐเซเชถเซเช. เช เชคเชฎเชจเซ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชเชจเซเชเชฐเซเชเซเชเชฟเชต เชฐเซเชคเซ เชฌเซเชถเชจเซ เชธเซเชเชฆเชฐ เชฌเชจเชพเชตเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ. เชฎเชพเชฐเซ เชฏเชเชฎเชพเชจ เชธเชฟเชธเซเชเชฎ Manjaro Linux เชเซ เช
เชจเซ เชซเชพเชเชฒเซ เชจเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชฐเชนเซ เชเซ /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
Bash เชฎเชพเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ:
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 เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชเซเช เชตเซ เชฐเชนเซเชฏเซเช เชเซ ^
เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ เชชเชพเชฏเชฅเซเชจ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซ, เชคเซเชฅเซ เชเชชเชฃเซ เชชเชนเซเชฒเชพ เช เชฆเซเชญเชพเชทเชฟเชฏเชพเชจเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเซเช เชเซเชเช. เชเชชเชฐเชพเชเชค, เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ เช
เชฎเซ Python เชชเซเชเซเช เชฎเซเชจเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชถเซเช 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
เชฎเชพเช เชเชเซเชธเซเชเซเชจเซเชถเชจเซเชธ เชนเซเชตเชพเชฅเซ เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ เชชเซเชฐเชพเชฏเซเชเชฟเช เชเซ เช เชจเซ เชธเชคเซเชคเชพเชตเชพเชฐ เชฐเซเชคเซ 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 เช เชจเซ เชเซ เชชเซเช เชเซเชฒเซ เชเซ เชคเซเชจเชพ เชชเชฐ เชเชจเซเชเชฐ เชเชฐเซ เชเซเชเชจ เชเชเซเชธเซเชธ เชเชฐเซ เชเซ เชคเชฎเซ เชเชจเซเชธเซเชฒเชฎเชพเช เชเซเชถเซ. เชคเซเชจเซ เชชเซเช เชชเชฐ เชเซเชชเซ เชเชฐเซเชจเซ เชชเซเชธเซเช เชเชฐเซ, เชชเชเซ เชเซเชฒเชฟเช เชเชฐเซ เชฒเซเชเชฟเชจ. เชฒเซเช เชเชจ เชเชฐเซเชฏเชพ เชชเชเซ, เชจเซเชเซเชจเซ เชเชเซเชคเชฟเชฎเชพเช เชฌเชคเชพเชตเซเชฏเชพ เชชเซเชฐเชฎเชพเชฃเซ, เชกเชพเชฌเซ เชฌเชพเชเซเชจเชพ เชเชเซเชธเซเชเซเชเชถเชจ เชฎเซเชจเซ เชชเชฐ เชเชพเช, เชเซเชฏเชพเช เชคเชฎเชจเซ เชเชเซเชธเซเชเซเชเชถเชจ เชฎเซเชจเซเชเชฐเชจเซ เชธเชเซเชฐเชฟเชฏ เชเชฐเชคเซ เชตเชเชคเซ, เชคเซเชคเซเชฏ เชชเชเซเชทเซเชจเชพ เชเชเซเชธเซเชเซเชจเซเชถเชจเซเชธ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชจเซ เชธเซเชฐเชเซเชทเชพ เชเซเชเชฎเซ เชฒเซเชตเชพ เชฎเชพเชเซ เชเชนเซเชตเชพเชฎเชพเช เชเชตเชถเซ, เชเซเชจเชพ เชฎเชพเชเซ เชเชฆเซเชถ JupyterLab เชตเชฟเชเชพเชธ เชเชตเชพเชฌเชฆเชพเชฐ เชจเชฅเซ:
เชเซ เชเซ, เช
เชฎเซ เชธเชฎเชเซเชฐเชจเซ เช
เชฒเช เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ เช
เชจเซ เชคเซเชจเซ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชฎเซเชเซ เชเซเชฅเซ เชคเซเชคเซเชฏ-เชชเชเซเชท เชเชเซเชธเซเชเซเชจเซเชถเชจ เชเซ เชเซเชจเซ NodeJS เชจเซ เชเชฐเซเชฐ เชนเซเชฏ เช
เชจเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชคเซ เชเชเชพเชฎเชพเช เชเชเซ เชกเชฟเชธเซเช เชชเชฐเชจเชพ เชกเซเชเชพเชจเซ เชเซเชฐเซ เชจ เชเชฐเซ เชถเชเซ เชเซ เช
เชฎเซ เชเชจเซเชเซเชจเชฐเชจเซ เช
เชเชฆเชฐ เชเซเชฒเซเช เชเซเช. เชฎเชพเช เชนเซเชธเซเช เชชเชฐ เชคเชฎเชพเชฐเชพ เชเชพเชจเชเซ เชฆเชธเซเชคเชพเชตเซเชเซ เชฎเซเชณเชตเซ /home
เชเชจเซเชเซเชจเชฐเชฎเชพเชเชฅเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเช เชธเชซเชณ เชฅเชตเชพเชจเซ เชธเชเชญเชพเชตเชจเชพ เชจเชฅเซ, เช
เชจเซ เชเซ เชคเซเช เชเชฐเซ เชเซ, เชคเซ เชคเชฎเชพเชฐเซ เชนเซเชธเซเช เชธเชฟเชธเซเชเชฎ เชชเชฐเชจเซ เชซเชพเชเชฒเซ เชชเชฐ เชตเชฟเชถเซเชทเชพเชงเชฟเชเชพเชฐเซ เชฎเซเชณเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชเชพเชฐเชฃ เชเซ เช
เชฎเซ เชเชจเซเชเซเชจเชฐ เชเชฒเชพเชตเซเช เชเซเช เช
เชจเชชเซเชฐเชฟเชตเชฟเชฒเซเชเซเชก เชฎเซเชก. เช เชฎเชพเชนเชฟเชคเซเชจเชพ เชเชงเชพเชฐเซ, เชคเชฎเซ เชเชเซเชธเซเชเซเชเชถเชจเชจเซ เชธเชพเชฎเซเชฒ เชเชฐเชตเชพเชจเชพ เชเซเชเชฎเชจเซเช เชฎเซเชฒเซเชฏเชพเชเชเชจ เชเชฐเซ เชถเชเซ เชเซ เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ.
IPython เชจเซเชเชฌเซเช เชฌเชจเชพเชตเซ (เชชเชพเชจเชพ เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ) เชนเชตเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเซ เชนเซเชฎ เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ - /home/jupyter
, เชชเชฐเชเชคเซ เช
เชฎเชพเชฐเซ เชฏเซเชเชจเชพ เชนเซเชธเซเช เช
เชจเซ เชเชจเซเชเซเชจเชฐ เชตเชเซเชเซ เชกเซเชเชพ (เชถเซเชฐ) เชจเซ เชตเชฟเชญเชพเชเชฟเชค เชเชฐเชตเชพเชจเซ เชเซ, เชคเซเชฅเซ เชเชจเซเชธเซเชฒ เชชเชฐ เชชเชพเชเชพ เชซเชฐเซ เช
เชจเซ เชฌเชเชง เชเชฐเซ เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ เชนเซเชเชเซ เชเชฒเชพเชตเซเชจเซ - CTRL+C
เช
เชจเซ เชเชตเชพเชฌ เชเชชเซ เชเซ y
เชตเชฟเชจเชเชคเซ เชชเชฐ. เชชเชเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเชพ เชเชจเซเชเชฐเซเชเซเชเชฟเชต เชธเชคเซเชฐเชจเซ เชธเชฎเชพเชชเซเชค เชเชฐเซ jupyter
เชนเซเชเชเซ เชชเซเชฐเซเชฃ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช CTRL+D
.
เชนเซเชธเซเช เชธเชพเชฅเซ เชกเซเชเชพ เชถเซเชฐ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช ^
เชนเซเชธเซเช เชธเชพเชฅเซ เชกเซเชเชพ เชถเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเชจเซเชเซเชจเชฐเชฎเชพเช เชเช เชเชชเชเชฐเชฃ เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชคเชฎเชจเซ เช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ เช เชจเซ เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชจเซเชเซเชจเซ เชเชฆเซเชถ เชเชฒเชพเชตเซ เชเซเชฏเชพเช เช เชฎเซ เชจเซเชเซเชจเซ เชเซเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซเช เชเซเช:
lxc config device add
โ เชเชฆเซเชถ เชเชชเชเชฐเชฃ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเชฎเซเชฐเซ เชเซjupyter
โ เชเชจเซเชเซเชจเชฐเชจเซเช ID เชเซ เชเซเชฎเชพเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซhostfs
- เชเชชเชเชฐเชฃ ID. เชคเชฎเซ เชเซเชเชชเชฃ เชจเชพเชฎ เชธเซเช เชเชฐเซ เชถเชเซ เชเซ.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
เชชเชฐเชตเชพเชจเชเซ เชเชจเซเชเซเชจเชฐ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชฎเชพเชเซ เชธเซเช เชเชฐเชตเซ เชเชตเชถเซเชฏเช เชเซ เชเซเชจเซ เชชเชพเชธเซ เชนเชพเชฒเชฎเชพเช UID เชธเชฎเชพเชจ เชเซ SubUID + UID
, เชชเซเชฐเชเชฐเชฃ เชเซเช เชธเชฒเชพเชฎเชคเซ. เชเชจเซเชเซเชจเชฐ เชตเชฟเชถเซเชทเชพเชงเชฟเชเชพเชฐเซ เชฒเซเชเชฎเชพเช LXD - Linux เชเชจเซเชเซเชจเชฐ เชธเชฟเชธเซเชเชฎเชจเซ เชฎเซเชณเชญเซเชค เชธเซเชตเชฟเชงเชพเช.
เชนเซเชธเซเช เชชเชฐ เชชเชฐเชตเชพเชจเชเซ เชธเซเช เชเชฐเซ, เชเซเชฏเชพเช เชฎเชพเชฒเชฟเช เชเชจเซเชเซเชจเชฐ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชนเชถเซ 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
เช
เชฅเชตเชพ JupyterLab เชจเซ เช เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเช เชชเชฐ เชเซเชฒเชฌเชพเชฐ เชชเชฐ "เชชเซเชฒเซ" เชฌเชเชจ เชฆเชฌเชพเชตเซ:
เช เชฌเชฟเชเชฆเซเช, เชฒเชเชญเช เชฌเชงเซเช เช เชเชชเชฏเซเช เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเซ, เชชเชฐเชเชคเซ เชเซ เชเชชเชฃเซ เชตเชงเชพเชฐเชพเชจเชพ เชชเชพเชฏเชฅเซเชจ เชฎเซเชกเซเชฏเซเชฒเซ (เชธเชเชชเซเชฐเซเชฃ เชเชชเซเชฒเชฟเชเซเชถเชจเซ) เชเชจเซเชธเซเชเซเชฒ เชจเชนเซเช เชเชฐเซเช เชคเซ เชคเซ เชฐเชธเชชเซเชฐเชฆ เชฐเชนเซเชถเซ เชเซ เชเซ เชชเชพเชฏเชฅเซเชจเชจเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชเซเชทเชฎเชคเชพเชเชจเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฐเซเชคเซ เชตเชฟเชธเซเชคเซเชค เชเชฐเซ เชถเชเซ เชเซ. เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌเชคเซเชฅเซ, เชเชพเชฒเซ เชเชเชณ เชตเชงเซเช :)
PS เชฐเชธเชชเซเชฐเชฆ เชตเชพเชค เช เชเซ เชเซ เชเซเชจเชพ เช
เชฎเชฒเซเชเชฐเชฃ เชเซเชฏเซเชชเซเชเชฐ เชเซเชก เชจเชพเชฎ เชนเซเช เชณ เชเซเชฏเซเชชเซเชเชฐ เชจเซเชเชฌเซเช เชฆเซเชฐ เชเชฏเซ เชจเชฅเซ เช
เชจเซ เชคเซ เชคเซเชจเซ เชธเชพเชฅเซ เชธเชฎเชพเชเชคเชฐ เช
เชธเซเชคเชฟเชคเซเชต เชงเชฐเชพเชตเซ เชเซ เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ. เชเซเชจเชพ เชธเชเชธเซเชเชฐเชฃ เชชเชฐ เชธเซเชตเชฟเช เชเชฐเชตเชพ เชฎเชพเชเซ, เชธเชฐเชจเชพเชฎเชพเชเชฎเชพเช เชชเซเชฐเชคเซเชฏเชฏ เชเชฎเซเชฐเชคเซ เชฒเชฟเชเชเชจเซ เช
เชจเซเชธเชฐเซ/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 เชจเชพ เชจเชตเชพ เชธเชเชธเซเชเชฐเชฃเชจเซเช เชธเชเชเชฒเชจ เชเชฐเชตเซเช เชถเชเซเชฏ เชฌเชจเชถเซ เชจเชนเซเช; เชเช เชธเชเชเชฒเชจ เชญเซเชฒ เชฆเซเชเชพเชถเซ เชเซ เชนเซเช เชเชเซเชฒเซ เชถเชเซเชฏเซ เชจเชฅเซ:
เชญเซเชฒ: เชจเชฎเซเชชเซ เชฎเชพเชเซ เชตเซเชนเซเชฒเซเชธ เชฌเชจเชพเชตเซ เชถเชเซเชฏเชพ เชจเชฅเซ เชเซ 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 เชคเชฎเซ เชคเซเชจเซ เชเซเชฏเซเชเซเชฐเชฟเชฏเชฒเซเชธเชฎเชพเช เชถเซเชงเซ เชถเชเซ เชเซ เช เชนเซเช
เชฌเซเชเซเช เชถเซเช? ^
เชเซ เชคเชฎเซ เชฐเซเชเชพเชฏเชพ เช เชจเซ เชฒเซเชเชจเชพ เช เชเชค เชธเซเชงเซ เชชเชนเซเชเชเซเชฏเชพ เชคเซ เชธเชพเชฐเซเช เชฅเชฏเซเช. เชฎเซเช เชเชฐเชพเชฆเชพเชชเซเชฐเซเชตเช เชฒเซเชเชจเชพ เช เชเชคเซ เชคเซเชฏเชพเชฐ เชธเซเชเซเชฐเชฟเชชเซเช เชชเซเชธเซเช เชเชฐเซ เชจเชฅเซ เชเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชถเซ เชเซเชฏเซเชชเซเชเชฐ เชฒเซเชฌ เชเชพเชฎเชฆเชพเชฐเซเชจเซ เชชเซเชฐเซเชคเซเชธเชพเชนเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ "เชเช เชเซเชฒเชฟเช" เชฎเชพเช :) เชชเชฐเชเชคเซ เชคเชฎเซ เชคเซ เชเชพเชคเซ เชเชฐเซ เชถเชเซ เชเซ, เชเชพเชฐเชฃ เชเซ เชคเชฎเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเชพเชฃเซ เชเซ เชเซ เชเซเชตเซ เชฐเซเชคเซ, เชเช เช เชฌเซเชถ เชธเซเชเซเชฐเชฟเชชเซเชเชฎเชพเช เชเชฆเซเชถเซ เชเชเชคเซเชฐเชฟเชค เชเชฐเซเชฏเชพ เชชเชเซ :)
เชคเชฎเซ เช เชชเชฃ เชเชฐเซ เชถเชเซ เชเซ:
- เชเชจเซเชเซเชจเชฐ เชฎเชพเชเซ IP เชเชกเซเชฐเซเชธเชจเซ เชฌเชฆเชฒเซ เชคเซเชจเซ เชธเชฐเชณ เชญเชพเชทเชพเชฎเชพเช เชฒเชเซเชจเซ เชจเซเชเชตเชฐเซเช เชจเชพเชฎ เชธเซเช เชเชฐเซ
/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