11
2
2010
29

优秀api的特点

 

6个优秀API的特点:

Category: linux | Tags:
5
28
2010
0

ubuntu 编译内核

声明:本文是个人参考网上有关资料,编译2.6.25内核的总结,如按本文步骤编译内核造成的责任和本文作 者无关。
本文放在本人的blog上面:http://hi.baidu.com/ffbp89/
本文还有姊妹篇《老笔记本编译2.6.20内核指导》
如果有修改,也在blog上。
欢迎转载本文,但是请不要取消本声明。
写这篇东西主要是教学目的,学生可以结合编译内核复习shell的有关命令。


一、下载源代码和编译软件的准备
下载内核源代码:http://www.kernel.org/
注意,点击2.6.25内核的F版,即完整版。
如果你懒得去网站点联接,运行下列命令:

代码:
$cd ~
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.10.tar.bz2

安 装有关编译程序。安装make ,gcc, make-kpkg,运行menuconfig等等和编译内核相关的工具。
安装不了,请检查/etc /apt/sources.list 文件。
有关命令:
代码:
$sudo  apt-get install build-essential kernel-package   libncurses5-dev


二、解压源代码
注意,网上很多教程上说 应该解压到 /usr/src,纯属以讹传讹,linux掌门人linus说解压到任何目录上都可以。当然,linus的说法是正确的。我放在自己的主目录下的src 目录。
如果你下载源代码是放到自己的主目录下或者运行上面的wget下载的,那么运行下列命令:
代码:
$ cd ~
$ mkdir src && tar jfx linux-2.6.25.10.tar.bz2 -C src/


现 在,源代码就在 ~/src/linux-2.6.25.10
进入源代码的目录,准备下一步的工作。后面都在这个目录里面进行。
代码:
$ cd ~/src/linux-2.6.25.10


三、开始编译前的准备工作。
首先,清理以前编译时留下的临时文 件。如果是刚刚解开的包,不需要执行这步。如果是第二次或者是第n次编译,那么一定要执行。
相关命令如下:
代码:
$ sudo make mrproper

网上很多教程上说把现在使用的内核的config拷贝过来参考,据实验,是不需要的,ubuntu还有
debian 会自动做这步。不过这条命令倒是可以学习一下。当然你可以将以前的配置拷贝过来。
命令:
代 码:
cp /boot/config-`uname -r` ./.config


四、开始配置内核选项。
相关命令:
代码:
$sudo make menuconfig


配置用到的键只有几个,esc退出菜单;空格改变选项状态;光标键上下左右移动,回车选定。
选 项意义:M是编译成可以随时加入的模块,*是编译进入内核,空就是不要。
配置选项非常多,具体配置可以参考金步国先生翻译的资料:Linux 2.6.19.x 内核编译配置选项。
参考网址:http://lamp.linux.gov.cn/Linux /kernel_options.html
为了一次成功,请大家遵循一个原则,如果你自己使用的内核已经选用了某个选项,如果你没用充分的理由, 不要随便改动。这样虽然内核不那么精简,但是不容易出现问题。
我们可以精简的部分是硬件模块部分,对于自己没有的硬件要毫不犹豫的清除。
如 果你很执着,或者你有洁癖,你也可以一项项对过去,按照金步国先生的资料描述去选择基本上没有问题。

五、必须强调的几个选项:
1、 在“General setup”里面的“Prompt for development and/or incomplete code/drivers”金步国认为是不需要。但是如果你的硬件比较新,那几乎是必须选的,这样,我们才可以找到4965无线网卡,alsa声音驱动等 等。
Kernel log buffer size 我选15,双核。如果你用ia64,要选16。
Control Group support 集群支持?可以不要
Choose SLAB allocator (SLUB (Unqueued Allocator)) 内存管理模式slab和slub选择slub。

2、在“Block layer”里,假如没有2TB的硬盘,就去掉:Support for Large Block Devices 。Support for Large Single Files 也不需要,谁有2TB的文件?

3、 Processor type and features中是关于cpu的,要认真选。
Symmetric multi-processing support是打开多核的开关,我的cpu是双核的,选中。
Processor family (Core 2/newer Xeon) 我的是Core 2/newer Xeon。找到自己的cpu后,把Generic x86 support选项取消。
Subarchitecture Type 选(PC-compatible)
Maximum number of CPUs 输入自己的核心数目,我输入2。
SMT (Hyperthreading) scheduler support说的是超线程技术,P4有支持的,我的t8100不支持,目前大部分市场上的家用cpu都不支持。
High Memory Support (4GB) 1G以下选1G;我是3G,选4G;4G以上的选16G
在“ Timer frequency ”里,默认是250Hz,较新的cpu都可以选择了1000Hz,性能更好。

4、Power management options中把APM (Advanced Power Management) BIOS support关闭。现在的电脑都用acpi了。
CPU Frequency scaling 是笔记本cpu节电技术
Default CPUFreq governor (conservative) cpu节电模式有四个,笔记本默认选conservative比较好。
ACPI Processor P-States driver 必须选,不然CPU Frequency就不能用。
后面的可选自己硬件相关的,我选的是Intel Enhanced SpeedStep和 Intel Speedstep on ICH-M chipsets,其他的统统消灭。

5、 Bus options的选择:
Bus options (PCI, PCMCIA, EISA, MCA, ISA)
PCI support
PCI Express support 现在新买的机器基本上都是PCI Express了
ISA support 较新的新机器没有ISA设备,可以去掉
MCA support 去掉
NatSemi SCx200 support 去掉
PCI Hotplug Support
Support for PCI Hotplug (EXPERIMENTAL) 如果没有PCI热插拔设备,去掉
这里的选项可以考虑全部编译进内核,而不是以模块形式存在。

6、 Device Drivers是重点,由于linux不但面向个人工作站,更多的是面向服务器的应用,所以可以把自己机器上没有的硬件全部去掉,而不用面面俱到。但是通 用型的选项要慎重。

比如在网卡的部分,除了我的千兆网卡 Broadcom Tigon3 support和4965无线网卡Intel Wireless WiFi 4965AGN,其余的硬件支持统统去掉。

再比如声卡部分,我的是hd声卡,我只是在PCI devices中,选intel hd 声卡,再选Build IDT/Sigmatel HD-audio codec support,除此之外的硬件支持全部去掉。
声卡还有一个细节,在ubuntu7.10里面, 需要在/etc/modprobe.d/alsa-base后面添加options snd-hda-intel probe_mask=1 model=3stack,这样我的笔记本喇叭才可以发声,不然只有外接耳机或者音箱。这次编译以后,这个动作就不必了,但是两个耳机插口只有一个可以用 了。

再比如我的电脑中没有agp,就可以直接把agp相关的选项全部取消。

要注意的:
ATA/ATAPI/MFM/RLL support
Include IDE/ATA-2 DISK support 如果你的/boot是放在IDE硬盘上,那么这里一定要选*,选M都不行。否则启动时会出现“waiting for root file system”的提示而停滞不前。
SCSI emulation support 要用刻录机,必须选。

SCSI device support 现在都是SATA硬盘,一定要选*
SCSI disk support 如果你的/boot放在SATA硬盘上,一定要选*。
SCSI CDROM support 虽然康宝刻录机是ide接口的,但是必须把它当成scsi接口的,这是老问题了。用刻录机,必须选。

Graphics support
Support for frame buffer devices 选中,进入选择
VESA VGA graphics support 选上,不然字符界面启动会有问题,
后面的显卡选择:由于我的显卡是nvidia 8400gs,要自己安装nvidia公司的驱动,所以一个都没有选。这样导致ubuntu开机动画会出问题,我索性在grub中的splash字符全部 删除,把开机动画关闭。字符界面很正常。

Console display driver support 有人开机后字符控制台错误,就是这部分选项没有选,出问题了。
Framebuffer Console support 需要打开。
Bootup logo 开机图标,会在自检的画面上加上个性图标。需要在grub上添加“vga=”的选项,可以参考http://dotimes.com/articles /t23-slackware-framebuffer.html

7、File systems
Filesystem in Userspace support 简称fuse。是必选的,如果你要用windows分区。

CD-ROM/DVD Filesystems
ISO 9660 CDROM file system support 一般选*
DOS/FAT/NT Filesystems
VFAT (Windows-95) fs support 有FAT32分区就选*吧
NTFS file system support 有NTFS分区就选*吧
NTFS write support 如果想对 NTFS分区进行写操作,选*

必须将启动盘的文件系统编译进内核,默认是编译成模块,这样无法启动系统。ubuntu采用的文 件系统是ext3,请把ext2,ext3相关的必要选项都编译进入内核。

8、Virtualization这个大类是我多花几百元买 t8100的主要原因,因为t8100支持intel vt技术
使linux上的虚拟机的性能大幅度提高。这里的选项我除了amd的,其他都编译 成模块。

9、全部设置完成,最后一项是保存设置。
按照我的习惯,先在上一层目录保存一个备份,文件名类似 ../config20080630
然后再保存到当起目录,文件名 .config
退出设置程序。

六、开始编译内核。
ubuntu 的工具是make-kpkg,和其他的发行版相比,步骤相对简单。
相关命令:
代 码:
$sudo make-kpkg clean   这条命令好像不要超级权限,很多资料上说要,不过这不是原则问题。
$ sudo make-kpkg -initrd --initrd --append-to-version=dell1400 kernel_image kernel-headers


上 述命令中的dell1400可以用自己喜欢的字符代替,最后的字符一定是数字.
输完上述命令回车之前,建议大家把浏览器还有别的运用程序都关掉, 机器开始的工作比较艰苦。我的机器大概十几分钟。

七、安装内核
编译完成就是安装工作。编译好的内核在上一层目录。包括 linux-headers-...-_i386.deb和linux-image-...-i386.deb两个文件,如果你不搞开发的话,只要安装内 核就可以,头文件以后要用的时候再说。
安装相关命令:
代码:
$ cd ..
$ sudo dpkg -i   linux-image-(按tab键)


文 件名很长,如果不用tab自动补足是不可能的,tab键万岁。
安装完成后和老内核比较一下大小
代码:
$ ls -l /boot/


八、重新启动验证新内核。
代码:
$ sudo reboot


九、显卡驱动
如果你的显卡和我一样 是nvidia显卡,启动之后往往无法正常进入x-window。即使能看到gdm登录界面,效果也是很差的。
那么就要安装nvidia驱动。
用ctrl+alt+f1 进入字符命令行,输入用户名,密码登录。
命令:
代码:
下载驱动
$ wget http://us.download.nvidia.com/XFree86/Linux-x86/173.14.12/NVIDIA-Linux-x86-173.14.12-pkg1.run

$sudo -s
输入密码取得超级权限。
#ps ax
看看和gdm相关的进程,把这些进程全部关闭;用sudo /etc/init.d/gdm stop有可能有一个进程没有关闭:
#kill 进程号
然后安装nvidia显卡驱动,当然驱动要先下 好,到nvidia驱动所在的目录里,运行:
# sh ./NVIDIA-Linux-x86-173.14.12-pkg1.run

重 新启动以后就ok。要用nvidia的驱动,每次升级内核都要这么做。

十、无线网卡
相关的内核选项是
Networking --->
Wireless --->
Generic IEEE 802.11 Networking Stack (mac80211)
还有4965的驱动。

4965无线网卡驱动虽然已经编入内核,但没有firmware无法使用。需要把原来 内核的firmware拷贝到新内核对应的目录,名字和内核一致,我的内核是linux-image-2.6.25.10dell1400,那建的目录名 就是2.6.25.10dell1400。

代码:
具体命令:
$ cd /lib/firmware/
$ sudo mkdir 2.6.25.10dell1400
把你的老内核中的4965的firmware拷贝过来。
$ sudo cp 2.6.24-16-generic/* 2.6.25.10dell1400/

上面的命令和下面的命令是等价的:
$ cd /lib/firmware/
$ sudo cp -R 2.6.24-16-generic/  2.6.25.10dell1400/


重新启动系统,无线网卡就正常了。

附编译使用的机器配置:dell vostro 1400,t8100,nvidia 8400cs显卡,内置SigmaTel STAC9228芯片的声卡,4965无线网卡,BCM5906M千兆网卡,3G内存,160G硬盘,combo刻录。
编译系统版本:ubuntu 8.04桌面版.


最后由 ffbp 编辑于 2008-08-02 15:27,总共编辑了 14 次
Category: linux | Tags:
5
4
2010
0

使用wget下载网站

wget是linux下命令行的下载工具,功能很强大,虽然我很少用,一般下在一些小东西都是直接用firefox,seamonkey这些浏览器 自带的下载功能下载,没有必要用wget或者其他下载工具。但是某些时候却不是浏览器自带的下载功能和一些其他的下载软件所能做的的,这时候就得用 wget了。比如如果你想下载一个网页目录下的所有文件,如何做呢?

先介绍几个参数:-c 断点续传(备注:使用断点续传要求服务器支持断点续传),-r 递归下载(目录下的所有文件,包括子目录),-np 递归下载不搜索上层目录,-k 把绝对链接转为相对链接,这样下载之后的网页方便浏览。-L 递归时不进入其他主机,-p 下载网页所需要的所有文件。

比如:#wget -c -r -np -k -L -p http://www.kuqin.com/itman/liyanhong/ 下载酷勤网下面的目录“李彦宏

Category: linux | Tags:
4
18
2010
0

保护眼睛

恢复视力的方法 为了你的眼睛请收藏吧

近视到底能不能治疗呢?不做激光手术的话,我们能做些什么吗?

1远方凝视
找一处10米以外的草地或绿树:绿色由于波长较短,成像在视网膜之前,促使眼部调节放松、眼睫状肌松弛,减轻眼疲劳。不要眯眼,也不要总眨眼,排除杂念、集中精力、全神贯注的凝视25秒,辨认草叶或树叶的轮廓。接着把左手掌略高于眼睛前方30厘米处,逐一从头到尾看清掌纹,大约5秒。看完掌纹后再凝视远方的草地或树叶25秒,然后再看掌纹。10分钟时间反复20次,一天做三回,视力下降厉害的要增加训练次数。

2晶体操
转眼:双手托腮,让眼球按上、下、左、右的顺序转动10次,接着再逆时针、顺时针各转动10次。
找一幅3米外的景物(如:墙上的字画等),同时举起自己的左手距眼睛略高处伸直(约30厘米),看清手掌手纹后,再看清远物,尽量快速的在二者间移动目光,往返20次。

3推拿操
采取坐式或仰卧式均可,将两眼自然闭合,然后依次按摩眼睛周围的穴位。要求取穴准确、手法轻缓,以局部有酸胀感为度。
揉天应穴:用双手大拇指轻轻揉按天应穴(眉头下面、眼眶外上角处。 )
挤按睛明穴:用一只手的大拇指轻轻揉按睛明穴(鼻根部紧挨两眼内眦处)先向下按,然后又向上挤
揉四白穴:用食指揉按面颊中央部的四白穴(眼眶下缘正中直下一横指)。
按太阳穴、轮刮眼眶:用拇指按压太阳穴(眉梢和外眼角的中间向后一横指处),然后用弯屈的食指第二节内侧面轻刮眼眶一圈,由内上->外上-> 外下->内下,使眼眶周围的攒竹鱼腰、丝竹空、瞳子寥、球后、承泣等穴位受到按摩。对于假性近视、或预防近视眼度数的加深有好处。

保护视力的4种锻炼方法

一、转眼法
选一安静场所,或坐或站,全身放松,清除杂念,二目睁开,头颈不动,独转眼球。先将眼睛凝视正下方,缓慢转至左方,再转至凝视正上方,至右方,最后回到凝视正下方,这样,先顺时针转9圈。再让眼睛由凝视下方,转至右方,至上方,至左方,再回到下方,这样,再逆时针方向转6圈。总共做4次。每次转动,眼球都应尽可能地达到极限。这种转眼法可以锻炼眼肌,改善营养,使眼灵活自如,炯炯有神。
二、眼呼吸凝神法
选空气清新处,或坐或立,全身放松,二目平视前方,徐徐将气吸足,眼睛随之睁大,稍停片刻,然后将气徐徐呼出,眼睛也随之慢慢微闭,连续做9次。
三、熨眼法
此法最好坐着做,全身放松,闭上双眼,然后快速相互摩擦两掌,使之生热,趁热用双手捂住双眼,热散后两手猛然拿开,两眼也同时用劲一睁,如此35次,能促进眼睛血液循环,增进新陈代谢。
四、洗眼法
先将脸盆消毒后,倒入温水,调节好水温,把脸放入水里,在水中睁开眼睛,使眼球上下左右各移动9次,然后再顺时针、逆时针旋转9次。刚开始,水进入眼里,眼睛难受无比,但随着眼球的转动,眼睛会慢慢觉得非常舒服。在做这一动作时,若感到呼吸困难,不妨从脸盆中抬起脸来,在外深呼吸一下。此法,能洗去眼中的有害物质和灰尘,还对轻度白内障有效,并能改善散光、远视、近视的屈光不正程度。.

Category: linux | Tags:
4
17
2010
0

打开关闭触控板

关闭

sudo modprobe -r psmouse

打开

sudo modprobe psmouse

 

Category: linux | Tags:
4
17
2010
0
2
10
2010
0

ubuntu 9.10下搭建ftp服务器

1.安装vsftpd

sudo aptitude install vsftpd

2.执行finger ftp

看看默认ftp目录在那里

3.修改/etc/vsftpd.conf

local_enable=YES

write_enable=YES

local_umask=022

4.重新启动vsftpd

执行sudo /etc/init.d/vsftpd restart

5.添加用户

sudo useradd test

sudo passwd test

6。执行第4步

Category: linux | Tags:
2
9
2010
1

ubuntu 9.10创建samba共享的问题

新建一个文件夹,右键选择属性,并选择share,选择share this folder,点击create按钮,得到如下错误:

Failed to execute child process "testparm" (No such file or directory)

解决方法如下:

sudo cp /usr/bin/testparm.samba3 /usr/bin/testparm

sudo cp /usr/bin/net.samba3 /usr/bin/net

sudo chmod +x /usr/bin/testparm /usr/bin/net

 

 

Category: linux | Tags:
2
4
2010
1

su失败

Linux权限一直不是很明白,先这样解决吧。

刚装的ubuntu,碰到一个问题,执行su -的时候,提示认证失败,解决办法:

$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

 

Category: linux | Tags:
1
30
2010
4

在ubuntu中,将flv文件转换为mp4

本文将说明如何从youku上下载flv视频,并将flv转换为mp4

1.sudo apt-get install ffmpeg

2.sudo apt-get install libavcodec52

3.输入http://www.flvcd.com/ 在输入栏中输入youku视频的地址

4.将flv下载到本地

5.执行ffmpeg -i 1.flv -f avi -vcodec mpeg4 o.mp4

   即可将flv转换为mp4

6.合并视频文件

    sudo apt-get install mencoder 1900-1.mp4 1900-2.mp4 1900-3.mp4 -ovc copy -oac copy -o all.mp4

Category: linux | Tags:

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com