分类: LINUX
2010-07-13 15:29:15
第一招 安装linux
作者:田逸(sery@163.com) 《网管员世界》2005第10期143页
关于windows与linux谁优谁劣的问题一直争论不休,也许,你在windows的世界中得心应手,但是,你也应该关注一下linux。这不仅仅是可以体验linux的强大功能,而且对于薪金的提升更有益处。我个人的观点是:服务器、还有那些为了节省成本而使用计算机做网关设备(路由器,防火墙,ids)尽可能的使用linux作为操作平台,桌面系统或者远程控制端(监控远程服务器)使用windows作为操作平台,这样折中一下,就很好了。对于很多人来说,他们对于linux依然很茫然,尽管他们曾经做过一些尝试。这可能是他们想努力的把linux当成桌面环境来使用或者在安装 linux是遇到麻烦而最终放弃努力。是的,我们使用windows作为日常工具也成习惯(我们用word编写项目方案,用 internet explorer浏览网页等等),如果一旦把系统换成linux,不知所措也是理所当然的。
首先应该解决一些认识上的误区:linux应该被用于服务器方面,linux的安装配置确实比windows要困难和复杂,但也没有想像的那么糟糕。克服困难的途径就是do it yourself at ---立马行动。笔者从事系统管理工作已经多年,对linux也有所涉猎,不敢说多有心得,权做抛砖引玉之用,把一些体会在此与大家交流。
要使用linux来为我们工作,第一步要做的事情就是安装linux到机器上,可是还是有很多尝试安装是失败的,以至于动摇了再次尝试的信心。希望初学者跟我一招一式的操作,定可顺利进行。
安装准备
1、 一套正版的redhat linux 9发行套件(大概68元)。
2、 一个专门用来安装linux系统的硬盘。很多失败和顾忌都源于这儿,欲在装有windows系统并且有用户数据的硬盘上安装linux ,对于生手来说,能放开手脚?
3、 一台基于intel 奔腾处理器或amd处理器的pc或服务器。不要用intel 塞扬的处理器,这玩意性能差。
4、 一快流行的网卡或干脆花200多元买一块3com网卡。
5、 一个读盘能力强的光盘驱动器。
6、 如果用服务器来安装linux,并且硬盘是scsi接口的话,准备好随机附带的安装工具盘,可能 linux安装过程中需要scsi控制器的驱动程序。
7、 足够的耐性。
一、从光盘安装linux
开始安装
激动人心的时刻从这里开始,这里先进行最直接、最便捷的安装方法:从光盘安装,后面再介绍一种高级的安装方法。
1、 机器加电启动,进入bios设置引导设备为cd-rom(与从光盘安装windows类似),第一张光盘放入光驱,系统开始从linux光盘引导,引导成功后出现redhat linux 9 的安装启动界面,屏幕显示提示信息和boot:提示符,按回车进入图形安装方式。
2、 选择安装语言,建议选 english,如果选择中文,那么在以后安装某些应用软件(如sybase, oracle)时出现乱码,从而影响软件的正常安装—比如你不能分辨“next”按钮是那一个。
3、 选择键盘,鼠标类型,就按“next”就是。
4、 出现欢迎消息,按“next”继续吧。
5、 询问是安装新系统还是更新系统?选全新安装,点击“next”。
6、 询问安装类型:工作站(workstati
7、 安装引导工具lilo或grub,选默认值grub,按“next”继续。
8、 配置网络。需要根据本网的实际情况填写主机名(hostname),ip地址,子网掩码,默认网关,dns的ip地址。默认网关是一个很重要的参数,它的作用是要网关设备(通常是路由器)发送通告,表明自己在本网的存在。这类似与部队收发室的情形:我们要往外寄信,首先把信送到收发室(默认网关),收发室自己决定怎样处理信件;从外面寄来的信件,首先也被送到收发室(默认网关),然后收发室就会把信件转发到收信人那里。如果指定的默认网关不正确,就没法与外面的网络通信—收发室的人不认识你,那么你既不能发信,又不能收信。当然,即便在这儿填写错了,安装完后我们仍然有机会更改这些错误的,所以也不用过于担心。这一步本来的默认选择是自动获取ip地址,建议舍弃默认值。值得注意的是,如果这一步没有出现“network device”(网络设备)接口 “eth0”这样的状况,那么不幸的事情发生了:系统不识别硬件(系统不包含该网卡的驱动或者没有加载设备模块),这也是我推荐使用3com网卡而不用杂牌网卡的原因。
9、 设置时区。用鼠标点一下世界地图上的中国某个区域就行,然后按“next”继续。
10、 设置root口令。设置复杂的口令。
11、 添加用户,给该用户设置口令。按“next”继续。
12、 选择欲安装的包。除了默认选中的包外,把x window system和图形化的浏览器工具选上。这对以后的操作非常有帮助。按“next”继续。
13、 开始安装。点击“next”。从这里开始很长一段时间,我们唯一可做的事情是等待和更换光盘。这个过程中,安装程序将从光盘上把相关文件复制到硬盘,创建文件系统并把我们选中的软件包安装在系统中。
14、 等待中......
15、 创建引导盘。既然有光盘就免了吧。可能有的软驱早退役了呢!
16、 选择显卡。系统回自动检测到显卡,按“next”继续。
17、 选择显示器。鼠标点击“next”就是了。
18、 选择定制x配制。实际上就是设置颜色和分辨率,选800*600后,按“next”继续。
19、 选择用户登录方式。默认值是图形方式,选择文本登录方式。按“next”继续。
20、 安装完毕。出现祝贺窗口。能顺利完成安装,当然是值得庆贺的事情。只有成功地完成linux安装,才可能进一步激发我们对linux的兴趣。鼠标点击“next”,光盘从光驱中弹出,系统重启,安装完成。
21、 安装成功确认。系统重启,直到出现 login:,大功告成,接下来就是登录和使用linux了。
意外事故
有一些条件会阻止我们顺利安装,这些障碍是需要绕过或克服的。尽管我在前面安装准备部分为克服这些麻烦做过提示,可是同样的事情还是在发生。一种情形是,安装系统硬件检测过程找不到硬盘;这种情况主要发生在一些杂牌服务器/白牌服务器上,它的scsi控制器不被识别所致,解决是使用随机安装光盘。另一种情况是安装过程出现文件错误,这是由于不能正确地从光盘复制数据/文件所致;所以选择一个好的光驱和正版的redht linux 9套件/复制品 也是十分重要的。使用旧的版本安装在较新配置的机器也是一个让你发生意外的因素,比如/boot分区大小不能超过1024扇区,或者不能识别显卡等,别保守,用新的版本吧!
二、高级安装:pxe安装 linux
前面介绍了从cd-rom安装linux这种最便捷、最直接的操作方法,但是,如果一旦遭遇需要同时安装linux系统到多台计算机上,那么我们应该选择一种更高效的安装方式。pxe是其中的一种选择。
pex—pre-boot execution envir
动态分配ip地址
和指定pex文件位置
给我ip地址
好,pex配置文件和linux内核在tftp服务器
我需要pex配置文件和linux内核映像
启动linux内核 发送linux内核映像
pex配置文件,linux内核等
pex 远程安装linux原理图
这个过程与以前称作“无盘工作站”的模式十分类似。说理论不太有趣,那我们就拿刚才用光盘安装好的那台linux做安装服务器,同时充当tftp和dhcp服务器的角色,另拨一台符合安装条件的机器(“安装准备”所列条款)通过pex方式来完成linux的安装。不过这还需要一个先决条件,就是网卡一定要支持从网络启动这个功能—3com 3c509 系列网卡可以看到一个与主板bios形状相似的rom芯片。下面我们分几步来完成整个安装。
(一) 配置安装服务器
1、 以root登录安装服务器,用命令 rpm ╟qa | grep tftp 查看是否安装了tftp软件包,如果没有,安装一下(安装软件的方法将在后面的文章中详细介绍)。
2、 修改tftp的配置文件,使tftp服务可以随linux开机启动(开机启动这个服务不是必须的)。用命令vi /etc/xinetd.d/tftp 将文件/etc/xinetd.d/tftp其中的一句 disable=yes 改成 disable=no。
3、 准备内核、pex配置文件以及linux根文件系统。分成两个步骤:①准备pex配置文件—创建目录/tftpboot/pxelinux.cfg,然后复制第1张安装光盘/isolinux目录里的文件isolinux.cfg和*.msg到目录/tftpboot/pexlinux.cfg,把文件/tftpboot/pxelinux.cfg/isolinux.cfg改名为/tftpboot/isolinux.cfg/default;复制文件/usr/lib/syslinux/pxelinux.0到目录/tftpboot。②准备内核和根文件系统—复制第1张安装光盘/images/pxeboot目录里的两个文件vmlinuz(内核)和initrd.img(根文件系统)到目录/ tftpboot中。
/tftpboot
pxelinux.0 pxelinux.cfg vmlinuz initrd.img
default(isolinux.cfg)
/tftpboot目录示意图
4、 配置dhcp服务器。使用命令 vi /etc/dhcpd.c 修改文件/etc/dhcpd.c
filename “pxelinix.0”
next-sever 192.168.100.100 //本安装服务器的ip地址,即tftp服务器的ip地址
5、分别启动dhcp和tftp服务。用命令 service dhcpd start 启动dhcp服务,用service xinetd restart 启动tftp服务。
(二) 准备ftp服务器
还是用这台安装服务器做ftp服务器。在redhat linux 9上配置ftp服务器是非常简单的事情:添加一个系统账号和启用ftp服务就完事了。
localhost# useradd sery //添加用户sery
localhost# passwd sery //给用户sery设置登录密码
localhost# start vsftpd start //启动ftp服务
但这只是一个空的ftp服务器,为了符合我们的安装任务,需要把3张安装光盘的所有目录/文件复制到sery用户的ftp 的指定目录。以root权限建立目录 mkdir /home/sery/linuxsetup,然后把redhat 9的三张光盘按光盘的根目录拷贝文件和目录到目录home/sery/linuxsetup,在拷贝第二和第三张光盘是会提示目录里有相同的文件夹或文件,问是否覆盖,回答yes即可,复制完成后重启一下ftp, # service vsftpd restart。
(三) 安装linux
启动要安装linux的计算机,通过更改cmos的值设置机器从pxe引导,如果网络与前面的dhcp、和tftp都正常工作的话,几秒钟时间就会出现我们一直期待的boot:提示符,输入命令 linux askmethod回车……设置ip地址的获取方式为dhcp,……选择安装源为ftp,屏幕提示输入ftp服务器的ip地址(手动输入 192.168.100.100),选中复选框 “非匿名用户”,输入用户名“sery”密码“******”和安装文件目录“/linuxsetup”,按“next”继续。接下来的过程与从光盘安装基本一致,只是没有图形安装界面而已。经历比从光盘安装少很多的时间完成整个安装。
注:此安装过程完全适合redflag 红旗 linux各个版本及redhat as linux或 redhat es linux各个版本。
第二招 基本配置,基本操作,必须掌握的命令
作者:田 逸(sery@163.com)
<网管员世界> 2005年11期
通过第一招的实践,我们已经可以顺利的安装好linux操作系统,这仅仅是工作的一小部分,现在最迫不及待的事情就是使用这个系统。打开安装好linux操作系统计算机的电源,让机器正常引导,待系统引导完毕,我们的第一个操作---登录开始了;在这一步,能执行的任务就是输入用户名root和初始安装时设定的密码,一旦输入无误,便可取得操作整个计算机的所有权限,开始了挑战linux的艰难之旅。
超级用户账号密码
为安全起见,需要定期更改超级用户root的密码。这个操作十分简单,在shell提示符#后输入 passwd回车,然后两次输入新密码即可。退出root登录,然后再次登录,检验密码修改是否正确。然而不幸的事情还是偶尔会发生,刚才更改的密码记不清楚了,root用户登录不了,急人啦,难道还要重装linux操作系统?如果你还想尝试一遍安装操作,本是无可厚非的,但这并不是一个好主意,特别是在硬盘上存储很多重要数据的情形下。请参照下面的操作来解决这个问题:
1、 手动重启系统:按计算机复位键或先关闭计算机在开启。
2、 当引系统到达“引导加载程序(选择欲启动的操作系统)”grub时(redhat 9在安装的时候,我们默认安装的引导程序是 grub),按键盘字母“e”键,如果硬盘上安装多个操作系统的话,还需要用箭头选中linux 启动条目。将看到如下几行文本(为节省篇幅,多余的文本省略了)
root (hd0,4)
kernel /boot/vmlinuz-2.4.20-8 ro root=lable/ hdc=ide-scsi
initrd /boot/initrd-2.4.20-8.img
3、 把 “kernel /boot/vmlinuz-2.4.20-8 ro root=lable/ hdc=ide-scsi” 改成 “kernel /boot/vmlinuz-2.4.28 single root=lable/ hdc=ide-scsi”后按回车键,返回编辑屏幕。
4、 按“b”键使用上面更改后的选项引导计算机,这样计算机就进入单用户模式(运行级别1)而不用输入用户名和密码登录。
5、 输入命令passwd回车,两次输入新口令,然后小心保存。关于口令设置的建议有很多,可以根据自己的情况设置复杂口令。
6、 再次重启计算机,这时便可顺利使用新密码进入系统了。
这个操作对于管理员来讲,是十分有用的,但是如果这个服务器运行的是关键应用,那么应当把它锁在机柜里,因为不是公司聘用的非管理员也能够替你执行这个操作,很危险的。
用户账号
有句名言叫“linux就是网络”,这就意味着linux系统不是系统管理员一个人把玩的,有太多的理由让更多的人来使用这个资源。刚安装完的linux系统,只有一个用户root;没有任何责任让其他仅需使用一部分功能的人来共享root账号和密码。既然如此,给要用计算机资源的人开设账号吧。
1、 开设账号:在命令提示符输入 #useradd sery 就可以成功的添加账号sery,用命令#passwd sery 来给账号sery 设置密码。通过这种方式添加的账号的主目录将是/home/sery, sery用户的环境变量.bash_profile在目录 /home/sery中。也可以指定用户的主目录,例如我们要安装数据库软件sybase ase,需要指定它的主目录为/opt/sybase,通过输入命令#useradd ╟d /opt/sybase sybse 就可以了,这样sybase用户的环境变量路径也变成 /opt/sybase/.bash_profile。可以把一些用户添加到一个组了,以满足特定的功能。上面开设的两个账号,默认产生两个组sery和sybase。
2、 更改账号:某天,公司的sery离职了,由新来的tieny接替他的工作,可以用命令#usermod ╟l tieny ╟m ╟d /home/tieny sery来实现。当然还应当把口令也改一下。
3、 删除账号:sery由于工作不力,被老板开除了,那么作为系统管理员应当把他的账号删除,先删除账号#userdel sery,然后还要删除sery用户的主目录/home/sery。
需要注意的是,上述的账号操作,只有具备管理员权限的用户(比如root)才可以进行的,普通用户仅仅能更改自己的密码而已。
文本编辑器vi
要使用unix/linux来完成工作,你没有办法来回避使用文本编辑器这个工具。在unix/linux的世界里,vi是赫赫有名的,ibm的aix、sun的solaris、sco unix、redhat linux等等,没有一个不用vi 这个编辑工具的。因此,作为unix/linux系统管理员,必须熟练掌握这个基本技能。
vi文本编辑器打开以后,有两种模式:命令模式和输入(或者编辑)模式。在使用过程中,这两种模式是需要来回相互切换的,初学者对此往往感到迷惑,下面举一个例子来说明一下:
我们在此要把计算机的主机名改成sery,那么就用vi编辑器修改配置文件/etc/hosts文件。输入命令 #vi /etc/hosts 回车,立刻进入vi的命令模式。在这种模式下,可以进行查找、保存文件等操作,按字母“i”键切换到编辑模式---屏幕底部显示“insert”,然后光标定位,输入相关的字符;输入完毕并检查无误后,按“esc”键切换到命令模式,接着输入“:”加wq回车就把刚才的输入保存在文件/etc/hosts里。整个过程总结一下流程就是:vi filename 打开文件---切换到编辑模式(“i”)----输入文本----切换到命令模式(“esc” ,“:”)----保存文件(wq)。
[root@sybase root]# vi /etc/hosts
# do not remove the following line, or various programs
# that require network functi will fail.
127.0.0.1 localhost.localdomain localhost //按i切换编辑模式
202.108.93.200 sery //这行是加上去的
//按esc键回到命令模式,再输入“:”
:wq //保存文件退出
有时,文件修改后不想保存它,则在命令模式下输入“:q!”,如果只是打开文件而没有做任何修改,在命令模式下输入“:q”就可以了。有一个技巧还是需要掌握的,那就是在文件中查找字符。编辑一个小的文件(字符数不多)用光标定位就可以完成修改,但是如果要编辑的一个文件较大,例如修改apache的配置文件,根据实际应用,我们仅需对/etc/httpd/conf/httpd.c /etc/httpd/conf/httpd.c vi 使用技能。随着linux版本不断的升级,vi也越来越便于使用,例如在linux桌面环境下,可以用鼠标选定文本,然后使用复制功能来简化操作。
配置网络参数
如果linux服务器不连入网络,除了供管理员测试而外,再没有别的实际意义,因此把linux服务器连入网络就是必须的了。在第一招安装linux时,我们已经把网络的一些参数手动输入了,但是有时还得在实际应用中更改某些参数。网络参数主要包括:ip地址、子网掩码、默认网关和指定dns服务器。ip地址、子网掩码、默认网关由文件/etc/sysc vi 打开/etc/sysconfig/network-scripts/ifcfg-eth0,修改对应的值,我本人习惯把默认网关加在这个文件里,即在这个文件里插入一行“gateway=x.x.x.x”。默认网关是个非常重要的设置,如果设置错误,linux服务器就只能访问同一网段的主机而不能与其他网段的计算机互访尽管其他的网络参数设置完全无误。我曾有意无意的犯过这个错误,结果每次都是一样让人沮丧。在讲授网络的课程里,默认网关被定义成一个三层设备,讲得通俗一点就是路由器,它的作用是连接不同网段/子网的通信,它记录与它某一端口直连的同一网段的机器mac与ip地址对应值(称为arp)。路由器/网关不会自动获得同一网段主机的mac-ip值,只有通过手动指定默认网关把主机的mac-ip值通告给网关。指定dns服务器地址可以让linux服务器以域名的方式访问互联网上的其他机器。指定域名服务器地址过程很简单,只需用vi编辑文件/etc/resolve.c nameserver 202.106.0.20 保存退出。需要特别注意的是,不要把指定dns服务器与设定本linux服务器为dns服务器搞混了,这是两个完全不同的东西:前者为客户端,后者为服务器端。
还有一种特殊情况,在只有一个网络设备的条件下,我们需要设置几个ip地址,比如基于ip地址的虚拟主机。这种操作称为设备别名。eth0的第一个别名是/etc/sysc
在系统提示符下,用命令#ifc eth0 200.200.200.200 255.255.255.248 up也可指定或修改网络设备的网络参数。但是这种修改方式是动态进行的,系统重启以后就无效了。以命令#route add default gw x.x.x.x 添加的默认网关也是同样的效果。
修改网络参数后,要使修改立即生效,不需要重启计算机,重新启动网络服务就可以了。在redhat linux 9以后的版本,只要输入命令#service network restart即可,然后用命令#ifc ╟a来检验修改的结果。
修改网络参数需要管理员权限才能进行。
文件系统和原始设备
在这里介绍文件系统和原始设备( raw device)的目的主要是为将来安装大型数据库oracle或sybase奠定一些基础,因为这些数据库可以使用文件系统或原始设备作为逻辑存储区域。
文件系统是一种存储数据的方法,采用分层目录结构来存储文件,由一个根目录和许多子目录、文件组成(ibm aix 5l系统管理技术定义)。redhat linux 9主要包括以下一些目录:
1、/bin:linux通用命令。
2、/dev:系统设备文件。
3、/etc:管理配置文件。
4、/home:各用户的目录。
5、/mnt:挂接设备的位置。
6、/root:根用户的主目录。
7、/sbin:系统管理命令和守护进程。
8、/tmp:临时文件目录。
9、/var:应用程序使用的数据目录,如系统日志文件目录、匿名ftp目录等。
10、/usr:手动安装程序的目录。
对于文件系统的目录及其目录下的文件,我们可以直接进行访问,例如在/tmp下创建目录/tmp/test。
原始设备指不是由基础操作系统可以管理的磁盘,这句话不太好理解。给linux服务器添加一个硬盘,创建分区,但是不能直接用基本命令对这个分区进行操作,比如直接在上面创建目录,只有通过挂接才可以进行磁盘i/o操作。例子的命令:#mount /dev/sdb1 /mnt/dsk2, cd /mnt/dsk2,在这个目录下就可以创建文件等基本操作了。sybase等数据库可以直接指定原始设备为存储空间,其目的是使数据的修改立即写入磁盘。
运行级别
redhat linux 有0-6等几种运行级别。与solaris和aix的运行级别的定义差异较大。按照前面安装linux的设定,系统启动后进入的运行级别是3。要切换到别的运行环境只需输入#init
1、 运行级别0:关机操作。
2、 运行级别1:单用户维护模式。这种模式只能是用户root,上文我们更改遗忘的 root 密码就是在这种模式下进行的。另外,有时文件系统损坏时进行修复,也要在这种模式下进行。运行级别1相当与ms windows 2000的安全模式。
3、 运行级别2:多用户模式。所有配置文件系统被挂装,但nfs资源不可用。运行级别2与ms windows 2000的带网络的安全模式有些类似。
4、 运行级别3:这是linux服务器的正常模式,系统资源完全可用。
5、 运行级别4:用户自定义。
6、 运行级别5:多用户带网络服务加图形界面(init 3加图形)。这相当于ms windows的正常模式。如果没有安装xwindow就不能启用这个级别,用命令#startx也可从运行级别3切换到运行级别5。
7、 运行级别6:重新启动计算机。
在一般情况下,我们需要linux服务器工作在运行级别3下,偶尔为了操作方便会使用5这个级别。linux还有另外一些运行级别,但不多用。熟练掌握上述几个运行级别对于系统维护是很有帮助的。
远程操作linux服务器
linux服务器基本配置完成后,需要把它撤离测试台,也许要把它放在隔自己办公室很远的idc机房,或者由于同事无法忍受机器巨大的噪音而必须把它放在某个隔离的小房间的机柜里。我们更愿意坐在自己的办公桌前,用桌面系统或笔记本来远程控制和操作放在在某个地方的linux服务器,然后惬意的喝一杯咖啡。
telnet曾作为最主要的远程管理工具,由于其存在安全隐患而逐渐失宠,从redhat linux 7.1开始,默认情况下 telnet 服务是不启用的。安全shell包(ssh)由于它提供对数据的加密传输,具备较高的安全特性,因此越来越多的系统管理员正在在使用ssh来管理远程的 linux服务器。
要使用ssh服务,应当保证openssh-server软件包被安装,一般情况下,ssh服务器被配置成自动启动,在 linux服务器端,不必对ssh做任何设置,只需保证它被安装和启动就可以了。redhat linux 允许root用户远程登录,而redflag linux则在默认情况下不允许root 用户远程登录。可通过修改文件 /etc/sshd/sshd_c no”表示不允许root用户远程登录,“permitrootlogin yes”表示允许root用户远程登陆。我本人习惯使用root远程登录。
1、 从linux连接:输入命令#ssh <远程linux服务器的ip地址或域名>,回车后输入 root密码就可以得到root的shell环境,与直接操作linux服务器一样。
2、 从windows连接:有多款用来连接linux服务器的远程管理工具,比较有名的有securecrt、netterm、xmanager、putty等。securecrt是个不错的工具,它不仅支持ssh,还支持文件上传功能。windows下配置securecrt是比较容易的,在此不做介绍。
下图是securecrt使用ssh登录linux服务器的事例:
当作好上述的准备后,真正的远程操作/控制可以开始了。
2005-9-12