gentoo安装小记

2011年4月21日 22:06

  今天把一个硬盘的一个空闲分区格了,考虑要装点什么,想来想去决定装个gentoo,主要是想练习一下配置内核。以前也装过几次,都没有成功,一次是在虚拟机里装的,当时没有意识到配置源,所以下载文件很慢,耗费几天时间,到最后却没有起来,还有一次是在硬盘安装的,但是依旧延续第一次的观点,配置的选项选择越多越好,并且把模块直接编译进内核而不是模块更简单直接(现在想想这想法挺蠢),折腾了一天到最后也全是红色的failed,无奈之下就放弃了,想等以后学的多点了在装的。今天手痒,决定试试。

  有一个debian的系统,所以没用用安装光盘,直接用root用户挂载空闲分区,建立文件系统,然后下载stage和portage文件,解压,之后就是按照手册的chroot,一步一步的按照说明来,关键配置内核的时候,选择了手动配置,用了一下午的时间,虽然很多选项不知道,但还是稀里糊涂的配置完了,这次不像前几次相信内核模块越多越好了,只选择能用到的,毕竟大部分的内核内容是不会与我的电脑扯上关系的,还有没有安装grub或lilo,直接用debian的grub引导了。重启之后,问题来了,提示Root filesystem could not be mounted read/write  :( ......无奈阿,难道这次又失败了?

  本来以为是引导文件或是/etc/fstab的问题,可是查看之后一切正常,搜了一下,原来是ext4需要内核 surpport large[2TB] block devices and files,我当时也以为不会用到而没有选。(参考)无奈只好重新配置编译内核,之后重启,启动正常,gentoo安装成功!

  没想继续安装图形界面,先用着着简单的系统熟悉熟悉,可以用vim编辑,用links上网,还有用screen实现一个终端上使用多个任务,感觉还不错,黑白界面挺有感觉 :)

 

 

Tags: gentoo linux
评论(5) 阅读(4287)

知其然,不知其所以然

2011年4月10日 10:26

折腾linux许久,感觉自己有一种知其然,不知其所以然的感觉!

当把桌面折腾的绚丽多彩,当把emacs或vim折腾得功能强大,当可以解决字符乱码,可以更改grub引导界面,当......

当为解决困扰自己的问题而沾沾自喜的时候,仿佛都是google或百度之后的类似windows安装程序的下一步,下一步,完成的感觉,知其然而不知其所以然!

这样折腾再久,也只是更熟悉google找寻结果,然而始终无法告诉自己为什么......

所以还是少折腾点,多想想为什么吧!

Tags: linux,折腾
评论(3) 阅读(3099)

折腾编程语言

2011年4月10日 09:44

  接触编程一年半多了,可悲的是仍旧写不出像样的东西,总结一下原因,似乎是我对计算机的兴趣太博大,以至于想尝试她的所有。对于语言亦是如此,所以大部分时间都花在了尝试新语言,而没有对一种语言深入的学习。

  最先学的是c,那时还不知道c与vc的区别,学了一段时间,受c++面向对象的强大的吸引,而去学习c++,一段时间没过完呢,老师又介绍asp,又禁不住诱惑,看了几天asp,当然得同时看html,css,折腾几天后发现asp并不是我所喜欢的,但这时热衷于web开发,所以自学php喽,结果php没学到什么呢,又开java课了,这时的我又折服于java的强大与优雅,几个月的java学习下来,没出什么结果呢,又发现了python的简洁,所以有折腾了几天python,但是用linux,就得懂shell脚本吧,不知不觉中又shell了一段日子,期间经常看到.net是多好多好,所以也看过几天c#,因为课程设计与兴趣,php还得接着学,自然xml,javascript,...等一大堆web有关的语言也得瞅瞅,又开了asp.net的课,看来还真得认真折腾折腾.net,至于什么perl,ruby,幸亏没时间,不然还得折腾一下,这一通下来,似乎我熟悉的也仅仅是各种语言的语法,真正能拿来应用还是有困难的,至今仍没能写出像样的东西,更因为遗忘曲线,大部分已忘的差不多了,到头来剩下的也仅仅是各种语言的hello world 输出了,可悲!

  至此,方有所悔悟,语言只是一种工具,语法只是表达的不同,真正应该学习的是编程的思想,是解决问题的方法!语言再多,也不外乎过程与对象,编译与解释,函数与类,循环与分支,变量与数组,输入与输出......所以又何必执着与招式,折腾语言,折腾自己呢。

  还是静下心来,学好c语言吧,毕竟c是我的最爱!

  看看那些教人编程的书的目录就知道了,不论哪种语言,目录结构都是相似的,变量,数组,字符串,函数,类,I/O...

折腾得再多也仅仅是看到#include 与import的不同,这样学的再多又有何用?

 

 

评论(4) 阅读(3253)

C输出的小问题

2011年4月10日 08:36

想要在终端下实现一个类似进度显示的效果,用以下代码并没有效果,

#include <stdio.h>
#include <unistd.h>

int main()
{
	int i = 0;
	for(;i<101;i++)
	{
		printf("%3d",i);
		usleep(50000);
		printf("\b\b\b");
	}
	return 0;
}

但是调试的时候似乎又没有错误,但是当在

printf("%3d",i);

后面添加上一个\n时,

printf("%3d\n",i);

似乎usleep()函数运行是正常的,按说应该能达到预计的效果,但为什么什么都没有呢?

当将for循环换作如下时:

for(;i<101;i++)
{
	printf("%3d ",i);
	usleep(50000);
}

会发现并没有逐渐输出1,2,3,。。。,而是在最后的一瞬间所有的内容全部跳出来了,可见原因很简单,并不是程序没有输出,而是被系统缓存起来了,所以只要刷新输出,就会有预想效果了。

以下是最后的效果:

#include <stdio.h>
#include <unistd.h>

int main()
{
	int i = 0;
	for(;i<101;i++)
	{
		printf("%3d%%",i);
		usleep(50000);
		fflush(stdout);
		printf("\b\b\b\b");		
	}
	return 0;
}

 

Tags: c sleep fflush stdout
评论(1) 阅读(2626)