Windows
Vagrant Windows 10 軟體包步驟刪除使用者配置文件?
我正在建構一個 Vagrant Windows 10 機器(使用 libvirt,基於此處記錄的工作流程:https ://fishilico.github.io/generic-config/windows/vagrant.html )。虛擬機準備好後,我執行:
vagrant package default --output win10-libvirt.box
然後我將“盒子”文件帶到另一台機器並使用
vagrant add
.問題是,作為設置的一部分,我向使用者
~/.ssh/authorized_keys
文件添加了一個密鑰,但是當我在第二台機器上啟動新盒子時 - 該文件消失了。我還嘗試在 Microsoft Windows OpenSSH 埠上支持的“管理員密鑰”文件中添加一個密鑰C:\ProgramData\ssh\administrators_authorized_keys
——但是當我啟動新盒子時它也消失了——實際上整個C:\ProgramData\ssh
文件夾都消失了。是否
vagrant package
清理機器配置文件夾,如果是這樣 - 可以以某種方式禁用它嗎?我找不到有關此的文件。
在我添加了對 Sysprep 的呼叫,然後在配置腳本結束時關閉後,我解決了這個問題。我不確定是否需要 Sysprep 或關閉 - libvirt 關閉過程應該足夠安全,並且觀察 libvirt 查看器我可以看到 VM 執行 Windows 關閉過程。
我在我的
Vagrantfile
:Vagrant.configure("2") do |config| # ... config.vm.provision "shell", inline: <<-'SCRIPT' & ./run-some-provisioning.ps1 & C:/Windows/System32/sysprep/sysprep.exe /generalize /mode:vm /shutdown SCRIPT # ... end