Linode使用发行版内核(以Wheezy/Jessie为例)
1.首先升级系统
apt-get update
apt-get upgrade --show-upgraded
2.安装发行版自带内核
32位
apt-get install linux-image-686-pae
mkdir /boot/grub
apt-get install grub-legacy
64位
apt-get install linux-image-amd64
mkdir /boot/grub
apt-get install grub-legacy
3.生成/boot/grub/menu.lst
grub-set-default 1
update-grub
4.编辑/boot/grub/menu.lst,请注意不要取消注释里面的内容.
nano /boot/grub/menu.lst
修改timeout 5
为timeout 10
找到类似于下面这一行
# kopt=root=UUID=de400b9f-2578-488e-8664-250a8455a6fc ro
修改为
# kopt=root=/dev/xvda console=hvc0 ro quiet
找到带有groot=的这一行,确保是这样的
# groot=(hd0)
然后执行
update-grub
5.打开linode后台,修改内核为 pv-grub-x86_32或者pv-grub-x86_64,确保root device设置为/dev/xvda,禁用Xenify distro/Distro Helper选项,保存,重启就可以了
6.重启之后
测试
uname -a
利用awk计算平均值和百分比
比如文档内容为
cat file
1
2
3
4
希望知道这一组数的平均值
awk '{sum+=$1}END{print sum/NR}' file
求各行数占总数的百分比:
awk '{a[NR]=$1;sum+=$1}END{for(i=1;i<=NR;i++)printf "%.2f%\n", a[i]*100/sum}' file
10.00%
20.00%
30.00%
40.00%
删除文本中的重复行(sort+uniq/awk/sed)
三种常见方法:
第一,用sort+uniq,注意,单纯uniq是不行的。
sort -k2n file | uniq > a.out
这里我做了个简单的测试,当file中的重复行不再一起的时候,uniq将服务删除所有的重复行。经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复行。
第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。
sort -k2n file | awk '{if ($0!=line) print;line=$0}'
当然,自己把管道后面的代码重新设计一下,可能不需要sort命令先排序拉。
第三,用sort+sed命令,同样需要sort命令先排序。
sort -k2n file | sed '$!N; /^\(.*\)\n\1$/!P; D'
最后附一个必须先用sort排序的文本的例子,当然,这个需要用sort排序的原因是很简单,就是后面算法设计的时候的“局部性”,相同的行可能分散出现在不同的区域,一旦有新的相同行出现,那么前面的已经出现的记录就被覆盖了,看了这个例子就好理解拉。
ffffffffffffffffff
ffffffffffffffffff
eeeeeeeeeeeeeeeeeeee
fffffffffffffffffff
eeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeee
gggggggggggggggggggg
其实,这是我随便打进去的几行字,没想到就是必须用sort的很好例子,大家可以自己试试看。
解决phpmyadmin 4.0+以上版本加载缓慢的问题
加载缓慢的最终原因是最近phpmyadmin的官网经常打不开,而phpmyadmin页面会自动检查官网上的程序版本更新,所以当你进入phpmyadmin管理页面点击数据库的时候phpmyadmin一直在尝试连接官网从而把整个打开过程拖得很慢。
最终的解决办法是禁用phpmyadmin检查更新
打开根目录下的config.inc.php
添加如下
$cfg['VersionCheck'] = false;
如此之后,phpmyadmin又变得飞快了.