[作者]dsj [头衔]论坛坛主 [经验]220862 [等级]大主帅
[发帖]15642 [回帖]1366 [登陆]7956 [发表时间]2004/5/29 11:26:26 [1楼]
|
|
联想昭阳笔记本电脑v71系列(v1.1)上装红旗4 目的:联想昭阳笔记本电脑v71系列(v1.1),购买时已预装了WindowsXP家庭版,并具有恢复自举分区(C盘)或恢复到出厂状态的功能。现在要安装红旗Linux4.0。要求Windows和Linux都能从硬盘引导,并保证紧急恢复数据的可用性。 分析:联想昭阳笔记本电脑有一个30GB的硬盘。其中,2GB用来保存了紧急恢复数据,其余建立了FAT32分区,包括一个主分区=9311.1MB和一个扩展分区=17304.4MB。紧急恢复数据的读取依靠MBR中的某些信息,因此安装Linux时,决不能修改MBR,否则无法读取紧急恢复数据。 操作: 第一步,调整分区。 应该注意,在Windows下是无法访问Ext3分区的。反过来讲,红旗Linux虽能读写FAT32分区,但不能对FAT32分区上的数据进行权限控制。因此,如果实际使用中以Windows为主,只为红旗Linux准备一个ext3主分区和一个swap分区即可。但如果以Linux为主,则一定要为红旗Linux另外再准备一个ext3,把用户的家目录建在这个分区里借助Linux在文件管理方面安全机制保证个人信息的私密性。另外,Windows和Linux共存在一台计算机上,难免有数据往来,因此准备一个FAT32的数据区也是必须的。假设以Linux为主使用该电脑,则需把磁盘分割FAT32和ext3分区各两个,另外还有一个swap分区。 根据紧急恢复数据的特点,只要不修改MBR就不会影响紧急恢复数据的可用性。为防止误操作,可以先使用diskgen把磁盘分区表备份一下。然后使用PQmagic把原来9GB的主分区缩小到4.5GB。删掉扩展分区,形成了21GB多的空闲空间。在这个空闲空间里,创建一个ext3主分区,也是4.5GB,余下的就全做为扩展分区。在扩展分区中又创建FAT32和ext3分区各一个,并用余下的300M左右的空间建了一个swap分区。 修改完分区并生效后,要验证一下紧急恢复数据的可用性。如果操作没有失误,紧急恢复数据仍然是可用的,否则就要用diskgen把磁盘分区表恢复回来,从头再来。 第二步,安装红旗Linux 不管使用何种方式安装,一定注意如下两点:一、引导数据不要写到/hda1。如果写到/hda1,就修改了MBR,也就无法读取紧急恢复数据了。二、一定要制作启动盘。 安装后,可以再验证一下紧急恢复数据的可用性。如果操作没有失误,紧急恢复数据仍然是可用的,否则就要用diskgen把磁盘分区表恢复回来,从头再来。 第三步,实现Windows和Linux的双重启动。 因为没有把Linux引导数据写到/hda1上,所以要进入Linux,就必须使用安装时制作的启动盘。那么如何从硬盘启动Linux呢? 首先,使用启动盘进入Linux后,然后执行下面的命令,把Linux分区引导扇区的信息提取出来生成一个文件,放到Windows的C盘。 dd if=/dev/hda2 of=/mnt/WinC/bootsect.lnx bs=512 count=1 然后,编辑c:\boot.ini文件,增加下面的一行并保存。这样,计算机启动后,就能出现菜单以便选择进入红旗Linux。 c:\bootsect.lnx="红旗Linux4.0" 最后,备份数据 验证Windows和Linux是否都能正常引导。如果正常,就可以用diskgen把磁盘分区表备份下来。另外还应把bootsect.lnx和boot.ini备份到扩展FAT32分区,以便将来使用。 提示:如果Linux的引导数据被安装到了/hda1,就会覆盖MBR,紧急恢复数据也就无法使用了。此时,Windows和Linux都能由GRUB正常引导。如果还想用Windows的引导程序引导这两个系统,可以使用dos(win98以上)启动盘启动计算机,执行 下面的命令,恢复主引导区,然后执行第三步即可。注意,即使执行了下面的命令,紧急恢复数据仍然是无法使用的。 fdisk /mbr
|
我的QQ群:500人财富群11470502;投资群5920530;资源群6648659;交友群5713862;娱乐群6925950。 我的博客:http://104508155.qzone.qq.com/
|
|
|
[作者]dsj [头衔]论坛坛主 [经验]220862 [等级]大主帅
[发帖]15642 [回帖]1366 [登陆]7956 [发表时间]2004/5/29 11:27:21 [2楼]
|
|
|
[作者]dsj [头衔]论坛坛主 [经验]220862 [等级]大主帅
[发帖]15642 [回帖]1366 [登陆]7956 [发表时间]2004/5/29 11:28:55 [3楼]
|
|
为了建立在红旗Linux4.0下编程的总体印象,本篇将介绍编程涉及的最基本操作。包括,如何写程序,如何编译,如何调试,如何运行。 涉及的开发工具有GNU C、GNU GDB和Qt,都是红旗Linux4.0上自带的。 本篇所提到全部操作都是在图形环境下的终端中完成。 第一章vi最基本操作 目的:写一个简单的计算器程序。这个程序可以根据选择完成两个数的四则运算。 操作:执行下面的指令,在当前目录下建立一个文件名为calculator.c的程序文件。如果该文件已存在,此命令将打开这个文件。 #vi calculator.c 执行完上面的指令后,就进入了vi编辑界面。之所以用vi而不用“文本编辑器”,有两个原因:一,编译调试都是用命令行完成的,用vi就免去了在不同窗口间切换的麻烦;二,vi用不同的颜色表示不同的程序元素,看起来既方便又漂亮。 下面说说vi最基本的操作方法。(为便于阅读,此部分另行发贴) 下面是源程序清单。(这部分引自《LINUX应用开发基础》,黄超著,2002年,机械工业出版社。引用时,有删改。为便于阅读,以跟贴的形式发。) 第二章C程序编译和运行 本章的任务是要把上一章写好的程序编译并运行起来。操作比较简单,只需执行如下指令即可。被编译的源文件是当前目录下的calcutlator.c,-o表示要指定可执行文件的名字,可执行的文件名是calc。 #gcc -o calc calcutlator.c 如果编译成功,就可以执行这个程序了。程序执行后,提示信息都是汉字的,按提示试试吧。 #./calc 第三章调试 如果编译时,使用下面的指令(增加了参数-g),就会生成带源代码调试符号的可执行文件。 #gcc -o calc calcutlator.c -g 进一步地,就可以执行下面的指令启动调试工具进入调试环境对程序进行调试了。 #gdb calc 在调试环境下,可以输入下列指令来控制调试。 l 28 列出第28行附近的源程序。 b sum 在sum函数处设断点 b 25 在第25行处设断点 r 运行程序 n 单步执行,不进入函数 s 单步执行,进入函数 c 继续连续执行 p choice 显示变量choice的值 q 退出调试环境 k 杀死程序 第四章C++程序 目的:编写一个显示HelloWorld的最简单的C++程序 操作:C++程序文件的扩展名是.cxx。源程序文件名定为hello.cxx。先用vi写程序。 #vi hello.cxx 接下来是编译,指定生成的可执行文件名为hw: #g++ -o hw hello.cxx 如果要带源代码调试符号进行编译,则执行下面的指令 #g++ -o hw hello.cxx -g 下面是源程序清单。(这程序,让谁编都是这么几句。既使我抄,也不能算我剽窃吧。) #include <iostream.h> int main() { cout << "Hello World \n"; } 第五章用Qt编程 先创建一个目录,比如chapter_1,然后在这个目录里编写一个main.cpp程序。接下来在这个目录里依次执行下列命令就会生成可执行文件,注意可执行文件的文件名就是目录的名字,即chapter_1。 #qmake -project #qmake #make 访http://www.qiliang.net/qt/可以找到Qt参考文档,是中文的。英文原版http://doc.trolltech.com/可以找到。 //calculator.c 简单计算器 #include <stdio.h> double sum(double a, double b); double subtract(double a, double b); double divide(double a, double b); double multiply(double a, double b); main() { int choice; char operator; double a,b; double (*func)(); printf("\n* * * * * 两个数四则运算计算器程序* * * * * * * * *");//输出提示信息 printf("\n1.加"); printf("\n2.减"); printf("\n3.乘"); printf("\n4.除"); printf("\n要做哪种运算?(输入1、2、3或4,输入其他值将自动退出 ):"); choice=getchar();//获取用户输入 switch(choice) { case '1': func=sum; operator='+'; break; case '2': func=subtract; operator='-'; break; case '3': func=multiply; operator='*'; break; case '4': func=divide; operator='/'; break; default: return; } printf("\n\n请输入第一个数 a :"); scanf("%lf",&a); printf("\n\n请输入第二个数 b :"); scanf("%lf",&b); printf("\n计算结果是 : %lf %c %lf = %lf\n",a,operator,b,(*func)(a,b)); } double sum(double a, double b) { return a+b; } double subtract(double a, double b) { return a-b; } double multiply(double a, double b) { return a*b; } double divide(double a, double b) { return a/b; }
|
我的QQ群:500人财富群11470502;投资群5920530;资源群6648659;交友群5713862;娱乐群6925950。 我的博客:http://104508155.qzone.qq.com/
|
|
|
[作者]dsj [头衔]论坛坛主 [经验]220862 [等级]大主帅
[发帖]15642 [回帖]1366 [登陆]7956 [发表时间]2004/5/29 11:29:37 [4楼]
|
|
vi最基本操作方法 进入编辑界面后,按i键就进入了“插入”模式,按Esc键就退出了“插入”模式。如此可以来回切换。 不管哪种模式,都可以用←↑↓→键及Home、End、PageUp、PageDn键移动光标。这与 在“插入”模式下就可以输入字符了。,可以用Delete和BackSpace键删除字符。 在非“插入”模式下可以执行一些带冒号的指令。例如:w存盘,注意是输入一个冒号后面再跟一个字母w。还有一些其他指令,列举如下: :wq 存盘并退出vi。 :q 退出vi。如果尚未保存,vi会提示,并拒绝退出。 :q! 不保存已做的修改,强制退出。 :g/str1/s//str2/g 寻找str2,并全都替换成str1。注意,s后面是两个斜杠(/)。 如果斜杠(/)本身就是str1或str2中的字符,则加前导反斜杠(\)区别。这一点对用vi编辑html文件的操作尤为有用。 要进行复制、粘贴、查找等操作,也必须在非“插入”模式下输入指令完成,这时输入的指令不带冒号。现列举如下: 5yy 包括光标所在行,往下数,复制5行到内存。若只复制一行,可以不写数字。 p 小写,把剪贴板内容粘贴到光标之后。 P 大写,把剪贴板内容粘贴到光标之前。 3dd 包括光标所在行,往下数,剪切3行到内存。若只剪切一行,可以不写数字。若不进行粘贴操作,就相当于删除操作。 /str1 寻找字符串str1,str1就是要寻找的字符串。 如果斜杠(/)本身就是str1中的字符,则加前导反斜杠(\)区别。
|
我的QQ群:500人财富群11470502;投资群5920530;资源群6648659;交友群5713862;娱乐群6925950。 我的博客:http://104508155.qzone.qq.com/
|
|
|
[作者]fairlinux [头衔] [经验]2 [等级]
[发帖]5 [回帖]0 [登陆]1 [发表时间]2004/7/16 17:57:36 [5楼]
|
|
老大,这个帖子在哪里转的啊?怎么没有例子中calculator的程序?
|
|
|
|