å
容ã®ç°ãªãããã€ãã®ããŒã«ããã¯ã¹ã䜿çšããã®ã奜ãã§ãã ããããæ£ããåºå¥ããããã«ããµããã£ã¬ã¯ããªã«ããŠã³ãããããšæããŸãïŒäŸïŒcontainer1ïŒ/ home / user-> hostïŒ/ var / home / user / container1ïŒã ããã¯ïŒ183ãšäŒŒãŠããŸãããã»ãã¥ãªãã£äžå¿ã§ã¯ãããŸããã
çŸæç¹ã§/äžè²«ããåé¿çãä»ããŠãããéæããæ¹æ³ã¯ãããŸããïŒã³ãŒãè¡ãå€æŽããããªãã®ã§ã次ã®æŽæ°åŸã«ãã¡ã€ã«ãå¥ã®å Žæã«ä¿åããŠããŸã;ïŒïŒïŒ
æŽæ°ïŒç§ã¯å®éã«ã¯ãããããç°ãªããŠãŒã¶ãŒã³ã³ããã¹ãã®äžã«ããããšãæ°ã«ããŸããïŒããããæè¬ããŸãïŒããåãäžè¬çãªãã£ã¬ã¯ããªã«ãããŸãã ããããã°ãæ確ãªåºå¥ãšåé¢ããããŸãã
ããããè¯ãæ¹æ³ãã§ãšã³ããŠãŒã¶ãŒã«æ瀺ããããã«ããã¡ã€ã«ãã©ãŠã¶ãsudoãšããŠéãè¿œå ã®ãªã³ã¯ãè¿œå ããããšãã§ããŸã...ïŒããã§å€§å£°ã§èããŠãã ããïŒ
åãã£ãŠæè¬ããŸãã
ã¯ãªã¹
ç§ã¯éåžžãã³ã³ãããäœæããåã«HOME=/home/user1/container1
ãå®è¡ãããšã€ãªã¢ã¹ã䜿çšããŠã³ã³ãããéããŸãã ïŒ alias toolbox1='HOME=/home/user1/container1/toolbox "$@"'
ïŒ
ããã $HOME
ããªãŒããŒã©ã€ãããããšã¯ãããè¡ã1ã€ã®æ¹æ³ã§ãã
ãããªãã®ãèŠããã§ãã Toolboxã®ç§ã®äž»ãªäœ¿çšäŸã¯ããããžã§ã¯ãã§äœæ¥ããããããŸãã¯ãœãŒã¹ãããœãããŠã§ã¢ããã°ããã³ã³ãã€ã«ããããã«ã䜿ãæšãŠã®éçºç°å¢ãã»ããã¢ããããããšã§ãã äœããäžåºŠã³ã³ãã€ã«ããããã ãã«ãäŸåé¢ä¿ãªã©ããã®ã©ã³ãã ãªãã¡ã€ã«ã§ã·ã¹ãã ãæ±æããããããŸããã Toolboxã¯ããã¹ããã¯ãªãŒã³ã«ä¿ã€ããã®åé¢ãããã³ã³ãããŒãæäŸãããšäž»åŒµããŠãããããããã«ã¯æé©ã®ããã«èŠããŸããã
ããããããã¯ç§ãæåŸ
ãããšããã«ã¯æ©èœããŸããã§ããã Toolboxã¯ãã¹ãOSãã¯ãªãŒã³ã«ä¿ã¡ãŸãããããŒã ãã£ã¬ã¯ããªããŸã£ããã¯ãªãŒã³ã«ä¿ã¡ãŸããã ããã¯ãŸã å®å
šã«æ±æãããŠããŸãã ããšãã°ã䜿ãæšãŠã³ã³ããã䜿çšããŠrust
ã䜿çšãããã®ãäœæãããšãããŒã ãã£ã¬ã¯ããªãããã€ãã®æ¹æ³ã§å€æŽãããŠããŸããŸããã
~/.cargo
ãã£ã¬ã¯ããªããµã€ã¬ã³ãã«äœæãããRusté¢é£ã®ãã€ããªããœãŒã¹ããã±ãŒãžãªã©ãåèš123MBå«ãŸããŠããŸãã~/.rustup
ãã£ã¬ã¯ããªããµã€ã¬ã³ãã«äœæãããRusté¢é£ã®ãã€ããªãããã«å€ãå«ãŸããåèš683MBã«ãªããŸããã~/.bash_profile
ãã¡ã€ã«ã¯ãä»ã®ãã¹ãŠã®åã«$ PATHã«~/.cargo/bin
ãã£ã¬ã¯ããªãè¿œå ããããã«ãµã€ã¬ã³ãã«å€æŽãããŸããã~/.profile
ãã¡ã€ã«ã¯ãä»ã®ãã¹ãŠã®åã«$ PATHã«~/.cargo/bin
ãã£ã¬ã¯ããªãè¿œå ããããã«ãµã€ã¬ã³ãã«å€æŽãããŸããããããã äžæçã§äœ¿ãæšãŠã®ç°¡åã«å»æ£ã§ããã·ã¹ãã ã§ããã¯ãã ã£ããã®ããç§ã®ããŒã ãã£ã¬ã¯ããªã«å€ãã®æ°žç¶çãªå€æŽãéãã«å ããŸããã äžèšã®ã³ã¡ã³ãããã$ HOMEç°å¢å€æ°ãæåã§ãªãŒããŒã©ã€ãããŠãããåé¿ã§ããããšãããããŸããããããã¯çŽæçã§ã¯ãªããäºæ³ãããŠããŸããã§ããã Toolboxã¯ïŒãŸãã¯å°ãªããšãç§ãç解ããŠããããã«ïŒã³ã³ãããŒã«å ¥ãç°¡åã§ãŠãŒã¶ãŒãã¬ã³ããªãŒãªæ¹æ³ã§ãããšæ³å®ãããŠããã®ã§ãããããã£ãšè¯ãæ¹æ³ã§åŠçã§ããã°å¹žãã§ãã
ç§ã®æèŠã§ã¯ãããŒã«ããã¯ã¹ã«ã¯ããããããã©ã«ãã§ç¬èªã®ãŠãŒã¶ãŒãšããŒã ãã£ã¬ã¯ããªãå¿
èŠã§ãã ãããããããå®è£
ããã«ã¯è€éãããå Žåã¯ãæ°ããããŒã«ããã¯ã¹ãäœæãããšãã«ãããã©ã«ãã®$ HOMEãèšå®ããããã«å°ãªããšã-h
ãŸãã¯--home
åŒæ°ãååšããå¯èœæ§ããããŸããïŒ ãã®ãããå°æ¥ããŒã«ããã¯ã¹ã«å
¥ããšããã®$ HOMEå€ãèªåçã«èšå®ãããŸãã ããšãã°ã toolbox create -c temp-myproject -h ~/Toolboxes/temp-myproject
ã«æ²¿ã£ããã®ã§ãã
åºæ¬çã«ãToolboxã«æ¬¡ã®3ã€ã®ã¢ãŒãã®ããããã§ã³ã³ãããŒãã»ããã¢ããããããã®ãŠãŒã¶ãŒãã¬ã³ããªãŒãªæ¹æ³ãããã°çŽ æŽããããšæããŸãã
ããã¯ç§ã«ã¯éåžžã«åççã«èãããŸãã @debarshirayã¯ã©ãæããŸããïŒ
ç§ã¯ãã®@JaneSmithããµããŒãããŸããç§ãå¿ èŠãšãããã¹ãŠ-ããŸãèšãã°ïŒ
ç§ã2çªç®ã®ã¢ã€ãã¢ã§ãã ãã ããå®è£ ããããŸã§ã¯direnvã䜿çšã§ããŸãã ããã¯ããã£ã¬ã¯ããªããšã«ç°å¢å€æ°ãæå®ã§ãã䟿å©ãªããŒã«ã§ãã 次ã®ã¯ãŒã¯ãããŒã䜿çšã§ããŸã
- install direnv and hook it to your shell
- create a temporary directory eg. ~/somedev
- add a .envrc file with the environment variables you want (in this case HOME=/home/user/somedev
ããã§ã somedev
ãã£ã¬ã¯ããªã«ç§»åãããã³ã«ããããããŒã ãã£ã¬ã¯ããªã§ãããšèŠãªãããããããåºããšãªã»ãããããŸãã 次ã®ãããª1ã€ã®ã³ãã³ãã§direnvãã€ã³ã¹ããŒã«ããåŸããã¹ãŠã®æé ãå®è¡ã§ããŸãã
`` `bash
mkdirã / somedev && echo export HOME = / home / user / somedev>ã/ somedev / .envrc
`` `` ``
ç§ã¯çŸåšãåæ§ã®ã¯ãŒã¯ãããŒã䜿çšããŠããŸãã
å°ãªããšãããŒã ãã£ã¬ã¯ããªãããŠã³ãããªããªãã·ã§ã³ãããã¯ãã ãšããããšã«åæããŸãïŒhttps://github.com/containers/toolbox/issues/183#issuecomment-623103780ãåç
§ïŒã å®éã«ã¯ãflatpakãšåæ§ã«ã ~/.var/app
å
ã®ããã€ãã®ãã£ã¬ã¯ããªã䜿çšããã°åé¡ãããŸããããããã~/.var/toolbox
çšåºŠã§ãããŒã ãã£ã¬ã¯ããªå
ã®ãã¹ãŠã®ãã¡ã€ã«ãããã©ã«ãã§ä¿åãããŸãã
1ã€ã®ã³ã³ããã®ãã¹ãŠã®ããŒã¿ã1ã€ã®å Žæã«ãããã³ã³ãããåé€ãããšãã¹ãŠã®ã¢ããªããŒã¿ãåé€ã§ããããããã®ãã©ããããã¯ã¢ãã«ãéåžžã«æ°ã«å
¥ã£ãŠããŸãã ïŒãŸãã¯ãæ°ãããéãè©Šããããããžã§ã¯ããåã£ãã¹ããŒã¹ã枬å®ããã ãã§ãïŒãããšãã°ïŒgnome-control-centerã§è¡ãããããã«ïŒ
次ã«ã䟿å®äžãåžžã«çŸåšã®$ PWDã«ããŠã³ãããå¿
èŠããããŸãããããžã§ã¯ããã©ã«ããŒããéå§ããå Žåã¯ãããã«ãã¡ã€ã«ãããããšãæåŸ
ããŠããå¯èœæ§ããããŸãã ~/rust-project
ãã©ã«ãã«ã¯ã ~/Pictures/private/âŠ
ãªã©ãžã®ã¢ã¯ã»ã¹ã¯å¿
èŠãããŸããã
ãšã«ããããã¡ããããªãã·ã§ã³ã§èªã¿åãå°çšãŸãã¯æžã蟌ã¿å¯èœãšããŠããŒã ã«ããŠã³ãã§ããã¯ãã§ãããã»ãšãã©ã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããæ¬åœã«å¿
èŠã ãšã¯æããŸããã
ãããŠãçŸåšã®$PWD
ãããŠã³ãã§ããªãã¯ãã§ãã
ãããã£ãŠãããã§ã¯æ°ããããã©ã«ããšããŠãäžéãããããŸãã
tlbx forkã«ã¯ãããŒã ãã£ã¬ã¯ããªããã€ã³ãããŠã³ãããªãããã®-n
ãªãã·ã§ã³ããããŸãã
NooooâŠå¥ã®$ HOMEã䜿çšããä»ã®ãŠãŒã¹ã±ãŒã¹/çç±ããããŸããããéçºäžã®ã³ãŒãã®ãã°ããã«ãŠã§ã¢ãé²ãããã®åé¢ãããéçºç°å¢ãâŠ
ç§èŠãããã¯ãŸã ããŒã«ããã¯ã¹ãæã€ã¹ãæ©èœã§ãã
ãã®åé¡ã解決ãããçç±ãããããŸããã ããã®è€è£œã§ã¯ãããŸããã ããã¯ã»ãã¥ãªãã£ã ãã§ã¯ãããŸããã ç§ã¯FedoraSilverblueã倧奜ãã§ããããã³ã³ãããã»ããã¢ããããããã®ããŒã«ãçµã¿èŸŒãŸããŠããã®ã倧奜ããªã®ã§ããããåèãããããšãæ¬åœã«æãã§ããŸãããçŸåšã¯å®éã«ã¯æ©èœããŠããŸããã ãã®ããã ãã«ãã©ãŒã¯ã䜿çšããå¿ èŠã¯ãããŸãã...ãããã®ã³ã³ããçšã®ããŒã«ããã¯ã¹ã䜿çšããŠããŸããŸãªããã°ã©ãã³ã°ãããžã§ã¯ããåŠçããããŒã ãã£ã¬ã¯ããªãã³ã³ããã§ä¹±éã«ãªããªãããã«ããŸãã ããã¯ã»ãã¥ãªãã£ãšã¯äœã®é¢ä¿ããããŸããã
@JaneSmithå¿ èŠãªæ©èœãåããŠããå Žåã¯ããã©ãŒã¯ã䜿çšããŠã¿ãŸãããïŒ
Toolboxã¯ããå€ãã®éçºè ã§ããé©åã«ãµããŒããããŠãããFedoraã«ããã«å«ãŸããŠããããããã©ãŒã¯ã§ã¯ãªãToolboxã䜿çšããããšæããŸãã ãã·ã³éã移åãããšãããã©ãŒã¯ãã€ã³ã¹ããŒã«ããªããŠããToolboxã¯ãã§ã«ååšããŠããŸãã ããããToolboxã䜿çšããçç±ã®äžéšã¯ãã©ã³ãã ãªãœãããŠã§ã¢ã€ã³ã¹ããŒã«ã§ã·ã¹ãã ãä¹±éã«ãªããªãããã«ããããã§ãã
ç§ã®è¬èãªæèŠã§ã¯ããã®æ©èœèŠæ±ã¯ãToolboxã®ç®çãæãªããããªãã®ã§ã¯ãªããããã³ã¢ã§åºæ¬çãªæ©èœã§ããå¿ èŠããããã®ã«å¯Ÿãããã®ã§ãã ç§ã¯ãããæ¬åœã«ãããã«ãããçããç¹å¥ãªæ©èœãšã¯èŠãŠããŸããã ãããã£ãŠãç§ã¯ããã«å¯Ÿããç§ã®æ¯æãè¡šæããããããã®ãããžã§ã¯ãã®ããã«å®æœãããããšãæãã§ããŸãã
@JaneSmithç§ã¯ãã¹ãŠã®ç¹ã«åæããŸãã ãã®æ©èœã¯ãçŸåšã®å®å šã§ãªãèšèšãã»ãã¥ãªãã£éåã«é¢äžããããšãå ¬è¡šããããšãã«åããŠå®è£ ãããããšãæåŸ ããŠããŸãã
ããã¥ã¡ã³ãã®æåã®æã¯ãããã_å®å šã«éç¹æš©_ã§å®è¡ãããããšã瀺ããŠããŸãã å®å šã«èãããŸããïŒ
ãŸããäž»ãªèª¬æã§ã¯ã次ã®ããã«ãªã£ãŠããŸãã_ãããã®ã·ã¹ãã ã®ç®çã¯ããã¹ããžã®ãœãããŠã§ã¢ã®ã€ã³ã¹ããŒã«ãé»æ¢ãã代ããã«ãœãããŠã§ã¢ãã³ã³ãããšããŠïŒãŸãã¯ã³ã³ããã«ïŒã€ã³ã¹ããŒã«ããããšã§ãã_ãŸãããã®ãããžã§ã¯ãã¯éèŠãªã»ãã¥ãªãã£ãè¿œå ããå¿ èŠãããããã§ãã
ã³ã³ããã§èµ·ãã£ãŠããããšã«é¢ä¿ã®ãªãSSHããŒããã¡ã€ã«ãå«ãããŠãŒã¶ãŒãææãããã¹ãŠã®ããã¥ã¡ã³ãããã¹ãŠã®ã³ã³ãããšå ±æããŠããããšãããã¥ã¡ã³ãã匷調ããŠãããšããã¯ã©ãã«ããããŸããã
çŸåšã®ç¶æ³ã¯å®å šã§ãªãã ãã§ãªãããã®ãããªã³ã³ããã䜿çšãããšãã³ã³ããããã¹ãŠã®ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ã§ããããšã¯ã»ãšãã©ãªãå Žåã«ãéèŠãªã»ãã¥ãªãã£ãæäŸãããããšã誀解ãããå¯èœæ§ããããŸãã
READMEã§ãããŒã ããæ€çŽ¢ããå ŽåãããŒã ãã£ã¬ã¯ããªããã®æ¹æ³ã§å ±æãããŠããããšã瀺ãããã¥ã¡ã³ãã¯ãããŸããã
ããã欲ããã§ãã 劥åç¹ïŒèªå® ã«ã¢ã¯ã»ã¹å¯èœã§ãããHOMEãšããŠå®çŸ©ãããŠããŸããïŒãããã³ããä¿¡é Œã§ããªãã¢ãŒãïŒèªå® ã«ãŸã£ããã¢ã¯ã»ã¹ã§ããŸããïŒã
ç§ã¯éåžžãã³ã³ãããäœæããåã«
HOME=/home/user1/container1
ãå®è¡ãããšã€ãªã¢ã¹ã䜿çšããŠã³ã³ãããéããŸãã ïŒalias toolbox1='HOME=/home/user1/container1/toolbox "$@"'
ïŒ
äžéçãªè§£æ±ºçãããã»ã©åçŽãªå Žå...ããã§ã¯ããªãããããªãã·ã§ã³ãšããŠToolboxã«å®è£ ã§ããªãã®ã§ããããã ããŒã«ããã¯ã¹ãäœæãããšãã«ããŒã ãã¹ãåŒæ°ãšããŠåãããããã©ããã«ä¿åããŸããããã¯ãããããã³ã³ããåã®ä¿åæ¹æ³ãšåãæ¹æ³ã§ãã 次ã«ããã®ãã¹ãèªã¿åããã³ã³ããã«å ¥ããšãã«èšå®ããŸã...
ç©äºãããå°ãå ·äœçã«ããããã«ïŒ
--new-home
ããã¯ããŒã«ããã¯ã¹ã«ãã¹ã$ HOMEãããŠã³ãããªãããã«å
¥åããããã«æ瀺ããŸãïŒãŸãã¯$ HOMEã§ã¯ãªãã³ã³ããå
ã®å¥ã®å Žæã«ããŠã³ãããŸãïŒ--from-home path1:path2:pathN
ããã¯ãããŒã«ããã¯ã¹ã«ããã¹ã$ HOMEããã³ã³ããããŒã ãžã®ç¹å®ã®ãã¹ãããŠã³ãããããã«æ瀺ããŸããããšãã°ãã/ Projectsã«ãœãŒã¹ãã£ã¬ã¯ããªãããå Žåãgpgã§çœ²åããå¿ èŠãããããµãŒããŒãšgit configã«æ¥ç¶ããããã«sshãå¿ èŠãªå Žåã¯ã次ã®ãããªããŒã«ããã¯ã¹ãäœæã§ããŸãã
toolbox create --new-home --from-home Projects:.ssh:.gnupg:.gitconfig
ããã§ãããã¯äžæµã§åãå ¥ãããããã®ã§ããïŒ èšç»ãçã«ããªã£ãŠãããªããç§ãããã«åãçµãã§ãããã
æãåèã«ãªãã³ã¡ã³ã
ãããªãã®ãèŠããã§ãã Toolboxã®ç§ã®äž»ãªäœ¿çšäŸã¯ããããžã§ã¯ãã§äœæ¥ããããããŸãã¯ãœãŒã¹ãããœãããŠã§ã¢ããã°ããã³ã³ãã€ã«ããããã«ã䜿ãæšãŠã®éçºç°å¢ãã»ããã¢ããããããšã§ãã äœããäžåºŠã³ã³ãã€ã«ããããã ãã«ãäŸåé¢ä¿ãªã©ããã®ã©ã³ãã ãªãã¡ã€ã«ã§ã·ã¹ãã ãæ±æããããããŸããã Toolboxã¯ããã¹ããã¯ãªãŒã³ã«ä¿ã€ããã®åé¢ãããã³ã³ãããŒãæäŸãããšäž»åŒµããŠãããããããã«ã¯æé©ã®ããã«èŠããŸããã
ããããããã¯ç§ãæåŸ ãããšããã«ã¯æ©èœããŸããã§ããã Toolboxã¯ãã¹ãOSãã¯ãªãŒã³ã«ä¿ã¡ãŸãããããŒã ãã£ã¬ã¯ããªããŸã£ããã¯ãªãŒã³ã«ä¿ã¡ãŸããã ããã¯ãŸã å®å šã«æ±æãããŠããŸãã ããšãã°ã䜿ãæšãŠã³ã³ããã䜿çšããŠ
rust
ã䜿çšãããã®ãäœæãããšãããŒã ãã£ã¬ã¯ããªãããã€ãã®æ¹æ³ã§å€æŽãããŠããŸããŸããã~/.cargo
ãã£ã¬ã¯ããªããµã€ã¬ã³ãã«äœæãããRusté¢é£ã®ãã€ããªããœãŒã¹ããã±ãŒãžãªã©ãåèš123MBå«ãŸããŠããŸãã~/.rustup
ãã£ã¬ã¯ããªããµã€ã¬ã³ãã«äœæãããRusté¢é£ã®ãã€ããªãããã«å€ãå«ãŸããåèš683MBã«ãªããŸããã~/.bash_profile
ãã¡ã€ã«ã¯ãä»ã®ãã¹ãŠã®åã«$ PATHã«~/.cargo/bin
ãã£ã¬ã¯ããªãè¿œå ããããã«ãµã€ã¬ã³ãã«å€æŽãããŸããã~/.profile
ãã¡ã€ã«ã¯ãä»ã®ãã¹ãŠã®åã«$ PATHã«~/.cargo/bin
ãã£ã¬ã¯ããªãè¿œå ããããã«ãµã€ã¬ã³ãã«å€æŽãããŸããããããã äžæçã§äœ¿ãæšãŠã®ç°¡åã«å»æ£ã§ããã·ã¹ãã ã§ããã¯ãã ã£ããã®ããç§ã®ããŒã ãã£ã¬ã¯ããªã«å€ãã®æ°žç¶çãªå€æŽãéãã«å ããŸããã äžèšã®ã³ã¡ã³ãããã$ HOMEç°å¢å€æ°ãæåã§ãªãŒããŒã©ã€ãããŠãããåé¿ã§ããããšãããããŸããããããã¯çŽæçã§ã¯ãªããäºæ³ãããŠããŸããã§ããã Toolboxã¯ïŒãŸãã¯å°ãªããšãç§ãç解ããŠããããã«ïŒã³ã³ãããŒã«å ¥ãç°¡åã§ãŠãŒã¶ãŒãã¬ã³ããªãŒãªæ¹æ³ã§ãããšæ³å®ãããŠããã®ã§ãããããã£ãšè¯ãæ¹æ³ã§åŠçã§ããã°å¹žãã§ãã
ç§ã®æèŠã§ã¯ãããŒã«ããã¯ã¹ã«ã¯ããããããã©ã«ãã§ç¬èªã®ãŠãŒã¶ãŒãšããŒã ãã£ã¬ã¯ããªãå¿ èŠã§ãã ãããããããå®è£ ããã«ã¯è€éãããå Žåã¯ãæ°ããããŒã«ããã¯ã¹ãäœæãããšãã«ãããã©ã«ãã®$ HOMEãèšå®ããããã«å°ãªããšã
-h
ãŸãã¯--home
åŒæ°ãååšããå¯èœæ§ããããŸããïŒ ãã®ãããå°æ¥ããŒã«ããã¯ã¹ã«å ¥ããšããã®$ HOMEå€ãèªåçã«èšå®ãããŸãã ããšãã°ãtoolbox create -c temp-myproject -h ~/Toolboxes/temp-myproject
ã«æ²¿ã£ããã®ã§ããåºæ¬çã«ãToolboxã«æ¬¡ã®3ã€ã®ã¢ãŒãã®ããããã§ã³ã³ãããŒãã»ããã¢ããããããã®ãŠãŒã¶ãŒãã¬ã³ããªãŒãªæ¹æ³ãããã°çŽ æŽããããšæããŸãã