- 用root用户登录系统
- 创建
/usr/swap
目录 - 执行
dd if=/dev/zero of=/usr/swap/swapfile bs=1M count=4096
- 其中的4096可修改为2048或其它大小,为虚拟内存大小;
mkswap /usr/swap/swapfile
swapon /usr/swap/swapfile
- 修改
/etc/fstab
,在第一行后(视情况)增加一行/usr/swap/swapfile swap swap defaults 0 0
- 重启:)通过
free -m
检查
Linux命令经验——mount相关
之前用过很多次mount相关的功能,包括加载远程NFS等,最近因为配置vsftpd又用到,所以记录一下。
绑定A与B目录
这一操作感觉上类似于ln -s或者ln(实际上)。区别在于ln根本不能实现(硬链接不支持目录),而ln -s实际上是创建了一个文件指向了目标。
需求来自于一个ftp的配置。多个帐户要求共享若干个目录,每个帐户又有各自独立的目录,并且这些目录需要隐藏而不仅仅是禁止访问。
解决的方案是:
mount -bound /source/dir /target/dir
在fstab中启动时加载
这也是经常需要的功能,毕竟一次性加载的时候不多。
方法是编辑/etc/fstab文件,此文件的各个字段的标准解释参考这里。
简单点说包括:fs_spec(加载系统) fs_file(挂载点<目录>) fs_type(文件系统类型) fs_options(参数) fs_dump(转储频率) fs_pass(启动时加载顺序)
翻译得通俗一点就是;
/source/dirOrDevice /target/dir file_system_type option1,option2 #1 #2
其中#1,#2一般为0,0。
对于上面提到的A目录挂载B目录时,对应的写法是:
/ftp/public /ftp/users/ftp/public none defaults,bind 0 0
字段之间可以使用“任意数量”的“空字符”分隔,至少包括:空格和制表符,且允许多个。
选项(option)之间使用逗号分隔。常用的除了上面的defaults,bind之外,还有ro(只读),rw(读写)等。
在另一个项目中,我试过用如下的方式加载远程的目录,通过NFS方式共享文件,实现上传文件的统一管理。
172.17.16.24:/nfs/upload /nfs/upload nfs defaults 0 0
172.17.16.24:/nfs/archive /nfs/archive nfs defaults 0 0
172.17.16.24:/nfs/share /nfs/share nfs defaults 0 0
与之对应的的NFS配置虽然与mount无关,这里也列一下以便对照。
/nfs/share 172.17.16.25/32(rw,sync,no_root_squash,no_all_squash)
/nfs/share 172.17.16.30/32(rw,sync,no_root_squash,no_all_squash)
/nfs/share 172.17.16.45/32(rw,sync,no_root_squash,no_all_squash)
/nfs/archive 172.17.16.25/32(ro,sync)
/nfs/archive 172.17.16.30/32(ro,sync)
/nfs/archive 172.17.16.45/32(ro,sync)
/nfs/upload 172.17.16.25/32(rw,sync,no_root_squash,no_all_squash)
/nfs/upload 172.17.16.30/32(rw,sync,no_root_squash,no_all_squash)
fstab校验
之前遇到过一次修改了fstab把主机搞挂了的情况,所以一直对修改这个文件有点发怵,今天上网发现了一个命令,应该是非常实用的:
mount -a
该命令尝试加载fstab文件,可以不重启验证fstab文件是否有异常。
解除挂载
其实这个命令很简单,就是umount 挂载点路径
唯一需要说明的就是不是unmount,而是umount,一开始打错了。
清除QQ同步助手的拼音排序
习惯用QQ同步助手做额外的备份,其中有一个功能叫:联系人排序,通过给联系人增加Phonetic First/Middle/Last Name字段,并为其中添加相应字段的“拼音”实现排序。
本来说这个功能只用于排序,但实测发现这个字段会用于siri的语音识别和朗读,结果就是你用拼音的方法读名字时它认不出来,而siri读通讯录名字会感觉很奇怪。
重新安装了QQ同步助手,发现只有排序功能而没有清除,于是想到了Apple Script,经过一翻搜索和实验,脚本如下:
- 打开Script editor,新建一个文件;
- 输入如下脚本:
tell application "Contacts"
activate
set the_people to every person
repeat with tp in the_people
try -- lazy way of skipping companies
log tp
set pfn to phonetic first name of tp
set pln to phonetic last name of tp
if pfn is not missing value then
set phonetic first name of tp to missing value
end if
if pln is not missing value then
set phonetic last name of tp to missing value
end if
end try
end repeat
save
end tell
执行即可:)