๋๋ ๋ค์ํ ์ฝํ
์ธ ๋ฅผ ๊ฐ์ง ์ฌ๋ฌ ๋๊ตฌ ์์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ข์ํฉ๋๋ค. ์ด๋ค์ ์ ์ ํ ๊ตฌ๋ณํ๊ธฐ ์ํด ํ์ ๋๋ ํ ๋ฆฌ(์: container1:/home/user -> host:/var/home/user/container1)์ ๋ง์ดํธํ๊ณ ์ถ์ต๋๋ค. #183๊ณผ ๋น์ทํ์ง๋ง ๋ณด์ ์ค์ฌ์ ์ด์ง๋ ์์ต๋๋ค.
์ผ๊ด๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํตํด ํ์ฌ ์ด๋ฅผ ๋ฌ์ฑํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น(์ฝ๋ ์ค์ ๋ณ๊ฒฝํ๊ณ ์ถ์ง ์๊ณ ๋ค์ ์
๋ฐ์ดํธ ํ์ ํ์ผ์ ๋ค๋ฅธ ๊ณณ์ ์ ์ฅํฉ๋๋ค ;))?
์
๋ฐ์ดํธ: ๋ค๋ฅธ ์ฌ์ฉ์ ์ปจํ
์คํธ ์๋์ ์๋ ๊ฒ์ ์ค์ ๋ก ์ ๊ฒฝ์ฐ์ง ์์ ๊ฒ์
๋๋ค(์ฌ์ง์ด ๊ฐ์ฌํ ์๋ ์์ต๋๋ค). ๊ทธ๋ฌ๋ ๋์ผํ ์ผ๋ฐ ๋๋ ํ ๋ฆฌ์ ์์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ๋ถ๋ช
ํ ๊ตฌ๋ณ๊ณผ ๋ถ๋ฆฌ๊ฐ ์์ต๋๋ค.
์ด๊ฒ์ "์ข์ ๋ฐฉ๋ฒ"์ผ๋ก ์ต์ข
์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๊ธฐ ์ํด ํ์ผ ๋ธ๋ผ์ฐ์ ๋ฅผ sudo๋ก ์ฌ๋ ์ถ๊ฐ ๋งํฌ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค... (์ฌ๊ธฐ์ ํฌ๊ฒ ์๊ฐํ๋ฉด ๋จ)
๋ฏธ๋ฆฌ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
ํฌ๋ฆฌ์ค
๋๋ ์ผ๋ฐ์ ์ผ๋ก ์ปจํ
์ด๋๋ฅผ ์์ฑํ๊ธฐ ์ ์ HOME=/home/user1/container1
๋ฅผ ์ํํ๊ณ ๋ณ์นญ์ ์ฌ์ฉํ์ฌ ์ปจํ
์ด๋๋ฅผ ์ฝ๋๋ค. ( alias toolbox1='HOME=/home/user1/container1/toolbox "$@"'
)
์, $HOME
๋ฅผ ์ฌ์ ์ํ๋ ๊ฒ์ด ํ ๊ฐ์ง ๋ฐฉ๋ฒ์
๋๋ค.
์ ๋ ์ด๋ฐ๊ฑฐ ๋ณด๊ณ ์ถ์ต๋๋ค. Toolbox์ ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก๋ ํ๋ก์ ํธ์์ ์์ ํ๊ฑฐ๋ ์์ค์์ ์ผ๋ถ ์ํํธ์จ์ด๋ฅผ ๋น ๋ฅด๊ฒ ์ปดํ์ผํ๊ธฐ ์ํด ์ผํ์ฉ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ค์ ํ๋ ๊ฒ์ ๋๋ค. ํ ๋ฒ๋ง ์ปดํ์ผํ๊ธฐ ์ํด ์ข ์์ฑ ๋ฑ์ ์์ ํ์ผ๋ก ์์คํ ์ ์ค์ผ์ํค๊ณ ์ถ์ง ์์ต๋๋ค. Toolbox๋ ํธ์คํธ๋ฅผ ๊นจ๋ํ๊ฒ ์ ์งํ๊ธฐ ์ํด ๊ฒฉ๋ฆฌ๋ ์ปจํ ์ด๋๋ฅผ ์ ๊ณตํ๋ค๊ณ ์ฃผ์ฅํ๋ฏ๋ก ์ด์ ์๋ฒฝํด ๋ณด์์ต๋๋ค.
์ด๊ฒ์ ๋ด๊ฐ ์์ํ ๋๋ก ์๋ํ์ง ์๋ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค. Toolbox ๋ ํธ์คํธ OS๋ฅผ ๊นจ๋ํ๊ฒ ์ ์งํ์ง๋ง ํ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ํ ๊นจ๋ํ๊ฒ ์ ์งํ์ง๋ ์์ต๋๋ค. ๊ทธ๊ฒ์ ์ฌ์ ํ โโ์์ ํ ์ค์ผ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, rust
๋ฅผ ์ฌ์ฉํ๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋น๋ํ๊ธฐ ์ํด ์ผํ์ฉ ์ปจํ
์ด๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ด ํ ๋๋ ํ ๋ฆฌ๊ฐ ์ฌ๋ฌ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
~/.cargo
๋๋ ํ ๋ฆฌ๋ ์ด 123MB์ ๋ํด ๋ง์ Rust ๊ด๋ จ ๋ฐ์ด๋๋ฆฌ, ์์ค ํจํค์ง ๋ฑ์ ํฌํจํ์ฌ ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค.~/.rustup
๋๋ ํ ๋ฆฌ๋ ๋ ๋ง์ Rust ๊ด๋ จ ๋ฐ์ด๋๋ฆฌ๋ฅผ ํฌํจํ์ฌ ์ด 683MB์ โโ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค.~/.bash_profile
ํ์ผ์ ~/.cargo/bin
๋๋ ํ ๋ฆฌ๋ฅผ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ๋ณด๋ค ๋จผ์ $PATH์ ์ถ๊ฐํ๋๋ก ์๋์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.~/.profile
ํ์ผ์ ~/.cargo/bin
๋๋ ํ ๋ฆฌ๋ฅผ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ๋ณด๋ค ๋จผ์ $PATH์ ์ถ๊ฐํ๋๋ก ์๋์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.๊ทธ๋ ๊ตฐ์. ์ผ์์ ์ด๊ณ ํ๊ธฐํ๊ธฐ ์ฌ์ด ์์คํ ์ผ๋ก ์ฌ๊ฒจ์ก๋ ๊ฒ์ด ๋ด ํ ๋๋ ํ ๋ฆฌ์ ๋ง์ ์๊ตฌ์ ์ธ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋์ผ๋ก ๋ง๋ค์ด์ง๋ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์์ต๋๋ค. ์์ ์ค๋ช ์ ํตํด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋์ผ๋ก $HOME ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ ์ํ ์ ์์์ ๊นจ๋ฌ์์ง๋ง ์ด๊ฒ์ ์ง๊ด์ ์ด๊ฑฐ๋ ์์ํ์ง ๋ชปํ์ต๋๋ค. Toolbox๋ ์ปจํ ์ด๋์ ๋ค์ด๊ฐ๋ ๋จ์ํ๋๊ณ ์ฌ์ฉ์ ์นํ์ ์ธ ๋ฐฉ๋ฒ(๋๋ ์ ์ด๋ ๋ด๊ฐ ์ดํดํ๋ ํ)์ด์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ๋ ๋์ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋ ์ ์๋ค๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
๋ด ์๊ฐ์ Toolbox์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ณ ์ ํ ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ๊ฐ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ๊ตฌํํ๊ธฐ์ ๋๋ฌด ๋ณต์กํ๋ค๋ฉด ์ ๋๊ตฌ ์์๋ฅผ ์์ฑํ ๋ ๊ธฐ๋ณธ $HOME์ ์ค์ ํ๊ธฐ ์ํด ์ต์ํ -h
๋๋ --home
์ธ์๊ฐ ์์ ์ ์์ต๋๋ค. ๋์ค์ ๋๊ตฌ ์์์ ๋ค์ด๊ฐ ๋ $HOME ๊ฐ์ด ์๋์ผ๋ก ์ค์ ๋๋๋ก ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, toolbox create -c temp-myproject -h ~/Toolboxes/temp-myproject
ํ์ ๋ฐ๋ฅด๋ ๊ฒ์
๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Toolbox์ ์ธ ๊ฐ์ง ๋ชจ๋ ์ค ํ๋๋ก ์ปจํ ์ด๋๋ฅผ ์ค์ ํ ์ ์๋ ์ฌ์ฉ์ ์นํ์ ์ธ ๋ฐฉ๋ฒ์ด ์์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์ด๊ฒ์ ๋์๊ฒ ๋งค์ฐ ํฉ๋ฆฌ์ ์ผ๋ก ๋ค๋ฆฐ๋ค. @debarshiray ์ด๋ป๊ฒ ์๊ฐํ์ธ์??
๋๋ ์ด @JaneSmith ๋ฅผ ์ง์ํฉ๋๋ค. ํ์ํ ๋ชจ๋ ๊ฒ์ ๋๋ค. ๋ฉ์ง๊ฒ ๋ฃ์ด์ฃผ์ธ์!
๋๋ ๋ ๋ฒ์งธ ์์ด๋์ด. ๊ทธ๋ฌ๋ ๊ตฌํ๋ ๋๊น์ง 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
๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ ๋๋ง๋ค ํ ๋๋ ํ ๋ฆฌ๋ก ๊ฐ์ ํ๊ณ ๋น ์ ธ๋์ค๋ฉด ์ฌ์ค์ ๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ํ๋์ ๋ช
๋ น์ผ๋ก direnv๋ฅผ ์ค์นํ ํ ๋ชจ๋ ๋จ๊ณ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
``` ๋ฐฐ์ฌ
mkdir ~/somedev && ์์ฝ ๋ด๋ณด๋ด๊ธฐ ํ=/home/user/somedev > ~/somedev/.envrc
````
ํ์ฌ ๋น์ทํ ์์
ํ๋ฆ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ ์ด๋ ํ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง์ดํธํ์ง ์๋ ์ต์
์ด ์์ด์ผ ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค(https://github.com/containers/toolbox/issues/183#issuecomment-623103780 ์ฐธ์กฐ). ์ฌ์ค, flatpak๊ณผ ์ ์ฌํ๊ฒ - some dir in ~/.var/app
, ์๋ง๋ ๋ ๋์ ~/.var/toolbox
์ ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ด์ฐฎ์ ๊ฒ์
๋๋ค. ์ฌ๊ธฐ์ ํ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
ํ ์ปจํ
์ด๋์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ํ ๊ณณ์ ์๊ณ ์ปจํ
์ด๋๋ฅผ ์ญ์ ํ๋ฉด ๋ชจ๋ ์ฑ ๋ฐ์ดํฐ๋ ์ญ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ๋ ๊ทธ ํ๋ซํฉ ๋ชจ๋ธ์ ์์ฃผ ์ข์ํฉ๋๋ค. (๋๋ ์๋ก์ด "๋๋ ๋
น์ ์๋ํ์ต๋๋ค" ํ๋ก์ ํธ๊ฐ ์ฐจ์งํ ๊ณต๊ฐ์ ์ธก์ ํ์ญ์์ค), ์๋ฅผ ๋ค์ด (gnome-control-center์์ ์ํ๋ ๊ฒ์ฒ๋ผ)
๊ทธ๋ฐ ๋ค์ ํธ์๋ฅผ ์ํด ํญ์ ํ์ฌ $PWD์ ๋ง์ดํธํด์ผ ํฉ๋๋ค. ํ๋ก์ ํธ ํด๋์์ ์์ํ๋ฉด ๊ฑฐ๊ธฐ์ ํ์ผ์ด ์์ ๊ฒ์ผ๋ก ์์ํ ์ ์์ต๋๋ค. ~/rust-project
ํด๋๋ ~/Pictures/private/โฆ
๋ฑ์ ์ก์ธ์คํ ํ์๊ฐ ์์ต๋๋ค.
์ด์จ๋ , ๋ฌผ๋ก ์ ํ์ ์ผ๋ก ํ์ ์ฝ๊ธฐ ์ ์ฉ ๋๋ ์ฐ๊ธฐ ๊ฐ๋ฅ์ผ๋ก ๋ง์ดํธํ ์ ์์ด์ผ ํ์ง๋ง ๋๋ถ๋ถ์ ์์ฉ ํ๋ก๊ทธ๋จ์๋ ์ด๊ฒ์ด ์ค์ ๋ก ํ์ํ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ฌ $PWD
๋ฅผ ๋ง์ดํธํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ์ฌ๊ธฐ์ ์๋ก์ด ๊ธฐ๋ณธ๊ฐ์ผ๋ก "์ค๊ฐ"์ด ์์ต๋๋ค.
tlbx ํฌํฌ์๋ ํ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ฐ์ธ๋ ๋ง์ดํธํ์ง ์๋ -n
์ต์
์ด ์์ต๋๋ค.
https://github.com/containers/toolbox/issues/183 ์ ๋ณต์ ๋ณธ
์๋์... "๊ฐ๋ฐ ์ค์ธ ์ฝ๋์ ๋ฒ๊ทธ ๋ฐ ๋งฌ์จ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๊ฒฉ๋ฆฌ๋ ๊ฐ๋ฐ ํ๊ฒฝ"๊ณผ ๋ค๋ฅธ $HOME์ ์ฌ์ฉํ๋ ๋ค๋ฅธ ์ฌ์ฉ ์ฌ๋ก/์ด์ ๊ฐ ์์ ์ ์์ต๋๋ค.
IMHO, ์ด๊ฒ์ ์ฌ์ ํ โโ๋๊ตฌ ์์์ ์์ด์ผ ํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
์ด ๋ฌธ์ ๊ฐ ์ ์ข ๋ฃ๋์๋์ง ์ดํด๊ฐ ๋์ง ์์ต๋๋ค. ๊ทธ ๋ณต์ ํ์ด ์๋๋๋ค. ์ด๊ฒ์ ๋จ์ง ๋ณด์์ ๊ดํ ๊ฒ์ด ์๋๋๋ค. ๋๋ Fedora Silverblue๋ฅผ ์ฌ๋ํ๊ณ ์ ์ ๋๋ฌผ ์ปจํ ์ด๋๋ฅผ ์ค์ ํ๋ ๋๊ตฌ๊ฐ ๋ด์ฅ๋์ด ์๋ค๋ ์ ์ ์ข์ํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ์ฌ๊ณ ๋๊ธฐ๋ฅผ ์ ๋ง๋ก ํฌ๋งํ์ง๋ง ํ์ฌ ์ค์ ๋ก ์๋ํ์ง ์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ํด ํฌํฌ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ง ์์ต๋๋ค ... ๋๋ ์ ์ ๋๋ฌผ ์ปจํ ์ด๋ ์ฉ ๋๊ตฌ ์์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ํ๋ก์ ํธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ด ํ ๋๋ ํ ๋ฆฌ๊ฐ ์ปจํ ์ด๋๋ก ์ธํด ์ด์์ ํด์ง๋ ๊ฒ์ ์ํ์ง ์์ต๋๋ค. ๋ณด์๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
@JaneSmith ํ์ํ ๊ธฐ๋ฅ์ด ์๋ค๋ฉด ํฌํฌ๋ฅผ ์ฌ์ฉํ์ง ์์ผ์๊ฒ ์ต๋๊น?
Toolbox๋ ๋ ๋ง์ ๊ฐ๋ฐ์๊ฐ ์ง์ํ๊ณ Fedora์ ์ฆ์ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ํฌํฌ๋ณด๋ค๋ Toolbox๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค. ๊ธฐ๊ณ์์ ๊ธฐ๊ณ๋ก ์ด๋ํ ๋ ํฌํฌ๋ฅผ ์ค์นํ ํ์ ์์ด Toolbox๊ฐ ์ด๋ฏธ ์์ต๋๋ค. ์ฒ์์ Toolbox๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ค ํ๋๋ ๋ฌด์์ ์ํํธ์จ์ด ์ค์น๋ก ์์คํ ์ด ๋ณต์กํด์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด์์ ๋๋ค!
๋ด ๊ฒธ์ํ ์๊ฐ์ ์ด ๊ธฐ๋ฅ ์์ฒญ์ Toolbox์ ๋ชฉ์ ์ ์ด๊ธ๋๋ ์ข ๋ฅ๊ฐ ์๊ธฐ ๋๋ฌธ์ ํต์ฌ์ ์ธ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ด์ด์ผ ํ๋ ๊ฒ์ ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ ๋ง๋ก "๋ฐ์์" ํน์ดํ ํน์ ๊ธฐ๋ฅ์ผ๋ก ๋ณด์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ ๋ ์ด์ ๋ํ ์ง์ง๋ฅผ ํ๋ช ํ๊ณ ์์ผ๋ฉฐ ์ด ํ๋ก์ ํธ๋ฅผ ์ํด ๊ตฌํ๋๊ธฐ๋ฅผ ํฌ๋งํฉ๋๋ค.
@JaneSmith ๋ชจ๋ ์์ ์ ๋์ํฉ๋๋ค. ๋๋ ํ์ฌ์ ์์ ํ์ง ์์ ๋์์ธ์ด ๋ณด์ ์นจํด์ ๊ด์ฌํ๊ธฐ ์ํด ์ฒ์์ผ๋ก ๊ณต๊ฐ๋ ๋ ์ด ๊ธฐ๋ฅ์ด ๊ตฌํ๋ ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค.
๋ฌธ์์ ์ฒซ ๋ฒ์งธ ๋ฌธ์ฅ์ _์์ ํ ๊ถํ์ด ์๋ _์ ์คํํ๋ค๊ณ ๋งํฉ๋๋ค. ์์ ํ ๊ฒ ๊ฐ์ฃ ?
๋ํ ์ฃผ์ ์ค๋ช ์์: _์ด ์์คํ ์ ์๋๋ ํธ์คํธ์ ์ํํธ์จ์ด ์ค์น๋ฅผ ๊ถ์ฅํ์ง ์๊ณ ๋์ ์ํํธ์จ์ด๋ฅผ ์ปจํ ์ด๋๋ก(๋๋ ์์) ์ค์นํ๋ ๊ฒ์ ๋๋ค._ ๋ํ ์ด ํ๋ก์ ํธ๋ ์๋นํ ๋ณด์์ ์ถ๊ฐํด์ผ ํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค.
๋ฌธ์์์๋ ์ปจํ ์ด๋์์ ์ผ์ด๋๋ ์ผ๊ณผ ๊ด๋ จ ์๋ SSH ํค ๋ฐ ํ์ผ์ ํฌํจํ์ฌ ์ฌ์ฉ์๊ฐ ์์ ํ ๋ชจ๋ ๋ฌธ์๋ฅผ ๋ชจ๋ ์ปจํ ์ด๋์ ๊ณต์ ํ๋ค๋ ์ ์ ๊ฐ์กฐํ์ง ์์ต๋๋ค.
ํ์ฌ ์ํฉ์ ์์ ํ์ง ์์ ๋ฟ๋ง ์๋๋ผ ์ปจํ ์ด๋๊ฐ ๋ชจ๋ ํ์ผ์ ์ก์ธ์คํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๊ฑฐ์ ์๋ ๊ฒฝ์ฐ ์ด์ ๊ฐ์ ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ฉด ์๋นํ ๋ณด์์ ์ ๊ณตํ๋ค๋ ์คํด๋ฅผ ๋ถ๋ฌ์ผ์ผํต๋๋ค!
README์์ "home"์ ๊ฒ์ํ๋ฉด ํ ๋๋ ํ ๋ฆฌ๊ฐ ์ด๋ฐ ๋ฐฉ์์ผ๋ก ๊ณต์ ๋๋ค๋ ๋ฌธ์๊ฐ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ์ํ๋ค. ์ค๊ฐ ์ง์ (์ง์ ์ ๊ทผํ ์ ์์ง๋ง HOME์ผ๋ก ์ ์๋์ง ์์)๊ณผ ๋ ์ ๋ขฐํ ์ ์๋ ๋ชจ๋(์ง์ ์ ํ ์ ๊ทผํ ์ ์์).
๋๋ ์ผ๋ฐ์ ์ผ๋ก ์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ธฐ ์ ์
HOME=/home/user1/container1
๋ฅผ ์ํํ๊ณ ๋ณ์นญ์ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋๋ฅผ ์ฝ๋๋ค. (alias toolbox1='HOME=/home/user1/container1/toolbox "$@"'
)
์ค๊ฐ ์๋ฃจ์ ์ด ์ด๋ ๊ฒ ๊ฐ๋จํ๋ค๋ฉด... ๋๊ตฌ ์์์ ์ต์ ์ผ๋ก ๊ตฌํํ ์ ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๋๊ตฌ ์์๋ฅผ ๋ง๋ค ๋ ํ ๊ฒฝ๋ก๋ฅผ ์ธ์๋ก ๊ฐ์ ธ ์์ ์ด๋๊ฐ์ ์ ์ฅํ์ญ์์ค. ์๋ง๋ ์ปจํ ์ด๋ ์ด๋ฆ์ด ์ ์ฅ๋๋ ๋ฐฉ์๊ณผ ๊ฐ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํด๋น ๊ฒฝ๋ก๋ฅผ ์ฝ๊ณ ์ปจํ ์ด๋์ ๋ค์ด๊ฐ ๋ ์ค์ ํ์ญ์์ค ...
์ข ๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋ง๋ค๋ ค๋ฉด:
--new-home
์ด๋ toolbox enter์๊ฒ ํธ์คํธ $HOME์ ๋ง์ดํธํ์ง ์๋๋ก ์ง์ํฉ๋๋ค(๋๋ $HOME์ด ์๋ ์ปจํ
์ด๋์ ๋ค๋ฅธ ์์น์ ๋ง์ดํธ)--from-home path1:path2:pathN
์ด๊ฒ์ ํธ์คํธ $HOME์์ ์ปจํ
์ด๋ ํ์ผ๋ก์ ํน์ ๊ฒฝ๋ก๋ฅผ ๋ง์ดํธํ๋๋ก ๋๊ตฌ ์์์ ์
๋ ฅํ๋๋ก ์ง์ํฉ๋๋ค.์๋ฅผ ๋ค์ด ~/Projects์ ์์ค ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ gpg๋ก ์๋ช ํด์ผ ํ๊ณ ์๋ฒ์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ssh๊ฐ ํ์ํ๊ณ git config์์ ๋ค์๊ณผ ๊ฐ์ ๋๊ตฌ ์์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
toolbox create --new-home --from-home Projects:.ssh:.gnupg:.gitconfig
๊ทธ๋์ ์ด๊ฒ์ ์ ์คํธ๋ฆผ์์ ๋ฐ์๋ค์ฌ์ง ๊ฒ์ ๋๊น? ๊ณํ์ด ํ๋นํ๋ค๋ฉด ์ด ์์ ์ ์ํํ ๊ฒ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ ๋ ์ด๋ฐ๊ฑฐ ๋ณด๊ณ ์ถ์ต๋๋ค. Toolbox์ ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก๋ ํ๋ก์ ํธ์์ ์์ ํ๊ฑฐ๋ ์์ค์์ ์ผ๋ถ ์ํํธ์จ์ด๋ฅผ ๋น ๋ฅด๊ฒ ์ปดํ์ผํ๊ธฐ ์ํด ์ผํ์ฉ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ค์ ํ๋ ๊ฒ์ ๋๋ค. ํ ๋ฒ๋ง ์ปดํ์ผํ๊ธฐ ์ํด ์ข ์์ฑ ๋ฑ์ ์์ ํ์ผ๋ก ์์คํ ์ ์ค์ผ์ํค๊ณ ์ถ์ง ์์ต๋๋ค. Toolbox๋ ํธ์คํธ๋ฅผ ๊นจ๋ํ๊ฒ ์ ์งํ๊ธฐ ์ํด ๊ฒฉ๋ฆฌ๋ ์ปจํ ์ด๋๋ฅผ ์ ๊ณตํ๋ค๊ณ ์ฃผ์ฅํ๋ฏ๋ก ์ด์ ์๋ฒฝํด ๋ณด์์ต๋๋ค.
์ด๊ฒ์ ๋ด๊ฐ ์์ํ ๋๋ก ์๋ํ์ง ์๋ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค. Toolbox ๋ ํธ์คํธ OS๋ฅผ ๊นจ๋ํ๊ฒ ์ ์งํ์ง๋ง ํ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ํ ๊นจ๋ํ๊ฒ ์ ์งํ์ง๋ ์์ต๋๋ค. ๊ทธ๊ฒ์ ์ฌ์ ํ โโ์์ ํ ์ค์ผ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด,
rust
๋ฅผ ์ฌ์ฉํ๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋น๋ํ๊ธฐ ์ํด ์ผํ์ฉ ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ด ํ ๋๋ ํ ๋ฆฌ๊ฐ ์ฌ๋ฌ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.~/.cargo
๋๋ ํ ๋ฆฌ๋ ์ด 123MB์ ๋ํด ๋ง์ Rust ๊ด๋ จ ๋ฐ์ด๋๋ฆฌ, ์์ค ํจํค์ง ๋ฑ์ ํฌํจํ์ฌ ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค.~/.rustup
๋๋ ํ ๋ฆฌ๋ ๋ ๋ง์ Rust ๊ด๋ จ ๋ฐ์ด๋๋ฆฌ๋ฅผ ํฌํจํ์ฌ ์ด 683MB์ โโ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค.~/.bash_profile
ํ์ผ์~/.cargo/bin
๋๋ ํ ๋ฆฌ๋ฅผ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ๋ณด๋ค ๋จผ์ $PATH์ ์ถ๊ฐํ๋๋ก ์๋์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.~/.profile
ํ์ผ์~/.cargo/bin
๋๋ ํ ๋ฆฌ๋ฅผ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ๋ณด๋ค ๋จผ์ $PATH์ ์ถ๊ฐํ๋๋ก ์๋์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.๊ทธ๋ ๊ตฐ์. ์ผ์์ ์ด๊ณ ํ๊ธฐํ๊ธฐ ์ฌ์ด ์์คํ ์ผ๋ก ์ฌ๊ฒจ์ก๋ ๊ฒ์ด ๋ด ํ ๋๋ ํ ๋ฆฌ์ ๋ง์ ์๊ตฌ์ ์ธ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋์ผ๋ก ๋ง๋ค์ด์ง๋ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์์ต๋๋ค. ์์ ์ค๋ช ์ ํตํด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋์ผ๋ก $HOME ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ ์ํ ์ ์์์ ๊นจ๋ฌ์์ง๋ง ์ด๊ฒ์ ์ง๊ด์ ์ด๊ฑฐ๋ ์์ํ์ง ๋ชปํ์ต๋๋ค. Toolbox๋ ์ปจํ ์ด๋์ ๋ค์ด๊ฐ๋ ๋จ์ํ๋๊ณ ์ฌ์ฉ์ ์นํ์ ์ธ ๋ฐฉ๋ฒ(๋๋ ์ ์ด๋ ๋ด๊ฐ ์ดํดํ๋ ํ)์ด์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ๋ ๋์ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ๋ ์ ์๋ค๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
๋ด ์๊ฐ์ Toolbox์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ณ ์ ํ ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ๊ฐ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ๊ตฌํํ๊ธฐ์ ๋๋ฌด ๋ณต์กํ๋ค๋ฉด ์ ๋๊ตฌ ์์๋ฅผ ์์ฑํ ๋ ๊ธฐ๋ณธ $HOME์ ์ค์ ํ๊ธฐ ์ํด ์ต์ํ
-h
๋๋--home
์ธ์๊ฐ ์์ ์ ์์ต๋๋ค. ๋์ค์ ๋๊ตฌ ์์์ ๋ค์ด๊ฐ ๋ $HOME ๊ฐ์ด ์๋์ผ๋ก ์ค์ ๋๋๋ก ํฉ๋๋ค. ์๋ฅผ ๋ค์ด,toolbox create -c temp-myproject -h ~/Toolboxes/temp-myproject
ํ์ ๋ฐ๋ฅด๋ ๊ฒ์ ๋๋ค.๊ธฐ๋ณธ์ ์ผ๋ก Toolbox์ ์ธ ๊ฐ์ง ๋ชจ๋ ์ค ํ๋๋ก ์ปจํ ์ด๋๋ฅผ ์ค์ ํ ์ ์๋ ์ฌ์ฉ์ ์นํ์ ์ธ ๋ฐฉ๋ฒ์ด ์์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.