1.基本安装
把光盘塞进光驱,设置BIOS从光驱启动(别告诉我你不会),然后会看到启动界面,上面有一些提示,可以输入一些命令进行高级安装或者进入系统修复模式。不用管,直接按回车。
稍等一下,会出现一个界面要求你做光盘的完整性检查。一般来说现在刻出来的盘不会有坏的,除非是下载回来的ISO文件有问题。所以这里我们跳过。
跳过的方法是:按键盘的TAB键进行控件的选择,被选择上的控件会高亮,我们选择Skip(建议大家随时打开翻译工具或者网站对不懂的英文进行翻译),然后按空格键进行确认。
然后再等一下,我们就可以看到安装的图形界面了。
按下一步(Next),选择安装语言。因为Linux对中文支持并不好,黑漆漆的字符界面如果显示中文的话会有乱码(虽然远程连接上去的时候可以看到,但服务器一旦出现故障,需要在机房操作的时候,你就会发现默认英文是多么重要),所以我们就选择默认的英文(English),然后按下一步。
接着就是选择键盘样式。相信大家的键盘都是英文而不是日文的(玩过笔记本的都见过水货IBM吧?上面一撇一划的就是日文键盘),那么就留着默认U.S. English吧。什么?你刚好拿水货IBM来装?那还得用英文,否则打出来的字乱七八糟别怪我。
下一步,轮到选择安装方式了。因为我们是全新安装,所以就选择第一个Install CentOS,下一步。
接着是询问要如何分区了。坚决不要用一个分区安装所有文件,或者让系统自动划分。我们坚持所有分区都自己来划分。这样可以有效避免在单个分区出现问题的情况下会造成所有资料无法恢复的情况。(难理解?其实就跟Windows的C盘出问题一样。C盘出现严重问题无法读取,但可以使用工具盘启动系统,访问D、E等盘,把资料恢复出来)
我们在下拉菜单里面选择Create custom layout(创建自定义布局),下一步。
然后会看到当前机器上面硬盘的情况,Linux所有的设备都在目录/dev下面,普通的IDE硬盘的标识是hd(scsi、sata是sd),第一个硬盘是a,第二个是b,如此类推。所以这里如果你用的是普通IDE硬盘,然后接在第一根IDE线主盘的位置上,那么硬盘的标识就是/dev/hda。如果是sata硬盘,那么一般就是/dev/sda。如果光驱是IDE的,接在另外一根IDE线主设备口上,那么一般是/dev/hdc。
另外大家要对Linux的分区有认识。大家会觉得奇怪,Windows有C盘,D盘,为什么Linux没有?Linux的分区又是用什么一种方式存在的呢?
其实在Linux里面,每个分区都会作为一个目录对待。所有目录都从/(根)开始,树形发展。具体情况大家可以去参考相关资料,这里不多做阐述。这么做对于我们有一个最大的好处:某个目录分区空间用完了,我们只需要加装一个大硬盘,然后把这个硬盘整个分成一个区,在系统里面加载,把这个目录里面的文件全部拷贝进来,作为这个目录,这样就不怕空间不够了。
接着说说分区的文件系统。用Windows的朋友一定都知道fat32,ntfs吧?Linux下面最常用的文件系统是ext3和reiserfs,另外有比较旧的ext2,现在已经很少人用了,还有SWAP,交换分区。几种文件系统的优劣就不做评比了,文内一律使用ext3,因为CentOS对ext3支持比reiserfs要好点。
Linux的基本系统包括了下面几个目录
/ 根分区,如果你想把整个硬盘分一个区,那么就分这个区
/bin,/sbin 都是一些用到的命令
/boot 放置启动文件
/usr 包括一些命令、库、帮助等一些不常改变的文件
/usr/local 同上,一般新的程序都安装在这里,就跟Windows的Program files差不多
/var 都是一些经常变化的文件,比如log
/home 看名字就知道,用户住的地方
/etc 里面都是设置文件,跟注册表有点类似作用
/lib 共享库,so文件,作用类似windows的dll文件。打开里面会看到一些数字,其实是版本号
/root 老大住的地方,后面会提到
下面是几个比较特殊的目录
SWAP 看清楚了,前面没有/的。Swap是交换分区,也就是Windows里面的虚拟内存,但不一样的是基本不会用到。分区的时候只需要分一个,不需要设置挂载点,文件系统选择好就行。
/dev 存放设备系统 ,属于虚拟文件系统
/proc 存放有进程信息,同样是虚拟文件系统。可以通过此文件系统实时修改内核或者进程,也就是交互。比如可以实时查看内存的使用、CPU信息
后面两个看不懂没关系,我们先来分区。
上面的图片可以看到,硬盘原来存在分区,我们把/dev/hda选上,然后点上面菜单的Delete整个删除。
接着我们点一下菜单的New,开始分区,先分一个/,文件系统选择ext3,分区大小是1G,也就是1024M。
Mount Point就是挂载点,输入/
File System Type文件系统,下拉中选择ext3
Size分区大小,按照MB计算的,输入1024
完成后按OK
跟着分SWAP,点New,直接在File System Type选择swap,Size输入2048,按OK
剩余的分区大家按照下面来分
/ 1024
swap 2048
/usr 5120
/usr/local 5120
/var 5120
/tmp 2048
/usr/local/squid 1024
/var/spool/squid 所有剩余的空间
所有剩余的空间要怎么选?很简单,选上Fill to maximum allowable size即可。
分区分完以后,看起来像下面的样子
OK,所有分区都完了以后,我们继续下一步。
接着会出现一个安装GRUB的界面。GRUB是用来启动系统的,包括双系统的启动都要用上,装好后在启动的时候你会看到有一个菜单给你选择。这里不用更改什么,直接下一步就好。
如果你的网卡能顺利被系统认出来的话,这步就应该是让你配置网卡参数了。
点击Edit,出现网卡配置页面。先把Use dynamic IP configuration(DHCP)去掉,DHCP是自动从网关分配IP,因为我们的IP是固定的,所以不需要。
然后IPv6我们也不用,Enable IPv6 support也去掉。
Activate on boot表示系统启动后自动启动网卡,要选上。
因为这台服务器是网通使用,IP是2.2.2.2,所以在Address里面就输入2.2.2.2,Prefix(Netmask)是子网掩码,可以输入255.255.255.0或者24。24是一种名为CIDR的寻址方式,具体可以去Google一下,这里不深入解释。
配置好的网卡如下图
保存后,我们还需要设置主机名,这里就设置为cnc.naizhao.com吧。
然后还有一些杂项(Miscellaneous Settings),Gateway是网关,Primary DNS是主DNS,Secondary DNS是次要DNS,根据具体需求设置上去。
跟着设置时区。点一下地图的右上角,然后在上海的位置点一下,左下角的下拉菜单会变为Asia/Shanghai,下一步。
跟着就是设置root的密码。Linux跟windows不一样,windows可以有很多个管理员,Linux只能有一个root,一般用户要行使管理员的身份,必须要用su这个命令临时改变身份为管理员。
输入两次密码后确认,下一步。
接着就是选择安装类型了。把Desktop什么的全部去掉,在Server前面勾上 。下面会有一行提示,问你要在什么时候进行所安装的包的详细配置(You can further customize the software selection now, or after install via the software management application),选上Customize now。下一步。
接着是安装包选择界面。左边会有Desktop Environments/Applications/Development等。按照下面的列表进行选择:
* Desktop Environments
- 全部去掉
* Applications
- Editors 选上
- 其余全部去掉
* Development
- Development Libraries 选上
- Development Tools 选上
- 其余全部去掉
* Servers
- 全部去掉
* Base System
- Dialup Networking Support 去掉
* 其他均为默认
下一步,开始安装。等待安装完成后重启即可。
2.初次启动
初次启动的时候,会有一个设置代理,就跟安装时要求检测CD完整性的界面差不多,用上下键选择Firewall configuration,按一下TAB键,空格进入。
然后在Security Level选择Disabled,也就是关闭防火墙,TAB键选择OK,空格退出。之后系统会继续启动,直到出现登录界面。
CentOS release 5 (Final)
Kernel 2.6.18-8.el5 on an i686
cnc login:
3.远程连接
Linux的远程连接方式是ssh。ssh是一种经过加密的连接方式,所有数据交换都会被加密,就算服务器被arp攻击也不怕密码会被监听。
Windows下的ssh客户端,我们一般使用putty。因为putty太好用了,所以有台湾的网友进行了修改并且本地化,发布出来的程序名字叫做pietty。
Pietty的官方网站是:http://www.csie.ntu.edu.tw/~piaip/pietty/
下载地址是:http://www.csie.ntu.edu.tw/~piaip/pietty/stable/pietty0327.exe
下载回来运行,然后输入服务器的IP,回车就可以连接了。如果是第一次连接服务器,程序还会提示你是否接受并保存服务器的证书,选择是即可。然后按照提示输入用户名root和密码。
4.Linux的基本命令
首先要注意:Linux是一个大小写区分的系统。不管你做什么事情都要注意大小写。cpu和Cpu是不一样的。
说几个比较常用的
ls 列出文件和目录。默认是当前目录,如果要列出/bin下面的文件,输入ls /bin
cd 进入某个目录。比如cd /bin可以进入/bin目录,cd ..进入上一级目录,cd abc进入当前目录下面的abc目录,cd -回到上一次进入的目录。
cp 拷贝文件或者目录。cp a b拷贝a文件为b文件
mkdir 建立目录。比如mkdir naizhao。如果要建立/a/b/c/d/e这个目录,但/a/b/c/d这几个目录都不存在,使用mkdir -p /a/b/c/d/e,那么会把这几个目录一并创建。
rm 删除文件或者目录。rm a删除a文件。要删除一个目录必须要用rm -rf a,表示删除a目录
mv 移动文件。不过大部分情况下用来给文件改名。因为linux下面没有专门改名的命令。mv a b把a文件改名为b。mv a ../把a文件移动到上一级目录
more 比较有用的命令。比如用了ls命令,但出来的文字太多,已经超过一个屏幕了,我要看开头部分的内容要怎么看?可以使用ls|more,这样就可以随意的翻屏了。|是管道,负责把|前面命令的结果交给|后面的命令。管道可以使用多个,比如ls -lh|grep naizhao|more,也就是说把ls -lh的结果交给grep处理,然后grep把处理出来的结果交给more。
grep 也是比较常用的命令。负责把所需要的内容抽取出来。比如我ls -lh /lib,内容太多了,并不都是我所需要的,我只需要包含dns这几个字的内容,那么我就使用ls -lh /lib|grep dns。如果我需要不包括dns这三个字的内容呢?使用ls -lh /lib|grep -v dns
cat 不是猫。cat命令负责把一个文件里面的内容完整输出来。内容多的时候配合more使用。比如cat /proc/cpuinfo,会把cpuinfo里面的内容显示出来。
wc 噢,不是厕所,别误会。这是用来算数的。比如我要算一个文件里面有多少行,那么使用cat /proc/cpuinfo|wc -l,输出的数字就是cpuinfo文件的行数,-l参数是按照行(line)来计算。这个命令最常用的时候是什么呢?看网络连接,比如要看看当前系统是不是被别人SYN了,那么输入netstat -an|grep SYN|wc -l
netstat 查看网络状态,一般用来看系统当前有几个连接。比如看80端口有多少个连接,输入netstat -an|grep :80|wc -l
这些命令建议大家多点玩,不要怕。玩坏了系统大不了重装,反正上面现在也没资料。
5.VIM的基本使用
VI是所有Unix系统必带的工具。干什么用的呢?Windows的记事本,知道吧?这个东西比记事本还要高级几百倍,整个Linux基本就是在VI里面写的。VIM则是VI的改进版本,某些系统里面只带了VI,没有VIM。但这两个东西命令上是没有分别的,都是命令行里面敲入vi就可以启动。
我们要学习以下几个方面:打开文件、编辑文件、保存文件
我们以/etc/hosts文件为例,在里面添加一条1.1.1.1 www.naizhao.com的记录。
A.打开文件
打开文件很简单,vi 文件名,比如vi /etc/hosts,然后会看到类似下面的内容
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 cnc.naizhao.com cnc localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
B.编辑文件
编辑一共三个方面:插入(添加)、修改、删除
vi里面,可以通过键盘的方向键移动光标。我们移动到
::1 localhost6.localdomain6 localhost6
这行,然后按下键盘的o(字母)键,会发现光标跑下面去了,自动新起一行。
然后我们输入1.1.1.1,按两次键盘的tab键,再输入www.naizhao.com,然内容看起来像下面这样
1.1.1.1 www.naizhao.com
然后,我们按两次键盘左上角的esc键。在按第一次的时候,你会发现光标向前跳了一下,马上再按第二次,如果你打开了音箱,你会听到当的一声响。
好了,添加新一行就是那么简单。
然后,我们再为1.1.1.1添加一个记录,tel.naizhao.com,怎么做呢?
移动光标到www.naizhao.com的m上,按一下键盘的i(insert的意思)键,这样编辑模式就会变为插入。嗯,敲个空格看看。啊,怎么把我的com给分开成co m了?我要的不是这个效果啊!
不急不急,按照前面的方法,按两次esc键,退出编辑模式,然后按一次键盘的u(undo)键。哦,还好,东西都回来了。原来i是在当前文字的前面插入啊。那再来一次,光标移动到m上面,按一下i,然后用键盘把光标向右移动一下,来到m的背后,敲一个空格,然后输入tel.naizhao.com,然后按两次esc键。嗯,看起来有模有样了。
喂,我怕文件被我破坏了,想要先保存一下,怎么办?
保存文件啊,也很简单啊。先输入一个冒号(:)。什么?不知道怎么输?按住shift键,敲一下回车键左边的分号;,这不,冒号出来了。然后冒号后面跟着一个w(write),看起来就像这个样子:w,回车。你会看到一行提示
“/etc/hosts” 5L, 248C written
表示文件保存完成。
然后,呃,还有修改。如果我发现某个字打错了,比如com的o,我打成0了,我要怎么改?
先把光标移动到0上面,然后按键盘的r(replace),然后按一下o,哈哈,改过来了,赶紧:w保存先。
嗯。。。如果我不需要tel.naizhao.com,我要怎么删除啊?
删除的英文是什么来着?delete吧?鼠标移动到tel的t上面,按一下键盘d,然后按一下右方向键,嘿嘿,t被删掉了。但是,我要删除整个url,一个一个删过去,是否麻烦了点?嗯,有点道理,跟我一起数数吧。1,2,3,4,5….tl.naizhao.com一共有14个字符,那我就先按一下键盘的d,然后用数字键输入14(带有特殊符号那行,不是小键盘)(呃,怎么输入后看不到的?),然后按一下右方向键,嗯,世界清净了。真完美。
另外,还有一些比较方便的快捷键,比如输入dd,删除当前行,输入gg,会回到文件的开头位置,输入G(也就是shift+g)会到文件的末尾,ctrl+d到下一页,ctrl+b到上一页,shift+a在文件末尾插入,shift+d删除当前光标位置一直到行末的文字,这些都等大家慢慢琢磨。
C.保存文件
保存文件刚才说了一个:w,如果我想直接保存退出,要怎样呢?可以使用:wq(write&quit),或者直接:x。
但是,文件刚才被我改到一塌糊涂,我不想保存了,我要直接退出,怎么退?
如果文件没有被改变过,可以直接输入:q退出。但如果文件被改动过,但又没有保存,:q会报错,那么可以在q前面加上一个!,强行退出,就像这个样子:!q
如果文件只读,你要强行写入,当然可以在w的前面加上!了。
6.设置安装更新
国外的东西在国内有个很麻烦的地方:镜像都在国外。所以,要升级系统,必须要把镜像改为国内的私人镜像。于是乎,刚才所学到的VIM知识又用上了。
CentOS的升级工具为yum,镜像配置文件在/etc/yum.repos.d/CentOS-Base.repo,那么,我们用vi打开吧。
vi /etc/yum.repos.d/CentOS-Base.repo
呃,里面好多网址啊,难道要我一个一个都改过去?岂不是累死我?
不怕不怕,记事本都有查找替换呢,vi当然也少不了这个功能了。
yum默认是从mirrorlist=这行获取镜像列表的,既然我们指定了镜像地址,那么就需要把这行注释了。注释的方法是在前面加上#,也就是#mirrorlist=这样。
赶紧开始操作,vi里面查找替换的格式大概是这样:%s/a/b/g,也就是查找a,替换成b,g则是全文件查找。把公式套用过来,就是这个样子
:%s/mirrorlist=/#mirrorlist=/g
嗯嗯,输入回车看看,都替换掉了吧?哈哈。
接着,指定url地址要把#baseurl=前面的#去掉,根据刚才的例子,得到
:%s/#baseurl=/baseurl=/g
又OK了一个,剩下最后一个了。
国内私人搭建的centos镜像,比较有名的是be10.com,网址是http://mirror.be10.com/
打开上面的网址,可以看到孤零零的一个centos目录,对比一下配置文件里面的url
http://mirror.be10.com/centos/
http://mirror.centos.org/centos/
找不同游戏开始了,看来看去,两个url的差别就是be10.com和centos.org了,也就是说我只要把centos.org替换成be10.com就可以了。
:%s/centos.org/be10.com/g
大功告成,赶紧保存退出,然后输入
yum update
更新吧。
更新的过程中会有互动节目,有几个地方会让你输入y来确认是否要安装更新包,直接输入y回车确认就好。
忙活了老半天,大家都累的够呛了,让机器慢慢更新,我们喝杯咖啡泡个功夫茶去。接下来的事情还多着呢。
第 4 章 安装CentOS Linux
1.基本安装
把光盘塞进光驱,设置BIOS从光驱启动(别告诉我你不会),然后会看到启动界面,上面有一些提示,可以输入一些命令进行高级安装或者进入系统修复模式。不用管,直接按回车。
稍等一下,会出现一个界面要求你做光盘的完整性检查。一般来说现在刻出来的盘不会有坏的,除非是下载回来的ISO文件有问题。所以这里我们跳过。
跳过的方法是:按键盘的TAB键进行控件的选择,被选择上的控件会高亮,我们选择Skip(建议大家随时打开翻译工具或者网站对不懂的英文进行翻译),然后按空格键进行确认。
然后再等一下,我们就可以看到安装的图形界面了。
按下一步(Next),选择安装语言。因为Linux对中文支持并不好,黑漆漆的字符界面如果显示中文的话会有乱码(虽然远程连接上去的时候可以看到,但服务器一旦出现故障,需要在机房操作的时候,你就会发现默认英文是多么重要),所以我们就选择默认的英文(English),然后按下一步。
接着就是选择键盘样式。相信大家的键盘都是英文而不是日文的(玩过笔记本的都见过水货IBM吧?上面一撇一划的就是日文键盘),那么就留着默认U.S. English吧。什么?你刚好拿水货IBM来装?那还得用英文,否则打出来的字乱七八糟别怪我。
下一步,轮到选择安装方式了。因为我们是全新安装,所以就选择第一个Install CentOS,下一步。
接着是询问要如何分区了。坚决不要用一个分区安装所有文件,或者让系统自动划分。我们坚持所有分区都自己来划分。这样可以有效避免在单个分区出现问题的情况下会造成所有资料无法恢复的情况。(难理解?其实就跟Windows的C盘出问题一样。C盘出现严重问题无法读取,但可以使用工具盘启动系统,访问D、E等盘,把资料恢复出来)
我们在下拉菜单里面选择Create custom layout(创建自定义布局),下一步。
然后会看到当前机器上面硬盘的情况,Linux所有的设备都在目录/dev下面,普通的IDE硬盘的标识是hd(scsi、sata是sd),第一个硬盘是a,第二个是b,如此类推。所以这里如果你用的是普通IDE硬盘,然后接在第一根IDE线主盘的位置上,那么硬盘的标识就是/dev/hda。如果是sata硬盘,那么一般就是/dev/sda。如果光驱是IDE的,接在另外一根IDE线主设备口上,那么一般是/dev/hdc。
另外大家要对Linux的分区有认识。大家会觉得奇怪,Windows有C盘,D盘,为什么Linux没有?Linux的分区又是用什么一种方式存在的呢?
其实在Linux里面,每个分区都会作为一个目录对待。所有目录都从/(根)开始,树形发展。具体情况大家可以去参考相关资料,这里不多做阐述。这么做对于我们有一个最大的好处:某个目录分区空间用完了,我们只需要加装一个大硬盘,然后把这个硬盘整个分成一个区,在系统里面加载,把这个目录里面的文件全部拷贝进来,作为这个目录,这样就不怕空间不够了。
接着说说分区的文件系统。用Windows的朋友一定都知道fat32,ntfs吧?Linux下面最常用的文件系统是ext3和reiserfs,另外有比较旧的ext2,现在已经很少人用了,还有SWAP,交换分区。几种文件系统的优劣就不做评比了,文内一律使用ext3,因为CentOS对ext3支持比reiserfs要好点。
Linux的基本系统包括了下面几个目录
/ 根分区,如果你想把整个硬盘分一个区,那么就分这个区
/bin,/sbin 都是一些用到的命令
/boot 放置启动文件
/usr 包括一些命令、库、帮助等一些不常改变的文件
/usr/local 同上,一般新的程序都安装在这里,就跟Windows的Program files差不多
/var 都是一些经常变化的文件,比如log
/home 看名字就知道,用户住的地方
/etc 里面都是设置文件,跟注册表有点类似作用
/lib 共享库,so文件,作用类似Windows的dll文件。打开里面会看到一些数字,其实是版本号
/root 老大住的地方,后面会提到
下面是几个比较特殊的目录
SWAP 看清楚了,前面没有/的。Swap是交换分区,也就是Windows里面的虚拟内存,但不一样的是基本不会用到。分区的时候只需要分一个,不需要设置挂载点,文件系统选择好就行。
/dev 存放设备系统 ,属于虚拟文件系统
/proc 存放有进程信息,同样是虚拟文件系统。可以通过此文件系统实时修改内核或者进程,也就是交互。比如可以实时查看内存的使用、CPU信息
后面两个看不懂没关系,我们先来分区。
上面的图片可以看到,硬盘原来存在分区,我们把/dev/hda选上,然后点上面菜单的Delete整个删除。
接着我们点一下菜单的New,开始分区,先分一个/,文件系统选择ext3,分区大小是1G,也就是1024M。
Mount Point就是挂载点,输入/
File System Type文件系统,下拉中选择ext3
Size分区大小,按照MB计算的,输入1024
完成后按OK
跟着分SWAP,点New,直接在File System Type选择swap,Size输入2048,按OK
剩余的分区大家按照下面来分
/ 1024
swap 2048
/usr 5120
/usr/local 5120
/var 5120
/tmp 2048
/usr/local/SQUID 1024
/var/spool/SQUID 所有剩余的空间
所有剩余的空间要怎么选?很简单,选上Fill to maximum allowable size即可。
分区分完以后,看起来像下面的样子
OK,所有分区都完了以后,我们继续下一步。
接着会出现一个安装GRUB的界面。GRUB是用来启动系统的,包括双系统的启动都要用上,装好后在启动的时候你会看到有一个菜单给你选择。这里不用更改什么,直接下一步就好。
如果你的网卡能顺利被系统认出来的话,这步就应该是让你配置网卡参数了。
点击Edit,出现网卡配置页面。先把Use dynamic IP configuration(DHCP)去掉,DHCP是自动从网关分配IP,因为我们的IP是固定的,所以不需要。
然后IPv6我们也不用,Enable IPv6 support也去掉。
Activate on boot表示系统启动后自动启动网卡,要选上。
因为这台服务器是网通使用,IP是2.2.2.2,所以在Address里面就输入2.2.2.2,Prefix(Netmask)是子网掩码,可以输入255.255.255.0或者24。24是一种名为CIDR的寻址方式,具体可以去Google一下,这里不深入解释。
配置好的网卡如下图
保存后,我们还需要设置主机名,这里就设置为cnc.naizhao.com吧。
然后还有一些杂项(Miscellaneous Settings),Gateway是网关,Primary DNS是主DNS,Secondary DNS是次要DNS,根据具体需求设置上去。
跟着设置时区。点一下地图的右上角,然后在上海的位置点一下,左下角的下拉菜单会变为Asia/Shanghai,下一步。
跟着就是设置root的密码。Linux跟Windows不一样,Windows可以有很多个管理员,Linux只能有一个root,一般用户要行使管理员的身份,必须要用su这个命令临时改变身份为管理员。
输入两次密码后确认,下一步。
接着就是选择安装类型了。把Desktop什么的全部去掉,在Server前面勾上 。下面会有一行提示,问你要在什么时候进行所安装的包的详细配置(You can further customize the software selection now, or after install via the software management application),选上Customize now。下一步。
接着是安装包选择界面。左边会有Desktop Environments/Applications/Development等。按照下面的列表进行选择:
* Desktop Environments
- 全部去掉
* Applications
- Editors 选上
- 其余全部去掉
* Development
- Development Libraries 选上
- Development Tools 选上
- 其余全部去掉
* Servers
- 全部去掉
* Base System
- Dialup Networking Support 去掉
* 其他均为默认
下一步,开始安装。等待安装完成后重启即可。
2.初次启动
初次启动的时候,会有一个设置代理,就跟安装时要求检测CD完整性的界面差不多,用上下键选择Firewall configuration,按一下TAB键,空格进入。
然后在Security Level选择Disabled,也就是关闭防火墙,TAB键选择OK,空格退出。之后系统会继续启动,直到出现登录界面。
CentOS release 5 (Final)
Kernel 2.6.18-8.el5 on an i686
cnc login:
3.远程连接
Linux的远程连接方式是ssh。ssh是一种经过加密的连接方式,所有数据交换都会被加密,就算服务器被arp攻击也不怕密码会被监听。
Windows下的ssh客户端,我们一般使用putty。因为putty太好用了,所以有台湾的网友进行了修改并且本地化,发布出来的程序名字叫做pietty。
Pietty的官方网站是:http://www.csie.ntu.edu.tw/~piaip/pietty/
下载地址是:http://www.csie.ntu.edu.tw/~piaip/pietty/stable/pietty0327.exe
下载回来运行,然后输入服务器的IP,回车就可以连接了。如果是第一次连接服务器,程序还会提示你是否接受并保存服务器的证书,选择是即可。然后按照提示输入用户名root和密码。
4.Linux的基本命令
首先要注意:Linux是一个大小写区分的系统。不管你做什么事情都要注意大小写。cpu和Cpu是不一样的。
说几个比较常用的
ls 列出文件和目录。默认是当前目录,如果要列出/bin下面的文件,输入ls /bin
cd 进入某个目录。比如cd /bin可以进入/bin目录,cd ..进入上一级目录,cd abc进入当前目录下面的abc目录,cd -回到上一次进入的目录。
cp 拷贝文件或者目录。cp a b拷贝a文件为b文件
mkdir 建立目录。比如mkdir naizhao。如果要建立/a/b/c/d/e这个目录,但/a/b/c/d这几个目录都不存在,使用mkdir -p /a/b/c/d/e,那么会把这几个目录一并创建。
rm 删除文件或者目录。rm a删除a文件。要删除一个目录必须要用rm -rf a,表示删除a目录
mv 移动文件。不过大部分情况下用来给文件改名。因为Linux下面没有专门改名的命令。mv a b把a文件改名为b。mv a ../把a文件移动到上一级目录
more 比较有用的命令。比如用了ls命令,但出来的文字太多,已经超过一个屏幕了,我要看开头部分的内容要怎么看?可以使用ls|more,这样就可以随意的翻屏了。|是管道,负责把|前面命令的结果交给|后面的命令。管道可以使用多个,比如ls -lh|grep naizhao|more,也就是说把ls -lh的结果交给grep处理,然后grep把处理出来的结果交给more。
grep 也是比较常用的命令。负责把所需要的内容抽取出来。比如我ls -lh /lib,内容太多了,并不都是我所需要的,我只需要包含dns这几个字的内容,那么我就使用ls -lh /lib|grep dns。如果我需要不包括dns这三个字的内容呢?使用ls -lh /lib|grep -v dns
cat 不是猫。cat命令负责把一个文件里面的内容完整输出来。内容多的时候配合more使用。比如cat /proc/cpuinfo,会把cpuinfo里面的内容显示出来。
wc 噢,不是厕所,别误会。这是用来算数的。比如我要算一个文件里面有多少行,那么使用cat /proc/cpuinfo|wc -l,输出的数字就是cpuinfo文件的行数,-l参数是按照行(line)来计算。这个命令最常用的时候是什么呢?看网络连接,比如要看看当前系统是不是被别人SYN了,那么输入netstat -an|grep SYN|wc -l
netstat 查看网络状态,一般用来看系统当前有几个连接。比如看80端口有多少个连接,输入netstat -an|grep :80|wc -l
这些命令建议大家多点玩,不要怕。玩坏了系统大不了重装,反正上面现在也没资料。
5.VIM的基本使用
VI是所有Unix系统必带的工具。干什么用的呢?Windows的记事本,知道吧?这个东西比记事本还要高级几百倍,整个Linux基本就是在VI里面写的。VIM则是VI的改进版本,某些系统里面只带了VI,没有VIM。但这两个东西命令上是没有分别的,都是命令行里面敲入vi就可以启动。
我们要学习以下几个方面:打开文件、编辑文件、保存文件
我们以/etc/hosts文件为例,在里面添加一条1.1.1.1 www.naizhao.com的记录。
A.打开文件
打开文件很简单,vi 文件名,比如vi /etc/hosts,然后会看到类似下面的内容
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 cnc.naizhao.com cnc localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
B.编辑文件
编辑一共三个方面:插入(添加)、修改、删除
vi里面,可以通过键盘的方向键移动光标。我们移动到
::1 localhost6.localdomain6 localhost6
这行,然后按下键盘的o(字母)键,会发现光标跑下面去了,自动新起一行。
然后我们输入1.1.1.1,按两次键盘的tab键,再输入www.naizhao.com,然内容看起来像下面这样
1.1.1.1 www.naizhao.com
然后,我们按两次键盘左上角的esc键。在按第一次的时候,你会发现光标向前跳了一下,马上再按第二次,如果你打开了音箱,你会听到当的一声响。
好了,添加新一行就是那么简单。
然后,我们再为1.1.1.1添加一个记录,tel.naizhao.com,怎么做呢?
移动光标到www.naizhao.com的m上,按一下键盘的i(insert的意思)键,这样编辑模式就会变为插入。嗯,敲个空格看看。啊,怎么把我的com给分开成co m了?我要的不是这个效果啊!
不急不急,按照前面的方法,按两次esc键,退出编辑模式,然后按一次键盘的u(undo)键。哦,还好,东西都回来了。原来i是在当前文字的前面插入啊。那再来一次,光标移动到m上面,按一下i,然后用键盘把光标向右移动一下,来到m的背后,敲一个空格,然后输入tel.naizhao.com,然后按两次esc键。嗯,看起来有模有样了。
喂,我怕文件被我破坏了,想要先保存一下,怎么办?
保存文件啊,也很简单啊。先输入一个冒号(:)。什么?不知道怎么输?按住shift键,敲一下回车键左边的分号;,这不,冒号出来了。然后冒号后面跟着一个w(write),看起来就像这个样子:w,回车。你会看到一行提示
“/etc/hosts” 5L, 248C written
表示文件保存完成。
然后,呃,还有修改。如果我发现某个字打错了,比如com的o,我打成0了,我要怎么改?
先把光标移动到0上面,然后按键盘的r(replace),然后按一下o,哈哈,改过来了,赶紧:w保存先。
嗯。。。如果我不需要tel.naizhao.com,我要怎么删除啊?
删除的英文是什么来着?delete吧?鼠标移动到tel的t上面,按一下键盘d,然后按一下右方向键,嘿嘿,t被删掉了。但是,我要删除整个url,一个一个删过去,是否麻烦了点?嗯,有点道理,跟我一起数数吧。1,2,3,4,5….tl.naizhao.com一共有14个字符,那我就先按一下键盘的d,然后用数字键输入14(带有特殊符号那行,不是小键盘)(呃,怎么输入后看不到的?),然后按一下右方向键,嗯,世界清净了。真完美。
另外,还有一些比较方便的快捷键,比如输入dd,删除当前行,输入gg,会回到文件的开头位置,输入G(也就是shift+g)会到文件的末尾,ctrl+d到下一页,ctrl+b到上一页,shift+a在文件末尾插入,shift+d删除当前光标位置一直到行末的文字,这些都等大家慢慢琢磨。
C.保存文件
保存文件刚才说了一个:w,如果我想直接保存退出,要怎样呢?可以使用:wq(write&quit),或者直接:x。
但是,文件刚才被我改到一塌糊涂,我不想保存了,我要直接退出,怎么退?
如果文件没有被改变过,可以直接输入:q退出。但如果文件被改动过,但又没有保存,:q会报错,那么可以在q前面加上一个!,强行退出,就像这个样子:!q
如果文件只读,你要强行写入,当然可以在w的前面加上!了。
6.设置安装更新
国外的东西在国内有个很麻烦的地方:镜像都在国外。所以,要升级系统,必须要把镜像改为国内的私人镜像。于是乎,刚才所学到的VIM知识又用上了。
CentOS的升级工具为yum,镜像配置文件在/etc/yum.repos.d/CentOS-Base.repo,那么,我们用vi打开吧。
vi /etc/yum.repos.d/CentOS-Base.repo
呃,里面好多网址啊,难道要我一个一个都改过去?岂不是累死我?
不怕不怕,记事本都有查找替换呢,vi当然也少不了这个功能了。
yum默认是从mirrorlist=这行获取镜像列表的,既然我们指定了镜像地址,那么就需要把这行注释了。注释的方法是在前面加上#,也就是#mirrorlist=这样。
赶紧开始操作,vi里面查找替换的格式大概是这样:%s/a/b/g,也就是查找a,替换成b,g则是全文件查找。把公式套用过来,就是这个样子
:%s/mirrorlist=/#mirrorlist=/g
嗯嗯,输入回车看看,都替换掉了吧?哈哈。
接着,指定url地址要把#baseurl=前面的#去掉,根据刚才的例子,得到
:%s/#baseurl=/baseurl=/g
又OK了一个,剩下最后一个了。
国内私人搭建的centos镜像,比较有名的是be10.com,网址是http://mirror.be10.com/
打开上面的网址,可以看到孤零零的一个centos目录,对比一下配置文件里面的url
http://mirror.be10.com/centos/
http://mirror.centos.org/centos/
找不同游戏开始了,看来看去,两个url的差别就是be10.com和centos.org了,也就是说我只要把centos.org替换成be10.com就可以了。
:%s/centos.org/be10.com/g
大功告成,赶紧保存退出,然后输入
yum update
更新吧。
更新的过程中会有互动节目,有几个地方会让你输入y来确认是否要安装更新包,直接输入y回车确认就好。
忙活了老半天,大家都累的够呛了,让机器慢慢更新,我们喝杯咖啡泡个功夫茶去。接下来的事情还多着呢。
重头戏开始前,我们先来热身。
智能DNS可以说是CDN的基础。相信平时大家做网站都会有下面的情况:首页上放两个链接,电信用户请访问主力站点A,网通用户请访问镜像站点B。然后做两个域名,www.naizhao.com指向A,cnc.naizhao.com指向B。用户看了半天觉得头晕,随便点一个进去,发现访问速度真可以的,估计整个网页打开,中国都已经步入共产主义社会了。
有了智能DNS后,上面的问题迎刃而解。用户只需要输入www.naizhao.com,系统就会自动判断用户是电信线路还是网通线路上网,然后自动返回电信或者网通的服务器IP。整个过程对于用户来说是不可见的,用户只会觉得刷的一下网页就打开了,那叫一个爽。
废话不多说,let's do it!
1.在DNSPod上面添加域名
打开www.dnspod.com,在右上角的导航菜单选择注册,根据提示输入信息完成注册。注册成功后返回首页登录。
登录后,看到有个添加新域名的框,输入naizhao(别输www。另外本文的例子就是naizhao.com),然后右边选择.com,完成后点击增加。
添加后,系统会自动跳到新添加的域名管理页面。可以看到里面什么东西都没有。不急,我们慢慢来。
在页面下方可以看到几个输入框和下拉列表,用于新增解析记录。我们先试着添加一条电信的记录看看。按照下面的格式输入:
主机记录:www
记录类型:A
线路类型:电信
记录值:1.1.1.1
优先级:(留空)
TTL:3600(默认)
完成后,点击增加。
有几个地方给大家说明一下:
主机记录:也就是域名前面的东西,比如www,那么记录生效后就是www.naizhao.com。如果要实现naizhao.com(前面没有www),那么添加的时候留空就好,系统会自动给加上一个@,代表域名本身。
记录类型:有A、CNAME、MX三种。最常用的就是A,记录值是一个IP地址。另外是MX,也就是邮件记录,做邮件服务器的时候用到,这里不深入讨论了。
线路类型:比较重要。如果选择了电信,那么代表这条记录*只能*给电信用户解析出来,网通用户是解析不出这条记录的。如果你一个域名只添加了一个电信的记录,那么网通用户将会无法访问。同样道理,网通的线路类型也一样。另外有一点要说明:非网通、非教育网的用户将会被解析到电信记录去。也就是说,国外用户、铁通、联通等用户都会被解析到电信服务器。
还有一个通用,通用的意思是,不管你是电信还是网通还是其他用户,都可以解析出这条记录。在存在电信和网通两条记录的情况下,不建议添加通用记录。
记录值:根据记录类型,分别输入一个IP或者一个域名(不是URL转发的域名)
优先级:用在MX记录中,数字越小,优先级越高。作用是:从优先级最大的服务器开始,如果邮件服务器出问题,邮件无法寄达,将会转发到优先级小一级的服务器上去。如果你没有很多台邮件服务器,这个就不用管了。
TTL:同样是比较重要的东西。数字是按照秒来算,3600也就是一个小时。意思是,用户请求一个域名的解析,在得到IP后,3600秒之内不会向DNS服务器重新请求解析,3600秒之内访问此域名,都将直接从自己机器的缓存里面获取IP。超出3600秒后,将会重新向DNS服务器请求获取IP。
OK,我们继续,添加一条网通的记录,让添加完成后的记录像下面的样子
到此,我们就添加成功了。等个半分钟,我们来测试一下是否已经生效。
A.Windows用户
我们使用nslookup命令,先在开始菜单-运行-cmd,回车打开命令行。
然后输入nslookup www.naizhao.com ns1.dnspod.net,稍等一下,看看服务器返回的结果:
Name: www.naizhao.com
Address: 1.1.1.1
如果你是网通用户,那么会得到下面的结果
Name: www.naizhao.com
Address: 2.2.2.2
只要你按照说明的步骤来说,基本不会有问题出现。如果无法正常返回结果,请稍等两分钟。如果等了两分钟还不行,那么就检查下你添加的记录是否正确了。
B.Linux/Unix/Mac用户
直接使用系统自带的dig命令。dig命令比nslookup更为强大。
输入dig @ns1.dnspod.net www.naizhao.com,会返回一大堆结果。我们只需要找到下面的文字就证明一切正常
;; ANSWER SECTION:
www.naizhao.com. 3600 IN A 1.1.1.1
网通用户会看到
;; ANSWER SECTION:
www.naizhao.com. 3600 IN A 2.2.2.2
至此,DNSPod方面的工作已经完成,下一步就是把域名的DNS服务器改为DNSPod的。
2.把域名的DNS转到DNSPod
域名迁移以前,我先提示一下风险:
根据域名的DNS协议规定,所有域名的NS记录(也就是指向DNS服务器的记录)的TTL时间必须为172800秒,也就是48小时。根据我们前面所学到有关TTL的知识,也就是说,一个域名如果被请求过一次以后,只要缓存不被清空,那么NS记录就会存在48小时。48小时内,任何有关此域名的记录的请求都发送到这个DNS服务器。换个角度来理解,如果A用户访问过你的网站,然后你在半个小时后修改你域名的DNS服务器,那么在剩余的47个半小时内,A用户对你这个域名的所有请求都会发送到你*旧的*DNS服务器,而不是新的服务器。B用户在你修改DNS成功后访问你的网站,那么B用户将会得到*新的*DNS服务器地址,所有请求都发往*新的*DNS服务器,而不是*旧的*。明白这点后,那么你就会知道,为什么修改域名的DNS后需要48个小时来生效。你也会明白,为什么记录会一下变成新的,一下变成旧的:这是因为,你地方的DNS服务器一般是2-3台,但他们每台之间的记录并不同步。
另外,一些很小气的域名注册商,在你修改DNS服务器后,会停止对你域名的解析。那么你将会冒着用户无法访问你站点的风险。对这样的用户,我一般建议在迁移域名的前一天,在你域名注册商的DNS管理后台,先把你所有域名记录的TTL,从默认的3600改为36000(10个小时)以上,并且选择在晚上10点以后修改DNS,因为DNS记录会在用户关机、关闭ADSL MODEM后失效(当然,很有可能还会从地方电信的DNS得到旧记录)。设置10个小时以上是让用户在就算旧DNS服务器停止服务后,也能从本地的缓存里面得到记录。
具体如何修改DNS,我就不具体说了,每个域名注册商都不一样。有几点要注意的:
1.填写DNS的时候,记得要把旧的全部去掉,不要以为新旧留着会稳定,这样只会让你的用户得到错误的记录。
2.尽量多填DNS服务器,这样能让你的域名更加稳定。目前DNSPod有6台DNS服务器,一般的域名注册商允许你填写4个(新网),万网在客户面板里面只能填写2个,但在域名管理面板(diy.hichina.com)可以把6个都填写进去。
目前DNSPod的6台DNS服务器分别为(注意了,是.net不是.com):
ns1.dnspod.net
ns2.dnspod.net
ns3.dnspod.net
ns4.dnspod.net
ns5.dnspod.net
ns6.dnspod.net
折腾了老半天,大家也够累了。这个时候,ISO应该下载好了吧?辛苦一点,先把盘给刻好了。在下一章奶罩将会带你进入神秘的Linux殿堂。