Linux下的软件开发_unix linux

    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脚本中。

 

时间: 2024-10-28 16:01:58

Linux下的软件开发_unix linux的相关文章

Linux下的软件开发

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/ 下建立一个

Linux下的代理服务器设置_unix linux

前言: 本文主要介绍了在linux使用squid和squidGuard配置代理服务器,以www代理服务为例介绍如何过滤有害站点和限制用户对internet的访问. 一.介绍 Squid是Linux下最为流行的代理服务器软件,它功能强大,支持对HTTP,FTP,Gopher,SSL和WAIS等协议的代理:设置简单,只需对配置文件中稍稍改动就可使代理服务器运转起来.而且Squid具有页面缓存功能,它接收用户的下载申请,并自动处理所下载的数据.也就是说,当一个用户象要下载一个主页时,它向Squid

如何在Linux下配置socks5代理_unix linux

简介: 在Linux下有各种各样的代理程序可用,象最常用的Squid,是http/https代理,也能代理ftp请求,但它实际上 是个HTTP代理程序,不是ftp代理,但它能处理ftp代理请求,就象浏览器处理ftp请求一样的方法工作,有些 程序只能设置成使用socks代理,象CuteFTP;还有象Wu-FTP只能设置成使用ftp代理(这里的ftp代理是标准的 ftp代理,不是Squid所支持的那种方式);ICQ 2000能同时接受https代理和Socks代理;NetVampire能接受标准 的

linux下vi命令介绍_unix linux

进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标

《Linux 高级程序设计(第三版)》——第1章  Linux下C语言开发环境 1.1 Linux操作系统简介

第1章 Linux下C语言开发环境 Linux应用程序开发平台有别于Windows应用程序开发平台,因此在介绍具体编程内容之前,本书第1.2章主要介绍Linux操作系统下C语言程序的开发环境和开发工具. 本章主要介绍Linux下C语言开发环境,包括一些基本概念和基本编程环境.本章第1节主要对Linux操作系统及其相关术语进行了简要介绍. 本章第2节主要介绍Linux操作系统下编程基本概念以及如何获得Linux下的帮助文件,包括Linux操作系统下C语言库文件标准以及系统调用的基本概念. 本章第3

《Linux 高级程序设计(第三版)》——第2章 Linux下C语言开发工具 2.1 常用编辑工具

第2章 Linux下C语言开发工具 Linux 高级程序设计(第三版) Linux操作系统绝大多数的内核代码都是由C语言编写,因此,在Linux下的应用程序,特别是需要与内核进行交互的程序一般都是由C语言编写的,C++程序并不多见,例如驱动开发几乎都是由C语言编写的.因此,本书所有内容都立足于Linux下的C程序开发.本章主要介绍Linux下进行C语言程序开发所必备的工具. 本章第1节主要介绍Linux环境下常用的开发工具,包括常用的编辑器.这些编辑器类似于Windows平台下的记事本和Word

简述Linux下的软件安装

对于Windows的用户来说,软件安装的确是没有什么学问,一直Next或者改一下路径,软件就会装好了.但是在Linux下可没这么简单了. Linux下的软件安装主要有三种方式,分别是rpm(RedHat系列)或DPKG(Debian系列).yum(RedHat系列)或APT(Debian系列)和Tarball. 由于rpm.yum等的安装方式都非常简单,在这里就不再详述了,就举一个例子来说明吧,在Windows上360.金山这些系统管理软件相信大家都有用过,yum的软件安装方式就类似于你在360

Linux教程:如何在Linux下进行C++开发?

Linux是一类Unix计算机操作系统的统称,Linux操作系统的内核的名字也是"Linux", 在Linux下进行C++开发,需要注意许多问题,比如:减少不必要的编辑动作,减少编辑的时间. Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户.例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工具, nmake.它们以集成方式提供给最终用户,对于初学者而言十分方便. 但是,这种商业模式,直接导致用户可定制性差,不利于自

在linux下编译软件和第三方库时不分debug和release吗?

问题描述 在linux下编译软件和第三方库时不分debug和release吗? 在win下,通常需要编译debug和release两个版本. 但是我在linux下编译一些第三方的软件和类库,例如QT/jsoncpp/ACE等等在编译的时候都只能选择debug和release中的一个版本,很少有能同时编译两个版本的. 而且用官方的安装软件编译的QT5.5,我查看文件也发现只有一个版本链接库,在QtCreator却可以生成debug和release两种版本的代码.很困惑究竟是为什么?是Qt的原因还是