linux源码阅读(1):配置 lxr和glimpse
1. 安装apache2, lxr, glimpse
$ sudo apt-get install apache2
$ sudo apt-get install lxr
下载glimpse
安装glimpse:
$ ./configure
$ make
$ sudo make install
2. 配置lxr
$ sudo vim /usr/share/lxr/http/lxr.conf
修改为:baseurl:http://localhost/lxr/http
glimpse:/usr/local/bin.glimpse
其中localhost为您电脑的IP.
添加/usr/share/lxr/http/.htaccess
$ sudo vim /usr/share/lxr/http/.htaccess
添加内容:
<Files ~ (search|source|ident|diff|find)$>
SetHandler cgi-script
</Files>
3. 建立源码仓库
3.1 创建/usr/share/lxr/source/versions, /usr/share/lxr/source/defversion,其中versions是所有内核版本的集合,defversion是缺省使用的内核版本.
比如:
$ sudo vim /usr/share/lxr/source/versions
添加内容:
2.6.27
2.6.29
保存退出.
$ sudo vim /usr/share/lxr/source/defversion
添加内容:
2.6.27
保存退出.
3.2 创建源码目录
$ sudo mkdir /usr/share/lxr/source/2.6.27
$ su - (切换到根用户,否则在下面执行ln时,无法建立有效链接)
# ln -s <linux的源码目录> /usr/share/lxr/source/2.6.27/linux
# exit (退出根用户)
3.3 生成索引数据库
$ cd /usr/share/lxr/source/2.6.27
$ sudo glimpseindex -H ./ ./linux (--> 生成freetext索引数据库)
$ sudo genxref ./linux (--> 生成关键字索引数据库)
3.4 修改访问权限
$ sudo chmod a+x *
$ sudo chmod a+x .*
4. 设置浏览器访问
$ sudo vim /etc/apache2/sites-available/default
添加如下内容(在<VirtualHost></VirtualHost>内):
<VirtualHost *:80>
......
Alias /lxr /usr/share/lxr
<Directory /usr/share/lxr>
Options All
AllowOverride All
</Directory>
</VirtualHost>
5. 重启apache2
$ sudo apache2 restart
6. 在浏览器浏览代码
访问地址:http://your_ip_address/lxr/http/http/blurb.html
注:如果要添加新的内核,只需要在/usr/share/lxr/source/下添加目录,并将版本号添加到/usr/share/lxr/source/versions,然后使用gli
相关文档:
bin:该目录存放最常用的基本命令,比如拷贝命令cp、编辑命令vi、删除命令rm等。
boot:该目录包含了系统启动需要的配置文件、内核(vmliuxz)和系统镜像(initrd….img)等。
dev:该目录下存放的是Linux中使用或未使用的外部设备文件(fd代表软盘,hd代表硬盘等),使用这些设备文件可以用操作文件的方式操作设备。
......
1. gz文件
这种文件可以使用gzip、gunzip、zcat进行解压:
gzip -d file_name
gunzip -d file_name
zcat file_name
2. tar.gz、tgz文件
这种压缩文件使用解压命令和tar命令配合使用,如:
gzip -d file_name.tar.gz
gunzip -d file_name.tgz
zcat file_name
然后执行:
tar xvf file_name.tar
某些版本的t ......
要将文件系统挂载到我们的 Linux 系统上,
就要使用 mount 这个指令
用法:
mount [-tonL] 装置名称代号 挂载点
mount -a
参数:
-a :依照 /etc/fstab 的内容将所有相关的磁盘都挂上来!
-n :一般来说,当我们挂载文件系统到 Linux 上头时, Linux 会主动的将
&nbs ......
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体" ......
Alloca函数,用于在栈上分配内存,
gcc
的动态数组就是通过它来支持的。
中断和信号的概念是不同的,信号是发给进程的,硬中断是内核和硬件之间,都是异步的,不可预知的。
系统调用进入内核是不发生进程切换的。DIRECT_IO
不使用系统
IO
缓存,还要保证缓冲区内存不被
swap
,这个用于那些用户层进行缓存的应用程 ......