# 虛擬機與容器化
https://missing.csail.mit.edu/2019/virtual-machines/
## vm and vagrant
虛擬機是電腦模擬的計算機,你可以配置一個擁有些作業系統與配置的子機器而不影響你原本的主體作業系統。
Virtual machines are simulated computers. You can configure a guest virtual machine with some operating system and configuration and use it without affecting your host environment.
你可以利用虛擬機實驗任何一種作業系統、軟體、設定或指令,而不用負擔任何風險,因為你不會動到你的主要開發環境。
For this class, you can use VMs to experiment with operating systems, software, and configurations without risk: you won’t affect your primary development environment.
一般來說,虛擬機有很多用途,他們最常在當有軟體只能在某些作業系統上運作的時候被使用。(比如說在 linux 上跑 windows 虛擬機操作微軟軟體,或是在新的作業系統安裝舊版作業系統來運作不再相容的舊軟體)他們也常常用在測試可能有惡意程式碼的軟體。
In general, VMs have lots of uses. They are commonly used for running software that only runs on a certain operating system (e.g. using a Windows VM on Linux to run Windows-specific software). They are often used for experimenting with potentially malicious software.
## docker 與容器
## 沙盒
### 支線任務
- [ ] rm -rf 你的沙箱
曾經有人說寫程式最大的兩大快感,是來自創造與毀滅,而 `rm -rf ` 永遠是毀滅整個系統的代表指令,巴魯斯,新手黑客常見的第一個練習,也是學習如何下達這個毀滅整個虛擬機下系統的指令,然後透過外部安全的系統觀察一個系統的毀滅。
- [ ] logic bomb
- [ ] fork bomb
- [ ] zip bomb