心血来潮的安装了archlinux.发现很多内容和ubuntu都很不一样.
至少目前为止,除了速度快以外,我对于它的印象没有好过.实在是太坑爹了.到处都是陷阱.
言归正传,说到archlinux的开机加载,简直就是部血泪史.整整搞了两天才搞定一行代码.
首先说说我的场景:
我三系统共享两个ntfs的分区.windows自不必说了.ubuntu下我把挂载命令写进了rc.local(sudo mount -o gid=1000,uid=1000 /dev/sda5 /media/alai/work).可以完美的拥有读写权限,并且属主是我的普通用户,而不是root..
但是现在问题来了,archlinux采用的并不是这样一个开机启动的方式.我并没有找到这样一个确切的脚本.我试过自己写挂载脚本,然后放到/etc/xdg/autostart这个目录下.但是脚本写的不好,加载的有问题.想来想去.决定回归到系统文件,最终选定了/etc/fstab.
关于fstab的文件格式我就不多说了.我也没有了解多少.网上这类博客都很多.我只说别人漏掉的.
可能很多人没有注意到,用网上的教程或者manual提供的方法,挂载的目录的属主都是root.当然有人说可以加rw来让所有用户可读写.这样不是不可以.但是很别扭.我就遇到了一个不是很乐观的场景,下载了一共文件以后执行,但是连root都提示权限不足.实在尴尬.
看了网上的关于fstab文件中第四个字段的说明,隐约觉得他就是mount -o后面的参数.以这个点作为出发点.再去做一个尝试.
/dev/sda1 /media/alai/system ntfs-3g user,rw,suid,exec,gid=alai,uid=alai 0 2 /dev/sda5 /media/alai/work ntfs-3g user,rw,suid,exec,gid=alai,uid=alai 0 2 /dev/sda6 /media/alai/others ntfs-3g user,rw,suid,exec,gid=alai,uid=alai 0 2
上面这段代码完美的解决了我的问题.
现在我们去验证上面的那个假设.把上面的第四段的参数全封不动的放到一个mount命令的后面来使用一下:
最开始的时候我查的是man fstab .这里面的说明比较少.当我有了上面的假设的时候,我man mount看了一下.
可以看到,第一句话所说的.我的结论有失偏颇.mount的选项和fstab是互通的,只是有的的选项只能用在fstab里面.
另外有个问题还要再说明一下,就是可能有人注意到我的mount的文件格式是ntfs-3g的.这个问题在网上也找了很久的答案.发现在archlinux系统中使用mount的时候,如果你要以可写的权限挂载这个格式的分区,就会出现问题.因为这个格式并不支持写入.报错如下:
logfile is not clean , mounting read-only, mount in windows.
很奇怪的是ubuntu下面我没有遇到这样的问题.不管他.
这个问题也好解决,用ntfs-3g替代ntfs格式就可以了.只需要安装一个工具即可.
[root@alai alai]# sudo pacman -Ss ntfs-3g extra/ntfs-3g 2015.3.14-1 [installed] NTFS filesystem driver and utilities [root@alai alai]# sudo pacman -S ntfs-3g # 执行这条命令就行,上面的-Ss是为了查看有没有找个包.
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/cp3alai/article/details/46797361