|
|
|
| 目录:
安装删除软件 安装操作系统 磁盘操作 网络知识
前两讲我们讲述了学习Linux的一些基本知识和需要做的准备工作,并且介绍了Linux桌面。这一讲将讲述Linux系统方面的知识。在学习Windows的时候,我就对系统知识格外感兴趣,比如安装和删除软件等,所以,认识了一些桌面程序之后,我习惯性地想学习一些Linux系统方面的知识。从学习安装、删除软件开始,然后按照由易到难,学习安装操作系统、文件系统及基础网络等知识。
安装删除软件
众所周之,Linux是开放源代码的,所以,许许多多的软件就通过编译源代码来安装。为了方便使用,很多发行版都制作了二进制的软件包。于是,软件的安装和卸载用术语“包管理”来称呼,用于包管理的命令或程序被称作“包管理器”。Linux有很多种发行版本,它们的包管理方式也各不相同。下面我们就以比较典型的版本来说明。一般软件源代码都是和安装脚本放在一起,并制作成压缩包的形式。几种典型的压缩包和解压缩的方式请参看表1。解压缩之后,进入源代码目录,使用命令“ls”,然后观察一下这个目录中包含了以下哪一个文件—configure、Makefile,还是Imake。
| 压缩包类型 | 压缩命令 | 解压缩命令 | | .gz | Gzip | gunzip | | .Z | Compress | uncompress | | .zip | Zip | unzip | | .bz2 | bzip2 | bunzip2 | | .lzh | Lha | lha |
1.如果是configure文件,就执行如下命令:
#./configure#make#make install |
2.如果是Makefile文件,就执行如下命令:
3.如果是Imake文件,就执行如下命令:
如果没有错误输出的话,软件就安装成功了。
对于Red Hat、SuSE、Debian等Linux发行版来说,它们有着各自特色的软件安装卸载工具。Red Hat和SuSE是RPM,最典型的安装命令为“rpm -ivh 软件包名称.rpm”,卸载命令是“rpm -e 软件名称”。很多发行版的软件安装都用RPM,非常简单;缺点是检查包的依赖性很麻烦,往往安装某个软件包还需要其它的库文件包等,于是造成的后果就是经常在寻找相关包的时候忘记原本是要安装什么。这两个发行版包管理的主要区别在于图形化的包管理器,SuSE的YaST2似乎要更胜一筹。Debian的安装工具是dpkg,典型的安装命令是“dpkg -i 软件包名称.deb”,卸载命令是“dpkg -e 软件名称”。它的优点是不用被严格的依赖性检查所困扰,缺点是只在Debian发行版中才能见到这个包管理工具。
以上介绍的压缩和解压及各种安装删除软件的方法中,需要重点关注的是tar和RPM,因为这是最常见的形式。可以通过在系统中键入命令“man tar”和“man rpm”来取得这两个命令的具体解释。顺便说一句,如果不知道哪个命令如何使用,可以键入“man 命令名称”来获得对这个命令的解释,不过遗憾的是现在的man基本上都是英文的。删除软件前面已经介绍过,不过要注意的是,乱删软件很可能造成系统的崩溃。这个倒不是Linux的缺陷,主要是因为X-Window还不太成熟。
安装操作系统
在前文中,我曾经提到过第一次安装Linux的情形。的确,安装Linux系统对一个新手来说是一件比较困难的事情。因为相对于Windows来说,会安装Linux的人要少得多,所以我做了Red Hat Linux的安装动画,如果有需要的读者,可以发邮件到fisherjams@tom.com索要。不过,只要计算机不是太新潮,那么安装当前大多数的Linux发行版就只需要点“Next”,按照默认安装就可以了。其中的几个重点说明如下:
1.分区 很多朋友都是无法理解Linux的分区,那么这里有个最简单的方案可供参考:先弄明白自己的内存是多少,然后分一个Swap区(文件系统类型是Swap),这个分区的大小一般是内存的2倍,其余的空间分一个区(文件系统类型是ext2或ext3),mount到/即可。
2.GRUB密码 当前许多的发行版都已经用GRUB来代替LILO作为启动引导程序,这个GRUB密码对于初学者来说没什么必要,因此可以不去设定。
3.root密码 初学者可以把root密码当成类似Windows中进入系统所必须的密码,刚安装完系统第一次登录系统,用户名就是root,密码就是在安装过程中设定的root密码。
4.启动盘 启动盘就像安装Windows时的问题一样,可以暂时不要建立启动盘,以后再学习如何制作及做好如何使用。
5.对硬件要有数 在设置X-Window的时候,建议对于自己的硬件一定要心中有数,显卡型号及显示器型号事先通过其它办法得到。例如在Windows系统中,使用设备管理器查看;或者用启动盘引导到DOS下,通过hwinfo软件来得知;若没有这个软件,也可发邮件到fisherjams@tom.com索取。在设置中选择正确的型号,在设置参数的时候不妨设置低一些。如果操作系统实在无法识别硬件,那么可先买个二手的机器或借个旧点的设备,以便操作系统可以认出。如果硬件不成障碍的话,掌握了以上几点就可以轻松安装Linux操作系统了。
磁盘操作
对Linux进行磁盘操作,文件系统等基础知识是必不可少的。我曾提到Linux的文件系统不像Windows,它是相对固定的,Linux的完整目录树被分为若干部分,各部分在其自己的磁盘或分区内,更适应于磁盘空间,更易于进行备份和其它系统管理。目录树中,主要的几个部分是root(这里指/,不是/root)、/usr、/var和/home。各部分用途不同,具体描述如下。
root文件系统是每台机器特有的(它一般保存在本地磁盘上,但也可保存在RAM磁盘或网络驱动器上),其中包含启动系统和引导装入文件系统所需的文件。因此,对单用户模式来说,root文件系统的内容足够使用了。另外,该文件系统内还包含一些工具,用于修复损坏的系统和从备份中恢复丢失的文件。
/usr文件系统内包含所有的命令、库、手册页和其它没有变动过的文件(这些文件是普通操作期间所需要的)。/usr文件系统内没有专门针对哪台机器的文件,也没有普通操作期间应该修改的文件。这样一来,便可以通过网络实现文件共享,从而有效地节约成本。因为这样可节省磁盘空间(/usr文件系统起码也有几百兆字节),使管理工作更容易(在更新应用程序时,只有master /usr需要改动,而不是逐一在每台机器上改动)。即使文件系统是在本地磁盘上,也可以采用只读方式装入它,减小系统崩溃时文件系统受损的可能性。
/var文件系统中包含有变动的文件,比如假脱机目录(用于邮件、新闻、打印机等)、日志文件、格式化的手册页和临时文件。/var内原来的所有东西都已经转移到/var下,但其结果是不能采取只读装入/usr。
/home文件系统中包含用户的根目录,也就是系统上的所有真实数据。把根目录和用户的其它目录树或文件系统区分开的目的是为了方便备份;其它部分通常是不需要备份的,或者说至少不需要经常备份(因为它们几乎没有变动)。一个大型的/home文件系统可能分为若干个小型的文件系统,这就需要在/home下面加一个额外的命名级别,比如/home/student和/home/staff。
也许大家被这些名词和定义弄得晕头转向,没有关系,可以暂时不去理解它,在以后使用中慢慢体会这些内容。其它的一些目录内容简介如下:
1. /bin 启动期间,可供普通用户使用的命令(也可能在启动之后)。 2. /sbin 和/bin一样,但不是供普通用户使用的,虽然在必要或经过允许的情况下,普通用户也可使用。 3. /etc 某台机器专用的配置文件。 4. /root 用户{root}的根目录。 5. /lib root文件系统上的程序所需的共享库。 6. /lib/modules 可装载的内核模块,特别是从灾难中恢复时,启动系统所需的那些模块(比如,网络和文件系统驱动程序)。 7. /dev 设备文件。 8. /tmp 临时文件。启动后的程序运行应该采用/var/tmp,而不是/tmp,因为前者可能在空间较大的磁盘上。 9. boot 启动装载程序所用文件,比如LILO。内核镜像通常保存在这里,而不是root目录中。如果有多个内核镜像,这个目录就可能增长得很快,所以最好把它单独保存在一个文件系统内。这样做的另一个原因是,确保内核镜像在IDE磁盘的前1024个磁道内。 10. /mnt系统管理员临时装入的装入点。程序不会自行装入/mnt,/mnt可以分为若干个子目录(比如/mnt/dosa可能是使用MS-DOS系统的软驱,而/mnt/extra/则可能和ext2文件系统如出一辙)。 11. /proc、/usr、/vsr和/home 其它文件系统的装入点。
除了了解上面这些知识外,想要完全掌握Linux的磁盘操作,还需要了解下面这些知识点:
◆ 分区,包括类型、需要的程序等; ◆ 文件,包括普通文件以及特殊的设备文件; ◆ 挂载,mount&umount; ◆ 硬盘及空间等知识; ◆ 系统引导; ◆ 交换区的相关知识。
限于篇幅,这里就不再对各个知识点进一步详述,读者朋友可参考《Linux系统管理员指南》(Lars Wirzenius 著,机械工业出版社),这是一本比较早的相对全面介绍Linux系统的中文图书。
网络知识
即便只有一台计算机,也应当了解Linux是如何联入网络的。因为网络是Linux的灵魂,深入地学习就会发现,Linux作为一个网络操作系统是十分合适的。它的软件用于Internet服务是那么的优秀,所以,在此对相关的基础网络知识做一个简单介绍事实上,是Unix推动了Internet的飞速发展。正因为当初联入Internet的机器大多都是Unix,所以Internet的体系沿用了Unix内最普遍使用的协议—TCP/IP。任何人刚接触网络知识都几乎被各种各样的名词弄得晕头转向(当初我就是这样的),所以有必要将复杂的问题简单化。网络就是由许多计算机和能够连接它们的设备一起组成的。最简单的网络就是用两台计算机,都安装网卡,然后用一根网线连接在一起!网络可以想象成把这个模型不断地扩大,加入的计算机由2台变为10台、100台……当计算机数量大于3的时候,使用的连接设备就显得很重要了。于是,集线器、交换机、路由器就是接下来要学习的名词。对于一个系统管理员来说,了解这些网络连接设备的工作原理没有太多必要,只需要了解它们是如何将计算机连接在一起就可以了。相信许多读者朋友也一样不想弄明白“三次握手”,只想让计算机顺利地能够互相通信。
当用许许多多的硬件设备和线缆将计算机连接在一起后,计算机使用何种语言通信就需要研究了。就像人与人的交流一样,总不能一个说中文,一个说英文。计算机的交流语言叫做协议,各种技术的发展产生了许许多多的协议,但是我们只需要了解最常用的TCP/IP协议就可以了。TCP/IP中最重要的就是IP地址,它是4个10进制数目组成,并且每一个都小于255,4个数字间用“.”隔开。其次要了解域名解析(DNS)。IP地址就相当于门牌号,DNS就相当于地址黄页,将门牌翻译成一个容易记住的名称(或者把这个过程颠倒过来),例如我们输入www.sina.com.cn就是一个域名,将这个名称转换为IP地址的服务就叫做域名解析。这种机制类似人和人交往的时候需要知道对方的名字。所以,无论是拨号上网,还是采用其它的什么方式,若想顺利地与其它Internet上的机器沟通,首先就必须有个IP地址。拨号上网的用户,在拨入后即拥有了一个IP地址;通过局域网上网的用户,则有可能需要事先定制一个IP地址。
仅仅简单地学习这些理论是没有任何效果的,当遇到问题的时候还是一样无法解决。学习网络最好的办法也是实践,在继续学习网络知识之前,最好能有一个网络环境来做实验。最简陋的实验条件就是用两台计算机,都安装网卡,用一个集线器或交换机连接到一起。当搭建了这样的一个局域网后,在其中一台计算机上安装Linux作为服务器,另外一台计算机则可以安装一个Windows作为一个客户机。接下去就可以按照网络上的资料配置几个实际的服务来看看Linux是如何做服务的。
配置第一个服务可以从Samba开始。学习如何使用Samba将Linux中的磁盘共享给Windows客户机。在这个实验中,需要涉及的知识有IP地址、用户、文件系统、配置文件(/etc/samba/smb.conf)、启动停止服务(/etc/rc.d/init.d/smb start | stop | restart)等。下面就简单地来讲讲这个过程。
首先,按照以前提到的方法安装好Linux,设置IP地址为192.168.1.1,设置Windows机器IP地址为192.168.1.2,网络掩码为255.255.255.0,网关为192.168.1.1。有些Linux系统还需要设置网络地址和网关,网络地址为192.168.1.0。完成上述工作后,在Windows机器中打开一个DOS窗口,输入“ping 192.168.1.1”,若结果类似下面显示:
C:\Documents and Settings\Administrator>ping 192.168.1.1Pinging 192.168.1.1 with 32 bytes of data:Reply from 192.168.1.1: bytes=32 time<10ms TTL=255Reply from 192.168.1.1: bytes=32 time<10ms TTL=255Reply from 192.168.1.1: bytes=32 time<10ms TTL=255Reply from 192.168.1.1: bytes=32 time<10ms TTL=255Ping statistics for 192.168.1.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms |
就说明网络已经通畅,这样第一步工作已经完成。在Linux机器上打开一个“终端”(若是文本界面,这步可不做),输入命令“useradd aaa”加入一个用户aaa,并“passwd aaa”,输入abc123两次(屏幕没有显示请不要害怕,这是正常的),设置密码为abc123,然后输入命令“cp /etc/samba/smb.conf /etc/samba/smb.conf.bk”,这个命令将马上要改变的配置文件备份起来。这一点很重要!当对Linux还不熟悉的时候,备份任何可能更改的文件十分必要。接着使用“vi /etc/samba/smb.conf”更改这个文件,vi的操作命令就不介绍了。这里给出一个最简单的smb.conf的例子——将smb.conf文件做如下改动:
添加下面一行:
去掉下面代码之前的“#”号:
#host allow = 192.168.1. 192.168.1. 127. |
然后退出文件编辑。输入命令“testparm”看看是否有“OK”提示。如果有,就按一个回车,输入命令“/etc/rc.d/init.d/smb restart”重启SMB服务。打开Windows的“开始”|“运行”,输入“\\linux”或“\\192.168.1.1”,输入用户名aaa和密码abc123就可以看到共享的aaa文件夹了。有了这个例子做模板,读者朋友可以照猫画虎来学习更深入的知识。当掌握了这些知识后,作为一个Unix/Linux网管或系统管理员的基本技能就已经拥有了,接下去就是准备为这个感兴趣的行业或职业投入你的精力。不可否认,兴趣、敬业、专业、过硬的心里素质是在这个行业和职业取得成功的必要条件。
到此为止,“通往Linux之路(入门篇)”就暂告一段落。这些基础知识仅仅是Unix/Linux网管或系统管理员入门必备的知识,要想做好网管或系统管理员还需要学习很多知识和技能。
(责任编辑:战莹)j30B0j30B0j30B0 | |
|
|
 |
站内公告 |
|
|
|
|
|
|
.gif) |
栏目导航 |
|
|
|
|
|
|
 |
最新文章 |
|
|
|
|
|
|