




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux系统故障如何在Linux I/O 重定向的一些小技巧Linux I/O 重定向虽然很简单,但在脚本编写、系统管理时却要常常打交道,搞清其中使用技巧非常有用。 首先说一下什么是 I/O 重定向,所谓 I/O 重定向简单来说就是一个过程,这个过程捕捉一个文件,或者命令,程序,脚本,甚至脚本中的代码块(code block)的输出,然后把捕捉到的输出,作为输入发送给另外一个文件,命令,程序,或者脚本。 如果谈到 I/O 重定向,就涉及到文件标识符 (File Descriptor) 的概念, 在 Linux 系统中,系统为每一个打开的文件指定一个文件标识符以便系统对文件进行跟踪,这里有些和C语言编程里的文件句柄相似,文件标识符是一个数字,不同数字代表不同的含义,默认情况下,系统占用了 3 个,分别是0标准输入(stdin),1 标准输出 (stdout), 2 标准错误 (stderr), 另外 3-9 是保留的标识符,可以把这些标识符指定成标准输入,输出或者错误作为临时连接。通常这样可以解决很多复杂的重定向请求。 标准输入通常指键盘的输入 标准输出通常指显示器的输出 标准错误通常也是定向到显示器 请看以下例子,来描述一下他们的关系: #ls /dev 这个命令列出/dev目录下的所有文件,在屏幕上输出结果。 这里 /dev 就是作为命令 ls 的标准输入(从键盘输入),而打印在屏幕的结果就是标准输出(/dev 目录中的内容)还是回到标题,重定向就是把标准的输入或者输出更改成其他的方式,请参看如下例子或者等同于 #ls /dev 1filename #注意:1和中间没有空格 以上命令会把命令的标准输出重新定向到一个文件filename,而不是显示到屏幕上,如果不指明文件标识符,系统默认的就是1, 因此1可以省略 如果把上面例子重的 改成 则表示把输出追加到 filename 文件的末尾,如果文件不存在则创建它。如下 #ls /dev filename 也可以把标准错误重新定向到文件 #ls -qw /dev 2filename 显然 -qw 是一个错误参数,通常会在显示器上报告一个错误信息,但由于把 2 标准错误(stderr)重新定向到了文件 filename,因此显示器没有错误信息,而信息写到了文件里面 以下命令是把标准输出和错误都定向到文件 #ls /dev &filename & 在这里代表标准输出和标准错误,这里无论是正常输出还是错误信息都写到 filename 中了。 重新定义标准输入,输出,和错误的文件标识符 重新定义文件标识符可以用 i&j 命令,表示把文件标识符 i 重新定向到 j,你可以把 & 理解为 取地址 请看以下例子: e xec 5&1 表示把文件标识符 5 定向到标准输出,这个命令通常用来临时保存标准输入。 同样标准输入也是可以重新定向的,请参考下面例子 # grep search-word 一般来说 grep 命令在给定文件中搜索字符串,以上命令把文件 filename 作为 grep 命令的标准输入,而不是从键盘输入。 前面曾经提到,系统为每一个打开的文件指定一个文件标识符以便系统对文件进行跟踪,那么默认的文件标识符是什么呢?答案是 0,也就是标准输入,或者可以说从键盘输入。当然这个文件标识符也可以自己指定,请参考下面例子: e cho 123456789 filename 把字符串写到文件 filename 中 e xec 3filename 把文件 filename 打开,并指定文件标识符为3 #read -n 4 &3 在第5个字符处写一个点,覆盖第5个字符,-n表示不换行 e xec 3&- 关闭文件标识符 现在 cat filename 文件的结果就成了 1234.6789 命令 jfilename 表示把文件打开,并指明文件标识符为 j &- 表示关闭文件标识符 有关关闭文件标识符的操作请参考下面 n&- 关闭输入文件标识符 n 0&-或&- 关闭输出文件标识符 n 1&-或&-关闭标准输出 stdout 另外还有一些其他命令,如下参考 filename 或者 filename 表示把文件filename设置成空,也就是清空文件内容,如果文件不存在,则创建一个空文件,(等同于touch命令) :表示一个空输出,两个命令的唯一区别就是filename不是在所有shell都可以正常工作的。高级Linux操作系统的安全管理技巧由于Linux操作系统是一个开放源代码的免费操作系统,因此受到越来越多用户的欢迎。随着Linux操作系统在我国的不断普及,有关的政府部门更是将基于Linux开发具有自主版权的操作系统提高到保卫国家信息安全的高度来看待,因此我们不难预测今后Linux操作系统在我国将得到更快更大的发展。虽然Linux与UNIX很类似,但它们之间也有一些重要的差别。对于众多的习惯了UNIX和WindowsNT的系统管理员来讲,如何保证Linux操作系统的安全将面临许多新的挑战。本文介绍了一系列实用的Linux安全管理经验。 一、文件系统 在Linux系统中,分别为不同的应用安装单独的主分区将关键的分区设置为只读将大大提高文件系统的安全。这主要涉及到Linux自身的ext2文件系统的只添加(只添加)和不可变这两大属性. 文件分区Linux的文件系统可以分成几个主要的分区,每个分区分别进行不同的配置和安装,一般情况下至少要建立/、/usr/local、/var和/home等分区。/usr可以安装成只读并且可以被认为是不可修改的。如果/usr中有任何文件发生了改变,那么系统将立即发出安全报警。当然这不包括用户自己变/usr中的内容。/lib、/boot和/sbin的安装和设置也一样。在安装时应该尽量将它们设置为只读,并且对它们的文件、目录和属性进行的任何修改都会导致系统报警。 当然将所有主要的分区都设置为只读是不可能的,有的分区如/var等,其自身的性质就决定了不能将它们设置为只读,但应该不允许它具有执行权限。 扩展ext2使用ext2文件系统上的只添加和不可变这两种文件属性可以进一步提高安全级别。不可变和只添加属性只是两种扩展ext2文件系统的属性标志的方法。一个标记为不可变的文件不能被修改,甚至不能被根用户修改。一个标记为只添加的文件可以被修改,但只能在它的后面添加内容,即使根用户也只能如此。 可以通过chattr命令来修改文件的这些属性,如果要查看其属性值的话可以使用lsattr命令。要想了解更多的关于ext2文件属性的信息,可使用命令manchattr来寻求帮助。这两上文件属性在检测黑客企图在现有的文件中安装入侵后门时是很有用的。为了安全起见,一旦检测到这样的活动就应该立即将其阻止并发出报警信息。 如果你的关键的文件系统安装成只读的并且文件被标记为不可变的,入侵者必须重新安装系统才能删除这些不可变的文件但这会立刻产生报警,这样就大大减少了被非法入侵的机会。 保护log文件当与log文件和log备份一起使用时不可变和只添加这两种文件属性特别有用。系统管理员应该将活动的log文件属性设置为只添加。当log被更新时,新产生的log备份文件属性应该设置成不可变的,而新的活动的log文件属性又变成了只添加。这通常需要在log更新脚本中添加一些控制命令。 二、备份 在完成Linux系统的安装以后应该对整个系统进行备份,以后可以根据这个备份来验证系统的完整性,这样就可以发现系统文件是否被非法窜改过。如果发生系统文件已经被破坏的情况,也可以使用系统备份来恢复到正常的状态。 CD-ROM备份当前最好的系统备份介质就是CD-ROM光盘,以后可以定期将系统与光盘内容进行比较以验证系统的完整性是否遭到破坏。如果对安全级别的要求特别高,那么可以将光盘设置为可启动的并且将验证工作作为系统启动过程的一部分。这样只要可以通过光盘启动,就说明系统尚未被破坏过。 如果你创建了一个只读的分区,那么可以定期从光盘映像重新装载它们。即使象/boot、/lib和/sbin这样不能被安装成只读的分区,你仍然可以根据光盘映像来检查它们,甚至可以在启动时从另一个安全的映像重新下载它们。 其它方式的备份虽然/etc中的许多文件经常会变化,但/etc中的许多内容仍然可以放到光盘上用于系统完整性验证。其它不经常进行修改的文件,可以备份到另一个系统(如磁带)或压缩到一个只读的目录中。这种办法可以在使用光盘映像进行验证的基础上再进行额外的系统完整性检查。 既然现在绝大多数操作系统现在都在随光盘一起提供的,制作一个CD-ROM紧急启动盘或验证盘操作起来是十分方便的,它是一种十分有效而又可行的验证方法。 三、改进系统内部安全机制 可以通过改进Linux操作系统的内部功能来防止缓冲区溢出攻击这种破坏力极强却又最难预防的攻击方式,虽然这样的改进需要系统管理员具有相当丰富的经验和技巧,但对于许多对安全级别要求高的Linux系统来讲还是很有必要的。 SolarisDesigner的安全Linux补丁SolarisDesigner用于2.0版内核的安全Linux补丁提供了一个不可执行的栈来减少缓冲区溢出的威胁,从而大大提高了整个系统的安全性。 缓冲区溢出实施起来是相当困难的,因为入侵者必须能够判断潜在的缓冲区溢出何时会出现以及它在内存中的什么位置出现。缓冲区溢出预防起来也十分困难,系统管理员必须完全去掉缓冲区溢出存在的条件才能防止这种方式的攻击。正因为如此,许多人甚至包括LinuxTorvalds本人也认为这个安全Linux补丁十分重要,因为它防止了所有使用缓冲区溢出的攻击。但是需要引起注意的是,这些补丁也会导致对执行栈的某些程序和库的依赖问题,这些问题也给系统管理员带来的新的挑战。 不可执行的栈补丁已经在许多安全邮件列表(如)中进行分发,用户很容易下载到它们等。 StackGuardStackGuard是一个十分强大的安全补丁工具。你可以使用经StackGuard修补过的gcc版本来重新编译和链接关键的应用。 StackGuard进行编译时增加了栈检查以防止发生栈攻击缓冲区溢出,虽然这会导致系统的性能略有下降,但对于安全级别要求高的特定应用来讲StackGuard仍然是一个十分管用的工具。 现在已经有了一个使用了SafeGuard的Linux版本,用户使用StackGuard将会更加容易。虽然使用StackGuard会导致系统性能下降约1020%,但它能够防止整个缓冲区溢出这一类攻击。 增加新的访问控制功能Linux的2.3版内核正试图在文件系统中实现一个访问控制列表,这要可以在原来的三类(owner、group和other)访问控制机制的基础上再增加更详细的访问控制。 在2.2和2.3版的Linux内核中还将开发新的访问控制功能,它最终将会影响当前有关ext2文件属性的一些问题。与传统的具有ext2文件系统相比它提供了一个更加精确的安全控制功能。有了这个新的特性,应用程序将能够在不具有超用户权限的情况下访问某些系统资源,如初始套接等。 基于规则集的访问控制现在有关的Linux团体正在开发一个基于规则的访问控制(RSBAC)项目,该项目声称能够使Linux操作系统实现B1级的安全。RSBAC是基于访问控制的扩展框架并且扩展了许多系统调用方法,它支持多种不同的访问和认证方法。这对于扩展和加强Linux系统的内部和本地安全是一个很有用的。 Linux操作系统下6个应急处理小常识编者按: 天有不测风云,谁也保不准你的系统不会在某天出现意外,有什么应急处理的办法可以参考呢? 本文从网上收集了几个常用的应急处理小常识供您参考: 1使用急救盘组进行维护 急救盘组(也称为boot/root盘组),是系统管理员必不可少的工具。用它可以独立地启动和运行一个完整的Linux系统。实际 上,急救盘组中的第2张盘上就有一个完整的Linux系统,包括root文件系统;而第1张盘则存放了可启动的内核。 使用急救盘组维护系统很简单。只需用这两张盘启动系统后,进入急救模式,这时使用的是root账户。为了能访问硬盘上的文件,需要手工安装硬盘文件系统。例如,用下面的命令可在/mnt目录中安装/dev/hda2盘上的ext2fs类型的Linux文件系统: # monut -t ext2/dev/hda2/mnt 注:现在根目录是急救盘上的根目录。为了访问硬盘文件系统中的文件,必须先把它安装到某个目录下。这样,如果将硬盘上文件系统安装在/mmt目录下,则硬盘上原来的/etc/passwd文件的路径就是/mnt/etc/passwd 2文件系统被破坏时的处理方法 当文件系统被破坏时,如果使用的是ext2fs类型的文件系统,就可从软盘运e2fsck命令来修正文件系统中被损坏的数据。对于其他类型的文件系统,可以使用相应的fsck命令。 当从软盘上检查文件系统时,最好不要mount安装 注:文件系统被破坏的常见原因是超级块被损坏,超级块是文件系统的“头部”。它包含文件系统的状态、尺寸和空闲磁盘块等信息。如果损坏了一个文件系统的超级块(例如不小心直接将数据写到了文件系统的超级块分区中),那么系统可能会完全不识别该文件系统,这样也就不能安装它了,即使采用e2fsck 命令也不能处理这个问题。 不过,ext2fs类型的文件系统将超级块的内容进行了备份,并存放于驱动程序的块组(block group)边界。可以用如下的命令通知e2fsck使用超级块的备份 # e2fsck -b 8193 是指文件系统所在的分区,-b 8193选项用于显示使用存放在文件系统中的8193块的超级块的备份数据 3恢复丢失的文件 如果不小心删除了重要的文件,那么没有办法直接恢复。但是还可以将相应的文件从急救盘复制到硬盘上。例如,如果删除了文件/bin/login,此时系统无法正常进到登录界面,可以用急救盘组启动系统,将硬盘文件系统安装到/mnt目录下,然后使用下述命令: #cp -a /bin/login /mnt/bin “-a”选项用于告诉cp在拷贝时保持文件的访问权限。 当然如果被删除的基本文件不在“急救盘组”中,也就不能用这种方法了。如果以前做过系统备份的话,那么也可以用以前的备份来恢复。 4函数库破坏时的处理方法 如果不小心将系统函数库文件破坏了,或者破坏了/lib目录下符号链接,那么将导致依赖这些库的命令无法执行。最简单的解决办法是用急救盘组启动系统,在/mnt目录中安装硬盘文件系统,然后修复/mnt/lib目录下的库。 5无法用root账号登录系统 由于系统管理员的疏忽,或者由于系统受到黑客的入侵,系统管理员可能无法用root帐号登录系统。 对于第1种情况,可能是系统管理员忘记了root密码,用急救盘组就可以解决问题。 对于第2种情况,由于很可能是密码被黑客修改了,因此系统管理员无法进入系统,也就是说,Linux系统完全失去了控制,因此应尽快重新获得系统的控制权。在取得 root权限后,还应检查系统被破坏的情况,以防被黑客再次入侵。 需要做的最主要的工作就是重新设置root的密码,获得Linux操作系统的控制权。首先用急救盘组启动系统,然后将硬盘的文件系统安装到/mnt目录下,编辑/mnt/etc/passwd文件,将其对应于root账户的一行加密口令域置空,如下所示: root:0:0:root:/root:bin/bash 注: 如果系统使用 shadow工具,就需要对文件/etc/shadow进行上述的操作,使root登录系统不需要口令。 这样,root账户就没有口令了。当重新从硬盘启动Linux系统时,就可以用root账户登录(系统不会要求输入密码)。进入系统后,再用命令passwd设置新的口令。 6Linux系统不能启动 一般来说,如果系统管理员不能正常进入系统,就需要考虑使用急救盘组进入急救模式排除系统的故障。但在没有制作急救盘组的情况下,Linux系统不能启动,该怎么办? 在个人计算机使用 Linux系统时,通常都是Linux和MS Windows 9x或MS Windows NT并存的。由于重新安装其他的操作系统,经常会导致原有的Linux不能启动。这主要是因为,这些操作系统默认为计算机中没有其他的操作系统,因而改写了硬盘的主引导记录(MBR),冲掉了Linux的LILO系统引导程序。 如果有急救盘组,那么很简单,用第一张启动盘启动硬盘的Linux系统,重新运行LILO命令,就可以将LILO系统引导程序写回硬盘的主引导记录。再次开机即可。 如果没有系统启动盘,怎样恢复硬盘上的Linux呢?在这种情况下,如果知道Linux在硬盘上的确切安装分区,且有loadlin程序,就可以重新返回Linux。 loadlin程序是DOS下的程序,运行它可以从DOS下直接启动Linux,快速进入Linux环境。在 Red Hat Linux 6.0光盘的 dosutil/目录下就有这个程序。除此之外,还需要一个 Linux启动内核的映像文件。在 Red Hat linux 6.0光盘的 images/目录下有这个文件vmlinuz。 例如,在Windows 98系统下面,进入DOS的单用户模式,然后运行下述的loadlin命令,即可重新进入Linux系统: loadlin vmlinuz root=/dev/hda8 /dev/hda8是Linux的root文件系统所在的硬盘分区位置。命令执行后,就引导Linux系统。用root登录后,运行LILO命令,则重新将LILO装入MBR,回到以前多操作系统并存使用的状态。Linux操作操作两种常见启动故障解决方法本文就两类常见启动问题:Lilo失效和忘记root口令提出若干解决方法:Lilo失效有五种参考方法: 1、如果有启动软盘,用它启动后,运行lilo,重启。 2、红旗下通过:用安装光盘引导系统。在安装向导开始后,我们即可溜到另一个控制台下(按Ctrl+Alt+F2),将看到bash#字样。如果你Linux的/分区是对应/dev/hda3,所用的文件系统是ext2的。注意:#开始的行是注释行mount -t ext2 /dev/hda3 /tmp #(使用的reiser文件系统的用户用reiserfs代替ext2)chroot /tmp/sbin/lilo 如果同时忘记了root口令,可在此用passwd修改,取出光盘,用硬盘启动。 3、红旗下通过:用Windows的启动软盘启动进入DOS,假定光驱为g:,Linux安装在/dev/hda3,将Linux安装光盘放入光驱,在DOS提示符下运行以下三条命令: g:cddosutilsautoboot.loadlin vmlinuz root=/dev/hda3 1 或者 .loadlin vmlinuz root=/dev/hda3 single 或者 .loadlin vmlinuz root=/dev/hda3 init=/bin/sh rw 启动Linux后,在#提示符下,运行 /sbin/lilo 如果同时忘记了root口令,可在#提示符下,用passwd修改,然后重启。 4、红旗下通过:用升级方式重装,注意什么包也不选,运行一遍安装程序后,就可以修复Lilo 5、Red hat 7.1下通过:重装(不过什么包也不选,也不能选格式化Linux分区,进行到最后重新配置Lilo),如果同时忘了root口令,请牢记在重装时输入的口令。 忘记root口令解决方法: 如果忘了root口令,请重新启动,在Lilo处,即显示boot:时: 运行 linux 1 (或 linux = single 或 linux init=/bin/sh rw) 进入单用户模式,显示 bash#,这时运行passwd可以修改口令,然后exit, 进入到login:处,输入root,口令输新口令,一切就OK了!口令破解还可以参考上面方法2、3、5(如果Lilo正常,就不必运行lilo) 附:安装Linux后,如果不能启动DOS、Windows(假定安装在/dev/hda1), 请进入Linux后,修改/etc/lilo.conf文件,加上: other=/dev/hda1label=dos 保存退出,执行lilo命令,他会把lilo中加上dos的选项。 Linux操作系统中的7件武器详解Linux是一套免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。Linux系统是由全世界各地的成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权所制约的、全世界都能自由使用的UNIX兼容产品。也许有些准备和正在使用Linux的朋友对为什么使用Linux并不十分了解。本文试就这一问题给出答案,让人们真正了解Linux带给我们的七件武器。Linux对比于商业软件,对学习者来说有一个境界上的差异,这个差异用一句话概述就是:以无法为有法,以无限为有限。这个境界上的差异也就是Linux七种武器的精华所在。 一、拳头编程能力 Linux产生于一群真正的黑客。尽管人们习惯于认为Linus是Linux的缔造者,在linux包含的数以千计的文件中,也有一个名为Credits的文件记录了主要的Linux Hacker们的姓名和电子邮件地址(这个列表中包含了100多个名字,世界各地的都有),但没有人说得清究竟有多少人参与了Linux的改进。这一游戏到今天并没有随着时间的推移而停止,相反却因为Linux的日益流行而爱好者甚众。因此开始使用Linux就犹如加入了一个高手如云的编程组织。你可以通过互联网随时了解来自地球的某一个角落的该领域的最新进展;如果你的英文足够好,加入一个讨论组,你就可以得到不知来自什么地方的神密高手的点拨。由于GPL的存在,你还可以得到开放的源代码,从而不用发愁学习资料的来源? 随着更多专业公司的介入,Linux可以提供的开发工具的功能也越发强大。如TurboLinux就具有强大的应用程序开发环境,提供了各种开发应用程序的工具,具有对多种语言如:C、C+、Java、Perl、Tcl/tk、Python和Fortran 77的编译器/解释器,以及集成开发环境、调试和其他开发工具。再如Janus Software公司开发的被称为Linux版VB的Phoenix Object Basic,它是一套独特的面向对象的Linux RAD(Rapid Application Development,快速应用软件开发工具)。它综合了Python和Perl等面向对象编程语言的强大功能,同时,提供了类似Visual Basic的易用性。熟悉Windows环境下Visual Basic的编程者都可以顺利地使用Phoenix Object Basic。LynuxWorks公司的VisualLynux可以和微软的Visual C+相媲美,它集成了微软Visual C+开发工具以支持Linux操作系统的产品,它不但兼容LynuxWorks公司的BlueCat Linux,而且还兼容其他的Linux 2.2.12版本。LynuxWorks公司甚至声称从此Visual C+就具备了开发嵌入式Linux应用程序的能力。嵌入式Linux系统现在相当热门,已经广泛地应用在各式各样的通信基础产品。我想可能有些Visual C+的使用者看到这里已经动了心,想要尝试一把了。 强大的开发工具+开放源代码+高手点拨,结果是什么呢?想来编程狂热分子已经心知肚明。因此强烈建议对编程有狂爱、总喜欢用程序解决问题的人使用Linux,去拥有Linux提供的第一件武器编程能力。 二、多情环组网能力 Linux的组网能力非常强大,它的TCP/IP代码是最高级的。Linux提供了对于当前的TCP/IP协议的完全支持,并且包括了对下一代Internet.协议Ipv6的支持。Linux内核还包括了IP防火墙代码、IP防伪、IP服务质量控制及许多安全特性。这些特性可以和像Cisco这样的公司提供的高端路由设备的特性相媲美。此外,利用Redhat Linux提供的Samba组(并不是RedHat Linux独有),Linux可以作为Windows客户机的打印和文件服务器,还可以用做NT的文件和打印服务器。运用Linux包含的AppleTalk模块,Linux甚至可以作为一个Macintosh客户机的文件和打印服务器。让Apache这个世界上应用范围最广的Web服务器软件系统跑在linux上,你就可以运行自己的Intranet或者Internet web服务器。Linux还包含了一个Ftp服务程序、一个电子邮件传输代理程序以及,POP和IMAP邮件服务程序。如果你愿意,你还可以在Internet上免费获得一个Linux的LDAP服务程序。面对如此强大的网络功能,我们强烈建议对构造网络有兴趣的人掌握Linux的第二件武器组网能力。 三、长生剑创新能力 “如果你总是使用微软的开发工具,你一生只能做个操作人员。”这话一点都不假。Linux是自由软件,而自由软件和非自由软的区别在于: 1.自由软件是开放的,成千上万的人可以检查这个软件,快速地找到并修改其错误码。 2.最终用户可以按照自己的意愿自定义自由软件,有特殊需要的用户也可以完全按照他们认为合适的方式定制自己的Linux。 3.自由软件为了防止重复发明,通过共享源代码和思想来节省很多工作量。 以上这些特性是不是对有想法的好事者有莫大的吸引力?不仅如此,Linux由于自身的优点,应用领域也越来越广泛。如最近嵌入式Linux的应用相当热门,已广泛应用于包括笔记本电脑、连网装置、网络电视等在内的各式各样的通信基础产品,而嵌入式操作系统正日益成为一种势不可挡的流行趋势,最终电脑、通讯、家电会因为它的存在而成为一体。这些也为有想法的好事者提供了更广阔的发挥空间。在梦想就是力量的今天,没有了创新能力是不可想象的。因此强烈建议那些具有较强的钻研精神,喜欢刨根问底的好事者学习使用Linux,利用Linux提供的第三件武器创新能力。四、碧玉刀UNIX能力 人们所以选择Linux的又一个重要原因是在于它的UNIX兼容性。由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,无偿地获得大量的应用程序,还可以任意地修改和补充它们。这对用户学习、了解UNIX操作系统的内核非常有益。可以说Linux为广大用户提供了一个在家里学习和使用UNIX操作系统的廉价的机会。 现在有了许多CD-ROM供应商和软件公司对Linux操作系统的支持,Linux成为UNIX系统在个人计算机上的一个代用品。在用户级,Linux与UNIX非常相似,可以说了解UNIX,就了解了Linux的大部分内容;在编程级,大多数应用程序只需要很少的工作就可以在Linux和UNIX间转换。而且Linux也有意设计为与UNIX兼容,从而便于利用UNIX软件的主体。Linux能够很好地与其他UNIX机器相互操作,它使用了像RPC(远程过程调用)和NFS(网络文件系统)这样的标准UNIX服务。Linux还继承了UNIX的灵活性和可定制性,使其适合于广泛的应用程序,包括适应于传统的服务器和桌面应用程序,以及像嵌入式系统这样的不常见的应用程序。 因此,如果一个用户在公司上班的时候在UNIX系统上编程,或者在工作中是一位UNIX的系统管理员,他就可以在家里安装一套UNIX的兼容系统,即Linux系统。在家中使用Linux就能够完成一些工作任务。而急于通过Linux的学习掌握UNIX的目的想必不用多说了,在这个网络人才因稀缺而身价倍增的年代,想靠技术吃饭又不想掌握服务器端技术的人才是真正的傻瓜。 五、离别钩怀旧能力 在这个IT技术日新月异的年代,怀旧应该不是一个好习惯,尽管怀旧可以有一种很不错的情鳌匚颐欠治颐遣坏貌换尘闪耍蛭颐侨旮章虻牡缒韵衷谝丫系粞懒恕苊扛鯥T厂商都嚷着他们的产品可以有效地降低我们的TCO(总拥有成本),可我们手里设备的折旧速度还是在不断加快。如果你肯听我的,我会说这世上从来就没有救世主,还是试试我推荐的Linux吧。 Linux非常小,可以有效地利用硬件。Linux的最小安装仅需要4MB内存,而你也可以在你的486机器上安装Linux并将其用做防火墙或Web服务器。我读到的Linux名著中甚至记载了有人用二手386建立了路由器和防火墙。Linux内核允许在运行时装载和卸载硬件的驱动程序。这样因为不必装载全部的驱动程序,就可以最大化地使用内存。总之Linux可以使老机器获得新生,节省我们的财力。因此强烈建议那些跑Windows像蜗牛一样慢的电脑的机主们学习Linux。 六、霸王枪稳定能力 运行Linux的机器启动一次可以运行数月。Linux提供了完全的内存保护,每个进程都运行在自己的虚拟地址空间中,并且不会损坏其他进程或内核使用的地址空间。任务与内核间也是相互隔离,即行为不良或编写不良的程序只能毁坏自己。因此被破坏的进程几乎不可能使系统崩溃。Linux在和Windows98和NT在安全性的较量中占有上风,和Windows2000的情况又怎么样呢?资深的系统安全分析家指出:Windows 2000在网络系统,服务器连接方面的工作准备不足,Linux仍然是目前最安全的操作系统。资深的系统安全分析家还预计到今年年底Windows 2000才能完成测试、除虫工作,目前比较安全的操作系统仍然是商业版本的UNIX和Linux。资深的系统安全分析家肯定地认为:在未来的5年里,Linux将成为最安全的操作系统。到2005年,管理和使用Linux将是一件十分容易的事情。 现在可以说Linux是一个非常坚固的系统了,因此强烈建议对于Windows的蓝屏死机极为厌恶的人学习Linux,使用Linux提供的第六件武器稳定能力。 七、孔雀翎支付能力 Linux提供的第七件武器和金钱有关,这是一个不容回避的问题。因为价格原因,每个人都可以拥有正版的Linux。此外Linux还是一个完全开放的系统。它支持各种像POSIX标准这样的开放标准和TCP/IP的Internet工程任务组标准。由于避免了专有的API(应用程序接口)和协议,可以减少对单一供应商的依赖。这样就不会出现像使用专用系统的情况:一旦犯了错误,只能继续使用原来的系统供用商的产品。也就是不会出现先享受低价,而在后期需要付出高额服务费的情况。因此强烈建议不想花太多的钱,又想使用正版软件的人学习和使用Linux。 Linux 发行版和安装的基本知识一、Linux发行版的基本知识虽然Linux的基础是其内核(kernel),但是光有内核还远不是一个完整可用的操作系统环境。这里我们要讲述一些关于Linux发行版的基本要素。 Boot manager :boot manager是存在在硬盘主引导记录(aster boot record ,MBR)中的程序,该程序由计算机的BIOS调入执行,完成启动工作。如果你在一个已经安装了Windows或其它系统的机器上安装Linux,boot manager将让你选择启动哪个操作系统。boot manager是这类程序的统称,比如System Commander就是一种第三方的boot manager。通常Linux包含的boot manager是LILO(LInux LOader),LILO一般会和Linux一起安装到系统中。 用户界面:在核心上,Linux是Unix衍生出来的,因此其基本的界面是象DOS一样的命令行界面。为了使Linux更易用,现在有几种用于Linux的图形界面,使之类似于Windows或Mac OS。比如CDE (Common Desktop Environment), KDE (Kool Desktop Environment),以及GNOME (GNU Network Object Model Environment)。 X Window 系统:象Windows的GDI(Graphics Device Interface)一样,X Window是一个支持图形用户界面的图形子系统。最常见的X server 是Xfree86()。在安装时,你可以选择是否安装X Window系统。 Internet服务:Linux本身支持TCP/IP以及所有常见的Internet协议,包括DNS,HTTP,SMTP,FTP,NNTP,以及PPP/SLIP。多数Linux发行版带有Apache,这是最流行的开放源码Web Server,通常Linux发行版也带有Web浏览器,e-mail客户端软件,新闻阅读器,以及其它的Internet应用。 文件和打印服务:这些服务使系统可以在网络上与其它计算机共享文件和打印机资源。典型的服务包括:NFS(Network File System)支持与其它以Unix为基础的系统共享资源;Samba使Linux在网络中可以扮演Windows NT Server的角色;以及AppleTalk。 应用程序:Linux现在得到的应用支持还无法与Windows相比。不过多数Linux发行版都带了许多应用程序,如果你愿意找,还可以在其它地方找到一些很有用的应用程序。除了象Crisp以及XEmacs这样的文本编辑器之外,还可以找到一些商业应用套件,以及象GIMP这样类似于Adobe PhotoShop的图象编辑程序。 Package manager:Package manager是用于在linux系统中安装,反安装,升级应用程序的工具。Debian Package Manager和Red Hat Package Manager(RPM)是最著名的Package manager。 开发工具:既然Linux深受编程人员的喜爱,因此在linux发行版中带有许多开发工具就不奇怪了。这些工具包括编译器egcs和gcc,用于调试的gdb,开发管理工具,编程语言,以及脚本语言,象Python和TCL。 Libraries:Linux包含一组库程序(libc)。就象Windows的DLL一样,libc包含可执行模块,用以在后台完成功能或者支持其它应用程序。多数发行版都包含许多库;常见的类型包括GNU Libc(glibc)以及Libc5。二、Linux安装的基本知识Linux虽然发展了很长时间,但是不要指望其安装过程可以象升级到Windows 98一样容易。为了使一切正常,你需要做一些准备工作使你的系统可以运行多个操作系统。如果你想了解更多的知识,请访问Linux Documentation Project网址: /LDP 。 开始之前 收集系统信息:虽然Linux可以自动识别许多硬件设备,但是在这方面它还是太简单了。为了完成安装,你可能需要手动输入一些信息,所以第一步就是收集你所有硬件的信息(生产厂商以及型号)以及其配置信息。如果你使用的是Windows 95,98或NT,最简单的就是将设备管理器中的信息打印出来(控制面板-系统-设备管理器) 制作启动盘:其实安装Linux最简单的就是从Linux的安装CD启动系统,但是只有最新的计算机才能从CD启动(你可以在BIOS设置中看看你的计算机能否可以设置从CD启动)。许多用户还是需要从软盘启动。Caldera OpenLinux 1.3以及RedHat 5.2都带有启动盘,不过许多其它的发行版要求你使用linux CD上的工具自己制作启动盘。为linux准备硬盘空间:由于捆绑的应用程序不同,各种Linux发行版需要的硬盘空间也不一样,从100MB到500MB或更多。Linux必须安装在其独有的分区中。如果你只有一个分区并且被Windows使用着,那么你需要备份你全部的数据,并且创建新的分区。你可以使用某些第三方工具来改变现有分区的大小,比如PowerQuest的PartitionMagic 4.0或者V Communications的Partition Commander。2安装安装方式:Linux有多种安装方式,包括从硬盘,网络驱动器,或CD-ROM安装。但是从CD-ROM安装可能是最方便的。在你启动机器后,Linux将试图探测你的硬件,如果它无法准确识别你的硬件设备,你必须手动输入相应的信息。实际上的安装步骤是一步步的交互过程,与安装Windows类似,虽然不如Windows 安装界面那么图形化。建立和编辑分区表:在安装过程中,你需要对你为Linux准备的硬盘空间进行分配。为了完成这一任务,通常你需要使用Linux包括的fdisk(与DOS的fdisk不一样),cfdisk,或者RedHat的Disk Druid。你至少需要创建两个分区:一个是root分区,用于存放linux kernel,另一个是交换分区,这个分区被Linux用于虚拟内存。多数用户还会再建立一个分区存放应用程序以及用户目录。配置GUI:虽然Unix专家在命令行的世界中感觉良好,但是恐怕多数人还是希望有一个图形化的界面以使Linux更友好些。有很多种图形环境可供选择,不过所有这些图形环境都需要一个基本平台X Server。最常见的X Server是Xfree86。在安装Linux的时候,选择安装一个X Server。在配置X Server的时候,可能需要输入相关硬件的一些信息,比如鼠标,显卡,显示器的信息,甚至包括显示器的扫描间隔和刷新频率。输入这些信息一定要小心,错误的设置有可能损坏你的硬件。最后的步骤:这是,Linux真正开始安装。安装结束后,安装程序会引导你对系统进行设置。因为你需要同时使用Linux和Windows,所以必须安装LILO,这是一个支持多重引导的工具。第一次运行Linux登录:Linux系统启动后,回询问log-on ID,你可能想以root的身份登录。如果你安装了LILO,在启动时还要选择进入哪个系统。系统配置:在安装完成并且登录以后,你可能还要调整一些系统设置,比如主机名,重新设置X Server以使用你的需要,或者配置LILO使之能恰当的处理你所有的操作系统。Linux系统管理技巧大荟萃作为桌面操作系统,Linux的人机界面可真是不敢恭维,但是,作为网络操作系统,其易用性(对于NOS而言)和高性能恐怕是很难有能出其右的。当然,这并不是说它的操作很简单,而是说若能掌握一些技巧,无论是系统设置还是网络管理都能变得轻松自如、随心所欲。 禁止终端模式下的显示器自动节能 大部分PC上安装Linux后,在终端模式下也能实现自动关闭显示器的功能,但是假如我们要在显示器上即时显示一些信息,如:网络流量、包分析等,这个功能就变得非常讨厌了。采用修改CMOS和系统属性都无法解决,解决的办法是用setterm,设置终端的命令,如setterm-blank,就能关闭自动节能这一特性。 将man帮助文档存为普通txt文件 Man的地位在Linux中可谓至关重要,比Windows里的中看不中用的Help好多了。但是它所显示的信息却不是普通的文本,如果直接将这些文字重定向到一个文本文件,你会发现,在man中高亮显示的文字就变成了两个,而且有不计其数的制表符,这使我们的打印、编辑都变得非常不便。不过使用下面这样一条语句就能得到tcsh命令的普通帮助文本:mantcshcol-b tcsh.txt,再也不会有那些讨厌的重复字符了。 IDE硬盘的优化 Linux可能更加注重数据的安全性而非性能,这对NOS来说是完全必要的,但是打开IDE硬盘的一些有用的优化应该没什么害处吧。看看这个命令:hdparm,它的作用是显示、设置硬盘(包括光驱)的参数。我们可以先用hdparm-i/dev/hda查看hda这块硬盘的参数设置,再根据情况来修改,如:hdparm-c1可将硬盘的I/O读写支持由16位改为32位,hdparm-m16是开启硬盘的MultiCount。在执行这条命令之前最好先用-i参数确定你的硬盘所能支持的最大MultiCount数。主要优化的就是这两项了,其他的不敢确定也别乱来。可以用hdparm-t/dev/had在优化前后测试硬盘性能。 允许root从远程登录 Linux的默认安全设置是root不能从远程工作站登录,这使我们对Linux服务器进行远程管理造成了不小的麻烦,/etc/securtty正是控制这一机制的关键文件,在这个配置文件的root小节中加入pts/0、pts/1等你希望root能够登录的终端名就行了。 恢复被覆盖的MBR(主引导扇区)的Linux引导程序LILO 如果LILO安装在MBR,那么先装Linux再安装Windows,LILO就会被覆盖,这时我们将无法从硬盘引导Linux,怎么办?我们可以启动到Windows命令行模式,从Linux光盘上拷贝loadlin.exe和vmlinuz两个文件到Windows分区,然后执行loadlinvmlinuzroot=/dev/had?rw。这条命令的作用是从指定的分区启动Linux,并将根分区(1)设为读写模式,这样就可以修改Linux的大部分设置或者恢复LILO。要注意的是这种情况启动的Linux并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 监理工程师土建三控课件
- 师德师风课件
- 2025年浙江省新昌县事业单位公开招聘辅警考试题带答案分析
- 转院患者监护和安全评估护理
- 失禁护理的综合干预方案
- 骨折合并其他疾病护理查房
- 工程问题课件制作
- 工程识图制图课件
- 2025年度房屋装修合同协议书-现代简约风格装修范本
- 2025版粉刷工程合同续签通知
- 统编版2025-2026学年六年级语文上册第一单元达标测试(含答案)
- 成都辅警考试题库及答案
- 中考英语1600词汇(背诵版)
- 健康讲座:血管通路维护与管理
- 2025年国企中层干部竞聘笔试题含答案
- 公司文化培训课件模板
- 2024华中科技大学辅导员招聘笔试真题
- 五年级英语上册单词表(完整版)人教版
- 食堂从业人员食品安全知识考试题及答案
- 楼宇企业系列活动方案
- 2024年中国烟草招聘历年面试真题部分含答案解析
评论
0/150
提交评论