易截截图软件、单文件、免安装、纯绿色、仅160KB

用户模式Linux之初次体验

用户模式Linux (User Mode Linux), 缩写为UML。顾名思义,UML就是在一个可以在用户空间运行的linux内核。
UML能够为kernel虚拟一些实际的物理设备,启动UML只需要要指定一个root文件系统的image文件。UML实际上也是一种虚拟化技术。
 
UML的好处
第一,做一个虚拟服务器,UML可以以安全的方式运行在用户空间,它可以确保服务器不会对本机的内容进行破坏
第二,便于kernel开发和调试。kernel中一些与平台无关的模块,如文件系统,内存管理等,使用UML调试更加方便。
 
运行UML
1. 准备好一个rootfs的img文件
UML需要指定一个包含完整根文件系统的img文件。首先创建一个大小为2G的img文件,然后将其格式化为ext3文件系统。
# cd ~/uml
# dd if=/dev/zero of=rootfs.img bs=1M count=2048
# mkfs.ext3 rootfs.img
rootfs.img实际上是一个ext3文件系统的存储设备,但是还没有什么内容。所以现在要做的是,将一个已有的根文件系统拷贝到rootfs.img中(假设这个根文件已经打包为your-rootfs.tar.gz):
# mkdir uml-rootfs
# sudo mount -o loop rootfs.img uml-rootfs
# cd uml-rootfs
# tar xf your-rootfs.tar.gz
# cd ..
# umount uml-rootfs
还有一种办法制作一个root文件系统的img文件,假设你自己的linux发行版(Fedora, Ubuntu,etc)是按照在/dev/sda5设备上,你可以将整个/dev/sda5拷贝到一个单独的img文件:
dd if=/dev/sda5 of=rootfs.img bs=1M count=2048
注意上面的count只有2G,如果安装在/dev/sda5的根文件系统大于2G,需要增大count值
2. 以UM模式编译linux内核
从kernel.org上下载一个稳定的kernel版本,然后以um模式重新编译:
# cd kernel-2.32.26.y
# make mrproper ARCH=um
# make defconfig ARCH=um
# make ARCH=um

成功编译后,在kernel-2.32.26.y中会出现一个名为linux的可执行文件,它就是UML!
3. 运行UML
# ./linux mem=512M ubda=~/uml/rootfs.img
一个用户空间的linux就运行了....开源力量很好很强大!
更多UML的信息请参考: 
UML项目首页:http://user-mode-linux.sourceforge.net/
下一步将试验如何在UML中调试kernel模块。
 2010-2-2


相关文档:

Linux环境的AMP安装 MEMCACHED安装


MEMCACHED安装
一、服务端。先安装libevent,再安装memcached。(注:libevent是一套跨平台的事件处理接口的封装,能够兼容包括:Windows/Linux/BSD/Solaris等操作系统的事件处理)
1、下载最新版本的libevent和memcached,笔者的安装目录为/soft
>cd /soft
>wget http://www.dange.com/memcached/dist/memcach ......

Linux环境的AMP安装 MSSQL扩展安装


Linux要安装mssql扩展,必须首先安装freetds,安装过程如下:
1、假设源文件目录为/webServ,安装目录为/opt/freetds。
1) >cd /webServ
2) 下载, >wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
3) 解压, >tar -zxvf freetds-stable.tgz
4) 进入, >cd freetds-0。 ......

php加入linux系统命令


假设php安装在/usr/local/php5/bin/php,初始在命令行执行PHP的时候要输入一长串的路径,eg:
$>/usr/local/php5/bin/php phpinfo.php
非常的麻烦,现在只需将php拷贝至usr/sbin目录即可直接使用php命令,eg:
$>cp /usr/local/php5/bin/php /usr/sbin/
$>php phpinfo.php
......

linux 系统编码

一。linux系统的默认编码设置。
/etc/sysconfig/i18n
Controls the system font
settings. The language variables are used in /etc/profile.d/lang.sh. An
example i18n file:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

SUPPORTED="zh_CN.GB18030:zh_CN ......

Linux多线程编程的基本的函数

  函数原型:                  
#include <pthread.h>
int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr, void *(*start_rtn)( ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号