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
相关文档:
概而言之,virtio
是半虚拟化 hypervisor 中位于设备之上的抽象层。virtio
由 Rusty Russell 开发,他当时的目的是支持自己的虚拟化解决方案 lguest
。本文在开篇时介绍半虚拟化和模拟设备,然后探索 virtio
的细节。本文的重点是来自 2.6.30 内核发行版的 virtio
框架。
Linux 是 hypervisor 展台。如我的 剖析 ......
1、Apache
在如下页面下载apache的for Linux 的源码包
http://www.apache.org/dist/httpd/;
存至/home/xx目录,xx是自建文件夹,我建了一个wj的文件夹。
命令列表:
cd /home/wj
tar -zxvf httpd-2.0.54.tar.gz
mv httpd-2.0.54 apache
cd apache
./configure --prefix=/u ......
安装OpenSSH
Ubuntu缺省没有安装SSH Server,使用以下命令安装:
sudo apt-get install openssh-server openssh-client
不过Ubuntu缺省已经安装了ssh client。
配置完成后重起:
sudo /etc/init.d/ssh restart
windows 客户端用putty连接命令shell模式 ......
M. Tim Jones, 顾问工程师, Emulex Corp.
Linux® 内核使用 GNU Compiler Collection (GCC) 套件的几个特殊功能。这些功能包括提供快捷方式和简化以及向编译器提供优化提示等等。了解这些特殊的 GCC 特性,学习如何在 Linux 内核中使用它们。
GCC 和 Linux 是出色的组合。尽管它们是独立的软件,但是 Linux 完全依靠 ......
Alloca函数,用于在栈上分配内存,
gcc
的动态数组就是通过它来支持的。
中断和信号的概念是不同的,信号是发给进程的,硬中断是内核和硬件之间,都是异步的,不可预知的。
系统调用进入内核是不发生进程切换的。DIRECT_IO
不使用系统
IO
缓存,还要保证缓冲区内存不被
swap
,这个用于那些用户层进行缓存的应用程 ......