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命令看第三章,或到http://www.xa.col.com.cn/~isc/gcc/library_toc.html看看。
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腳本中。