Debian学习Linux系统服务器的搭建方法
点击次数:18 次 发布日期:2008-11-22 09:39:51 作者:源代码网
|
源代码网推荐Linux服务器具有稳定性好,价格低等优点。最为一个开源平台,无论是商业机构的支持还是网络开源程序组织的技术,都达到了一个成熟的水平。因为,目前中小型企业可以考虑一下使用Linux作为Web服务器,FTP服务器等的平台,这里我使用了Debian系统。(一)服务器的搭建:有两种方法:从市场上购买Debian的系统盘或者从网站上下载系统,然后安装。下载地址:http://www.debian.org/CD/http-ftp/。Debian系统的安装方法:请参考杨锦昌的教程,下载地址内容很详细,便于入门学习。通用指令init6重启,init0关机,init1单用户进行管理维护。(二)、Debian学习:1).Apt-get命令,用于获取软件安装包:apt-setup设置Apt源.可选择列表或者手工导入apt-getupdate系统软件包更新apt-getupgrade更新所有软件包并且自动升级成最新apt-getdist-upgrade更新软件包并解决软件依赖关系apt-cachesearchkeyword查找指定软件包信息apt-cacheshowpackage_name详细显示指定软件包的信息apt-getinstall安装指定软件包apt-getremove移除指定软件包===================================常用配置命令:base-config配置基本系统apt-getinstallzhcon安装Zhcon中文字符支持包.zhcon运行ZhconUC-DOS中文系统dpkg-reconfigurexserver-xfree86配置xfree86apt-getremovenetatalk删除不必要的Appletalk.apt-getremoveexim4删除MTA.提高启动速度.vi/etc/zhcon.conf配置Zhcon设置vi/etc/apt/source.list配置Apt源址2).网络设置:设置IP文件:/etc/network/interfaces-------------动态DHCP获得-----------------#启动系统激活设备.#Loop回环地址.autoloifaceloinetloopback#启动系统激活设备.#网卡eth0设置为DHCP类型.autoeth0ifaceeth0inetdhcp-------------静态Static获得---------------#启动系统激活设备.#Loop回环地址.autoloifaceloinetloopback#启动系统激活设备.#网卡eth0设置为Static类型.autoeth0ifaceeth0inetstatic#指定IP地址.子网掩码.广播.网关.address192.168.0.1netmask255.255.255.0network192.168.0.0broadcast192.168.0.255gateway192.168.0.1==================================设置DNS服务器:/etc/resolv.conf-------------------------------------------------search#首选DNS服务器地址nameserver*.*.*.*#备用DNS服务器地址nameserver*.*.*.*===============================================================================================用dpkg-reconfigurexserver-xfree86命令修改分辨率或vi/etc/X11/XF86Config-4============================================================用apt-get安装了下列字体ttf-arphic-bkai00mp:文鼎PL中楷(Big5码)ttf-arphic-bsmi00mp:文鼎PL细上海宋(Big5码)ttf-arphic-gbsn00lp:文鼎PL简报宋(GB码)ttf-arphic-gkai00mp:文鼎PL简中楷(GB码)unifont:包含了firefly点阵的,Unicode的pcf字体。适用于yudit文本编辑器。ttf-arphic-ukai:文鼎PL中楷Uni,ARPLKaitiMBig5+ARPLKaitiMGBttf-arphic-uming:ARPLMingti2LBig5+ARPLSungtiLGB+firefly所建立的點陣字再重启就OK了!============================================================[NextPage](三)Vi的必须掌握的基本操作:1.进入编辑状态a,i,o,指令状态2.向前和后移动ctrl+fctrl+b删除x,dd3.到档案的最后一列G(四)压缩大全:.tar解包:tarxvfFileName.tar打包:tarcvfFileName.tarDirName(注:tar是打包,不是压缩!)---------------------------------------------.gz解压1:gunzipFileName.gz解压2:gzip-dFileName.gz压缩:gzipFileName.tar.gz解压:tarzxvfFileName.tar.gz压缩:tarzcvfFileName.tar.gzDirName---------------------------------------------.bz2解压1:bzip2-dFileName.bz2解压2:bunzip2FileName.bz2压缩:bzip2-zFileName.tar.bz2解压:tarjxvfFileName.tar.bz2压缩:tarjcvfFileName.tar.bz2DirName---------------------------------------------.bz解压1:bzip2-dFileName.bz解压2:bunzip2FileName.bz压缩:未知.tar.bz解压:tarjxvfFileName.tar.bz压缩:未知---------------------------------------------.Z解压:uncompressFileName.Z压缩:compressFileName.tar.Z解压:tarZxvfFileName.tar.Z压缩:tarZcvfFileName.tar.ZDirName---------------------------------------------.tgz解压:tarzxvfFileName.tgz压缩:未知.tar.tgz解压:tarzxvfFileName.tar.tgz压缩:tarzcvfFileName.tar.tgzFileName---------------------------------------------.zip解压:unzipFileName.zip压缩:zipFileName.zipDirName---------------------------------------------.rar解压:raraFileName.rar压缩:rareFileName.rarrar请到:http://www.rarsoft.com/download.htm下载!解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):[root@www2tmp]#cprar_static/usr/bin/rar---------------------------------------------.lha解压:lha-eFileName.lha压缩:lha-aFileName.lhaFileNamelha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):[root@www2tmp]#cplha/usr/bin/---------------------------------------------.rpm解包:rpm2cpioFileName.rpm|cpio-div---------------------------------------------.tar.tgz.tar.gz.tar.Z.tar.bz.tar.bz2.zip.cpio.rpm.deb.slp.arj.rar.ace.lha.lzh.lzx.lzs.arc.sda.sfx.lnx.zoo.cab.kar.cpt.pit.sit.sea解压:sExxFileName.*压缩:sExaFileName.*FileName各种软件安装:使用deb打包的软件安装deb是DebianLinux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得早,并且应用广泛,所以在各种版本的Linux中都常见到,而Debian的包管理器dpkg只出现在DebinaLinux中。它的优点是不用被严格的依赖性检查所困扰,缺点是只在DebianLinux发行版中才能见到这个包管理工具。[NextPage]dpkg-l查看安装的文件包1.安装# dpkg-iMYsoftware-1.2.-1.deb2.卸载# dpkg-eMYsoftwaredpkg-lpackage_name(列出该package相关信息)dpkg-l|less(列出系统中所有安装的软件)dpkg-Lpackage_name(列出该package所有档案摆放位置)dpkg-Sfile_name(搜寻file所属package)dpkg-ipackage_name(软件安装)dpkg-rpackage_name(软件移除)dpkg-xpackage_name.debtarget_dir(解.deb档案成数个档案)dpkg-i--force-overwrite-ipackage_name(强制安装软件)dpkg-i--force-allpackage_name(不顾一切的强制安装软件)dpkg-r--purge--force-depspackage_name(强制移除软件)dpkg--get-selections(列出系统中所有安装的软件)dpkg--pending--remove(移除多余的软件)使用源代码进行软件安装和RPM安装方式相比,使用源代码进行软件安装会复杂一些,但是用源代码安装软件是Linux下进行软件安装的重要手段,也是运行Linux的最主要的优势之一。使用源代码安装软件,能按照用户的需要选择定制的安装方式进行安装,而不是仅仅依靠那些在安装包中的预配置的参数选择安装。另外,仍然有一些软件程序只能从源代码处进行安装。现在有很多地方都提供源代码包,到底在什么地方获得取决于软件的特殊需要。对于那些使用比较普遍的软件,如Sendmail,可以从商业网站处下载源代码软件包(如http://www.sendmail.org)。一般的软件包,可从开发者的Web站点下载。下面介绍一下安装步骤:1.解压数据包源代码软件通常以.tar.gz做为扩展名,也有tar.Z、tar.bz2或.tgz为扩展名的。不同扩展名解压缩命令也不相同,见表1。2.编译软件成功解压缩源代码文件后,进入解包的目录。在安装前阅读Readme文件和Install文件。尽管许多源代码文件包都使用基本相同的命令,但是有时在阅读这些文件时能发现一些重要的区别。例如,有些软件包含一个可以安装的安装脚本程序(.sh)。在安装前阅读这些说明文件,有助于安装成功和节约时间。在安装软件以前要成为root用户。实现这一点通常有两种方式:在另一台终端以root用户登录,或者输入“su”,此时系统会提示输入root用户的密码。输入密码以后,就将一直拥有root用户的权限。如果已经是root用户,那就可以进行下一步。]通常的安装方法是从安装包的目录执行以下命令:gunzipsoft1.tar.gzcdsoft1#./configure#配置#make#调用make#makeinstall#安装源代码# |
|
删除安装时产生的临时文件:#makeclean
卸载软件:#makeuninstall
有些软件包的源代码编译安装后可以用makeuninstall命令卸载。如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,应该在编译前进行配置。.bin文件安装扩展名为.bin文件是二进制的,它也是源程序经编译后得到的机器语言。有一些软件可以发布为以.bin为后缀的安装包,例如,流媒体播放器RealONE。如果安装过RealONE的Windows版的话,那么安装RealONEforLinux版本(文件名:r1p1_linux22_libc6_i386_a1.bin)就非常简单了:#chmod+xr1p1_linux22_libc6_i386_a1.bin./r1p1_linux22_libc6_i386_a1.bin接下来选择安装方式,有普通安装和高级安装两种。如果不想改动安装目录,就可选择普通安装,整个安装过程几乎和在Windwos下一样。.bin文件的卸载,以RealONEforLinux为例,如果采用普通安装方式的话,在用户主目录下会有Real和Realplayer9两个文件夹,把它们删除即可。[NextPage]RPM格式软件包的安装1.简介几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。RPM全称是RedHatPackageManager(RedHat包管理器)。RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。RPM示意图见图1。大多数LinuxRPM软件包的命名有一定的规律,它遵循名称-版本-修正版-类型-MYsoftware-1.2-1.i386.rpm。2.安装RPM包软件# rpm-ivhMYsoftware-1.2-1.i386.rpmRPM命令主要参数:-i安装软件。-t测试安装,不是真的安装。-p显示安装进度。-f忽略任何错误。-U升级安装。-v检测套件是否正确安装。这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。3.卸载软件# rpm-e软件名需要说明的是,上面代码中使用的是软件名,而不是软件包名。例如,要卸载software-1.2.-1.i386.rpm这个包时,应执行:#rpm-esoftware4.强行卸载RPM包有时除去一个RPM是不行的,尤其是系统上有别的程序依赖于它的时候。如果执行命令会显示如下错误信息:##rpm-exsnowerror:removingthesepackageswouldbreakdependencies:/usr/X11R6/bin/xsnowisneededbyx-amusements-1.0-1在这种情况下,可以用--force选项重新安装xsnow:##rpm-ivh--forcexsnow-1.41-1.i386.rpmxsnow这里推荐使用工具软件Kleandisk,用它可以安全彻底清理掉不再使用的RPM包。5.安装.src.rpm类型的文件目前RPM有两种模式,一种是已经过编码的(i386.rpm),一种是未经编码的(src.rpm)。rpm--rebuildFilename.src.rpm这时系统会建立一个文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目录下,一般是i386,具体情况和Linux发行版本有关。然后执行下面代码即可:rpm-ivh/usr/src/regflag/RPMS/i386/Filename.rpmLinux绿色软件Linux也有一些绿色软件,不过不是很多。Linux系统提供一种机制:自动响应软件运行进程的要求,为它设定好可以马上运行的环境。这种机制可以是一种接口,或者是中间件。程序员编写的程序可以直接拷贝分发,不用安装,只要点击程序的图标,访问操作系统提供的接口,设定好就可以工作。若要删除软件,直接删除就可以,不用链接文件。这是最简单的软件安装、卸载方式。上面介绍了Linux软件安装的方法,对于Linux初学者来说,RPM安装是一个不错的选择。如果想真正掌握Linux系统,源代码安装仍然是Linux下软件安装的重要手段。(五)系统启动脚本说明:1.Therearetwostylesforthebootingscripts,theyareBSDandSysVinit.Slackware使用BSD风格的init脚本,而很多别的发行版使用SystemV风格的init脚本。SysV和BSD脚本都是能让人读懂的,即它们都是shell脚本,而不是已编译的程序。主要的区别在于脚本是如何设计的。SysV脚本倾向于接受诸如start、stop、restart之类的参数,依它所启动的程序而定。所以你可以用/etc/init.d/bindstart这样的命令来启动BIND,并用/etc/init.d/bindstop来停止BIND。SysV的启动还倾向于使用符号链接来组织启动进程,例如在/etc/rc.d/rc.4/中,可能会有指向别的目录中的真正的脚本的各种各样的符号链接。这些链接的命令会像是S10network、S25xdm之类,其中的S表示启动(start)该项服务(如果是K,则表示kill),而数字指定了脚本执行的顺序。SysV风格的启动脚本的主要优点在于能够设置成自动配置许多东西。例如,若你进入runlevel6,你可以建立一个链接叫K75bind来终止BIND,前提是链接所指向的文件已经设置好来做这件事。SysV风格脚本的主要缺点是太过弯弯绕。假如我想增加一个服务,我要先写一个SysV风格的脚本(不是容易的事),它至少要处理“start”(还可能有“stop”)。然后,我必须确保在每个要运行这个服务的runlevel中正确地设置好符号链接。如果恰好这个服务需要在已经连续编号的两个脚本之间运行,我就需要做一些对符号链接重新编号的工作(例如,S10xxx和S11yyy已经存在,而我想让zzzz在它们之间运行,我就需要对前两者之一重新建立符号链接来把zzzz挤进去)。想暂时改变SysV的启动进程也是非常痛苦的事情。假如我不想在下次启动时运行xxx服务,最简单的办法是删除S10xxx这个链接,不算难吧?但如果我想在每个runlevel中都去掉它,我就需要从每个有关目录中删除S10xxx这个链接。然后,假如我改了主意,想重新运行xxx,我需要手工重新建立所有的符号链接。这样子无疑是在已经很复杂的启动进程上叠床架屋,而Slackware是不会这么做的:它用BSD风格的启动脚本。BSD风格的脚本是直接了当的shell脚本,它们倾向于顺序运行,而不需要start或stop之类参数。只要系统进入了它们的runlevel就会执行,就这么简单。BSD风格的主要缺点是你需要一些其他方法来控制后台服务。例如,若我要停止BIND,我要先用命令psax|grepnamed找出named的PID,然后kill这个PID(或者用这个pid的文件名)。但是我不能简单地下个命令/etc/init.d/bindstop(除非我已经写了个这样的SysV脚本)。BSD风格脚本的主要优点是它们非常容易阅读和编辑。例如,若我想增加一个服务zzzz,我可以在/etc/rd.d/rc.local中增加一行/usr/local/bin/zzzz,这样只要是执行rc.local的runlevel,zzzz就会随之运行。假如我只想在runlevel4执行zzzz,我可以把它放在/etc/rc.d/rc.4(不是目录,而是一个脚本)中。如果我要改变执行顺序,我只要把zzzz放在适当的服务之间,多数编辑器都支持在文件中间插入文本(就算ed都支持)。还有,你可以用注释的方式停止一个服务,然后去掉注释让它重新运行。因此,当多数发行版采用SysV风格时,Slackware采用了BSD风格。对于许多Slackware用户,BSD风格的易用性胜过SysV风格的强大功能。当然,你可以有自己的意见。与普遍的观点相反,从一种风格转到另一种并不那么困难,只要把inittab和rc文件从一个系统拷贝到另一个系统即可。init程序自身没有改变,所谓“风格”多是在inittab和它所调用的脚本中设置的。译注:现在slackware为了提高兼容性,在/etc/rc.d/提供了rc.sysvinit脚本以适应某些基于SysV启动过程的商业程序的需要。另外,在许多设置服务的脚本中,也接受start、stop、restart这一类参数,例如rc.sendmail、rc.sshd等。2.asample:1).In/etc/initab,wefoundittherunlevelissetto2.soitwilluserc2.ddirectoryforSysVinit.2).createafilenamedapache.sh.vi/etc/init.d/apache.sh:#!/bin/shecho"StartingApacheWebServer:httpd."/usr/apache2/bin/apachectlstart3).chmod+xapache.sh4).changeto/etc/rc2.d/ln-s../init.d/apache.shS96apache5).comments:顺便解释一下S96apache的意思,以S开头表明是开机时会执行的文件,96是执行的优先顺序。目录中S开头的档案为执行该服务,K为开头的档案则是杀掉该服务的意思。那么那些数字代表的意义为何?那就是激活的顺序啦!例如S12syslog会比S90crond更早被执行呢!源代码网供稿.