http://maoxian.de/BrainPassFix.swf
作者的网址是http://tigerserver.sinaapp.com/,但是貌似因为云豆用完了跪了。。。Orz。。。
http://maoxian.de/BrainPassFix.swf
作者的网址是http://tigerserver.sinaapp.com/,但是貌似因为云豆用完了跪了。。。Orz。。。
本文介绍两种安装MentoHUST的方法:
另外,也提供一些设置开启启动的方法。
请下载最新的RPM软件包,然后切换至对应目录,在命令行中输入以下命令:
rpm -ivh "rpm包文件名"
请下载最新的DEB软件包,双击deb包即可安装。 如果无法双击安装,可使用命令行操作:
sudo dpkg -i "deb包文件名"
目前,ArchLinux发行版的用户可以在AUR中搜索mentohust软件包来进行安装。或者点击以下下链接直接查 看: AUR上mentohust包
对于安装了 yaourt 软件的用户,可以直接运行以下命令安装:
yaourt -S mentohust
另外,你也可以直接下载已经编译好的软件包(x86_64平台或i686平台 )。
如果所用系统并没有对应的软件包,可使用解压软件从deb包提取文件或者自己编译(MacOS就别从deb包提取了,而应该下载对应的MacOS版),然后复制文件到/usr/bin下:
sudo cp ./mentohust /usr/bin/mentohust sudo +x /usr/bin/mentohust
不会敲命令的可输入以下命令后像Windows下一样操作:
sudo xdg-open /
准备好源代码
您可以直接下载源代码包或者运行以下命令从svn仓库取出最新版代码并生成对应的configure文件(需要安装相应工具链):
svn checkout http://mentohust.googlecode.com/svn/trunk/ mentohust cd mentohust sh autogen.sh
配置MentoHUST
目前您可以根据自己的需求启动或禁止以下特性:
--enable-debug Build a debug version --disable-encodepass Don't encode password --disable-arp Don't care ARP info --disable-notify Don't show notification --disable-nls Disable NLS --with-pcap=TYPE How to link libpcap: dyload(Default) | dylib | stlib | PATH对于普通PC用户,一般运行这个命令配置即可:
./configure --prefix=/usr对于交叉编译的用户,建议禁用所有特性并链接libpcap而不是动态载入:
./configure --host=mipsel-linux --disable-encodepass --disable-arp --disable-notify --disable-nls --with-pcap=dylib
编译并安装
make && make install
给程序授予超级用户权限(可选)
sudo chmod u+s /usr/bin/mentohust
如果您不运行这个命令,那么以后启动mentohust,均需要注意以root权限运行(例如,sudo mentohust)
选择菜单“系统->首选项->启动应用程序”,点击“添加”,输入名称MentoHUST,命令sudo mentohust,点击“添加”即可。
对于没有修改/etc/sudoers文件使得sudo无需密码的用户,此方法可能无效,这时可通过sudo chmod u+s /usr/bin/mentohust授予权限然后按此方法添加命令为mentohust的启动项。
AUR中的mentoHUST软件包提供了一个rc脚本,因此直接在系统配置文件/etc/rc.conf中的DAEMONS节添加’mentohust’ 即可:
DAEMONS=(syslog-ng network ... @mentohust ...)
修改/etc/rc.local*或者/etc/gdm/Init/Default*等文件,例如:
sudo gedit /etc/gdm/Init/Default
然后在exit 0(最后一行)前面加入以下内容:
if [ -x /usr/bin/mentohust ]; then /usr/bin/mentohust fi
待编辑。
sudo mentohust -b3 -y5 -w
MentoHUST for Windows,同时支持锐捷和赛尔,更稳定、更省心、占用内存更少。
内置数据为xrgsu的,这样在实验室也可以不做什么配置就成功认证;加入了对赛尔的支持
(用于赛尔组播地址务必选择标准,在HUST主校区用于锐捷认证的话也要选标准)。
解压,运行“安装卸载”安装WinPcap,运行程序,(Win7等系统如提示找不到网卡一般自行
安装WinPcap官方安装包即可解决),点击“设置”检查并修改参数以符合自己的认证环境,
“确定”保存,选择合适的账号和网卡,点击“认证”,OK!
http://byhh.net/f/NetResource/1291868731/MentoHUST_x86.7z
http://byhh.net/f/NetResource/1291868752/MentoHUST_x64.7z
如果提示“找不到网卡”请安装:http://www.winpcap.org/install/bin/WinPcap_4_1_1.exe
Nginx的平滑重启
如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,可以发送系统信号给Nginx主进程的方式来进行。不过,在重启之前,要确认Nginx配置文件的语法是正确的,可通过如下命令测试配置文件是否正确:
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
如果配置文件不正确,屏幕会提示配置文件的第几行出错:
nginx:[emerg] invalid number of arguments in “autoindex” directive in /usr/local/nginx/conf/nginx.conf:29
nginx:configuration file /usr/local/nginx/conf/nginx.conf test failed
如果配置文件正确,屏幕将提示以下两行信息:
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
这时候,就可以平滑重启了:
对于Nginx 0.8.x之前的版本 kill -HUP `cat /usr/local/nginx/nginx.pid`
对于Nginx 0.8.x之后的版本 /usr/local/webserver/nginx/sbin/nginx -s reload
Nginx的平滑升级
当需要将正运行的Nginx升级,可以在不中断服务的情况下进行,具体步骤如下:
1、使用新的可执行程序替换旧的可执行程序。下载新的Nginx,重新编译到旧版本的安装路径中。重编译之前,先备份一下旧的可执行文件。
2、执行以下指令,他将存储有旧版本主进程ID的文件重命名为.oldbin:
kill -USR2 旧版本的Nginx主进程号
一般情况下是这样的:kill -USR2 `cat /usr/local/nginx/nginx.pid`
可以用 ls /usr/local/nginx/logs来查看是否改名
3、执行新版本的Nginx可执行程序。
ulimit -SHn 65535
/usr/local/nginx/sbin/nginx
4、此时新旧版本的Nginx会同时运行,共同处理请求。要逐步停止旧版本的Nginx,必须发送WINCH信号给旧的主进程。然后,他的工作进程将从容关闭。
kill -WINCH 旧版本的Nginx主进程号
5、一段时间后,旧的工作进程处理完了所有的请求后退出,仅由新的进程来处理输入请求了。可用下面的命令查看:
ps -ef | grep nginx
6、现在可以决定使用新版本还是恢复到旧版本:
kill -HUP 旧的主进程号 :Nginx在不重载配置文件的情况下启动他的工作进程
kill -QUIT 新的主进程号 :从容关闭其工作进程
kill -TERM 新的主进程号 :强制退出
kill 新的主进程号或旧的主进程号:如果因为某些原因新的工作进程不能退出,则向其发送kill信号
新的主进程退出后,旧的主进程会移除.oldbin后缀,恢复为他的.pid文件,这样,一切就都恢复为升级之前了。
如果尝试升级成功,而自己又希望保留新版本时,可发送QUIT信号给旧的主进程,使其退出而只留下新的进程运行:kill -QUIT 旧主进程号
附:Nginx的信号控制
Nginx支持以下几种信号:
TERM,INT 快速关闭
QUIT 从容关闭
HUP 平滑重启,重新加载配置文件
USR1 重新打开日志文件,在切割日志时用途较大
USR2 平滑升级克执行程序
WINCH 从容关闭工作进程
:e filename | Open filename for edition |
:w | Save file |
:q | Exit Vim |
:w! | Exit Vim without saving |
/word | Search word from top to bottom |
?word | Search word from bottom to top |
/jo[ha]n | Search john or joan |
/\< the | Search the, theatre or then |
/the\> | Search the or breathe |
/\< the\> | Search the |
/\< ¦.\> | Search all words of 4 letters |
/\/ | Search fred but not alfred or frederick |
/fred\|joe | Search fred or joe |
/\<\d\d\d\d\> | Search exactly 4 digits |
/^\n\{3} | Find 3 empty lines |
:bufdo /searchstr/ | Search in all open files |
:%s/old/new/g | Replace all occurences of old by new in file |
:%s/old/new/gw | Replace all occurences with confirmation |
:2,35s/old/new/g | Replace all occurences between lines 2 and 35 |
:5,$s/old/new/g | Replace all occurences from line 5 to EOF |
:%s/^/hello/g | Replace the begining of each line by hello |
:%s/$/Harry/g | Replace the end of each line by Harry |
:%s/onward/forward/gi | Replace onward by forward, case unsensitive |
:%s/ *$//g | Delete all white spaces |
:g/string/d | Delete all lines containing string |
:v/string/d | Delete all lines containing which didn’t containstring |
:s/Bill/Steve/ | Replace the first occurence of Bill by Steve in current line |
:s/Bill/Steve/g | Replace Bill by Steve in current line |
:%s/Bill/Steve/g | Replace Bill by Steve in all the file |
:%s/\r//g | Delete DOS carriage returns (^M) |
:%s/\r/\r/g | Transform DOS carriage returns in returns |
:%s#<[^>]\+>##g | Delete HTML tags but keeps text |
:%s/^\(.*\)\n\1$/\1/ | Delete lines which appears twice |
Ctrl+a | Increment number under the cursor |
Ctrl+x | Decrement number under cursor |
ggVGg? | Change text to Rot13 |
Vu | Lowercase line |
VU | Uppercase line |
g~~ | Invert case |
vEU | Switch word to uppercase |
vE~ | Modify word case |
ggguG | Set all text to lowercase |
:set ignorecase | Ignore case in searches |
:set smartcase | Ignore case in searches excepted if an uppercase letter is used |
:%s/\<./\u&/g | Sets first letter of each word to uppercase |
:%s/\<./\l&/g | Sets first letter of each word to lowercase |
:%s/.*/\u& | Sets first letter of each line to uppercase |
:%s/.*/\l& | Sets first letter of each line to lowercase |
:1,10 w outfile | Saves lines 1 to 10 in outfile |
:1,10 w >> outfile | Appends lines 1 to 10 to outfile |
:r infile | Insert the content of infile |
:23r infile | Insert the content of infile under line 23 |
:e . | Open integrated file explorer |
:Sex | Split window and open integrated file explorer |
:browse e | Graphical file explorer |
:ls | List buffers |
:cd .. | Move to parent directory |
:args | List files |
:args *.php | Open file list |
:grep expression *.php | Returns a list of .php files contening expression |
gf | Open file name under cursor |
:!pwd | Execute the pwd unix command, then returns to Vi |
!!pwd | Execute the pwd unix command and insert output in file |
:sh | Temporary returns to Unix |
$exit | Retourns to Vi |
:%!fmt | Align all lines |
!}fmt | Align all lines at the current position |
5!!fmt | Align the next 5 lines |
:tabnew | Creates a new tab |
gt | Show next tab |
:tabfirst | Show first tab |
:tablast | Show last tab |
:tabm n(position) | Rearrange tabs |
:tabdo %s/foo/bar/g | Execute a command in all tabs |
:tab ball | Puts all open files in tabs |
:e filename | Edit filename in current window |
:split filename | Split the window and open filename |
ctrl-w up arrow | Puts cursor in top window |
ctrl-w ctrl-w | Puts cursor in next window |
ctrl-w_ | Maximise current window |
ctrl-w= | Gives the same size to all windows |
10 ctrl-w+ | Add 10 lines to current window |
:vsplit file | Split window vertically |
:sview file | Same as :split in readonly mode |
:hide | Close current window |
:nly | Close all windows, excepted current |
:b 2 | Open #2 in this window |
Ctrl+n Ctrl+p (in insert mode) | Complete word |
Ctrl+x Ctrl+l | Complete line |
:set dictionary=dict | Define dict as a dictionnary |
Ctrl+x Ctrl+k | Complete with dictionnary |
mk | Marks current position as k |
˜k | Moves cursor to mark k |
d™k | Delete all until mark k |
:ab mail mail@provider.org | Define mail as abbreviation of mail@provider.org |
:set autoindent | Turn on auto-indent |
:set smartindent | Turn on intelligent auto-indent |
:set shiftwidth=4 | Defines 4 spaces as indent size |
ctrl-t, ctrl-d | Indent/un-indent in insert mode |
>> | Indent |
<< | Un-indent |
:syntax on | Turn on syntax highlighting |
:syntax off | Turn off syntax highlighting |
:set syntax=perl | Force syntax highlighting |
一、什么是彩虹表?
彩虹表(Rainbow Tables)就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上。
二、上哪找彩虹表去?
现在有很多大牛已经把自己的彩虹表共享出来了,所以你可以去下载。还有一种方法就是自己通过工具生成。
不过自己生成有点不切合实际,生成小的彩虹表吧数据少,可以破解密码的位数少(复杂程度低),而且费时费力,4核4GB内存的机器,生成2GB彩虹表,需要花费7天时间,而7天按1MB的带宽(160K/S左右)几乎可以下载30GB左右。
生成的工具可以用RainbowCrack也可以用Cain。网上很容易搜索到下载地址的。
下载彩虹表:
1、MD5的彩虹表
工具推荐:Free Rainbow Tables
ftp:
ftp://tbhost.eu/
user:download
pass:Tx50AbsBHq7Nya7n9weW
http:
http://tbhost.eu/rt.php
http://freerainbowtables.mirror.garr.it/mirrors/freerainbowtables/
提供了多种类型的彩虹表下载,LM、NTLM、MD5、SHA1等。千万别把人家法语字符的表也下了,对国人来说,几乎没什么用,不过如果你有特殊需要,那就下吧……这里提供的都是.rti格式的,有别于传统的.ri格式,.rti比.rt的多了一个目录.index文件,据说遍列速度比.rt的更快(未曾对比过,无法确定是否属实)。把你想要用的那个表下载下来,然后下载读取彩虹表的工具:rcracki_mt.exe
把此工具及相关的dll文件复制到彩虹表所在目录,然后运行命令“F:\MD5>rcracki_mt.exe -h 3787795aeee01c9ab7267f252c932572 *.rti”就会开始破解(只能是32位密文)。漏洞之家http://bbs.3344.eu
2、LM-HASH的彩虹表(Windows登录密码)
工具推荐:ophcrack
http://ophcrack.sourceforge.net/download.php
这个是Ophcrack XP Special Tables。一般非Vista的密码Hash,用它能破绝大部分,但在使用过程中也有发现有小部分Hash正确,但无法破解的。
这是Ophcrack Vista Special NTHASH的。官方是收费的表,不过国外共享了,也就可以免费得到了。如果这些表都跑不出来,而你又确定你的Hash没有搞错的话,那么只能找LC5出马了,LC5是一定能破的,只是时间有点久!
其他工具还有一些,大家自己找找吧。不过这两个是经典的常用彩虹表。CMD5,或者Xmd5网站都开始收费了。大家还是自己拿机器跑吧!
From https://github.com/philc/vimium/blob/master/README.markdown
键盘绑定
Modifier keys are specified as
修饰符键用类似于
在当前页面内导航
? show the help dialog for a list of all available keys
显示可用的按键帮助列表
h scroll left
向左滚动
j scroll down
向下滚动
k scroll up
向上滚动
l scroll right
向右滚动
gg scroll to top of the page
滚动到页面顶端
G scroll to bottom of the page
滚动到页面底端
d scroll down half a page
向下滚动半页 //这里的半页指的是屏幕显示的页面高度的一半,下同
u scroll up half a page
向上滚动半页
f open a link in the current tab
在当前Tab打开链接 //前提是链接本身没有New Tab
F open a link in a new tab
在新Tab中打开链接
r reload
刷新
gs view source
查看源代码
i enter insert mode — all commands will be ignored until you hit esc to exit
进入编辑模式 — 会忽略所有的命令,直到你点击Esc键来退出编辑模式
yy copy the current url to the clipboard
复制当前链接到剪贴板 //当前链接指的是当前网页的链接
yf copy a link url to the clipboard
复制当前页面的一个链接到剪贴板
gf cycle forward to the next frame
这个没明白是干什么的。。。
使用查找
/ enter find mode — type your search query and hit enter to search or esc to cancel
进入查找模式 — 输入你要搜索的词汇并敲击回车来进行查找,敲击Esc取消查找。
n cycle forward to the next find match
向后循环查找匹配的字串
N cycle backward to the previous find match
向前循环查找匹配的字串
在浏览历史中导航 //因为我装了Better History插件,所以这两个键没有试验是干嘛的。只是按英文直译。
H go back in history
回退
L go forward in history
前进
操纵标签
J, gT go one tab left
到左边一个标签。逗号是or的意思。下同。
K, gt go one tab right
到右边一个标签。
g0 go to the first tab
到第一个标签。
g$ go to the last tab
到最后一个标签。
t create tab
新建标签。
x close current tab
关闭当前标签。
X restore closed tab (i.e. unwind the ‘x’ command)
恢复关闭的标签。(即取消’x’命令)
附加的高级浏览命令 //这几个不翻译了因为不知道是要干什么。。。改天试试再说。
]] Follow the link labeled ‘next’ or ‘>’. Helpful for browsing paginated sites.
[[ Follow the link labeled ‘previous’ or ‘ open multiple links in a new tab
gi focus the first (or n-th) text input box on the page
gu go up one level in the URL hierarchy
zH scroll all the way left
zL scroll all the way right
Vimium supports command repetition so, for example, hitting ‘5t’ will open 5 tabs in rapid succession. ESC (or) will clear any partial commands in the queue and will also exit insert and find modes.
Vimium支持命令重复,例如敲击’5t’将会快速连续打开5个窗口。ESC 会清除队列中部分指令并且会同时退出插入和搜索模式。
自定义按键表
You may remap or unmap any of the default key bindings in the “Key mappings” section under “Advanced Options” on the options page.
你可以在 选项 页面的”Advanced Options”,”Key mappings”中重映射或者取消任何默认的按键绑定。
Enter one of the following key mapping commands per line:
每行出入下列按键映射指令的一个:
map key command: Maps a key to a Vimium command. Overrides Chrome’s default behavior (if any).
把一个键映射到Vimiun命令。覆盖Chrome的默认按键设置(如果有)。
unmap key: Unmaps a key and restores Chrome’s default behavior (if any).
取消一个按键的映射并恢复Chrome的默认设置(如果有)。
unmapAll: Unmaps all bindings. This is useful if you want to completely wipe Vimium’s defaults and start from scratch with your own setup.
取消所有按键映射。这条语句在你想完全抹除Vimiun的默认设置并且想从头开始时使用。
Examples:
例:
map
把 ctrl+d按键的动作映射到向下滚动页面。Chrome默认的加入到书签的快捷键会被覆盖。
map r reload maps the r key to reloading the page.
把r键映射为刷新页面。
unmap
取消ctrl+d的任何映射并恢复Chrome的默认设置。
unmap r removes any mapping for the r key.
取消r键的任何映射。
Available Vimium commands can be found via the “Show Available Commands” link near the key mapping box. The command name appears to the right of the description in parenthesis.
提供的Vimiun命令可通过单机key mapping box旁边的”Show Available Commands”查看。命令的名字写在在命令描述右边的括号中。
You can add comments to your key mappings by starting a line with ” or #.
你可以在你的键位映射中用”或#来编写注释。
The following special keys are available for mapping:
下面这些特殊的功能键可以用来映射:
Shifts are automatically detected so, for example,
Shift键可以自动检测到。比如:
使用Ubuntu一段时间后,就会发觉由于自动升级,系统里安装了很多内核。像我,竟然安装了下面那么多,这个造成了漫长的启动列表。必须删掉一些不用的。
首先就是使用如下命令,列出所有安装的内核,下表中,带有image的就是内核文件。从中选择要卸载的包,用apt-get来卸载:
[tc@ibm:~]$ dpkg --get-selections|grep linux libselinux1 install linux-386 install linux-image-2.6.15-23-386 install linux-image-2.6.15-27-386 install linux-image-2.6.15-27-686 install linux-image-2.6.15-28-386 install linux-image-2.6.15-28-686 deinstall linux-image-386 install linux-kernel-headers install linux-restricted-modules-2.6.15-23-386 install linux-restricted-modules-2.6.15-27-386 install linux-restricted-modules-2.6.15-27-686 install linux-restricted-modules-2.6.15-28-386 install linux-restricted-modules-2.6.15-28-686 deinstall linux-restricted-modules-386 install linux-restricted-modules-common install linux-sound-base install util-linux install
具体的卸载方法为
sudo apt-get remove linux-image-2.6.15-23-386
这样就可以实现自动删除内核文件了,还可以释放磁盘空间。
另外还要记录一个命令。
uname -a
使用这个命令可以查看当前系统使用的内核。
音乐中60拍的高频音乐,这种音乐学习可以让你:
1、快速完成作业,学习速度将提高2—10倍;
2、大脑充满活力,思维敏捷,常有灵感出现;
3、延长注意力集中的时间,提升理解能力;
4、进入最佳的学习状态,沉浸在学习的快乐之中;
5、缓解学习压力增强体质,激发创造力。
二、超级记忆音乐
这是巴洛克音乐中60拍的非高频音乐,在这种音乐中进行理解、思考、背诵可以让你:
1、头脑聪明,记忆力提高5-10倍,充分开发记忆潜能;
2、轻轻松松记忆大量内容;
3、巩固记忆效果,使学习过的内容保持长期不忘;
4、注意力更集中,有效排除外界干扰;
5、心情轻松应考,超常发挥,获得高分。
三、适用对象
1、在校大、中、小学生、研究生、成人高考、自考和职称考级人员;
2、需要大量记忆背诵外语单词、课文者;
3、需要背诵记忆文理科复习题、法律条文、竞赛题者及准备应付各种考试的人员;
4、需要记忆大量汉字的儿童;
5、需要记忆符号、图表、密码、字根等各界人士;
6、需要改善提高记忆力的中、老年朋友。
四、注意事项
本音乐在作背景音乐时,音量在30-40分贝左右,隐隐约约即可。
其实呢,并不是如上所说的巴洛克时期的音乐才有这神奇的效果,不同的音乐可以达到不同的效果,不同性格的人需要不同的音乐。下面给大家推荐一些很好的音乐。(QQ音乐中都可以搜索得到)
数学:学习数学需要的是内心的平静但不时的也需要灵感的涌流,所以推荐一些既安静又不失趣味的歌曲.全部都是无歌词的歌曲,毫无疑问歌词会影响到我们的几何或逻辑思维.
1.Summer-久石让 2.流动的城市-林海 3.夜曲-纯音乐 4.The rain-久石让 5.Snowdreams-班得瑞
6.The Truth That You Leave-piano boy 7.songs from a secret garden-神秘园 8.杨柳-范宗沛
理化:理化公式和理论的结合,可以用一些稍明朗欢快的歌曲或带歌词的轻音乐来激发它的趣味性,提高书写计算的效率.
1.回梦游仙(力荐)-仙剑奇侠传4 2.爱的筵席(LOVE SONGS FEAST)-莎拉布莱曼 3.Craigie Hill-Cara Dillon
4.valder fields-Tamas Wells 5.Inside-Bang Gang 6.Tango in my heart-QQ音速(爆好听,上网查)
7.Dying In The Sun -小红莓 8.Nocturne-神秘园 9.May It Be-恩雅 10.30 Minutes – T.a.T.u
语文:语文没有什么特别的限制,只要不是中文歌词都可以.歌曲就不做推荐了,上面的都可以.
英语:不像语文,英文歌词不仅不会影响到学习英语,也许还在不经意之间惯了耳音呢!除背单词时需要无歌词的低频率音乐,别的时候听上面的歌都是可以的,下面再推荐一些英文学习感到疲惫无聊时或想加快速度时的歌曲.
1.Chocolate Ice (听身体唱歌)- 卫兰 2.Beat It -MJ 3.Heal The World – MJ 4.don’t cry – 枪花
5.Anything But Ordinary – 艾薇儿 6.Nobody’s A Nun – 王若琳 7.Behind Blue Eyes – Limp Bizkit
8.Zombie – 小红莓 9.Time after time – 仓木麻衣(柯南) 10.remember the name – 林肯公园
政史:自由发挥的时候到了,喜欢的歌都打开吧,应付作业的放快歌,巩固知识的放慢歌,心情好才是最终目的。没什么好说的,推荐几首被遗忘的经典老歌。
1.旅行的意义 – 陈绮贞 2.彩虹天堂 – 刘畊宏 3.太早 – 刘允乐 4.心里有个他 – 俞思远 5.白月光 – 张信哲
6.天天想你 – 张雨生 7.我爱你 – 王菲 8.宝贝 – 张悬 9.Forever Now – Bang Gang 10.借我一生 – 水木年华
11.独立 – 蜜雪薇琪 12.Trouble Is a Friend – Lenka
切记:做一项作业时不能换歌,让你的脑神经和这首歌形成链接,听之前要先把歌听熟,声音放的若隐若现,别坐在电脑旁,有一定的距离感最好。你的目的不是听歌,而是提高学习效率,心态要放端正,如果觉得歌曲让你有任何不适千万别犹豫关了它。
所有的TCP/IP调优参数都位于/proc/sys/net/目录. 例如, 下面是最重要的一些调优参数, 后面是它们的含义:
1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲
2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲
3. /proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考RFC 1323)TCP的包头增加12个字节
4. /proc/sys/net/ipv4/tcp_sack — 有选择的应答
5. /proc/sys/net/ipv4/tcp_window_scaling — 支持更大的TCP窗口. 如果TCP窗口最大超过65535(64K), 必须设置该数值为1
6. rmem_default — 默认的接收窗口大小
7. rmem_max — 接收窗口的最大大小
8. wmem_default — 默认的发送窗口大小
9. wmem_max — 发送窗口的最大大小
/proc目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失.
建议在系统启动时自动修改TCP/IP参数:
把下面代码增加到/etc/rc.local文件, 然后保存文件, 系统重新引导的时候会自动修改下面的TCP/IP参数:
echo 256960 > /proc/sys/net/core/rmem_default
echo 256960 > /proc/sys/net/core/rmem_max
echo 256960 > /proc/sys/net/core/wmem_default
echo 256960 > /proc/sys/net/core/wmem_max
echo 0 > /proc/sys/net/ipv4/tcp_timestamps
echo 1 > /proc/sys/net/ipv4/tcp_sack
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
TCP/IP参数都是自解释的, TCP窗口大小设置为256960, 禁止TCP的时间戳(取消在每个数据包的头中增加12字节), 支持更大的TCP窗口和TCP有选择的应答.
上面数值的设定是根据互连网连接和最大带宽/延迟率来决定.
注: 上面实例中的数值可以实际应用, 但它只包含了一部分参数.
另外一个方法: 使用 /etc/sysctl.conf 在系统启动时将参数配置成您所设置的值:
net.core.rmem_default = 256960
net.core.rmem_max = 256960
net.core.wmem_default = 256960
net.core.wmem_max = 256960
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack =1
net.ipv4.tcp_window_scaling = 1
—————————————————————————————————————————-
二、文件及文件系统调谐
块大小
使用较大的块大小将得到较好的性能。将ext2文件系统的块大小调整为4096byte而不是缺省的1024byte,可以减少文件碎片,另外,在ext2的文件系统中,为根目录保留了5%的空间,对一个大的文件系统,除非用作日志文件,5%的比例有些过多。可以使用命令”# mke2fs -b 4096 -m 1 /dev/hda6″将它改为1%并以块大小4096byte创建文件系统。如果系统用作邮件或者新闻服务器,使用较大的块大小,虽然性能有所提高,但会造成磁盘空间较大的浪费。比如文件系统中的文件平均大小为2145byte,如果使用4096byte的块大小,平均每一个文件就会浪费1951byte 空间。如果使用1024byte的块大小,平均每一个文件会浪费927byte空间。在性能和磁盘的代价上如何平衡,要看具体应用的需要。
调整缓冲区刷新参数
Linux内核中,包含了一些对于系统运行态的可设置参数。缓冲刷新的参数可通过
/proc/sys/vm/bdflush文件来完成,这个文件的格式是这样的:
# more /proc/sys/vm/bdflush
40 0 0 0 500 3000 60 0 0
第一个数:在”dirty”缓冲区达到多少的时候强制唤醒bdflush进程刷新硬盘,
第二个数:每次让bdflush进程刷新多少个dirty块。所谓dirty块是必须写到磁盘中的缓存块。接下的数:每次允许bd flush将多少个内存块排入空闲的缓冲块列表。
修改方法
# echo “100 128 128 512 5000 3000 60 0 0″>/proc/sys/vm/bdflush 并将这条命令加到/etc/rc.d/rc.local文件中去。
以上的设置加大了缓冲区大小,降低了bdflush被启动的频度,同时也增加了万一系统崩溃丢失数据的危险性。VFS的缓冲刷新是Linux文件系统高效的重要原因之一。
调整文件句柄数和i-节点数
在Linux内核2.4.x中需要修改源代码,然后重新编译内核才生效。编辑Linux内核源代码中的
include/linux/fs.h文件,将 NR_FILE 由8192改为 65536,将NR_RESERVED_FILES 由10 改为 128。编辑fs/inode.c 文件将 MAX_INODE 由16384改为262144。
一般情况下,最大打开文件数比较合理的设置为每4M物理内存256,比如256M内存可以设为16384,而最大的使用的i节点的数目应该是最大打开文件数目的3倍到4倍。
三、其它方面的调谐
调谐buffermem
文件buffermen和内核虚拟内存子系统密切相关。文件/proc/sys/vm/buffermem控制多大内存被用于缓冲区(百分数表示)。内核2.4的缺省值为:: “2 10 60″。可以按如下方法修改:
# echo “70 10 60″ >/proc/sys/vm/buffermem
并将之加到脚本文件/etc/rc.d/rc.local 中。或者在/etc/sysctl.conf文件中加入
vm.buffermem = 70 10 60
第一个参数 70意味着至少分配70%的内存用作缓冲区。后两个参数保持系统的默认值。第一个参数设置为多大合适,依赖于系统的内存大小和系统高负载时内存的使用情况(可用free监视)。
进程限制
Linux对于每个用户,系统限制其最大进程数。为提高性能,可以设置超级用户root的最大进程数为无限。编辑.bashrc文件(vi /root/.bashrc)增加行”ulimit -u unlimited”即可消除超级用户的进程限制。
核心和系统对用户进程其它的一些限制也可以通过ulimit命令来查看和更改。”ulimit -a” 用来显示当前的各种用户进程限制。一些更改用户限制的例子如下:
ulimit -n 4096 将每个进程可以打开的文件数目加大到4096,缺省为1024
ulimit -m 4096 限制每个进程使用的内存数。
优化gcc编译
将优化标志放在/etc/profile文件中。在pentium III级的处理器上使用以下优化标志将得到最优的应用程序:
CFLAGS=-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions
再将如下行加到/etc/profile 更靠后的位置:
export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL INPUTRC CFLAGS LANG LESSCHARSET使用以上的优化,gcc或者egcs编译的程序将得到最佳的性能。
—————————————————————————————————————————-
/proc/sys/kernel/shmall
该文件是在任何给定时刻系统上可以使用的共享内存的总量(以字节为单位)。
缺省设置:2097152
/proc/sys/kernel/shmax
该文件指定内核所允许的最大共享内存段的大小(以字节为单位)。
缺省设置:33554432
/proc/sys/kernel/shmmni
该文件表示用于整个系统共享内存段的最大数目。
缺省设置:4096
/proc/sys/kernel/threads-max
该文件指定内核所能使用的线程的最大数目。
缺省设置:2048
/proc/sys/net/core/netdev_max_backlog
该文件指定了,在接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。
缺省设置:300
/proc/sys/net/core/optmem_max
该文件指定了每个套接字所允许的最大缓冲区的大小。
/proc/sys/net/core/rmem_default
该文件指定了接收套接字缓冲区大小的缺省值(以字节为单位)。
/proc/sys/net/core/rmem_max
该文件指定了接收套接字缓冲区大小的最大值(以字节为单位)。
/proc/sys/net/core/wmem_default
该文件指定了发送套接字缓冲区大小的缺省值(以字节为单位)。
/proc/sys/net/core/wmem_max
该文件指定了发送套接字缓冲区大小的最大值(以字节为单位)。
/proc/sys/net/ipv4
所有 IPv4 和 IPv6 的参数都被记录在内核源代码文档中。请参阅文件 /usr/src/linux/Documentation/networking/ip-sysctl.txt。
/proc/sys/net/ipv6
同 IPv4。
/proc/sys/vm
/proc/sys/vm/buffermem
该文件控制用于缓冲区内存的整个系统内存的数量(以百分比表示)。它有三个值,通过把用空格相隔的一串数字写入该文件来设置这三个值。
用于缓冲区的内存的最低百分比
如果发生所剩系统内存不多,而且系统内存正在减少这种情况,系统将试图维护缓冲区内存的数量。
用于缓冲区的内存的最高百分比
缺省设置:2 10 60
/proc/sys/vm/freepages
该文件控制系统如何应对各种级别的可用内存。它有三个值,通过把用空格相隔的一串数字写入该文件来设置这三个值。
如果系统中可用页面的数目达到了最低限制,则只允许内核分配一些内存。
如果系统中可用页面的数目低于这一限制,则内核将以较积极的方式启动交换,以释放内存,从而维持系统性能。
内核将试图保持这个数量的系统内存可用。低于这个值将启动内核交换。
缺省设置:512 768 1024
/proc/sys/vm/kswapd
该文件控制允许内核如何交换内存。它有三个值,通过把用空格相隔的一串数字写入该文件来设置这三个值:
内核试图一次释放的最大页面数目。如果想增加内存交换过程中的带宽,则需要增加该值。
内核在每次交换中试图释放页面的最少次数。
内核在一次交换中所写页面的数目。这对系统性能影响最大。这个值越大,交换的数据越多,花在磁盘寻道上的时间越少。然而,这个值太大会因“淹没”请求队列而反过来影响系统性能。
缺省设置:512 32 8
/proc/sys/vm/pagecache
该文件与 /proc/sys/vm/buffermem 的工作内容一样,但它是针对文件的内存映射和一般高速缓存。
使内核设置具有持久性
这里提供了一个方便的实用程序,用于更改 /proc/sys 目录下的任何内核参数。它使您可以更改运行中的内核(类似于上面用到的 echo 和重定向方法),但它还有一个在系统引导时执行的配置文件。这使您可以更改运行中的内核,并将这些更改添加到配置文件,以便于在系统重新引导之后,这些更改仍然生效。
该实用程序称为 sysctl,在 sysctl(8) 的联机帮助页中,对这个实用程序进行了完整的文档说明。sysctl 的配置文件是 /etc/sysctl.conf,可以编辑该文件,并在 sysctl.conf(8) 下记录了该文件。sysctl 将 /proc/sys 下的文件视为可以更改的单个变量。所以,以 /proc/sys 下的文件 /proc/sys/fs/file-max 为例,它表示系统中所允许的文件句柄的最大数目,这个文件被表示成 fs.file-max。
这个示例揭示了 sysctl 表示法中的一些奇妙事情。由于 sysctl 只能更改 /proc/sys 目录下的变量,并且人们始终认为变量是在这个目录下,因此省略了变量名的那一部分(/proc/sys)。另一个要说明的更改是,将目录分隔符(正斜杠 /)换成了英文中的句号(点 .)。
将 /proc/sys 中的文件转换成 sysctl 中的变量有两个简单的规则:
去掉前面部分 /proc/sys。
将文件名中的正斜杠变为点。
这两条规则使您能将 /proc/sys 中的任一文件名转换成 sysctl 中的任一变量名。一般文件到变量的转换为:
/proc/sys/dir/file –> dir.file
dir1.dir2.file –> /proc/sys/dir1/dir2/file
可以使用命令 sysctl -a 查看所有可以更改的变量和其当前设置。
用 sysctl 还可以更改变量,它所做的工作与上面所用的 echo 方法完全一样。其表示法为:
sysctl -w dir.file=”value”
还是用 file-max 作为示例,使用下面两种方法中的一种将该值更改为 16384。
—————————————————————————————————————————–
LINUX系统调优记录:
解决 “dst cache overflow” 报警问题
OS:centos4.3
1.可以改变滑动窗口的大小 (默认应该就是“1”)
echo “1” > /proc/sys/net/ipv4/tcp_window_scaling
2.修改内核共享内存限制为256M,默认才2M
echo 268435456 >/proc/sys/kernel/shmall
echo 268435456 >/proc/sys/kernel/shmmax
3。可使用的代理端口
echo “1024 65000” > /proc/sys/net/ipv4/ip_local_port_range
4.禁止广播和ping入
echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo “1” > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
5./proc/sys/net/ipv4/netfilter/ip_conntrack_max 改大到 268435456 默认只有65536
6.echo “1800” > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
默认确立连接会在5天后失效,改为半小时后失效,减少ip_conntrack的有效连接数量。
7.echo 1 > /proc/sys/net/ipv4/tcp_syncookies
防范SYN DDOS攻击,打开TCPsyncookies,CENTOS4的内核是支持的。
8.echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
SYN列队长度,不要设置太高,会消耗相应的内存。
9.echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
SYN重试次数。
10.echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
SYN重试次数。
Ubuntu 10.04.1 LTS下安装与配置LNMP环境,所谓的LNMP就是Linux+Nginx+Mysql+PHP.
root@lnmp:/home/windonly# apt-get install nginx root@lnmp:/home/windonly# service nginx start
目前官方源提供的版本是:0.7.65,通过访问80端口可以测试是否安装成功。
通过执行apt-get install mysql-server命令后自动下载mysql,然后安装提示配置好mysql root密码。
由于目前的官方的源里面没有php5-fpm的包,我们需要下载源代码编译,后面Google发现已经有人提供了镜像源,该镜像源需要验证KEY,不过我们可以无视它继续安装。
在 /etc/apt/sources.list 中加入 deb http://ppa.launchpad.net/jdub/devel/ubuntu maverick main deb http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main deb-src http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main 然后执行: apt-get update 然后安装 php5-fpm apt-get install php5-fpm service php5-fpm start
修改nginx配置文件来完成配置:
root@lnmp:/home/windonly# vi /etc/nginx/sites-enabled/default server { listen 80 ; listen [::]:80 default ipv6only=on; ## enable for ipv6 server_name localhost; #access_log /var/log/nginx/localhost.access.log; index index.php index.htm index.html; root /var/www; expires 7d; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param APPLICATION_ENV production; include fcgi.conf; expires off; } } 再配置fcgi.conf: root@lnmp:/home/windonly# vi /etc/nginx/fcgi.conf fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200; 完成之后通过: root@lnmp:/home/windonly# nginx -t the configuration file /etc/nginx/nginx.conf syntax is ok configuration file /etc/nginx/nginx.conf test is successful 来测试配置文件是否正确。 最后通过 service nginx reload 重启nginx 通过: vi /var/www/index.php php phpinfo(); ?> 然后访问这个页面来测试是否配置成功了。
通过 apt-get install php5-mysql 安装PHP访问MySql模块,需要重启下php5-fpm使其生效。
首先现在最新版本的wordpress: wget http://cn.wordpress.org/wordpress-3.0.1-zh_CN.zip 并解压(如果服务器上没装unzip就通过apt-get install unzip安装),先创建数据库:
mysql> create database myblog; Query OK, 1 row affected (0.00 sec) mysql> create user 'myblog'@'localhost' identified by 'myblog'; Query OK, 0 rows affected (0.00 sec) mysql> grant all on myblog.* to 'myblog'@'localhost'; Query OK, 0 rows affected (0.00 sec)
然后就可以通过web页面安装与配置wordpress了。
windonly@linux:~$ sudo vi /etc/nginx/sites-enabled/default 加入以下配置: location / { index index.html index.php; if (-d $request_filename){ rewrite ^/(.*)([^/])$ $1$2/ permanent; } if (-f $request_filename/index.php){ rewrite (.*) $1/wordpress/index.php; } if (!-f $request_filename){ rewrite (.*) /wordpress/index.php; } }
然后重启nginx既可。
至此整个LNMP配置已经完成,虽然网上有很多一键包,但是只有通过自己手工配置一次才能熟悉整个配置流程,方便后期维护和优化。一直很纠结要不要去买一个VPS,每年1600的费用也是一笔相当大的开销啊。
#安装 eAccelerator
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
tar xvjf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
cp control.php /var/www/control.php
sudo chown www:www /var/www/control.php
sudo phpize
sudo ./configure –enable-eaccelerator=shared
sudo make
sudo make install
sudo vi /etc/php5/fpm/php.ini
extension_dir = “/usr/lib/php5/20090626+lfs/”
extension = eaccelerator.so
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
eaccelerator.allowed_admin_path=”/var/www/control.php”
#配置文件目录
/etc/nginx/nginx.conf
/etc/nginx/sites-enabled/default
/etc/php5/fpm/php.ini
/etc/php5/fpm/pool.d/www.conf