欢迎光临
我们一直在努力

安装完Win7之后推荐做的一些设置

admin阅读(107)

 前言:不知道写什么,就总结一下我个人安装完成 windows7 之后要做的一些设置吧!以下全文均为个人回忆总结,文章也很冗长,难免有纰漏或者不符合你个人习惯的内容,如果发现有让你觉得很不屑的内容,立即关闭此网页,以免浪费时间~~


windows7

虽然 Win8 已经推广使用,但目前 windows7 还是普通用户的主流系统,个人虽然也挺喜欢 Win8 的一些功能,比如超级任务管理器、可暂停的复制/粘贴等。但个人比较喜欢 Aero 特效,所以试用了一段时间,还是换回了 Windows7,下面就分享一下我个人安装完成 windows7 之后做的一些常用设置吧! 

一、使用降权管理员账号,而不是 Administrator.

 一般 windows7 安装到尾声时,都会要求你输入一个用户名,这时你可以输入一个你喜欢的英文名了(不推荐使用中文用户名,以免以后存在各种路径问题!),比如 MarsGe。

记得以前大学时安装 windows7,我都喜欢首先随便输入一个英文名,进入系统之后马上激活 Administrator。切换后,立马删除之前建立的英文账号。而自从接触 linux 运维之后,才真正理解超级管理员中超级两字的含义!使用降权账号,对于恶意病毒、流氓软件以及日常误操作都有着挺好的防范意义。就像 Ubuntu 系统,就默认禁用 root 账号登陆,为的就是系统安全。

二、调出桌面图标、关闭或调低 UAC(用户帐户控制)级别、关闭休眠以及转移分页文件

桌面图标

Windows7 首次进入桌面默认只有回收站一个图标,所以需要自行添加:右键桌面→属性→左侧选择添加图标→勾上你要的图标(比如计算机、用户文件、网络等)

设置 UAC

开始菜单→控制面板→用户账号→用户账户控制设置→拉动滑块至最下(或倒数第二级)位置→确定退出即可

说明:一开始就设置用户账号控制的是为了关闭后续涉及程序安装等操作时会出现屏幕会被锁死并降低亮度的现象,这对屏幕灯光及个人体验都非常不友好!如果你是不太懂电脑的用户,建议调至倒数第二位置,即第三级别;而如果日常操作中你清楚的了解你下一步操作的具体含义,那推荐使用第四级别,即完全关闭这个提示!

关闭休眠

开始菜单→所有程序→附件→命令提示符→右键选择“以管理员身份运行”→输入 powercfg -h off 并回车即可

说明:这个功能大部分普通用户可能从买电脑到汰换都不会接触到它!所以没必要开着它占用大量的 C 盘空间,在开启的情况下,系统会在 C 盘生成和内存一样大小的 hiberfil.sys 隐藏文件,如果你内存是 6G,那它就是 6G,你说要不要关闭呢?(当然,了解并需要用到的人就不要关了)

转移分页文件

右键桌面计算机图标→属性→系统高级设置→性能选项卡→高级→修改按钮→选定 C 盘并勾上[没有分页文件]→确定→选择 D 盘并勾上系统管理大小(也可以是自定义大小,一般是 1.5-2 倍实际内存)→确定即可(重启才能生效)。

说明:系统部分开启虚拟内存,并默认存放在 C 盘,大小一般是内存的 1.5 倍!为了腾出 C 盘空间,以及稍稍提高系统性能,推荐将虚拟内存设置到非系统盘,比如 D 盘。当然,如果你的内存够大,比如 4G 或更高,那完全可以关闭虚拟内存,也就是在勾上[没有分页文件]确定之后就可以退出设置了。特殊人群,比如要使用模具绘图之类的软件,请不要关闭虚拟内存!

 三、在线更新驱动程序、安装系统真正必备的软件

在线更新驱动

个人推荐使用驱动精灵或驱动人生进行驱动更新,比手动优越的地方在于你不需要确认硬件版本或兼容性,以及安装的最佳顺序,这一切都交给软件去完成即可(驱动还是存在一定的安装顺序的,比如主板芯片驱动就应该优先安装等)。更新期间你可以进行下一步了!

真正必备的软件

什么是真正必备的软件,你会说 QQ?No!我说的真正必备的软件是像 Winrar 一类的系统软件,为什么说是真正必备?当你恢复到初始 Ghost 备份时,很可能你有个 RAR 文件急需打开,比如里面有你曾备份的宽带/wifi 之类的密码(当然还可能是别的),否则你就不能联网!那你又得拿 U 盘去拷贝了。。。这样的软件才真正称得上是必备软件,其他普通软件不建议做到这个备份里面了!当然,还有 FlashPalyer 插件、office 办公软件(看个人需要而定)。

四、更新系统补丁、破解激活系统并完成首次 Ghost 备份

推荐使用辅助软件来更新,比如 360 安全卫士的漏洞修复功能,原因是简单易用。。。现在如果是下载了原版的 ISO 系统镜像,要更新的补丁基本都在 80 个左右!这种麻烦的事情就交给软件去自动完成好了!

我想现在大部分屌丝应该都是用的盗版破解 win7 吧!在更新系统补丁期间,你可以运行下面这个工具,然后选择[1]自动激活系统了:

链接:http://pan.baidu.com/share/link?shareid=1636630321&uk=1108123711 密码:kdfm

当补丁全部安装完毕之后,记得重启一下系统,让系统补丁全部配置更新。
 首次备份系统

如果你的 Windows 第一次进入系统就已经开启了透明效果,那么你可以直接重启电脑进行 Ghost 备份了!

如果安装完成驱动还未开启透明效果,那么请先重启电脑,然后右键计算机,在属性界面可以看到有个性能评估,你进入里面评估一下你的系统,一般就能开启透明效果了!然后再重启做第一次 Ghost 备份。

Ps:在做这一次备份之前,绝大部分的系统设置你都不要动它!那么这个备份就相当于一个初始安装的新系统,但它绝对比你重新使用 ISO 镜像安装要来的快捷,直接使用 Ghost 还原之后,就能跳过系统补丁、驱动直接进入系统 DIY 环节了!

五、系统设置、系统优化以及首选常用软件

系统设置

这里说几项我个人的喜好设置吧(笔记本)!

1.自定义桌面主题:包括随机壁纸、Aero 透明度、windows 声音等。

2.自定义开始菜单:系统默认的开始菜单,感觉是不怎么符合个人习惯的,所以要 DIY 一下,右键任务栏,在属性界面选择开始菜单→自定义→要开启什么选项按照自己的习惯去弄,比如我就会调出被默认隐藏的【运行】选项以及控制面板等等。

3.自定义任务栏:

<1>.右键任务栏,选择使用小图标,以便修改任务栏高度为窄条(笔记本屏幕就那么小,还那么高的任务栏,真心占地方!)

<2.>看个人喜好,开启快速启动栏(习惯了 XP 的用户可以考虑),具体做法参考百度经验

<3>.修改右下角任务栏图标显示,个人喜欢全部显示出来,不喜欢遮遮掩掩~但是那个操作中心我还是建议直接关闭好了~

4.自定义电源选项:设置合上笔记本不进行任何操作等

5.修改个人文件夹路径:

<1>. 在 D 盘或你的专属盘,新建文件夹:【我的文档】、【我的音乐】、【我的电影】、【我的图片】以及【我的下载】.

<2>.双击桌面你的用户名文件夹(第一步添加的那个),打开后可以看到很多跟你相关的文件夹,比如我的文档、音乐等。依次右键与<1>同名的文件夹,在属性界面点击【移动】按钮,选择<1>中新建的相应文件夹,然后确定,提示是否移动已有文件的时候请选择【是】,否则将会出现重复的文件夹哦!里面还有其他文件夹,如搜索什么的,我是直接删除的,免得看得眼花。。。

6.右键菜单瘦身:系统默认的右键菜单真的很冗余,影响右键速度,严重时右键都会卡。。我一般会下载【右键扩展菜单管理器 v1.21】对右键进行喜好定制,比如精简桌面右键菜单中的新建选项,只保留新建文本文档、新建文件夹、以及新建 office 文件等,什么新建 BMP 图片,公文包等等,统统干掉!!!!其他如发送到也是我必须精简的内容,什么发送到邮件、发送到 ZIP 压缩文档,你还能再坑爹一点么,对我真没点用!

常用软件

首选常用软件一般看个人喜好了,我的一般是安装:第三方浏览器、QQ 系列(QQ 聊天、QQ 影音、QQ 拼音纯净版)、多米音乐、迅雷以及 360 安全卫士(唱对台戏么?),反正就是这一类软件基本覆盖日常需求,聊聊天,看网页、看电影、听音乐基本到位。不太懂电脑的用户建议再加装一个 360 杀毒。其他再偏门点的软件,如美图秀秀之类的,再做第二个系统备份之前都不去安装。安装完成之后,全部打开并按个人喜好设置一遍,比如迅雷的默认下载路径,你就可以设置到 D 盘【我的下载】文件夹。

系统优化

 如果你有耐心有经验,又觉得第三方优化软件不靠谱,建议你手动去优化系统,比如修改磁盘缓存、调整启动项以及禁用不需要的系统服务等等!我个人比较懒,也不怕第三方软件会动什么手脚,因为真的没什么不能见人的!

反正那我一般就使用 360 安全卫士的系统一键优化了,省事省心!说下腾讯的安全管家吧,个人测试过多次,使用系统优化之后,进桌面变快了,可是网卡会延迟很久才启动!!然后你选择恢复优化前的状态之后,进桌面网卡就出来了,这。。。反正很烦,就再也不用了!!

当然,如果信不过 360,其他如魔方优化大师、超级兔子之类的你也可以用用看~

做完以上全部设置之后,我想你可以做第二个系统备份了,这将是你以后恢复系统的首选镜像,因为基本恢复了就能用了!!!而在首选镜像都有问题的时候,你恢复到之前第一次做的备份(初始镜像)那绝对是万无一失!


好了,以上就是我个人安装完 Windows7 之后会做的一些设置,如果还没有自己那一套设置习惯的朋友可以参考一下了。

Linux:awk命令详解

admin阅读(99)

Linux:awk命令详解

简单使用:

awk :对于文件中一行行的独处来执行操作 。

awk -F :'{print $1,$4}'   :使用‘:’来分割这一行,把这一行的第一第四个域打印出来 。

AWK命令介绍

awk 语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk 抽取信息后,才能进行其他文本操作,完整的 awk 脚本通常用来格式化文本文件中的信息

 

1. 调用 awk:

第一种命令行方式,如:

这里 commands 是真正的 awk 命令,[-F 域分隔符]是可选的,awk 默认使用空格分隔,因此如果要浏览域间有空格的文本,不必指定这个选项,但如果浏览如 passwd 文件,此文件各域使用冒号作为分隔符,则必须使用-F 选项:   awk -F : 'commands' input-file

第二种,将所有 awk 命令插入一个文件,并使 awk 程序可执行,然后用 awk 命令解释器作为脚本的首行,以便通过键入脚本名称来调用它

第三种,将所有 awk 命令插入一个单独文件,然后调用,如:

-f 选项指明在文件 awk-script-file 的 awk 脚本,input-file 是使用 awk 进行浏览的文件名

2. awk 脚本:

awk 脚本由各种操作和模式组成,根据分隔符(-F 选项),默认为空格,读取的内容依次放置到对应的域中,一行一行记录读取,直到文件尾

2.1.  模式和动作

任何 awk 语句都是由模式和动作组成,在一个 awk 脚本中可能有许多语句。模式部分决定动作语句何时触发及触发事件。动作即对数据进行的操作,如果省去模式部分,动作将时刻保持执行状态

模式可以是任何条件语句或复合语句或正则表达式,模式包含两个特殊字段 BEGIN 和 END,使用 BEGIN 语句设置计数和打印头,BEGIN 语句使用在任何文本浏览动作之前,之后文本浏览动作依据输入文件开始执行;END 语句用来在 awk 完成文本浏览动作后打印输出文本总数和结尾状态标志,有动作必须使用{}括起来

实际动作在大括号{}内指明,常用来做打印动作,但是还有更长的代码如 if 和循环 looping 语句及循环退出等,如果不指明采取什么动作,awk 默认打印出所有浏览出的记录

2.2. 域和记录:

awk 执行时,其浏览标记为$1,$2...$n,这种方法称为域标记。使用$1,$3 表示参照第 1 和第 3 域,注意这里使用逗号分隔域,使用$0 表示使用所有域。例如:

表示打印所有域并把结果重定向到 sav.txt 中

和上例相似,不同的是将在屏幕上显示出来

只打印出第 1 和第 4 域

表示打信息头,即输入的内容的第一行前加上"NAME  GRADE\n-------------",同时内容以 tab 分开

同时打印信息头和信息尾

2.3. 条件操作符:

<、<=、==、!=、>=、~匹配正则表达式、!~不匹配正则表达式

匹配:awk '{if ($4~/ASIMA/) print $0}' temp 表示如果第四个域包含 ASIMA,就打印整条

精确匹配:awk '$3=="48" {print $0}' temp    只打印第 3 域等于"48"的记录

不匹配:  awk '$0 !~ /ASIMA/' temp      打印整条不包含 ASIMA 的记录

不等于:  awk '$1 != "asima"' temp

小于:    awk '{if ($1<$2) print $1 "is smaller"}' temp

设置大小写: awk '/[Gg]reen/' temp      打印整条包含 Green,或者 green 的记录

任意字符: awk '$1 ~/^...a/' temp    打印第 1 域中第四个字符是 a 的记录,符号’^’代表行首,符合’.’代表任意字符

或关系匹配: awk '$0~/(abc)|(efg)/' temp   使用|时,语句需要括起来

AND 与关系:  awk '{if ( $1=="a" && $2=="b" ) print $0}' temp

OR 或关系:   awk '{if ($1=="a" || $1=="b") print $0}' temp

2.4. awk 内置变量:

ARGC 命令行参数个数 NF  浏览记录的域个数
AGRV 命令行参数排列 NR 已读的记录数
ENVIRON 支持队列中系统环境变量的使用  OFS 输出域分隔符
  FILENAME awk 浏览的文件名  ORS 输出记录分隔符
FNR 浏览文件的记录数 RS 控制记录分隔符
FS 设置输入域分隔符,同- F 选项 NF  浏览记录的域个数

 

 

2.5. awk 操作符:

在 awk 中使用操作符,基本表达式可以划分成数字型、字符串型、变量型、域及数组元素

设置输入域到变量名:

域值比较操作:

修改数值域取值:(原输入文件不会被改变)

修改文本域:

只显示修改记录:(只显示所需要的,区别上一条命令,注意{})

创建新的输出域:

统计列值:

文件长度相加:

只列出文件名:

2.6. awk 内置字符串函数:

2.7.  printf 函数的使用:

2.8. 其他 awk 用法:

向一行 awk 命令传值:

awk 脚本命令:

2.9. awk 数组:

awk 的循环基本结构

3.0  awk 中自定义语句

3.1. 条件判断语句(if)

格式中"语句 1"可以是多个语句,如果你为了方便 Unix awk 判断也方便你自已阅读,你最好将多个语句用{}括起来。Unix awk 分枝结构允许嵌套,其格式为:

 

每条命令语句后面可以用“;”号结尾。

3.2. 循环语句(while,for,do)

1.while 语句

格式:

while(表达式)

{语句}

例子:

2.for 循环

for 循环有两种格式:

格式 1:

for(变量 in 数组)

{语句}

 

例子:

说明:ENVIRON 是 awk 常量,是子典型数组。

格式 2:

for(变量;条件;表达式)

{语句}

 

例子:

3.do 循环

格式:

do

{语句}while(条件)

 

例子:

以上为 awk 流程控制语句,从语法上面大家可以看到,与 c 语言是一样的。有了这些语句,其实很多 shell 程序都可以交给 awk,而且性能是非常快的。

break 当 break 语句用于 while 或 for 语句时,导致退出程序循环。
continue 当 continue 语句用于 while 或 for 语句时,使程序循环移动到下一个迭代。
next 能能够导致读入下一个输入行,并返回到脚本的顶部。这可以避免对当前输入行执行其他的操作过程。
exit 语句使主输入循环退出并将控制转移到 END,如果 END 存在的话。如果没有定义 END 规则,或在 END 中应用 exit 语句,则终止脚本的执行。

Redhat设置NFS挂载的简单步骤

admin阅读(93)

初识 nfs 还是在测试 lvs 负载均衡的时候,为了保证代码的一致性,将一台 Realserver 作为 nfs 服务器,而其他 Realserver 均以 nfs 将代码挂载过来。这样就保证了代码的一致性,但也是由很大隐患的,一旦那台 Realserver 宕机,那就全军覆没了...好了,废话不多说,进入 nfs 挂载简单步骤。

一、安装 nfs

一般 redhat 是默认安装了 nfs 服务的,如果非默认安装且取消勾选 nfs 的话,需要挂载 iso 或下载安装包手动安装,就几个 rpm 包,就不多说了。

二、配置/etc/exports

nfs 允许挂载的目录及权限需在文件/etc/exports 中进行定义。例如,我们要将代码所在目录/www/code 共享出来,那么我们需要编辑/etc/exports 文件,追加一行:

其中:

  • /www/code 是要共享的目录;
  • * 代表允许所有的网络段访问(仅测试中使用,实际使用应该做严格的 IP 限制);
  • rw 开启共享目录的可读写权限;
  • sync 是资料同步写入内存和硬盘;
  • no_root_squash 是客户端分享目录使用者的权限,如果客户端使用 root,那对于该共享目录而言,客户端就有 root 权限;

其他更多参数说明:

三、启动 nfs 服务

在启动 nfs 之前需要先启动 portmap 服务,否则如下报错:

正确方法先启动 portmap 再启动 nfs,如下:

四、在客户端主机上挂载共享目录

1、挂载之前同样需要先启动 portmap 服务(同上);

2、在客户端使用 showmount -e 查看 nfs 主机共享情况:

3、在客户端建立 code 文件夹(名称需相同,路径可以不同),并使用 mount 挂载命令:

注意事项:千万不要学博主,测试时误使用了 mount -t nfs 192.168.1.100:/www/code  /www/,导致原先/www 目录内容全部被卸下,就算重新 mount -o loop 也是很麻烦的!所以强烈建议路径保持一致!

4、若无报错,则可使用 df -h 查看到挂载情况:

5、若是需要长期使用,则可以设置开机自动挂载,将相关服务设置为自启动,并将挂载命令也加入开机启动即可(略)


五、在客户端卸载已挂载的目录

1、常规卸载命令:

2、有时因为 nfs 主机或网络故障,会出现常规卸载提示 device is busy 的提示,此时强制卸载命令如下:

3、上述卸载命令均无法生效时,请继续往下看:

以下摘自网络:

fuser 通常被用在诊断系统的“resource busy”问题,通常是在你希望 umount 指定的挂载点得时候遇到。 如果你希望 kill 所有正在使用某一指定的 file, file system or sockets 的进程的时候,你可以使用-k 选项。

格式为: $ fuser -m -v  (nfs 挂载点) 回车执行后得到的结果依次是:用户 进程号 权限 命令

此命令可以查看到访问此设备的所有进程,停止进程后 umount.

如果添加参数 -k 则可以一次性将所有当前访问 nfs 共享盘阵的进程停止 也可以加-i 打开交互显示,以便用户确认

或者用 fuser 命令:

#fuser -v -m 挂载点

即可查处 用户 PID 等,KILL 掉该进程后再 umount.

或者

#umount -l 挂载点

选项 –l 并不是马上 umount,而是在该目录空闲后再 umount.还可以先用命令 ps aux 来查看占用设备的程序 PID,然后用命令 kill 来杀死占用设备的进程,这样就 umount 的 NFS 服务安全非常放心了.

 


好了,以上就是 redhat 下的简单设置,也是博主自己用的步骤,适合初次使用 nfs 的筒子参考,希望对你有所帮助!

Linux运维基础技能: 接入层与网络基础

admin阅读(76)

本系列文章一共三篇,分别为《脚本编程与 Linux 命令》、《接入层与网络基础》和《 MySQL 与 SQL 优化》,由腾讯高级工程师 luaruan(阮永顺) 原创、三叶运维整理分享,如有勘误请在博客留言。

希望对需要学习、面试 Linux 运维的同学有所帮助。Linux运维基础技能: 接入层与网络基础

MSS 与 MTU 的区别,默认大小各是多少?

  • 标准以太网接口缺省的 MTU(最大传输单元)为 1500 字节,是最大帧 1518 减去源宿的 MAC、FCS 后最大的 IP packet 大小;
  • MTU 减去 20 字节 IP 包头减去 20 字节 TCP 包头 ,即是 MSS,1460 字节
  • 一台交换机要保证接口 MTU 的一致性。如果在一个 VLAN 上、或整个交换机都采用同样的 MTU,避免一些奇怪的问题
  • 参考:https://www.zhihu.com/question/21524257

TIME_WAIT 与 CLOSE_WAIT 的区别

主动关闭连接的一方进入 TIME_WAIT ,若客户端高并发访问 HTTP 接口又没有使用会话或者线程池机制,可能会导致本地端口耗尽。

CLOSE_WAIT 出现在被动断开连接。可能常见在 Server 端,例如在 Netty 的 I/O 线程里做 DB 读写、日志记录这种不可控的阻塞行为,可能会引发客户端超时。

如何查看机器上所有的 tcp 连接?

natstat -ant

netstat -antp 如何统计 time_wait 状态的连接?

IP 包头大小?

20 字节

  • url.cn 是几级域名? -- 二级
  • www.qq.com 是几级域名? -- 三级
  • url.cn 可以 CNAME 到 demo.te.isc.demo-cloud.net 吗?

不建议这么操作,实际上很多场合是不可以这么操作的。

https://serverfault.com/questions/613829/why-cant-a-cname-record-be-used-at-the-apex-aka-root-of-a-domain

递归解析与迭代解析的区别?

Linux运维基础技能: 接入层与网络基础

先理解 13 组根 DNS 服务器、顶级域 DNS 服务器(各解析.com .net .gov 等)、权威 DNS 服务器、本地 DNS 服务器。

考虑浏览器客户端访问 www.qq.com ,会向小区宽带的本地 DNS 查询域名解析 IP ,而本地 DNS 会向根 DNS、顶级域 DNS、权威 DNS 逐个查询。

从客户端到本地 DNS 的查询是递归的;而其余的查询是迭代的。(参考《自顶向下理解计算机网络》89 页)

x-forwarded-for 与 remote_addr 的区别?

  • X-Forwarded-For: client1, proxy1, proxy2

<proxy1>, <proxy2>如果一个请求经过了多个代理服务器,那么每一个代理服务器的 IP 地址都会被依次记录在内。也就是说,最右端的 IP 地址表示最近通过的代理服务器,而最左端的 IP 地址表示最初发起请求的客户端的 IP 地址。

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Forwarded-For

鉴于伪造这一字段非常容易,应该谨慎使用 X-Forwarded-For 字段。正常情况下 XFF 中最后一个 IP 地址是最后一个代理服务器的 IP 地址

  • remote_addr 是通讯客户端与服务器实际进行 TCP 通信的 IP

IPv4 地址分类 (IPv4 地址 32 位)

A 类 0.0.0.0/8 127.255.255.255 结束

B 类 128.0.0.0/16 191.255.255.255 结束

C 类 192.0.0.0/24

D 类 224.0.0.0~239.255.255.255

192.168.2.47/26 这个子网的开始 IP 和结束 IP 是?

(32-26)=6 , 2^6 = 64 ,故每 64 个 IP 是一个子网,而 47 落在 0-63 这个子网,故 192.168.2.0 是网络号;可用 IP 是 192.168.2.1~192.168.2.62 ;192.168.2.63 是广播 IP 地址。

IPv6 地址的格式与缩写规则,怎么判断哪些是合法的 IPv6 地址?

(IPv4 地址是 32 位)

https://www.ibm.com/support/knowledgecenter/zh/ssw_ibm_i_72/rzai2/rzai2ipv6addrformat.htm

IPv6 地址大小为 128 位 完整写法是 8 段 ,0000:0000:0000:0000:0000:0000:0000:0000 至 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

省略前导零通过省略前导零指定 IPv6 地址。例如,IPv6 地址 1050:0000:0000:0000:0005:0600:300c:326b 可写作 1050:0:0:0:5:600:300c:326b。

双冒号通过使用双冒号(::)替换一系列零来指定 IPv6 地址。例如,IPv6 地址 ff06:0:0:0:0:0:0:c3 可写作 ff06::c3。一个 IP 地址中只可使用一次双冒号。

IPv4 地址如何映射到 IPv6

例如 0:0:0:0:0:ffff:192.1.56.10 和 ::ffff:192.1.56.10/96(短格式)

Ipv6 保留地址 https://zh.wikipedia.org/wiki/%E4%BF%9D%E7%95%99IP%E5%9C%B0%E5%9D%80

LVS 三种工作模式是什么?

NAT,IP tunneling, Direct Route

tcpdump 抓包的几个参数

拓展阅读http://packetlife.net/media/library/12/tcpdump.pdf

iptables 实例

三表五链

filter 定义允许或者不允许的,只能做在 3 个链上:INPUT ,FORWARD ,OUTPUT

nat 定义地址转换的,也只能做在 3 个链上:PREROUTING ,OUTPUT ,POSTROUTING

mangle 功能:修改报文原数据,是 5 个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

持久化

拓展阅读https://wangchujiang.com/linux-command/c/iptables.html

iptables 如何设置只允许内网 10.142.31.1 来访问本机的 7001 7002 7003 端口

iptables 设置允许 8080 80 443 以及主动出去的,其他拒绝

常见加密算法

对称 DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES

非对称 RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

nginx 的负载种类

轮询(默认)、权重 weight、IP hash、URL hash

nginx location 匹配:

= 用于标准 uri 前,要求请求字符串与 uri 严格匹配,一旦匹配成功则停止

~ 用于正则 uri 前,并且区分大小写

~* 用于正则 uri 前,但不区分大小写

^~ 用于标准 uri 前,要求 Nginx 找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,(匹配符合以后,停止往下搜索正则,采用这一条)而不再使用 location 块中的正则 uri 和请求

拓展阅读http://seanlook.com/2015/05/17/nginx-location-rewrite/

Nginx 配置文件结构:
Linux运维基础技能: 接入层与网络基础

拓展阅读https://segmentfault.com/a/1190000015646701

替代crontab,统一定时任务管理系统cronsun简介

admin阅读(64)

摘 要

cronsun 是一个分布式任务系统,单个节点和 Linux 机器上的 crontab 近似。是为了解决多台 Linux  机器上 crontab 任务管理不方便的问题,同时提供任务高可用的支持(当某个节点死机的时候可以自动调度到正常的节点执行)。支持界面管理机器上的任务,支持任务失败邮件提醒,安装简单,使用方便,是替换 crontab 一个不错的选择。

替代crontab,统一定时任务管理系统cronsun简介

 

一、背景

crontab 是 Linux 系统里面最简单易用的定时任务管理工具,相信绝大多数开发和运维都用到过。在咱们公司,很多业务系统的定时任务都是通过 crontab 来定义的,时间长了后会发现存在很多问题:

  • 大量的 crontab 任务散布在各台服务器,带来了很高的维护成本
  • 任务没有按时执行,甚至失败了很久才发现,需要重试或排查
  • crontab 分散在很多集群上,需要一台一台去看日志分析,头都大了
  • crontab 存在单点问题,对于不能重复执行的定时任务很伤脑筋
  • 我 X,crontab 被误删了,没备份?尼玛!
  • 我 Q,服务器要迁移,crontab 上的历史任务都是什么鬼?问了一圈居然都不知道
  • ...

因此,我们非常需要一个集中管理定时任务系统,相信这也是的饱受 crontab 煎熬的运维或开发的心声。

二、选择

我们部门的开发人力一直都非常紧张,所以靠自己开发一套完善的定时任务管理系统不太现实。因此,希望找一个开源的系统来快速满足需求。

期间,我在网上看了不少相关文章,比如 http://ju.outofmemory.cn/entry/221885

发现这些系统对于我们的实际场景来说都过于臃肿,不太合适。偶然在 github 找了一个基于 Go 语言开源的定时任务集中管理系统—gocron,发现非常轻量,于是试用了一段时间。

不过最终我还是放弃了,因为 gocron 存在单点问题,项目地址:https://github.com/ouqiang/gocron

期间和作者有过一段时间的交流,提了不少改善建议,在和 gocron 作者交流期间,他针对我提到的单点问题,推荐了另一个开源项目:cronsun,也就是本文介绍的主角,通过试用,发现非常契合我们当前的使用场景,介绍如下:

cronsun 是一个分布式任务系统,单个节点和 Linux 机器上的 crontab 近似。是为了解决多台 Linux  机器上 crontab 任务管理不方便的问题,同时提供任务高可用的支持(当某个节点死机的时候可以自动调度到正常的节点执行)。支持界面管理机器上的任务,支持任务失败邮件提醒,安装简单,使用方便,是替换 crontab 一个不错的选择。

Github 地址:https://github.com/shunfei/cronsun

cronsun 的部署架构如下:替代crontab,统一定时任务管理系统cronsun简介

三、部署

本文主要介绍功能,这里就简单写下关键步骤:

1、安装 MongoDB,强烈建议使用集群模式

2、安装 Etcd3,强烈建议使用集群模式

3、部署 cronsun

①、下载 cronsun:https://github.com/shunfei/cronsun/releases  (选择最新版本即可)

②、解压后修改 conf 目录下的配置文件:db.json 和 etcd.json,分别修改 MongoDB 和 etcd 的实际地址。

③、启动 web:./cronweb -conf conf/base.json (若要后台运行则使用 nohup)

④、启动 node:./cronnode -conf conf/base.json (若要后台运行则使用 nohup)

⑤、访问前台:http://x.x.x.x:7079/ui/

4、部署鉴权组件 aProxy,cronsun 在鉴权方面做的非常粗糙,所以这里用到了 cronsun 团队开发的 aProxy 鉴权组件,实现的原理为基于 Go 语言,反向代理了后端 WEB,从而实现域名和页面地址的访问控制,介绍地址:https://www.cnblogs.com/QLeelulu/p/aproxy.html

我们这边是要用到生产环境,所以在部署上会着重考虑到可用性和可靠性,这里贴一下我们这边的部署架构图,供参考:
替代crontab,统一定时任务管理系统cronsun简介

Ps:目前新版本已支持历史日志定期清理。

这里,Etcd 和 MongoDB 复用了 5 台服务器(后续会继续复用其他公共组件),其中 MongoDB 采用分片+副本集的模式。

四、功能

部署完成后,访问前台就能看到 UI 比较简陋 cronsun 管理 WEB 了:
替代crontab,统一定时任务管理系统cronsun简介

Ps:右上方选择熟悉的语言之后,基本就可以按照页面标签进行任务添加操作了。

1、添加节点

cronsun 基于 etcd 实现了自动发现和注册的功能,所以添加节点非常简单,直接将 cronnode 和 conf 拷贝到客户端服务器启动之后,就能在前台->节点页面看到该服务器了,当然节点和 Etcd 以及 MongoDB 之间的网络必须畅通。替代crontab,统一定时任务管理系统cronsun简介

2、节点分组

添加了所需的节点服务器之后,我们可以将节点进行分组,从而方便定时任务的添加:替代crontab,统一定时任务管理系统cronsun简介

3、添加任务

节点和分组都搞定之后,我们就可以开始添加定时任务了。定时任务填写的信息略微复杂,不过按照提示还是可以轻松搞定的:替代crontab,统一定时任务管理系统cronsun简介

上图我简单的标注了一些需要特别说明的地方,其他的选项大家看中文描述都能自行搞定。当然,还有一点要说明的是,任务脚本必须要有执行权限,否则任务会执行失败。

4、任务列表

添加完成任务之后,在任务标签页就能看到所有添加的定时任务以及执行情况了,这里可以使用分组过滤或节点过滤来筛选关心的任务。替代crontab,统一定时任务管理系统cronsun简介

每一个任务的右侧有 3 个小按钮:

①、成功/失败:显示最近一个任务的执行是成功还是失败,点击后可以查看到任务详情,包括任务输出数据:替代crontab,统一定时任务管理系统cronsun简介

②、latest 按钮:点击后查看改任务的近期执行情况

③、刷新符号按钮:点击后可以弹出立即执行功能,方便调试任务替代crontab,统一定时任务管理系统cronsun简介

五、小结

通过一段时间的灰度试用,可以确定 cronsun 在中小型规模场景下,是 crontab 的一个比较好的替代品,它能够帮助运维人员脱离 crontab 难管理、难运维的苦海。

当然,作为一款开源产品,cronsun 很多功能细节还有很大的提升空间,目前我也和 cronsun 团队长期保持联系,将生产环境使用过程中遇到的一些问题和建议一一反馈,相信这款产品能够继续打磨优化,更加完善、完美。

六、问题及更新【持续】

问题记录:

1、告警配置

首先要清楚 cronsun 的告警是由 cronweb 发出的,而不是 cronnode(但是 cronnode 的 mail.json 也必须 Enable:true,否则还是无法发出告警)。

其次,编辑 cronweb 和 cronnode 的配置文件:mail.json,如下内容

Ps:LocalName 建议留空,HttpAPI 模式未使用到,这里省略之,请自行测试。

最后启动 cronweb 即可实现邮件告警。

当然, 还需要在 web 上的单向任务界面开启告警才行,如下图所示:替代crontab,统一定时任务管理系统cronsun简介

Ps:cronweb 的 mail.json 配置中必须将 Enable 填为 true 才可以看到上图的告警开关按钮,否则不显示。

2、更新记录

详见 github 版本发布页面:https://github.com/shunfei/cronsun/releases

重要功能更新:

①、已支持脚本参数;

②、已支持历史日志定期清理;

③、3.1 版本开始使用 UUID 作为节点唯一标识。

给已安装的Linux新增Swap交换分区

admin阅读(30)

跟了我 5 年多的本本已步入花甲,CPU 严重老化,运行 Windows 异常吃力,于是考虑换成 Linux 试试。忙活了一天,测试了 2 个“家用”Linux 发行版,一个是深度的 Linux Deepin 2013,另一个是雨林木风的 StartOS 5.1。在测试过程中也遇到一些有用的经验,现在就一一记录一下。

这是在安装完 StartOS 后进行的记录,因为是安装在以前的 C 盘,就没继续分区来新增挂载点,直接挂了个根分区(/)就装完了系统。进入系统之后,发现没 swap 交换分区,所以就手动添加了一下。

Ps:添加 swap 交换分区是需要 root 权限的,不会的可以点击查看如何启用此类系统的 root 帐号


 

新增 swap 分区,四个步骤即可搞定:

完成以上三个步骤之后,就可以使用 free -m 的命令查看到 swap 分区已经生效了,但是这还只是临时的,重启系统后将会失效,所以我们要将这个分区写到 fstab 中:

使用  vim /etc/fstab 编辑 fstab 文件,在后面追加以下内容(路径依然不变)

如果不太会使用 vim,可以使用 echo 追加的方式写入,注意写入前先备份一下 fstab 文件。

记录到此结束,最后附上博主的前三步操作截图,供参考:

给已安装的Linux新增Swap交换分区

10个超有趣的Linux命令

admin阅读(34)

本文展示了 10 个有趣的 Linux 动态命令,这些命令和实用功能无关,仅供娱乐!看完此文,你会对 Linux 有个全新的认识,谁说 IT 男就没有屌丝娱乐的一面呢?还等什么,就让我们开始看文章吧~看完之后记得亲自尝试一下哦!

Linux 最强大的一个特征就是它有大量的各种小命令工具,这也可以称做是它最有趣的一个地方了。在这些大量的有用的命令和脚本中,你会发现有少部 分命令工具不那么有用的——如果你不愿意说是完全没用处的话。你要知道,Linux 命令终端并不是总来干一些严肃的事情的,这里列举的几个没有实际用处、 但很有趣的命令,它们的有趣并不是因为无用,而是真的有趣,接下来就让我们看看它们是如何搞怪的吧。

一、cmatrix

你应该看过好莱坞大片《骇客帝国》,相信你会对电影中那些神奇的场景着迷。在 Neo 的眼里任何东西都能以计算机字节流的形式展现,你是否也想做一个很有黑客范儿的数据流的桌面呢?

安装 cmatrix

执行效果:

10个超有趣的Linux命令

二、oneko

如果你认为 Linux 终端只是字符和光标,没有什么其它更丰富的表现形式了,那你就大错特错了,“oneko”命令就是一个很好的例子,不要以为 oneko 只是一种小猫的图形,移动你的鼠标,它会和你一起玩耍的。

安装 oneko

执行效果

10个超有趣的Linux命令

三、aafire

有没有想过在你的黑白命令终端上燃起一团火将是什么样子,你只需要输入 aafire 命令,回车,奇迹就会出现。

安装 aafire

执行效果

10个超有趣的Linux命令

 

四、ASCIIquarium

这真是一个不可思议的杰作,你的 linux 终端窗口竟然成了水族馆,里面有水,有石、有鱼、有兽。不多说,自己欣赏一下吧。

安装 ASCIIquarium

执行效果

10个超有趣的Linux命令

五、toilet(厕所)

有没有搞错,还有叫这个名字的命令?尽管这个名字本身就已经够搞笑了。那这个命令有什么特殊功能呢?肯定不是执行这个命令后你家马桶就能自动冲洗 了。它是能用字母拼写出更大字母的工具,具体拼出什么字由命令后面的参数决定,不仅如此,它还能打印出各种风格的效果,比如彩色,金属光泽等。

安装 toilet

运行效果

10个超有趣的Linux命令

六、蒸汽机

看清楚了,不是 ls,是‘sl’。ls 是 linux 命令最常用的一个命令,用来列表文件目录等。因为用的频繁,难免有着急打错的时候,一旦你敲成了 ‘sl’,会出现什么结果?后果很严重,是否还记得《盗梦空间》里突然一辆火车出现在梦境里的场景吗?这个命令的效果就是让你的屏幕上隆隆的驶过一辆蒸汽 机火车。有趣吧。

安装 sl

执行效果

10个超有趣的Linux命令

 

七、Cowsay

从这个命令的名字上,你就应该猜到,牛要说话了。的确,牛有话要说,而且是奶牛。这个命令有个加强版,叫做 xcowsay,效果更好。

安装 Cowsay 和 xCowsay

运行效果

10个超有趣的Linux命令

 

八、xeyes

执行 xeyes 会在屏幕上出现一双大眼睛,而且眼珠会跟随你的鼠标转动。

安装 xeyes

运行效果

10个超有趣的Linux命令

九、moo

你今天咩咩了没有?呵呵

执行效果

10个超有趣的Linux命令

 

十、bb

自己在命令行窗口里输入 bb,看看会发生什么情况。

安装 bb

执行效果

10个超有趣的Linux命令

解决dos2unix/unix2dos报错,并在家目录下生成u2dtmp*文件问题

admin阅读(27)

最近接到一个 case:大数据分析那边反馈我们这边推送的数据同比去年同期少了很多。这是很不正常的,因为业务一直在增长。

解决dos2unix/unix2dos报错,并在家目录下生成u2dtmp*文件问题

于是,我开始顺藤摸瓜的跟进。一开始就发现一个小问题:scp 推送文件脚本执行后居然会报错:

[root@netdata :/data]# sh pushdata.sh

dos2unix: converting file pushdata.log to UNIX format ...

dos2unix: problems renaming './u2dtmp8jwsge' to 'pushdata.log' output file remains in './u2dtmp8jwsge'

dos2unix: problems converting file pushdata.log

原来是将生成的日志转换成 Unix 格式。按理说应该不会影响数据的推送,不过还是顺手处理下。

奇怪的是,人工去执行 dos2unix 却是正常的,看来和脚本有关系了。看了半天的脚本,也没看出哪儿有明显的错误:

dos2unix  /data/pushdata.log

还是先不浪费时间自己摸索了,直接丢百度一下,发现并没有什么 luan 用。进而丢谷歌,终于在一个国外论坛找到了正确的解释:

It turns out that when you run the script from cron your current directory (PWD) is set to your home directory. Unix2dos creates the temporary file used in the conversion in your home directory then can't find it to rename it. Not sure why it can't find it.

I added a change directory command (cd) and Unix2dos worked.

大概意思是,crontab 计划任务中的脚本当前执行路径默认会设置为家目录。所以,dos2unix/unix2dos 会在家目录下创建转换后的临时文件(u2dtmp****),导致命令无法在目标路径找到将临时文件,并重命名为被处理的文件名,作者表示他也不知道为什么会找不到。不过他给出的解决办法就是:在脚本里面加入 cd 到日志所在路径的命令即可。

比如,本文 case 中可以在脚本一开始处加入 cd /data

我解决之后发现就释然了。其实问题的原因很简单:

crontab 下执行的脚本,默认的工作路路径是家目录(手动执行的脚本,默认的工作路径则是当前所在目录)。由于脚本中并没有加入工作路径的定义,所以就用了默认的家目录作为工作路径。

dos2unix/unix2dos 这 2 个命令的工作原理是:在工作路径将转换后的内容保存为一个临时文件,然后在将这个临时文件重命名为被处理的文件,完成格式转换。若工作路径和被处理文件并不在同一个目录,就会导致这个报错,生成的临时文件也被保留下来。

所以,若是 crontab 中存在这个问题,将会在家目录下生成大量的 u2dtmp*** 临时文件。

哦了,若是发现 dos2unix/unix2dos 报类似错误,肯定是脚本没有定义工作路径。可以在脚本的前面加入 cd 到文件所在目录再执行 dos2unix/unix2dos 即可。

当然,如果只是要转换格式,我们还有多种替代方案,没必要吊死在 dos2unix/unix2dos 上。毕竟有些系统可能没有这 2 个命令。

替代命令①:sed

替代命令②:tr

好了,解决了这个问题,我该继续跟进同步问题了。

Linux :MAC 地址克隆方法

admin阅读(27)

摘 要

虽然 MAC 地址由厂商指定,但用户可以改变它,这就是传说中的“MAC 地址欺骗”。你可能会疑惑,弄这个有什么用?好吧,玛思阁举个例子,比如,电信宽带的PP拨号很多时候就是绑定MAC地址的,换一台电脑可能就会拨号失败,这时候的解决办法就是在新机器上克隆已绑定的那个MAC地址即可!
一般大部分人仅知道如何对Windows系统的网卡进行克隆,而本文将向大家展示在 Linux 上进行 MAC 地址克隆的方法。

虽然 MAC 地址由厂商指定,但用户可以改变它,这就是传说中的“MAC 地址欺骗”。你可能会疑惑,弄这个有什么用?好吧,玛思阁举个例子,比如,电信宽带的 PP 拨号很多时候就是绑定 MAC 地址的,换一台电脑可能就会拨号失败,这时候的解决办法就是在新机器上克隆已绑定的那个 MAC 地址即可!

一般大部分人仅知道如何对 Windows 系统的网卡进行克隆,而本文将向大家展示在 Linux 上进行 MAC 地址克隆的方法。

Linux :MAC 地址克隆方法

网卡生产商在每一张网卡(NIC)在出厂时都会在上面刻上一个 48 位的全球唯一标识符(GUID,例如 08:4f:b5:05:56:a0),这串 GUID 就是网卡的 MAC 地址,用于确定一张网卡的身份。MAC 地址的高 24 位叫 OUI(Organizationally Unique Identifier 组织唯一标示符),是为网卡设置 MAC 地址的组织的标识符,这样一来,不同组织设置的 MAC 地址就不会冲突了。(译注:实际生产中,并不是每个网络设备都有不同的 MAC 地址,有时候地址空间不足,生产商会给发往不同地区国家的产品中用相同的地址空间。)

Linux :MAC 地址克隆方法

虽然 MAC 地址由厂商指定,但用户可以改变它,这就是传说中的“MAC 地址欺骗”。本文将向大家展示如何在 Linux 上玩 MAC 地址欺骗。

为什么要玩 MAC 地址欺骗?

想要理由?这里就给几个比较有技术含量的理由。 一些网络供应商会通过绑定你家路由器上的 MAC 地址来验证你的身份,这个时候如果你的路由器坏了,你怎么办?你可以暂时把你的电脑的 MAC 地址改成你家路由器的 MAC 地址,让你的 ISP 重新将你连入外网。(译注:有这种事情么?)

很多 DHCP 服务器会依赖 MAC 地址来分配 IP 地址。如果你想换一个分配给你的 IP 地址,你可以改改你的 MAC 地址。这样一来,你不必等着 DHCP 服务器给你重新分一个 IP 地址,而是马上就能得到一个新的。

除了技术原因外,这里也有一些比较正当的理由来说明你为什么需要改变你的 MAC 地址:为了隐私、为了安全,你要把你真正的 MAC 地址隐藏起来。不像处在 ISO 模型第三层的 IP 地址会经常变来变去,你的 MAC 地址可不会改变。在你说我多疑之前,请确定你知道你的隐私到底是什么东西。有一个入侵手段叫 piggybacking,黑客会在公共 WiFi 网络下伪装成你的 MAC 地址,并且在你不在场的时候伪装成你的身份进行黑客活动。

怎么临时性地改变 MAC 地址?

你可以在 Linux 运行的时候改变 MAC 地址。需要注意的是当 MAC 地址转换的那一会时间,你的网络会掉线。当电脑重启时 MAC 地址又会变回原来的。下面介绍几种方法来改变你的 MAC 地址。

方法一:iproute2

方法二:macchanger

macchanger 这个命令可以让你把 MAC 地址改成不同生产厂商的序列号。

在 Debian,Ubuntu 或 Linux Mint 下安装 macchanger:

在 Fedora 下安装 macchanger:

在 CentOS 或 RHEL 下安装 macchanger:

下面给出一些 macchanger 的高级使用例子。使用 macchanger 你不必再手动禁用、启用你的网卡。

仅仅改变 MAC 地址:

在保证 OUI 一致的情况下为 MAC 设置一个随机地址:

为 MAC 设置一个完全随机的地址:

获取所有网卡的 MAC 地址,然后只列出指定的厂商(比如 Juniper):

Linux :MAC 地址克隆方法 显示一块网卡原来的 MAC 地址和伪装的 MAC 地址:

如何永久性地改变 MAC 地址?

如果你想在系统重启后还保持伪装 MAC 地址,你需要编辑配置文件。比如你想改变 eth0 的 MAC 地址,按以下方法搞起:

在 Fedora,CentOS 或 RHEL 下:

或者你可以建一个开机启动的脚本放在 /etc/NetworkManager/dispatcher.d 目录下,前提是你使用 Network Manager 管理你的网络。这里假设你已经装了 macchanger,脚本内容如下:

在 Debian,Ubuntu 或 Linux Mint 下:

新建一个开机启动脚本,放在 /etc/network/if-up.d/ 目录下:


via: http://xmodulo.com/2014/02/spoof-mac-address-network-interface-linux.html

译者:bazz2 校对:wxy

Linux优化方法收集与整理

admin阅读(33)

之前一直有博主要求整理下 VPS 主机优化方法,那么如果你是 VPS 主机(Linux),可以尝试一下了,尤其是 linux 系统的内核参数优化。

一、增加 SWAP 分区

VPS(Virtual Private Server 虚拟专用服务器)技术,将一部服务器分割成多个虚拟专享服务器的优质服务。每个 VPS 都可分配独立公网 IP 地址、独立操作系统、独立超大空间、独立内存、独立执行程序和独立系统配置等。

下面是配置过程中的一些笔记:

VPS 只有一个根分区,没有 swap 交换分区。VPS 内存不大,于是,我为其增加了一个 swap 交换文件。

1、进入一个目录

cd /var/

2、获取 256M 的文件块:

dd if=/dev/zero of=swapfile bs=1024 count=262144

3、创建 swap 文件

/sbin/mkswap swapfile

4、激活 swap 文件

/sbin/swapon swapfile

5、查看一下 swap 是否正确:

/sbin/swapon -s

6、加到 fstab 文件中让系统引导时自动启动

vi /etc/fstab

在末尾增加以下内容:

/var/swapfile swap swap defaults 0 0

Ps:这个方法在玛思阁以前的文章同样整理过,详见:给已安装的 Linux 新增 Swap 交换分区
--------------------------------------------------------------------------------

二、修改 Linux 系统时区

系统默认为美国东部时间,修改 Linux 时区为东八区

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

以上摘自:http://www.jb51.net/article/16732.htm

三、Linux 内核参数优化

Linux 内核参数优化可以使用 sysctl 命令完成,但是命令只能临时生效,若要永久保留配置,我们就得编辑 sysctl.conf 这个文件了。先附上 sysctl.conf 详细参数说明

sysctl.conf 文件中参数设置及参考推荐值

需要优化的朋友,可以参考上面的参数说明,并根据服务器实际负载来定制你的 sysctl.conf 文件,下面贴上一个针对 nginx 内核参数优化的例子,仅供参考(待补充):

将以上代码添加到 sysctl.conf 文件的最后,然后执行/sbin/sysctl -p 即可生效。

三、关闭多余 tty,释放内存

linux 默认会启动 6 个 TTY 控制台,都需要常驻占用内存(1tty 占用 4M 多的样子),事实上没必要需要使用这么多 tty,个人 vps,仅需 1~2 个 tty 即可。

Centos5.* 设置 tty 数量:

①、编辑 /etc/inittab,找到 tty [1-6] 改成 tty [1-2]

②、编辑 /etc/sysconfig/init,同样将 tty [1-6] 改成 tty [1-2]

重启系统即可生效(建议先不重启,等后续操作完成一起重启即可);

CentOS 6.* 设置 tty 数量:

CentOS 6.0 开始 TTY 的配置由 /etc/inittab 更改为 /etc/init/start-ttys.conf,所以上面的第①步变为:

①、编辑 /etc/init/start-ttys.conf,找到 tty [1-6] 改成 tty [1-2]

②同上编辑即可

四、关闭 ipv6

ipv6 一般都用不到,完全关闭即可。

编辑 /etc/modprobe.d/dist.conf 文件,在最后追加:

alias net-pf-10 off

alias ipv6 off

然后重启系统即可(某些发行版可能是/etc/modprobe.conf 文件)。

五、关闭多余启动项

执行  chkconfig --list | grep :on  列出启动项:

Linux优化方法收集与整理

 

然后找到不需要启动的项目,执行 chkconfig 程序名 off 即可.

比如,ip6tables 是 ipv6 防火墙,用不到,执行  chkconfig ip6tables off ,然后执行 service ip6tables stop 即可彻底关闭 ip6tables 这个多余进程。

其余进程,请先查清楚作用,再来操作,以免出错。

暂时就整理这么多,后续发现更多的优化设置,再来追加~

联系我们