自从台式机上用上固态硬盘后,就再也受不了笔记本上的5400转的机械硬盘了,所以这次又买了块固态硬盘打算装到笔记本上。
笔记本里装的是Ubuntu 14.04 + Win7双系统,Win7主要偶尔运行一些Windows Only的软件,或者偶尔玩一下游戏,没什么特殊的配置,所以重不重装倒无所谓。Ubuntu就不一样了,我的整个开发环境都在里面,假如重装的话配置起来超级麻烦的,当初给台式机重装系统和各种配置就花了我好几天的时间,所以这次决定要直接把原来的系统迁移过来,由于之前没这么干过,整个过程提心吊胆的,还好一次搞定了。
用到的硬件 笔记本Thinkpad T420,内置日立5400转硬盘、可拆卸式光驱 浦科特M6S固态硬盘 适用于T420的光驱位硬盘托架 容量为4GB的U盘 本次的主角小黑和M6S:
具体步骤 把笔记本自带的机械硬盘拆下来,把固态硬盘换上去;把光驱拆下来,把机械硬盘放到硬盘托里,再把硬盘托放进光驱位。固态硬盘成为主硬盘,机械硬盘成为副硬盘。
将U盘插到电脑上,用Linux自带的dd将ubuntu 14.04的镜像文件写到U盘中:
sudo dd bs=4M if=/home/jiazhoulvke/Downloads/ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdc 用国产良心软件DiskGenius给固态硬盘分好区:
100M的Win7的系统保留分区(有点像Linux里的/boot)。 50G的Win7系统分区。 8G的Linux交换分区。 400M给/boot。 剩下的空间全部给/。 安装Win7的过程不在本文讨论范围内,就不详述了。
重启电脑,从U盘启动,进入live系统,挂载分区:
#sda6为固态硬盘的boot分区 #sda7为固态硬盘的root分区 #sdb5为原机械硬盘的windows分区 #sdb6为原机械硬盘的boot分区 #sdb7为原机械硬盘的root分区 sudo -s mkdir /mnt/{data,new,old} mount /dev/sda7 /mnt/new mount /dev/sda6 /mnt/new/boot mount /dev/sdb5 /mnt/data mount /dev/sdb7 /mnt/old mount /dev/sdb6 /mnt/old/boot 用tar备份root分区和boot分区(也可以用dd或者cp -a直接复制,我是顺便做个备份,所以用tar):
cd /mnt/old tar czf /mnt/data/ubuntu14.04.tar.gz ./* 解压文件到固态硬盘:
阅读全文
最近黑客太猖獗了,看公司的服务器日志文件可以看到每天黑客尝试各种sql注入各种扫描,于是我希望有一天当服务器真被攻破时,有用户通过ssh登录到公司的服务器后我能及时收到邮件提醒。
由于用户在登录时都会读取/etc/bashrc这个文件,利用这个原理,只要把shell脚本写在里面就会自动执行了。
最开始的版本是这样的:
EMAILTMPFILE=‘/tmp/.userlogin.tmp’ echo "From: root@wtf.com" > $EMAILTMPFILE echo "sender: root@wtf.com >> $EMAILTMPFILE echo "To: jiazhoulvke@鸡妹儿.com" >> $EMAILTMPFILE echo "Subject: whoami
登录到服务器" >> $EMAILTMPFILE echo "" >> $EMAILTMPFILE echo "时间:date '+%Y-%m-%d %H:%M:%S'
>> $EMAILTMPFILE (cat $EMAILTMPFILE | sendmail jiazhoulvke@鸡妹儿.com && rm -f $EMAILTMPFILE) & gmail可以正常接收,并且不会乱码。但当我把邮件通过gmail转发到139邮箱时(因为139邮箱有免费的短信提醒),在139邮箱里会乱码。
这时就需要设置邮件的编码,邮件内容可以通过添加一个邮件头来说明它的编码,在Subject这行上面加入”Content-type: text/html;charset=utf-8”就行了。
邮件标题就有点麻烦了,得先用base64编码,然后在前后分别加入”=?UTF-8?B?“和”?=“才行。也就是:
Subject: =?UTF-8?B?已进行base64编码的标题?= 最后我想知道到底当前有那些登录用户,他们的IP是什么,于是利用w命令来输出这些内容:
w | sed "s/$/<br\/>/g" | sed "s/\ /&nbsp;/g" >> $EMAILTMPFILE 所以最终的版本如下:
EMAILTMPFILE=‘/tmp/.userlogin.tmp’ echo "From: root@wtf.com" > $EMAILTMPFILE echo "sender: root@wtf.
阅读全文
平时下载一些东西我都是直接用浏览器,大一点的会用aria2或者amule,不过对于死链,linux下的所有下载工具都没辙,迅雷在这方面确实是有很大的优势。
我用的是linuxdeepin里提供的打包好的wine迅雷:
http://packages.linuxdeepin.com/deepin/pool/main/d/deepinwine-thunder5/deepinwine-thunder5_0.0.2_all.deb
顺便提供qq2012和深度截图的地址:
http://packages.linuxdeepin.com/deepin/pool/main/d/deepin-scrot/deepin-scrot_2.0-0deepin_all.deb
http://packages.linuxdeepin.com/deepin/pool/main/d/deepinwine-qq2012/deepinwine-qq2012_0.0.1_i386.deb
wine迅雷下载一般的http资源是一点问题都没有的,速度也很快,但下载bt文件的时候所有的文件名全部是乱码,提示无法保存,让我很无奈,Google了一下,看到这个帖子里有人提出同一个问题,原来是要再装一个ie6,这就好办了,打开终端,输入下面的代码:
export WINEPREFIX=$HOME/.deepinwine/wine-thunder5 winetricks 会出现这样的对话框:
点”确定”,再点”Install a Windows DLL or component”,选择”ie6”,点”确定”,然后会弹出提示,让你去 http://www.oldversion.com/windows/internet-explorer-6-0 这个地址下载ie6的安装文件放到_~/.cache/winetricks/ie6_里。
完成后在终端里再次运行_winetricks_,依照之前的顺序点击菜单,就会开始安装了,这一步没啥好说的。
再用wine迅雷打开bt种子,已经不会乱码了。
阅读全文
最近一直有个傻逼黑客暴力破解公司的FTP服务器,虽然我有信心他50年内绝对猜不出密码,但看到日志里一大堆的登录信息还是挺烦的,于是便想用iptables屏蔽它,手工屏蔽肯定是不现实的,人家手上一堆的肉鸡呢,封完一个ip人家换一个ip就行了。解决方法就是写个脚本来分析系统日志,然后识别出属于暴利破解的ip,然后添加到iptables的屏蔽列表中。网上虽然有很多现成的脚本,但都是针对英文系统的,而我公司的系统里面日志是中文的,并不能匹配,只好稍加改变。 show代码:
#!/bin/bash grep "pure-ftpd.*[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.*WARNING" /var/log/messages | awk ‘{print $5,$6}’ | sed "s/^.pure-ftpd.(.@(.)).*$/\1/g" | sort | uniq -c > /tmp/pureftpban.tmp cat /tmp/pureftpban.tmp | while read line do COUNT1=echo ${line}|awk '{print $1}'
IP1=echo ${line}|awk '{print $2}'
if [ $COUNT1 -gt 10 ] && [ -z "iptables -vnL INPUT|grep $IP1
" ] then iptables -I INPUT -s $IP1 -m state –state NEW,RELATED,ESTABLISHED -j DROP fi done 以上代码保存到/root/checksys.sh,并添加可执行权限。 然后用vim编辑/etc/crontab
vim /etc/crontab 添加如下内容:
阅读全文