当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux下的软件开发

Unix/Linux
如何在linux下面运行招商银行专业版
Windows和Linux系统共存 完美解决方案
Linux 和对称多处理应用程序介绍
Red Hat Linux 附加引导和内核引导选项
Linux 2.6.11内核文件IO系统调用详解
走向高手之路 Linux系统内核技术解读
菜鸟乐园 Linux系统内核代码特色一览
Linux内核和传统Unix内核的比较
内核中的物理内存分配函数kernel api
使用 Linux 系统调用的内核命令
详细解析 Linux内核的主要配置选项
内核操作 Linux2.6内核驱动移植参考
Linux内存中Swap和Buffer Cache机制
高手进阶 更换Fedora Core 6的内核
高手风范 Linux操作系统内核编码风格
Linux操作系统内核中工作队列的操作
揭开Linux系统内核调试器的神秘面纱
系统“大挪移” Linux服务器迁移大法
高手进阶 重新编译Linux操作系统的内核
Ubuntu系统关于驱动模块命令的一些使用

Unix/Linux 中的 Linux下的软件开发


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 177 ::
收藏到网摘: n/a

    1、如何升级、编译内核?

  如果你不想改变内核的版本,直接转到以下第四步。

  1)在任何一个子目录下(但通常是在/usr/src/下)untar解开新的内核源程序:

  tar xvfz linux-x.x.xx.tar.gz (例如linux-2.0.35.tar.gz)

  或者是打补丁(patch):  gzip -cd patch-2.0.35.gz | patch -p0

  打完补丁直接跳到第四步

  2)rm /usr/src/linux   这通常是一个符号连接。

  3)在 /usr/src/ 下建立一个符号连接到你的新内核目录。

  ln -s /usr/src/linux.2.x.xx /usr/src/linux

  老版本的内核可能还要做一下工作:

  cd /usr/include

  rm -rf asm linux scsi

  ln -s /usr/src/linux/include/asm-i386 asm

  ln -s /usr/src/linux/include/linux linux

  ln -s /usr/src/linux/include/scsi scsi

  4)将当前目录变成 /usr/src/linux

  cd /usr/src/linux

  5)变成超级用户  su

  6)配置内核

  如果你在X window下并且希望有图形界面,就用: make xconfig

  (注: 需要安装Tk/Tcl包并且X Server的分辨率在800x600以上)

  如果你不在X Window下或不想使用图形界面,就用:

  make config 或 make menuconfig(推荐),逐个回答完问题后稍等片刻,等提示符出现或图形界面消失,就配置好了系统。

  7)生成新内核,用:

  make dep ; make clean

  make zImage (或用make bzImage进一步压缩内核)

  (注意有大小写区分)

  还有make zlilo/make install等可选择。

  8)如果你用了模块,你还需要生成和安装模块

  make modules

  make modules-install

  depmod -a

  9)检查/etc/lilo.conf,把用的那个目录、那个文件作为 image。例如:image = /boot/vmlinuz (slackware版是/vmlinuz)

  将 /usr/src/linux/System.map 复制到 /boot 目录中,

  将 /usr/src/linux/arch/i386/boot/zImage 复制到 /boot 目录中并改名为 vmlinuz      

  用一个新文件名将新内核拷贝到相应的目录下,如

  cp /usr/src/linux/arch/i386/boot/zImage /boot/zImage2

  然后编辑/etc/lilo.conf文件,把原内核有关的那一段复制一份,如

  image = /boot/vmlinuz

  root = /dev/hda1

  label = linux

  复制后把image改成/boot/zImage2 把label改成newlinux.

  这样新内核与旧内核可以共存,当新内核不能启动时,还有备份在那儿。注意复制后放置的位置,如果没有设置default,则谁是第一项谁就是缺省启动项。

  10)安装新内核并重新起动。

  lilo

  shutdown -r now

  (提示:开机启动LILO、出现"LILO:"提示时,按TAB键显示所有可启动的项(由label定义)

    2、Linux下除了EMACS,有那些写程序用的编辑软件?

  字符方式下有wpe(Window programming environment),非常类似于Borland C++3.1 for DOS。在X Windows下有xwpe,如果用RedHat,CDROM上该有这个东西,还有code-crusader也可以试试,joe,jed/xjed,nedit,kde带的kedit,kbuilder带的ksrcedit等可供参考。其中xjed, ksrcedit是彩色文本编辑,joe/jstar的热键与turbo c基本相同。还可以到166.111.68.98下载C-forge,SourceNavigator,SN是商业软件。

  3、介绍一下Linux中shell提供的叙述语言?

  在DOS下,我们可以把一长串命令写进.BAT文件中,以便自动执行一连串动作,Linux中可以由在profile或.profile中设定alias来完成,当.BAT太过复杂时,可用shell提供的叙述语言(Scripting language)来写:它强大而易用,可以使用变量,有while,for,case if.. then .. else,的语法结构;还可以作为程序设计语言的替代品。

  要撰写一个script,就像在DOS下写.BAT一样,只要编写一个ASCII的文件,内含你想要的指令,然后保存。系统内定的编辑器叫作vi,使用不太方便,也可以使用其它的编辑器如joe或是X下的emacs。以下是vi常用操作法:

  1)加入一段文字到文章中:按下‘ i ’;

  2)离开 vi 但不储存文章:按ESC,再键q!

  3)离开且保存:按ESC,再键wq

  以下是一些shell script范例:

  EXAMPLE 1: first_script

  #!/bin/sh

  # I am a comment

  # don't change the first line - it's got to be there

  echo "Today is `date`"

  echo "My name is "$0

  echo "You gave me the following "$#" parameters: "$*

  echo "First parameter is "$1

  echo "Have you grasped the trick?"

  EXA