来讲讲:用busybox做一个迷你Linux
常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基的。1、WHERE字句的LIKE前提中通配符。
Oracle和mysql都撑持%和_两个通配符,前者婚配恣意个恣意字符,后者婚配最多一个恣意字符。但在处置本意字符%和_时,就很不不异了。mysql能够用本义字符来处置;oracle也能够用本义字符来处置,但必需在LIKE表达式后用escape来讲明;个中能够是恣意一个字符(注重必需是一个字符)。
2、工具名的巨细写敏理性
处置诸如表,存储历程,函数,索引,数据库等工具时,Oracle对巨细写不敏感;mysql则由操纵体系来决意。如LINUX下是敏感的,WINDOWS是不敏感的。
3、查询表信息
mysql:showtables;
Oracle:selecttable_namefromtabs;
4、主动增加范例的撑持
mysql:每个表能够有一列用auto_increment,但必需用于主关头字。其肇端值能够用AUTO_INCREMENT=500000作为表属性来束缚,不克不及设步长,不克不及轮回利用。
Oracle:用sequence工具来撑持该范例。能够在触发器和SQL语句顶用nextval,currval来取值;注重CURRVAL必要在统一SESSION里方能取值准确。
查询语句如SELECTseqid_main.nextvalfromdual。
创立语句如CREATESEQUENCESEQID_MAININCREMENTBY1STARTWITH1NOCYCLECACHE20NOORDER;
5、限定纪录数的撑持
mysql:用limitcount子句来完成,十分复杂,而且撑持DELETE语法,应当对用户十分便利。
Oracle:没有间接的子句能够供应撑持。但近似能够用row_number函数来完成。
如row_number()over(orderbycol1desc,col2)asrow,然后对row来举行过滤处置。假如没有排序子句则能够用更复杂的rownum来完成。
6、毗连操纵符的撑持
实在mysql和Oracle都撑持左、右、内联操纵。不外Oracle的语法如a.id=b.id(+)来暗示左联操纵对照直不雅和简单机关。
1.基本常识
一个操纵体系能够复杂的笼统为,引诱程序+内核+文件体系。
vmlinuz是Linux内核的镜像文件,能够被引诱程序加载,从而启动Linux体系。
initrd的全称是bootloaderinitializedRAMdisk,它是体系启动时所利用的根文件体系映像文件,这个文件体系中包括几个驱动模块,用来装载实践的根文件体系,好比一个IDE或SCSI硬盘的驱动模块,内核装进这个模块以后用它来驱动硬盘,挂接硬盘到ramdisk的某个子目次,然后再用个中的pivot_root命令,将硬盘文件体系酿成根文件体系,并入手下手实行init历程,此时initramdisk被umount,与世长辞。
因而可知,我们能够用vmlinuz+initrd.img做一个文件系同长驻内存的迷你Linux。
如今进进正题了:
2.编译内核
mcd/usr/src/....----进进内核源代码目次,没有的话往官方网站,任意下
makemenuconfig-----设置编译选项请注重必定到场RAMdisksupport和initialRAMdisk
(initrd)support的撑持(在blockdevice中)。别的最好将ext3文件体系
编进内核,不要编成模块。设置终了后保留为.config(默许)
makebzImage----编译
在很多内核编译参考中另有
makemodules
makemodules_install两步
但我们这里没有到场对modules的撑持,以是不必要。
天生的bzImage文件在usr/src/linux/arch/.../boot中,省略的依据你的呆板架构决意,make过程当中会有提醒,好比我的是x86_64.注重这个文件十分主要,实在就是我们终极的vmlinuz.
3.busybox
busybox是一个集成了一百多个最经常使用linux命令和工具的软件,它乃至还集成了一个http服务器和一个telnet服务器,而一切这统统功效却只要戋戋1M摆布的巨细.我们平常用的那些linux命令就比如是分力式的电子元件,而busybox就比如是一个集成电路,把经常使用的工具和命令集成紧缩在一个可实行文件里,功效基础稳定,而巨细却小良多倍,在嵌进式linux使用中,busybox有十分广的使用,别的,年夜多半linux刊行版的安装程序中都有busybox的身影,安装linux的时分案ctrl+alt+F2就可以失掉一个把持台,而这个把持台中的一切命令都是指向busybox的链接.在我们的迷你Linux中,必要的也恰是busybox的命令和工具。
利用过程当中很多高版本都呈现编译毛病,以是用了一个最原始的版本busybox-1.00
#cpbusybox-1.00.tar.gz/tmp/bunny
#cd/tmp/bunny
#tarxvfzbusybox-1.00.tar.gz
#cdbusybox-1.00
#makemenuconfig----编译设置
上面是必要编译进busybox的功效选项,其他的能够依据必要自选.
GeneralConfiguration应当选的选项
Showverboseappletusagemessages
RuntimeSUID/SGIDconfigurationvia/etc/busybox.conf
BuildOptions
BuildBusyBoxasastaticbinary(nosharedlibs)
这个选项是必定要选择的,如许才干把busybox编译成静态链接的可实行文件,运转时才自力于其他函数库.不然必须要其他库文件才干运转,在单一个linux内核不克不及使他一般事情.
InstallationOptions
Dontuse/usr
这个选项也必定要选,不然makeinstall后busybox将安装在原体系的/usr下,这将掩盖失落体系原本的命令.选择这个选项后,makeinstall后会在busybox目次下天生一个叫_install的目次,内里有busybox和指向它的链接.
其他选项都是一些linux基础命令选项,本人必要哪些命令就编译出来,一样平常用默许的就能够了.
设置好前进出并保留.config.
make
makeinstall
编译好后在busybox目次下天生子目次_install,内里的内容:
bin
linuxrc->bin/busybox
sbin
个中可实行文件busybox在bin目次下,其他的都是指向他的标记链接
</p>
有些人号称用过十几种甚至几十种linux,向人谈论起来头头是到,好像懂的很多。 Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。? 任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。 任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。 Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。 对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。 Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。 其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。 Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
页:
[1]