Archive for 08月, 2007

编译内核时可优化修改源代码

星期三, 08月 15th, 2007

Linux-2.6.21.3编译过程笔记
(http://blog.chinaunix.net/u1/44942/showart_356361.html)

优化,修改内核源代码

1).修改/usr/src/linux/include/linux/posix_types.h
设置fd_set支持的最大数量
#define __FD_SETSIZE 1024 —> 65536

2).修改/usr/src/linux/include/linux/fs.h
设置最大打开文件数量(TCP连接数量)
#define INR_OPEN 1024 —> 65536
#define NR_FILE 8192 —> 65536
#define NR_RESERVED_FILES 10 —> 128

3).修改/usr/src/linux/include/net/tcp.h
设置TIMEOUT的时间为1秒
#define TCP_TIMEWAIT_LEN (60*HZ) 60 —> 1*HZ
设置在backlog队列里的半连接的重试次数,每次都会花相应的时间,本质上 也是减少重试时间
#define TCP_SYNACK_RETRIES 5 —> 3

图解Ubuntu分区

星期日, 08月 5th, 2007

关于分区

如果你只是简单地想用上Ubuntu,可以这样操作:
1)如果你是直接将整个硬盘都用来装Ubuntu,机器上没有需要保存的数据,或者已经做好备份的情况下,可以直接在Ubuntu分区时选择“向导──整个硬盘”
2)如果你是做双系统,并已经在Windows下倒出一块空白空间(在磁盘管理中直接删除某个磁盘)。可以直接在Ubuntu分区时选择“向导──使用最大的连续空闲空间”

如果想更好地理解分区并实现自我定制,看看下面的内容补习一下文件系统和挂载点的概念再根据自己的实际情况结合需求而定。

一、文件系统
什么是文件系统?请看http://man.lupaworld.com/content/other/Linux/linuxmanage/node42.html。
现在的主流文件系统就是ReiseFS和ext3,关于这两者的介绍请看
ext3 简介
(http://forum.ubuntu.org.cn/about7040.html)
ReiserFS文件系统 (http://www.lslnet.com/linux/docs/linux-2976.htm)
ReiserFS与ext3的比较 (http://www.91linux.com/html/article/partition/20070626/2969.html)
你在分区时可以根据自己的需要选择一种文件系统。

二、挂载点
Linux中分区要以文件系统的方式挂载到系统中的挂载点上,就如同Windows中分区也要以Fat32或NTFS格式格式化成不成的盘符一样。至少 Linux需要一个/分区(一定要打开启动选项,好像在安装过程中直接分区时不会提示,那就不用管了),一般也都会有个SWAP交换分区(这东西类似 Windows中的虚拟内存,但比那个还要专业,直接搞成一个分区形式了,而且Linux也有SWAP文件的形式出现。),当然,如果你的内存足够大,也可以不要SWAP分区。
Linux中文件系统是以/文件系统(根文件系统)呈树状组织起来的。请看wiki中的如何分区(http://wiki.ubuntu.org.cn/index.php?title=%E5%A6%82%E4%BD%95%E5%88%86%E5%8C%BA&variant=zh-cn)。
三、如何分区
那这些文件系统都要以独立分区形式挂载吗?也不尽然,需要看你的情况和需求而定。

一般常见的分区方式有:/文件系统和一个SWAP分区;/文件系统、/home文件系统和一个SWAP分区、再详细点,再多个/boot系统、 /var文件系统等Linux目录树、不属于Linux目录树的/back(名字自己定,/file也可以,这是自己用来存放备份数据的地方)

只分一个/ 和swap也有它的好处,可以最大限度的利用硬盘空间(用户用时只要/没用完,就可以不去理会硬盘空间的问题),但这样重装系统时要先备份/home,不然重装就麻烦。(引自skyx在http://forum.ubuntu.org.cn/viewtopic.php?t=66160的回复)如果你给Ubuntu侵害的硬盘空间比较小,比如只有8G、10G的,采取这种方式比较好,虽然默认系统装完后,/文件系统只有3个G左右,但随着你安装软件的增多,/文件系统也会越来越大的,我现在给/文件系统分了6个G,就已经被占用近5个G了。

但只划分一个/分区也比较危险,这就意味着,所有的数据都将存放在唯一一个 / 文件系统中,这对于实际的生产系统来说是不安全的(就如同我们在使用Windows时也不会只划分一个C盘)。如果分配给Ubuntu的空间大一些,则可以将/home独立挂载,也可以再根据自己需要把其它如/boot、/var等独立挂载,这样有一定好处:

引用:
/boot分区,它包含了操作系统的内核和在启动系统过程中所要用到的文件,建这个分区是有必要的,因为目前大多数的PC机要受到BIOS的限制, 况且如果有了一个单独的/boot启动分区,即使主要的根分区出现了问题,计算机依然能够启动。这个分区的大小约在60MB—120MB之间。/usr分区,是 Linux系统存放软件的地方,如有可能应将最大空间分给它。

/home分区,是用户的home目录所在地,这个分区的大小取决于有多少用户。如果是多用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普通用户访问哪些文件等。

/var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日志文件出现了问题,它们也不会影响到操作系统的主分区。

/tmp分区,用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。这样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的操作,文件系统的其它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写操作,所以它通常会比其它的部分更快地发生问题。

/bin分区,存放标准系统实用程序。

(http://wiki.ubuntu.org.cn/index.php?title=%E5%A6%82%E4%BD%95%E5%88%86%E5%8C%BA&variant=zh-cn)

xhy 写道:
(将/boot单独分区)1 可以有几个不同的操作系统共享同一套内核 方便管理
2 boot目录的IO访问比较少,单独放在一个分区,可以防止其它目录的读写导致boot的inode损坏
3 老主板有1024柱面问题 单独在前1024柱面分一个boot分区 可以避免这个问题
4 如果做RAID或者LVM,引导管理程序可能不支持,导致找不到内核,因此单独的boot分区就很有意义了
5 方便使用dd这样的工具进行备份
6 可以用只读方式挂载boot分区 增加安全性 ps: 如果喜欢折腾系统 常常重装 那么单独分出来确实没什么用处

(http://forum.ubuntu.org.cn/viewtopic.php?t=65665)

安全的分区方案原则:系统数据和普通用户数据分离放置于不同的分区 (即使用单独的 home 分区);不经常变化的系统数据和经常变化的系统数据分离放置于不同的分区(即使用单独的 usr 分区和 var 分区)。

一般地,在一个实际系统中至少要创建单独的 home 分区。

四、图文演示
在此,我用虚拟机来给大家演示一下如何操作分区,当然,这里的数据并没有参考意义,只是让大家有一个感性认识(PS:在手动分区过程中随时可以通过“撤销对分区设置的修改”来放弃划分错误的分区重新开始):

(一)用Desktop CD安装到空白硬盘:


–>

注意:在用Desktop CD安装Ubuntu到空白硬盘时,只有两个分区选择:“向导──使用整个磁盘”和“手动”,如果想用整个硬盘来安装Ubuntu系统而又不进行比较细的分区,可以选择“使用整个硬盘”,安装程序会自动将整个磁盘分为/文件系统和SWAP文件系统,SWAP的大小在我的实验中略小于内存。“使用整个硬盘”比较简单,点击“前进”按钮一闪就完成了,下面我们看一下如何手动分区(只是简单地分为/、/home和SWAP,如果想分割出更多的分区参照着操作就可以了):


–>

选择“手动”,点击“前进”


–>

点击“New Partition Table”


–>

点“继续”


–>

1 选择“free space”(空闲空间)
2 点击“New partition”(新建分区)
3 选择新分区的类型:Primary(主分区)(单独安装Ubuntu到全新磁盘,/分区需要选择Primary,其它分区选择Logical逻辑分区就可以;如果是安装双系统且已安装Windows的话,/分区的类型选择Primary或者Logical都可以,其它分区选择Logical逻辑分区。)
4 输入新分区的大小(以MB为单位)
5 选择新分区的位置(你希望新分区是建在可用空间的首部还是尾部,一般默认统一选择“开始”就可以)
6 选择使用的文件系统(一般用ext3或ReiseFS)
7 选择挂载点(虽然这里有个下拉三角,但我在虚拟机实验时却无法选择,只能自己输入)
8 点击“OK”确认

创建完/文件系统后,可以看到已经建立了一个ext3文件系统的挂载到/的分区,还剩1932MB空闲空间,如图:


–>

继续来创建并挂载到/home文件系统,与前面的操作类似,只是分区类型无需为Primary(主分区),只要为逻辑分区(Logical)就可以了:


–>

创建并挂载完/home文件系统后,如图:


–>

我们接着创建SWAP分区,注意这时分区大小我们用系统提供的剩余空闲空间大小就可以了,文件系统用swap,这里就不用输入挂载点了:


–>

分区全部创建完了,如图:


–>

在Desktop CD安装的最后一步,我们可以看到:


–>

(二)用Ubuntu Desktop CD安装双系统
默认前提:已经提供了剩余空白分区,不论你在在分区时保留的,还是在Windows中用磁盘管理删除一个分区后得到的,又或者用分区魔术师调整得来的。
在安装程序进行到分区部分时,会比安装到空白硬盘多一项“向导──使用最大的连续空闲空间”,如图:


–>

如果说我们为了偷懒,只要Ubuntu系统能用就行,则可以使用这一项,由系统自动为我们分割成/分区和SWAP分区,点“前进”按钮,在第7步时会得到如图提示:


–>

可以看到,系统自动为我们将空闲空间划分为/分区和SWAP分区。
如果我们想进行比较细化的分区,就象上面的手动分区操作一样,选择“手动”,点击“前进”按钮,与上面基本大同小异,如图:


–>


–>


–>


–>


–>


–>

(三)用Alterate CD安装Ubuntu双系统
默认前提:已经提供了剩余空白分区,不论你在在分区时保留的,还是在Windows中用磁盘管理删除一个分区后得到的,又或者用分区魔术师调整得来的。

用Alterate CD安装Ubuntu双系统,界面与Desktop CD略有不同:


–>

大家可以看到除了“向导──使用整个磁盘”、“向导──使用最大的连续空闲空间”和“手动”这三项我们在Desktop中也可以见到的选项之外 ,还多了一项“向导──使用整个磁盘并配置LVM”,LVM是逻辑卷管理的意思,貌似这个东东多用在服务器中,再说我们这里是要安装Ubuntu与Windows的双系统,所以这一项我们就不理会了,感兴趣的朋友可以看一下http://dotclear.org.cn/dapper/ubuntusys/ch02-ubuntu_install/30-server_installation_with_lvm#
,那里有安装服务器时使用LVM选项安装的图解,也可以自行搜索更多有关lvm的资料。
我们如果选择“向导──使用最大的连续空闲空间”,则会出现如下图提示:


–>

我们可以看到,同Desktop CD中一样,系统自动为我们将空白分区划分为一个/主分区和一个SWAP逻辑分区。如果我们确定要让系统自动为我们划分空白分区,则选择“是”将改动写入磁盘。
我们来看一下如何手动分区,在刚才“分区方法”处选择“手动”,出现:


–>

选择“空闲空间”,出现:


–>

选择“创建新分区”,出现:


–>

输入新分区大小,一般直接将前面的数字修改一下就OK了,虽然可以用百分比表示,但那样不直观,反而不美,“继续”,出现:


–>

选择新分区的类型,此处因为是安装双系统,我们想要安装的/文件系统选择“主分区”或“逻辑分区”都可以:


–>

选择新分区的位置,直接用默认的“开始”就可以。
这时会出现如下图的“分区设置”:


–>

1 回车选择文件系统,常用文件系统有ext3和ReiseFS
2 回车选择挂载点
3 回车打开可启动开关(这是因为我们挂载的是/)
4 分区设定结束
返回后会看到下图,我们划分的4GB的/分区已经已经出现在分区信息中了:


–>

继续选择“空闲空间”划分挂载其它分区。


–>

选择“创建新分区”,出现:


–>

输入新分区大小。


–>

选择新分区的类型,注意除了/分区,一般选择逻辑分区就可以了。


–>

选择新分区的位置,还是用默认的“开始”就可以。


–>

这是我们要挂载的/home的分区设置。


–>

/home也出现在分区信息中了。继续将剩余的空间划分为SWAP空间,选择“空闲空间”:


–>

选择“创建新分区”,出现:


–>

输入新分区的大小,因为是最后的分区了,所以直接用默认的剩余空间大小就可以了。


–>

选择“新分区的类型”,还是用逻辑分区就可以了。


–>

因为这个分区我们是要作为SWAP分区,所以这里就要选择“交换空间”,然后“分区设定结束”。


–>

这样所有的分区都划分好了,再查看一下分区信息,如果没有错误,就选择“分区设定结束并将结果写入磁盘”,如果有错误,就选择“撤销对分区设置的修改”,一旦写入磁盘,就无法修改了,慎重慎重!

新手当自强:如何使用论坛、wiki、搜索等来获得自己需要的知识

星期五, 08月 3rd, 2007

欢迎来到Ubuntu世界,作为新手,你可能会感到迷惘,不要急,这个帖子将教你如何通过论坛、wiki、搜索等获得自己需要的知识。

当你遇到问题,来到forum.ubuntu.org.cn论坛注册登录后,不要急着发帖询问,先审视一下论坛吧:


–>

多查看置顶帖、精华帖
你会发现,论坛有多个版块,你进入每一而上方有两行菜单,这两行菜单可以帮你更好地使用论坛。
而进入各个版块,在论坛的上半部分,有论坛通告、声明、置顶三类帖子,还有你会发现在上方有个”观看本版的精华主题”,点击它就可以查看本版的精华帖,这都是论坛的精华所在,建议多看看:


–>

1 论坛搜索
点击上图中的搜索就会出现:


–>

在此我们可以直接使用论坛的搜索功能,或者也可以使用google的搜索本论坛(当然也可以选择搜索wiki),比如我们搜索grub,就会出现:


–>

善用搜索,可以使我们不用去问就可以解决许多问题。
2、收藏夹

在论坛上方的菜单中有个收藏夹,我们可以用来收藏在论坛中遇到的喜欢的帖子,在遇到喜欢的帖子时,在帖子下方有个“加入收藏夹”的链接,直接点击就可以放到自己的论坛收藏夹中了(当然你得在登录状态):


–>

3、站内短信

有时你也可以直接给高手们发短信求教:


–>

不过可不是每个人都经常看短信的哦。

4、我的帖子
发了帖子后不好找?没关系,直接点击上方的“我的帖子”就可以看到了。

5、WIKI

WIKI简单地说就是一种自由的参考资料查询系统。(ps:我在用Ubuntu之前还没用过wiki,汗ing……)。那我们ubutnu中国的wiki网站就是wiki.ubuntu.org.cn,我们可以直接在地址栏输入该网址查看,也可以直接在论坛上点击上方的wiki链接:


–>

wiki中的快速设置指南页面:


–>

在wiki中也可以搜索的哦,所以,不要浪费,用起来:


–>

6、IRC

IRC命名Internet Relay Chat,就是网上聊天室,即可以通过xchat、pidgin(gaim)等软件登录,我们也可以直接使用论坛上方提供的ChatIRC链接直接登录irc上的ubuntu-cn聊天室向高手请教:


–>


–>

进来了,哈哈。
不过,注意:如果有大量文本或图片,请点击论坛上方的Paste链接,或者直接登录paste.ubuntu.org.cn,在那里发布内容后,将链接发到ubuntu-cn里。还有就是直接向人询问问题、最好在之前先看一下系统自带的文档(/usr/share/doc/)、man手册,使用google自行搜索一下。
使用软件登录IRC请参考下面两则帖子:
《还有不会上IRC的么?》
http://forum.ubuntu.org.cn/viewtopic.php?t=28357&highlight=7000
《[分享]图解使用 IRC 聊天灌水》
http://forum.ubuntu.org.cn/viewtopic.php?t=42168&highlight=7000

7、加入邮件列表
请看zhan兄的《[建议]呼吁大家使用 ubuntu-zh 的邮件列表!》
http://forum.ubuntu.org.cn/viewtopic.php?t=50229

8、Linux资源
论坛上其实也已经提供了许多了,可以点击论坛上方的“Linux”链接。

9、非常重要的,就是用google搜索

其实很多问题系统都已经给你提示了,你可以直接根据系统的提示找到答案,比如Permission denied,就是告诉你没有权限。当然有许多问题可能根据提示自己不知道,你可以将系统给你的提示选择精要部分用google搜索,比如:

代码:
lisir@lisir-desktop:~/downloads/arrow_brushes$ sudo mkdir /boot/test
Password:
lisir@lisir-desktop:~/downloads/arrow_brushes$ rm /boot/test/
rm: 无法删除目录 ‘/boot/test/’: Is a directory
lisir@lisir-desktop:~/downloads/arrow_brushes$ rm -r /boot/test/
rm:是否删除有写保护的 目录 ‘/boot/test/’? y
rm:是否删除有写保护的 目录 ‘/boot/test/’? y
rm: 无法删除目录 ‘/boot/test/’: Permission denied

我们可以看到在用rm命令删除/boot/test/这个我们为了测试而在/boot下建立的目录时,系统提示“Is a directory”(是一个目录),那我们就用man rm命令来查看一下man手册(我这里省略了),知道是加-r 开关可以递归删除目录(其实用rmdir也可以删除目录的),我们再来执行,这时提示我们“Permission denied”,我们如果搜索一下就可以知道,这是告诉我们没有权限,还可能知道要用sudo来执行。
再比如,我们想安装VirtualBox虚拟朵,但安装上之后,发现USB无法使用,直接用google搜索“virtualbox usb”就可以了。
ps:Google的网址不会不知道吧?www.google.com

eexpress 写道:
1。习惯自己搜索源。

代码:
aptitude search 软件关键词

或者使用新利得搜索。

2。多看linuxtoy(订阅rss)和中文星球《http://planet.ubuntu.org.cn/》(页面的右上角)

3。记住,看到喜欢的网页,在浏览器地址栏有图标提示的,都可以订阅rss新闻。

4。软件的错误提示,尤其英文的,可以直接google。因为软件的提示都是固定的错误提示,具有代表性的关键词。

5。多看~/.xsession-error和/var/log下面的日志。习惯在终端执行命令,看提示。

不过如果是搜索源的话,只要可以用图形界面,还是用新立得软件包管理器搜索结果来得好,更直观、介绍内容更多一些。

10、使用Firefox自带的查找功能来快速定位页面中的内容

点击菜单“编辑”──“在当前页查找”或直接按快捷键Ctrl+F,然后输入自己想要查找的内容,Firefox就会自动高亮显示你查找的内容,如果没有,则会在输入栏显示红色:


–>