在win7上玩了几天虚拟机,觉得不是很爽!毕竟学的是linux,那好歹也得有个linux的学习环境,于是就安装了双系统。
说起装系统,又觉得要说点了,百度下就知道F18是不能刻到U盘就直接安装的,而是要改syslinux和isolinux两个文件,之后就可以安装了。奇怪的是,我即使改了也装不上。和室友刻好的U盘对比,发现文件有差别,当时还一直不知道why。直到几天后清理硬盘的资料时误把UltraISO给删了,然后就去搜了搜,发现已经更新好多次了,于是想起我当时刻得盘和室友不一样是不是因为软件版本原因。下载之后马上刻盘,果然,刻好后的文件内容分布和室友一样了,然后又试了试装系统,果然可以。这个故事告诉我们,即时的更新软件版本是十分必要的。
好,回到正题。之前说道虚拟机中samba的配置悲剧,其实这次也差不多。为了以后传输大文件的需求,我没有继续那些例程的烧写工作,而是开始了NFS服务器的配置。这又是让我抓耳挠腮的经历。。。。。。
开始当然是百度,跟着百度走:(安装好nfs之后)
1,配置IP
pc端:ip:192.168.0.2 掩码:255.255.255.0 网关:192.168.0.1 DNS: 192.168.0.1
arm板:ip:192.168.0.3 掩码:255.255.255.0 网关:192.168.0.1 DNS: 192.168.0.1 #修改/etc/eth0-setting
2,关闭防火墙和selinux
service iptables stop
setenforce 0
3,配置/etc/exports
/home/chunix/arm *(ro,sync,no_root_squash)
/home/chunix/share 192.168.0.*(ro,sync,no_root_squash) # test
4,开启nfs服务器
service nfs start 开启服务 service nfs status 查看状态 service nfs stop 停止服务 service nfs restart 重启服务
5,终端挂载
mount -t nfs -o nolock 192.168.0.2:/home/chunix/arm /mnt/nfsfolder
mount -t nfs -o nolock 192.168.0.2:/home/chunix/share /mnt/nfsfolder # test
以上是大致配置过程,原本我想把原来出现错误的过程重现,但是结果却是怎么也看不到之前的错误,为了追求务实的精神,所以这里我想分成两部分来说:
一,本来写这篇博客想记录的问题:
rpc mount export: RPC: Unable to receive; errno = No route to host
百度后都说是防火墙问题,使用的方法也都是service iptables stop,结果是不行,不行,还是不行。在确定一定是防火墙问题后,再去找关于防火墙的帖子,这次指定了问题是“完全关闭Fedora18的防火墙”,按着http://www.boh.so/html/2013/doc_0202/1800.html说法,
systemctl disable firewalld.service 关闭了防火墙
vi /etc/sysconfig/selinux 修改SELINUX= disabled 停止了selinux
结果就OK了。
二,在测试过程遇到的问题:
结果错误提示为:
mount: 192.168.0.2:/home/chunix/share failed, reason given by server: Permission denied
mount: mounting 192.168.0.2:/home/chunix/share on /mnt/nfsfolder failed: Bad file descriptor
改共享文件夹的权限 chmod 777 /home/chunix/share
这回决定先在pc上自己挂载看看:mount -t nfs localhost:/home/chunix/share /mnt
显示错误:mount.nfs: access denied by server while mounting localhost:/home/chunix/arm
不知所措,之后尝试了很多次都不行,百度也无果。于是又把localhost换成了主机的IP,结果挂载成功了。难道localhost不是主机IP,在欢喜之余,赶快进行了arm板的挂载,结果还是一样的错误。
因为是在arm目录挂载成功之后测试的,知道可能是因为防火墙问题,于是开始stop防火墙,顺便说下,lokkit --disabled也能禁用防火墙(注意,第一次好像不能使用,我是在第一次使用了systemctl disable firewalld.service关闭了防火墙之后就能使用lokkit了)。但还是不行。挂载arm目录还是可以。猜测是exports问题,于是,也把访问权限改成了全部允许,这次成了。挂载成功。
总结:
1,搭建服务器的注意点:防火墙,权限
2,iptables只是IP 信息包过滤和防火墙配置。
3,localhost不等于IP
4,/home/chunix/arm *(ro,sync,no_root_squash) IP地址之后不要和()之间有空格,否则,该文件即是对所有用户开放。可以用exportfs -v查看共享目录状态
5,/home/chunix/arm 192.168.0.3(ro,sync,no_root_squash) 可以挂载
/home/chunix/arm 192.168.0.*(ro,sync,no_root_squash) 不可以挂载,不知道为什么
6,经验证,之前遇到的samba服务器问题也是防火墙未完全关闭。
//在64系统里执行32位程序如果出现/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory,安装下glibc即可 yum install glibc.i686
这是买板子来的第三周了吧,我猜的。感觉人好累。现在什么都不想干,并不是不想学Linux了,而是真正的累,头晕,迷糊,脑袋沉沉的,像悬着。看看进展到什么程度了。看着随板子附带的课程来的,当然有很多都没看,像GCC,GDB,VIM,SHELL脚本等等,书上倒是看了一遍。依次学了nfs搭建,samba服务器搭建,secureCRT使用。目前就到这了。这里面不得不说的是samba服务器的搭建。当然并不是只有这个遇到坎,只是这个要现在使用,只是,这个真他妈烦到我了。
刚开始的时候是win7+VMware9+Fedora17 x86_64, 搭建虽然遇到了些问题但是还是顺利搭建好了。后来由于追求最新版,又加上这次装的是64位有许多不方便,于是又下了个Fedora 18,在去掉3D graphics后,成功安装,并且进行一系列的完善工作。这时在samba服务器上就卡住了,我肯定搭建工作与之前在F17上的步骤是一样的,况且搭建工作本来就挺简单的,安装samba--关掉防火墙(iptables)--关掉selinux(setenforce=0)--配置smb.conf--更改共享文件夹的访问权限--添加用户和密码--开启smb--查看smb状态OK就OK了。要说有点花头,那也就是smb.conf文件配置了,但是作为初级用户,根本没什么好配置的。安全等级的设置也就share和user两个选一个,其他的先不管,至于共享文件夹的配置,好像真没什么好说的,那就不说了。可是同样配置,win7死活访问不了。于是我又想到了另一个办法就是vmtools,只是没想到,vmtools安装也这么坑爹,而且安装好之后建立共享文件夹在/mnt目录下并没有hgfs文件夹,也就是看不到挂载的共享文件夹。重装vmtools还是不行。于是我又回来搞samba,重装samba,配置还是一样,windows的网络诊断这么说:“该设备或资源可用,但没有响应连接尝试。远程计算机上的防火墙或网络安全策略可能阻止连接端口‘文件和打印共享资源’”。可是我已经关掉了F18的防火墙(service iptables stop)和selinux(setenforce=0)防护程序,并且share文件夹的访问权限也改了。。。。。。。无数次的尝试,还是不行,问度娘也没问出结果。保守估计我在这上面花费的时间总共有超过两天,我是说把所有时间都加在一起。这不,刚刚打着打着字又去试了一遍,这次直接在/etc/selinux/config中把SELINUX=disabled。唉,伤感。还是不行。
下面给出testparm和status的列表:
[root@hong chunux]# testparm Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[homes]" Processing section "[printers]" Processing section "[share]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions [global] workgroup = MYGROUP server string = Samba Server Version %v smb passwd file = /etc/samba/smbpasswd log file = /var/log/samba/log.%m max log size = 50 idmap config * : backend = tdb cups options = raw [homes] comment = Home Directories read only = No browseable = No [printers] comment = All Printers path = /var/spool/samba printable = Yes print ok = Yes browseable = No [share] comment = Linux's share folder path = /home/smbuser/share read only = No guest ok = Yes [root@hong chunux]#
[root@hong chunux]# service smb status Redirecting to /bin/systemctl status smb.service smb.service - Samba SMB Daemon Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled) Active: active (running) since 一 2013-04-29 16:54:24 CST; 16min ago Process: 1315 ExecStart=/usr/sbin/smbd $SMBDOPTIONS (code=exited, status=0/SUCCESS) Main PID: 1350 (smbd) CGroup: name=systemd:/system/smb.service ├─1350 /usr/sbin/smbd └─1371 /usr/sbin/smbd 4月 29 16:54:22 hong.fedora systemd[1]: Starting Samba SMB Daemon... 4月 29 16:54:24 hong.fedora smbd[1315]: [2013/04/29 16:54:24.371950, 0] ../source3/smbd/server.c:1280(main) 4月 29 16:54:24 hong.fedora smbd[1315]: standard input is not a socket, assuming -D option 4月 29 16:54:24 hong.fedora systemd[1]: PID file /run/smbd.pid not readable (yet?) after start. 4月 29 16:54:24 hong.fedora systemd[1]: Started Samba SMB Daemon. [root@hong chunux]# service iptables status Redirecting to /bin/systemctl status iptables.service iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled) Active: inactive (dead)
本来想着直接双系统,可惜网络,唉,伤感!让我装好一个虚拟机的网络有木有。。。这个是迟早要装上的,等可以共享的同学回寝室了在说。
至于samba,一定把你搞定。等着。
追加:已搞定!!!防火墙问题。F18防火墙应用程序更名为FirewalID。
第一次使用不能用lokkit,可以用systemctl disable firewalld.service禁用防火墙
lokkit --disabled 禁用防火墙
lokkit --selinux=disabled 禁用selinux
重启下smb服务即可