BSD radix树路由表的设计原理(转)
BSD radix树路由表的设计原理(转)[@more@] 写这篇文章的时候使用的是FreeBSD5.1的代码,举例用的是IPv6地址。 BSD路由表使用的是radix树,这种树的设计思想来自Donald R.Morrison于1968年提出的Patricia树(Practical Algorithm To Retrieve Information Coded In Alphanumeric)。这是一种基于以二进制表示的键值的查找树,尤其适合于处理非常长的、可变长度的键值。Partricia的基本思想是构建一个二叉树,在每个节点中都存储有进行下一次的bit测试之前需要跳过的bit数目,以此来避免单路分支(即避免二叉树的某一段呈现只往左
Unix系统安全必读(转)
Unix系统安全必读(转)[@more@] 本文从系统管理员的角度讨论安全问题.系统管理员是管理系统的人:启动系统,停止系统运行,安装新软件,增加新用户,删除老用户,以及完成保持系统发展和运行的日常事务工作。 1.安全管理 安全管理主要分为四个方面: (1)防止未授权存取:这是计算机安全最重要的问题:未被使用系统的人进入系统.用户意识,良好的口令管理(由系统管理员和用户双方配合),登录活动记录和报告,用户和网络活动的周期检查,这些都是防止未授权存取的关键。 (2)防止泄密:这也是计算机安全的一个重要问题.防止已授权或
UNIX平台廉价双机容错方案(转)
UNIX平台廉价双机容错方案(转)[@more@] 由于有多种方式来提高系统的可用性,但每种方式又各有利弊,因此设计者往往需根据用户的实际可靠性与可用性的要求选择不同的解决方案。这也取决于系统的需求:硬件的容错方案往往运行速度较快但投资规模也大,软件容错方案可能占用系统开销,但比硬件方案更灵活,尤其是在系统已经建立起来之后,并且投资小。本文所介绍的容错系统就是利用浪潮英信服务器可靠性平台和Western Micro的专用技术,通过软件方式,而不借助阵列柜或其它专用硬件来实现系统容错,达到提高系统可用性的目的。 设备
UNIX系统被删文件的恢复策略(转)
UNIX系统被删文件的恢复策略(转)[@more@] 与DOS/Windows不同,UNIX文件被删除后很难恢复,这是由UNIX独特的文件系统结构决定的。UNIX文件目录不像DOS/Windows那样,文件即使被删除之后仍保存有完整的文件名、文件长度、始簇号(即文件占有的第一个磁盘块号)等重要信息;相反,它的文件信息全部依靠一种被称为i节点的数据结构来描述,而i节点在相应文件被删除之后即被清空,因此,要想直接恢复被删除的文件内容几乎是不可能的,必须另辟蹊径。本文结合实际,讨论几种文件恢复策略及其关键步骤的具体实现。 一、UNIX文件系统结构
Unix中限制root远程登录的方法(转)
Unix中限制root远程登录的方法(转)[@more@] UNIX系统中,计算机安全系统建立在身份验证机制上。如果root口令失密,系统将会受到侵害,尤其在网络环境中,后果更不堪设想。因此限制用户 root 远程登录,对保证计算机系统的安全,具有实际意义。本文向大家介绍一些方法,能达到限制 root 远程登录的目的。 方法一:在/etc/default/login 文件,增加一行设置命令: CONSOLE = /dev/tty01 设置后立即生效,无需重新引导。以后,用户只能在控制台(/dev/tty01)root登录,从而达到
UNIX系统关机方法五种(转)
UNIX系统关机方法五种(转)[@more@] UNIX操作系统是目前网络上用得最多的操作系统之一,使用UNIX系统,机器的关机要比使用DOS单用户机器的关机过程复杂得多。在UNIX下如不使用正确的关机命令和关机方法,将破坏文件系统,造成很大的损失。下面介绍UNIX系统的五种关机方法。 1、 用haltsys命令关机 haltsys命令一发出,就会立即把系统关闭掉。其优点是系统响应快,强迫性强,因此,该命令只适合于系统上只有一个用户的情况。如果系统上有多个用户在工作,一发出命令,这些用户就被迫退出系统,他们的进程也丢失了。操作方法是
Tripwire 应用(转)
Tripwire 应用(转)[@more@] 对unix管理员来说,主机系统的安全一直是个课题,一方面管理员通过更新patch,安装软硬件防火墙等手段努力使自己的系统可靠性增强,而另一方面unix操作系统的漏洞总是不断被发现并被公布出来,如BUGTRAQ这样的安全列表,从这个角度上可以很绝对的说,互联网上没有安全的主机。任何一台放在Internet上的主机被入侵的潜在可能性是不可逃脱的,而且,对入侵者而言,利用漏洞进入系统往往只是第一步,如果想得到更多的,如超级用户的密码,数据库的口令等,往往需要下点功夫,最便捷也是最有效的就是改动或特洛
Vi编辑器完全使用手册(转)
Vi编辑器完全使用手册(转)[@more@] 本文是针对初学Unix Vi编辑器的网友的,而文后所付的详尽的命令表也可作为已经熟练使用vi的网友的参考之用,因此你最好下载本文或打印本文然后对照实践学习。 一、Unix编辑器概述 编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件。Unix及其相似的ix操作系统系列中,为方便各种用户在各个不同的环境中使用,提供了一系列的ex编辑器,包括 ex, edit,ed 和vi.其中ex,edit,ed都是行编辑器,现在已很少有人使用,Unix提供他们的原因是考虑到满足各种用户特别是
Slackware穿墙术(转)
Slackware穿墙术(转)[@more@] 前两天6刚刚练成,做个简单的记录。用debian的不用这么辛苦,apt-get就是了。我用的是Slackware,没有现成编译好的可以下载,但是用源代码自己编译也不复杂。 主要参考的是EFF提供的安装说明。分别下载libevent-1.1a.tar.gz,tor 0.1.0.17和privoxy-3.0.3-2-stable.src.tar.gz ,解压缩。libevent和tor都可以很简单地用 configuremakesumake install 进行安装。 privoxy有点怪,按照说明文件直接用make进行编译,如果接着make install,到最后会出错,告诉我要先建立privoxy用
完全定制属于自己的SLAX(转)
完全定制属于自己的SLAX(转)[@more@] 摘要:用户可能在使用中会发现FanX中有些配置和安装的软件不能满足自己的需要,这并不是很奇怪的事,读者的口味各不相同,FanX也不可能满足每一个人的需求。为了满足自己的需要,下面我们一起来定制属于自己的SLAX。 本文用的是SLAX-5.0.0英文版,与旧版或以后的新版会有不同,尤其是软件的版本。 预备知识 SLAX是基于slackware的LiveCD,与slackware相比只是删减了许多不常用到的软件,对系统的具体操作是完全相同的,我们现在只来了解将要用到的内容: 1. 软件包管理程序
让MYSQL彻底支持中文(slack10.1版)(转)
让MYSQL彻底支持中文(slack10.1版)(转)[@more@] 提要:系统自带的mysql默认字符集不是gbk,因此给数据库的推广应用以及中文程序的开发带来极大的不便,在没完没了的GBK和UTF8的转换过程中消耗了我们无数的精力以及系统的资源.经过摸索尝试解决了中文支持问题,经验与大家分享一下. 先将让slack支持中文,方法可以看"linuxsir.org 之Slackware讨论区",然后重新编译mysql,原来系统mysql的要先用卸载. login:root shell> removepkg mysqlshell> groupadd mysqlshell> cd /appshell> mkdir mysqlshell> chmod
用Slackware官方内核源码和脚本来打造适合自己机器的内核(转)
用Slackware官方内核源码和脚本来打造适合自己机器的内核(转)[@more@] 提要: 用Slackware官方提供的内核源码和脚本来打造适合自己机器的内核,学习编译内核并提高我们的学习和工作效率; 前言: 现在的机器配置越来越高,一个小小的笔记本,可能也能上到2G内存,另外服务器的应用,经常用到大内存,从实践的情况来看,Slackware用默认的内核是不支持大内存的,最高支持800多M,可能1G都不到。另外Slackware在默认的情况下也不支持多CPU,如果您有多CPU的机器,也要编译内核; 让Slackware支持1G或者超过1G内存的
bootsplash for slackware kernel-2.6.12!(转)
bootsplash for slackware kernel-2.6.12!(转)[@more@] 下面介绍下我自己的bootsplash-for-slk-2.6.12步骤: 1.下载所需文件 内核源代码:linux-2.6.12.tar.bz2 针对linux-2.6.12内核的bootsplash补丁:制作bootsplash的相关工具(for%20slackware):bootsplash-3.1-i486-1.tgz 2.编译内核并打上bootsplash补丁#cp linux-2.6.12.tar.bz2 bootsplash-3.1.6-2.6.12.diff /usr/src删除旧的linux链接#rm linux新建linux链接#ln -sf linux-2.6.12 linux#cd linux打上补丁#patch -p1 < ../bootsplash-3.1.6-2.6.12.d
关于时钟的设置 hwcolck ,主要解决系统时钟和硬件时钟不一致的问题(转)
关于时钟的设置 hwcolck ,主要解决系统时钟和硬件时钟不一致的问题(转)[@more@] 对于初学linux的弟兄,可能遇到系统时候和硬件时钟不一致,刚才收到一个弟兄的邮件也提到这方面的问题。因为用的是text模式,所以不能用直观的图形界面来设置,所以只能用命令。如果有GNOME或者KDE的桌面环境,点几下鼠标就行了,也不用知道用什么命令不命令的。 如果调整BIOS的时间 ,也就是硬件时钟。不用重启机器,在linux系统中就能完成。 举例及格式如下:bash-3.00# hwclock --set --date="4/28/05 11:10:05" 如果让系统时间与硬
安全应用Slackware Linux(转)
安全应用Slackware Linux(转)[@more@] 1.简介 本文是描述一些让您的 Slackware linux 系统更加安全的办法。最重要的是关闭您不需要的端口和服务。当一个涉及到安全的Bug被发现时,它可能会危及到您的系统。分析您所打开的服务数量,最好与您的应用保持一致,并尽可能的把您的系统的弱点减少到最小。幸运的时Slackware一个叫做nmap的工具,她能显示出您目前系统所打开的端口和服务。 nmap的语法格式如下:nmap 举例:bash-2.05b$ nmap 127.0.0.1Starting nmap V. 3.00 ( www.insecure.org/nmap/ )Interesting ports on
slackware启动脚本详解(转)
slackware启动脚本详解(转)[@more@] 我们知道,kernel成功启动之后,在init/main.c中调用execve执行程序/sbin/init。init进程被称为初始化进程,因为它负责系统的启动。 我以我的slackware10为例(不光因为它是我用的套件,而且启动脚本十分清晰明了),讲一讲启动的具体过程: (史前时期)loadlin,grub,lilo把内核参数传给kernel,如(BOOT_IMAGE=Linux ro root=307),,存储在/proc/cmdline中。 内核启动成功后,把它的参数传给1号进程(init),因为也许有一些参数应被用户程序解释。 init进程将从上到下的读取/etc
Slack book中文译本(转)
Slack book中文译本(转)[@more@] 前言 Slackware Linux操作系统是一个基于Intel构架计算机上的强大平台。它的设计目标是稳定、安全,同时可作为高端服务器和强大的工作站。 这本书的目的是指导如何你开始使用Slackware Linux操作系统。这并不意味着简单面面具到地覆盖该发行版的所有细节,而是显示它能作什么并告诉你操作该系统的基本知识。在你有了Slackware Linux的使用经历后,我们希望你能将本书作为手边的参考。我们同样希望当你的朋友们问到“你所运行着的酷毙了的Slackware Linux操作系统”时你会将本书借给他们。
Slackware 10.0 Kernel ??後的流程(转)
Slackware 10.0 Kernel ??後的流程(转)[@more@] 本文简要介绍了Slackware 10.0启动之后启动脚本的执行流程。 root | 08 七月, 2004 09:30 Kernel 蒌入完成後, Kernel ?把?行?交斤 init, 而 init ?去坐取 /etc/inittab 中的以下呃列??定 runlevel. # Default runlevel. (Do not set to 0 or 6) id:3:initdefault: style="font-weight: bold;"> runlevel 的定柳如下 0 = halt, 晷? 1 = single user mode, ?人使用模式 2 = unused (but configured the same as runlevel 3)
并不神秘的Slackware(转)
并不神秘的Slackware(转)[@more@] 本文较为全面地介绍了Slackware设计思想及其显著特色,力图吸引更多人来了解和尝试这个优秀的发行版。 导言 已经有10年历史的Slackware是Linux历史上存活最久的发行版,在它的辉煌时期,曾经在所有发行版中拥有最多的用户数量。但是,随着Linux商业化的浪潮,Redhat、Mandrake 和Suse 这些产品通过大规模的商业推广,占据了广大的市场;Debian作为一个社区发行版,也拥有很大的用户群。相比之下,Slackware的不事声张,使得它从许多人(尤其是新近开始使用Linux的用户)的视野中消失了。 S
Slackware的启动(init)过程(转)
Slackware的启动(init)过程(转)[@more@] 导言 在一次IBM于阿姆斯特丹举办的Linux研讨会上,一位老师提出以下说法:“启动是Linux最难的部分。但是,一旦内核已经载入,并由init接管之后,你就畅行无阻了。从那个时刻起,所有发生的事情你都可以在脚本和文档(man page)里面读到。” 他当然是对的。在启动Linux机器的过程中没有什么秘密。你能在ASCII文件中读到所有东西。但是,在跟踪这些脚本的过程中也很容易迷路。Slackware与别的发行版不同之处在于它坚持用BSD风格的启动过程,而不是像它们那样用Sys V的启动过程。