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?" EXAMPLE 2: 2exe #!/bin/sh echo "making "$1" executable... " chmod u+x $1 EXAMPLE 3: backup #!/bin/sh echo "Copying files in ~/bak... " for name in $* do cp ${name} ~/bak done 使用这个命令:$ chgmod u+x 来执行script,在要执行时,键入它的文件名即可。 4、哪里有Linux下C语言库函数手册? 用xman命令看第三章 5、Linux有没有数据库管理软件?(例如象informix那样) Linux有好几个DBMS,其中Ingres可能最接近INFORMIX,但是需要自己进行编译,另外它的维护和进一步开发好象不太活跃。目前看来postgreSQL比较好,Redhat-5.0带这个DBMS和它的开发系统。mSQL和MySQL也不错。Informix和Sybase的for Linux版本已出来了,可去他们的站点看看。 OPEN LINK :http://www.openlinksw.com/ (提供大量的ODBC JDBC,收费的) postodbc :http://logical.thought.net/postodbc/ 这个免费的; PERL :http://www.perl.com/ PHP :http://www.php.net/ 成熟的数据库接口提供商 perl.module 6、如何调试CGI脚本? 对于一些简单的perl-cgi,可把要求输入的变量都在程序中预定好,然后su nobody运行调试,运行结果正确了,再把预定的变量去掉,放入http服务器,一般即可。 7、Linux下有MOTIF编程的软件包吗? MOTIF由于不是免费的、运行速度慢,不推荐使用,现在有KDE。如果真想开发MOTIF界面,最好采用TCL/TK来进行,这样可大大节省开发时间、而且开发出来的程序运行效率也好。只需用TCL、也可以用PERL语言编写脚本,然后利用TK工具包进行粘接。无论是TCL还是PERL,它们都有与C/C++程序协同工作的能力。这样,对速度要求高的程序部分用C/C++编写,然后嵌入到TCL或者PERL脚本中。
Linux下的软件开发 Linux,软件,开发
comments powered by Disqus