040-解决Linux使用virtualbox共享文件夹问题
这是坚持技术写作计划(含翻译)的第40篇,定个小目标999,每周最少2篇。
本文主要介绍,在使用virtualbox时,如何共享文件夹
- rsync 是单向(宿主机修改了,定时同步到虚拟机里,但是虚拟机修改的不会对宿主造成影响)
- nfs 官方文档说
Windows users: NFS folders do not work on Windows hosts. Vagrant will ignore your request for NFS synced folders on Windows.
而且需要下载插件,新手十有八九会被坑 - smb 兼容性比较好,支持mac,linux,windows访问(虚拟机),宿主机只限mac和win,但是win需要管理员权限,mac下操作挺复杂,还得进行配置,防止自动超时
- VirtualBox 综合来看,virtualbox不错,当然,如果文件量太多的话,也有性能问题,意思是别想着用来构建前端项目(一个
node_modules
搞死你啊),可以结合rsync使用,rsync可以设置排除目录,然后定时同步到虚拟机,需要双向的,再把文件复制到挂载为virtualbox的目录下,宿主机就可以访问了。
python+vagrant+virtualbox系列文章
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box_check_update = false
config.vm.box = "centos/7"
config.vm.hostname = "ansible"
config.vm.network "private_network", ip: "172.17.8.102"
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
vb.cpus = 2
vb.name = config.vm.hostname
end
## 单向同步
config.vm.synced_folder ".", "/vagrant", type: "rsync",
rsync__verbose: true,
rsync__auto: true,
rsync__exclude: ['.git*', 'node_modules*','*.log','*.box','Vagrantfile']
config.trigger.after :up do |t|
t.info = "rsync auto"
t.run = {inline: "vagrant rsync-auto"}
end
config.vm.provision "shell", inline: <<-SHELL
## 配置xshell等可以使用密码登录
sed -e "s/#PasswordAuthentication yes/PasswordAuthentication yes/g" -e "s/PasswordAuthentication no/PasswordAuthentication yes/g" -i /etc/ssh/sshd_config
service sshd restart
## 设置yum的清华源(阿里云源不稳定)
sudo sed -e "/mirrorlist/d" -e "s/#baseurl/baseurl/g" -e "s/mirror\.centos\.org/mirrors\.tuna\.tsinghua\.edu\.cn/g" -i /etc/yum.repos.d/CentOS-Base.repo
sudo yum makecache
sudo yum install -y epel-release
## 安装virtualbox需要kernel-headers
yum install -y gcc make kernel-headers-$(uname -r) kernel-devel-$( uname -r)
## 可以使用rsync同步目录,不用每次都联网下载
curl -O http://download.virtualbox.org/virtualbox/6.0.10/VBoxGuestAdditions_6.0.10.iso
sudo mkdir /media/VBoxGuestAdditions
sudo mount -o loop,ro VBoxGuestAdditions_6.0.10.iso /media/VBoxGuestAdditions
sudo sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run
rm VBoxGuestAdditions_6.0.10.iso
sudo umount /media/VBoxGuestAdditions
sudo rmdir /media/VBoxGuestAdditions
SHELL
end


招聘小广告
山东济南的小伙伴欢迎投简历啊 加入我们 , 一起搞事情。长期招聘,Java程序员,大数据工程师,运维工程师,前端工程师。
参考资料
转载自:https://juejin.cn/post/6844903917608763406