在虚拟机上开启samba功能实现与主机互通

目的

为了在本地编译代码,能够通过beyondcompare实时同步到虚拟机,因此需要将虚拟机的ip实现samba共享,这样就不需要每次将更改的代码拷贝到虚拟机上了

遇到的问题及解决方法

1、无法安装samba:
Package samba is not available, but is referred to by another package
在这里插入图片描述
原因是ubuntu的/etc/apt/source.list中的源比较旧了,需要更新

2、更新失败 apt-get -y update
在这里插入图片描述
原因是不同的网络状况连接以下源的速度不同,需要更换源地址

3、更换源地址
部分帖子说 /etc/apt/sources.list 是动态生成需要用gedit编辑,但是我没有遇到这个问题,直接vi编辑保存,先保存原有到sources.list.bk

cd /etc/apt
mv sources.list sources.list.bk
touch sources.list

将里面填入清华大学源地址:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse
~  

接着更新即成功
4、安装遇到冲突
在这里插入图片描述
解决方法:(https://blog.csdn.net/Davidietop/article/details/88934783)
5、 aptitude install samba 可以自动帮助你下载依赖的库文件,并安装samba成功
注意:如果一开始出来一栏说什么都不改动,维持原有版本,那是不能接受的(维持现状肯定还是安装不成功)这一步按n,后面都是y
在这里插入图片描述
6、samba启动失败
按照ubuntu配置samba服务器
配置好之后,发现主机通过samba仍然无法连接虚拟机,并且主机与虚拟机相互都可以ping通,开始怀疑samba服务本身没有启动。
参考文章记一次samba排错
采用命令

smbd -F -S

可以清晰的看出samba在启动时core掉了

root@zc-virtual-machine:/var/log/samba# smbd -F -S
smbd version 4.3.11-Ubuntu started.
Copyright Andrew Tridgell and the Samba Team 1992-2015
===============================================================
INTERNAL ERROR: Signal 11 in pid 1609 (4.3.11-Ubuntu)
Please read the Trouble-Shooting section of the Samba HOWTO
===============================================================
PANIC (pid 1609): internal error
STATUS=daemon 'smbd' finished starting up and ready to serve connections
===============================================================
INTERNAL ERROR: Signal 11 in pid 1611 (4.3.11-Ubuntu)
Please read the Trouble-Shooting section of the Samba HOWTO
===============================================================
PANIC (pid 1611): internal error
BACKTRACE: 15 stack frames:
 #0 /usr/lib/x86_64-linux-gnu/samba/libsmbregistry.so.0(log_stack_trace+0x1a) [0x7f0b33da61da]
 #1 /usr/lib/x86_64-linux-gnu/samba/libsmbregistry.so.0(smb_panic_s3+0x20) [0x7f0b33da62b0]
 #2 /usr/lib/x86_64-linux-gnu/libsamba-util.so.0(smb_panic+0x2f) [0x7f0b34b1d8df]
 #3 /usr/lib/x86_64-linux-gnu/libsamba-util.so.0(+0x1baf6) [0x7f0b34b1daf6]
 #4 /lib/x86_64-linux-gnu/libpthread.so.0(+0x13150) [0x7f0b34d7e150]
 #5 /usr/lib/x86_64-linux-gnu/libtalloc.so.2(talloc_get_size+0x5) [0x7f0b3189f505]
 #6 /usr/lib/x86_64-linux-gnu/libsmbconf.so.0(event_add_to_poll_args+0x74) [0x7f0b32a3e594]
 #7 /usr/lib/x86_64-linux-gnu/libsmbconf.so.0(+0x25b52) [0x7f0b32a3eb52]
 #8 /usr/lib/x86_64-linux-gnu/libtevent.so.0(_tevent_loop_once+0x9d) [0x7f0b3168f92d]
 #9 /usr/lib/x86_64-linux-gnu/libtevent.so.0(tevent_common_loop_wait+0x1b) [0x7f0b3168fb5b]
 #10 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base.so.0(start_background_queue+0x2a8) [0x7f0b3465eb78]
 #11 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base.so.0(printing_subsystem_init+0x8b) [0x7f0b3465ee5b]
 #12 smbd(main+0x11ba) [0x56114ebd72ca]
 #13 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f0b312cc1c1]
 #14 smbd(+0x7a96) [0x56114ebd7a96]
smb_panic(): calling panic action [/usr/share/samba/panic-action 1611]

经过查阅资料,原来是动态链接库不匹配,大体来说是samba服务是新的,/usr/lib中的动态链接库是老的,通过重新安装以解决

sudo apt-get remove samba libtalloc2
sudo apt-get autoremove
sudo apt-get install samba libtalloc2

如下图所示,已经可以在主机的windows上访问虚拟机的文件夹了
在这里插入图片描述
中途还出了个小插曲,也记录下来供大家参考:
虽然如上图所示可以看到share了,但是仍然通过用户名密码无法访问
这时可以通过看日志/var/log/samba/log.zc-pc (你pc机的名称)
如下图所示,看到无法解析一个路径,这个路径一看就很奇怪,中间还带着空格,于是怀疑自己配置文件中犯了低级错误
在这里插入图片描述
查看/etc/samba/smb.conf
果然犯了低级错误,多谢了一个share 更改之后就可以使用了
在这里插入图片描述

对于win10的特殊操作

对于win10来说,linux和win10客户端都需要做特殊的配置:
1、对于win10客户端,需要允许samb服务开启:
控制面板
在这里插入图片描述
2、linux服务端
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值