<span id='7ofc7'></span>
<dl id='7ofc7'></dl>
    1. <i id='7ofc7'></i>
      <ins id='7ofc7'></ins>

        <acronym id='7ofc7'><em id='7ofc7'></em><td id='7ofc7'><div id='7ofc7'></div></td></acronym><address id='7ofc7'><big id='7ofc7'><big id='7ofc7'></big><legend id='7ofc7'></legend></big></address>

        1. <tr id='7ofc7'><strong id='7ofc7'></strong><small id='7ofc7'></small><button id='7ofc7'></button><li id='7ofc7'><noscript id='7ofc7'><big id='7ofc7'></big><dt id='7ofc7'></dt></noscript></li></tr><ol id='7ofc7'><table id='7ofc7'><blockquote id='7ofc7'><tbody id='7ofc7'></tbody></blockquote></table></ol><u id='7ofc7'></u><kbd id='7ofc7'><kbd id='7ofc7'></kbd></kbd>

          <code id='7ofc7'><strong id='7ofc7'></strong></code>

            <i id='7ofc7'><div id='7ofc7'><ins id='7ofc7'></ins></div></i>

            <fieldset id='7ofc7'></fieldset>

          1. 用busybox做一个迷你Linux

            • 时间:
            • 浏览:8
            • 来源:124软件资讯网

              1、WHERE字句的LIKE条件中通配符  。


              Oracle和mysql都支持%和_两个通配符  ,前者匹配恣意个恣意字符  ,后者匹配最多一个恣意字符 。但在处置惩罚本意字符%和_时  ,就很不相同了  。mysql可以用转义字符\来处置惩罚;oracle也可以用转义字符来处置惩罚  ,但必须在LIKE表达式后用escape '\'来说明;其中\可以是恣意一个字符(注重必须是一个字符)  。

              2、工具名的巨细写敏感性
              处置惩罚诸如表  ,存储历程  ,函数  ,索引 ,数据库等工具时  ,Oracle对巨细写不敏感;mysql则由操作系统来决议  。如LINUX下是敏感的 ,WINDOWS是不敏感的  。

              3、查询表信息
              mysql: show tables;
              Oracle: select table_name from tabs;

              4、自动增加类型的支持
              mysql: 每一个表可以有一列用auto_increment  ,但必须用于主要害字 。其起始值可以用AUTO_INCREMENT=500000作为表属性来约束  ,不能设步长 ,不能循环使用  。
              Oracle: 用 sequence工具来支持该类型 。可以在触发器和SQL语句中用nextval,currval来取值;注重CURRVAL需要在统一SESSION里方能取值准确  。
              查询语句如SELECT seqid_main.nextval from dual  。
              建立语句如CREATE SEQUENCE SEQID_MAIN INCREMENT BY 1 START WITH 1 NOCYCLE CACHE 20 NOORDER;

              5、限制记载数的支持
              mysql: 用limit [start-index,]count子句来实现 ,很是简朴  ,而且支持DELETE语法 ,应该对用户很是利便  。
              Oracle: 没有直接的子句可以提供支持  。但近似可以用row_number函数来实现  。
              如 row_number() over (order by col1 desc,col2) as row  ,然后对row来举行过滤处置惩罚  。若是没有排序子句则可以用更简朴的rownum来实现 。

              6、毗连操作符的支持
              实在mysql和Oracle都支持左、右、内联操作  。不外Oracle的语法如 a.id=b.id(+)来表现左联操作比力直观和容易结构 。
              1.基础知识
              一个操作系统可以简朴的抽象为 ,指导法式+内核+文件系统  。
              vmlinuz是Linux 内核的镜像文件,可以被指导法式加载,从而启动Linux系统  。
              initrd的全称是boot loader initialized RAM disk ,它是系统启动时所使用的根文件系统映像文件  ,这个文件系统中包罗几个驱动模块  ,用来装载现实的根文件系统  ,好比一个IDE或SCSI硬盘的驱动模块  ,内核装入这个模块之后用它来驱动硬盘 ,挂接硬盘到ramdisk的某个子目录 ,然后再用其中的pivot_root下令  ,将硬盘文件系统酿成根文件系统  ,并最先执行init历程  ,此时init ram disk被umount ,寿终正寝  。
              由此可见  ,我们可以用vmlinuz+initrd.img做一个文件系同长驻内存的迷你Linux  。

              现在进入正题了:

              2.编译内核
              mcd /usr/src/....----进入内核源代码目录  ,没有的话去官方网站  ,随便下

              make menuconfig-----设置编译选项请注重一定加入RAM disk support 和initial RAM disk
              (initrd) support 的支持(在block device中)  。另外最好将ext3文件系统
              编入内核  ,不要编成模块  。设置完毕后生存为.config(默认)
              make bzImage----编译
              在许多内核编译参考中另有
              make modules
              make modules_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
              #cp busybox-1.00.tar.gz /tmp/bunny
              #cd /tmp/bunny
              #tar xvfz busybox-1.00.tar.gz
              #cd busybox-1.00
              #make menuconfig ----编译设置
              下面是需要编译进busybox的功效选项,其他的可以凭据需要自选.
              General Configuration应该选的选项
              Show verbose applet usage messages
              Runtime SUID/SGID configuration via /etc/busybox.conf
              Build Options
              Build BusyBox as a static binary (no shared libs)
              这个选项是一定要选择的,这样才气把busybox编译成静态链接的可执行文件,运行时才自力于其他函数库.否则必须要其他库文件才气运行,在单一个linux内核不能使他正常事情.
              Installation Options
              Don't use /usr
              这个选项也一定要选,否则make install 后busybox将安装在原系统的/usr下,这将笼罩掉系统原有的下令.选择这个选项后,make install后会在busybox目录下天生一个叫_install的目录,内里有busybox和指向它的链接.
              其他选项都是一些linux基本下令选项,自己需要哪些下令就编译进去,一样平常用默认的就可以了.
              设置好退却出并生存.config.
              make
              make install
              编译好后在busybox目录下天生子目录_install,内里的内容:
              bin
              linuxrc -> bin/busybox
              sbin
              其中可执行文件busybox在bin目录下,其他的都是指向他的符号链接