LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 53474|回复: 109

debian--从安装到升级

[复制链接]
发表于 2004-9-22 16:28:16 | 显示全部楼层 |阅读模式
Debian linux--从安装到升级

在windows底下,我们尝尽了欢乐与痛苦:办公(笔记本预装了windows,为什么不预装office?)、游戏(最爱当然是3D游戏MOH、RTCW和不可思议的机器)、音乐(BT当或从CD抓下来的APE)、电影(免费的windvd只能看5 分钟,幸好我的笔记本预装有WinDVD)、病毒(木马、蠕虫)、莫名其妙的错误......
当然,最大的折磨莫过于“盗版”二字间或钻进无法麻木的耳朵与中国大陆地区盗版率为92%这个刻薄的数字、以及网络上愤青们对盗版的一片叫好声与外国人对中国人做贼而不羞愧的尖酸评价,一起撞击大脑,构成复杂而苦闷的情绪,象横亘两千年的精神奴役一般,严重影响自己的正常思维。
该是打破愚昧这个灵魂领域的暴君的囚笼的时候了。所以,我打算把自己的笔记本换成Linux。
这是一个非常痛苦的尝试。相比方便快捷的windows2000的安装,安装好一套合适自己电脑的linux无疑是一条荆棘丛生的漫漫长路。

首先,我选择了Debian Linux这个版本,因为她非常稳定,而且升级方便,易于使用。这是千千万不计酬劳的程序员的杰作,所以,如果碰到了困难,请不要责骂她,过错一定在你。
Debian的稳定发行版为Woody。她采用的核心是2.4.18,尽管过时不少,但是只有发行版才有光盘镜像下载。如果你有很新的硬件,而且又想使用一些诸如PCI和USB热插拔这些功能,那么这个核心有点老了,没有关系,我们可以从这里开始,自己构建一个核心为2.6的系统。
最快的下载地址为(900K):http://mirrors.geekbone.org/debian-cd/debian-30r2-i386-binary-1.iso。
如果这个不行,也可以到http://www.debian.org/CD/http-ftp/这里去找其他下载链接,只要下载第一个iso文件即可。
然后,把她刻成光盘。然后就可义象安装windown2000一样安装她了。
安装之前,先请在windowns2000下把原来你的一个硬盘分区删除,记住它的空间大小,并记住你的网卡类型。然后你就可以把她安装在你腾出来的那个分区下面了。非常详细的过程可以见这个网页:http://www.huihoo.com/gnu_linux/debian/tutorial/Debian-Install-Guide-4.html
在上面这个主页中,“4.15 选择安装来源及开始安装 Debian 基本系统”这一节要注意,如果你没有网络,那么你就选择cdrom,如果你有宽带上网(IP地址、网关、DNS设置和你在windows下面一样),那么选择edit sources list by hand,并输入deb http://mirror.geekbone.org/debian woody mian contrib non-free,然后ctrl-o保存,ctrl-x退出。接下来的附图64上选cancel,附图65、66就不用选了,附图68选no,附图69选simple。
如果你没有网络,那么就选择运行tasksel,选上x-window-system、桌面环境、c-dev开发包,和简体中文环境。就算完成了一个woody安装了。
如果有网络,那么你就干脆不要吧tasksel Cancel掉,利用这个干净的基本系统(80M左右吧),来直接升级。

升级前,修改/etc/apt/souces.list的内容如下:
deb http://mirror.geekbone.org/debian sarge main contrib non-free
运行apt-get update后,运行apt-get upgrade升级。
这个升级只升级你机器上已经安装的软件包,所以还很有些事情要做。
首先当然是升级核心到2.6.7-1-686。运行命令:apt-get install kernel-image-2.6.7-1-686。
这样,你的/boot/目录下面就有了vmlinuz-2.6.7-1-686和initrd-2.6.7-1-686两个文件,编辑/etc/lilo.conf文件,增加这个起动选项,运行lilo做配置变更。重启机器进入新的核心系统环境。

然后就是配置你的机器了。显卡、声卡、网卡、usb什么的。在2.4的核心下,都依靠/etc/modules文件进行配置,可以下载modconf(apt-get install modconf)来修改这个文件,但是对于新手而言这无疑是非常头疼的,所以我建议大家使用discover1(老版本是discover,对硬件支持能力差些。)这个软件包来管理自己的硬件,如果discover1无法识别你的某个硬件,那么再使用modconf手动加载。
安装discover:apt-get install discover1
然后运行lsmod命令,你会发现有很多硬件模块自动加载了。当然,你可能还需要USB设备或者PCMCIA插入时自动加载相应的模块,那么,你需要安装hotplug软件包和udev软件包(升级到2.6的好处之一):apt-get install hotplug udev,其实udev时依赖于hotplug的,如果安装udev,hotplug便依据依赖性自动安装了(这是Debian Linux最大的好处,Redhat在这方面常常会让人在寻找包的依赖关系时发疯的)。
显然,你的机器到这里已经完全配置好了。现在,就是添加图形界面了。这个也非常简单,apt-get install x-window-system便可以装上xfree86系统,过程中会提醒你配置xfree86,在选显卡时你可以选择vesa,这时通用显卡驱动,其他的一切都敲回车,选择分辨率时依照喜好就可以了。(如果配置完了,startx命令出错,多半是鼠标配置有问题,用lsmod确认psmouse、mousedev和usbhid(usb鼠标)模块在了,如果不在就modprobe psmouse mousedev usbhid。)
再接着装gnome图形界面(我觉得gnome比kde简洁漂亮些):apt-get install gnome。
装gnome,我的原则是,碰到问题就回车。
顺利的话,接下来就是gdm,因为没有gdm,你每次都要手动起动图形界面,或者进入xdm系统,命令是:apt-get install gdm。
配置的gdm的时候,选择gdm为默认界面。
好了,基本上什么都有了,就是缺乏中文支持了,安装吧:apt-get install locales。
安装locales的过程中,要求你配置那些地区环境支持,我的原则是,凡是en开头的和zh开头的,都选上。然后系统自动给你生成本地话locales文件。
完了,就是中文字库了,非常简单:apt-get  install xfonts-intl-chinese即可。
当然,这些个字形不好看,如果要truetype字体呢,去论坛上找吧。
有了字体,那么就可以重启机器进入x-window系统了。在登录的时候,不要忘记把在登录窗口左上的language一栏里选上中文简体utf-8。
然后就是安装fcitx中文输入法了(这个输入法与拼音加加很相似,非常好用,当然也有五笔字型。):apt-get install fcitx。然后在终端里运行一次fcitx就可以用中文输入了。


一切都搞定了。但是这个系统离应用还比较远,下面是可以安装的软件和及其命令:
openoffice(与M¥office相似的办公软件套件,):
apt-get install openoffice.org openoffice.org-debian-files openoffice.org-l10n-zh-cn openoffice.org-help-zh-cn
图形处理软件:(与photoshop功能几乎相同)
apt-get install gimp
MSN、Yahoo即时信息发送软件(由于腾迅无聊,取消了支持):
apt-get install gaim
gthumb看图软件(不差于acdsee):
apt-get install  gthumb
gtkam数码相机软件(支持很多相机,无须另加驱动。我的老佳能A60是支持的) :
apt-get install  gtkam
DVD播放器xine(可以看很多格式东西,界面类似windvd):
apt-get install  xine-ui。
RealoneGold软件要去Real.com下载。
听mp3的软件bmp和xmms:
apt-get install  beep-media-player xmms
很不错的超级Mario游戏supertux:
apt-get install  supertux
quake2的试玩版:
apt-get install  guake2
很好玩的打tank游戏:
apt-get install  atanks

不错的网络电话工具skype:要去主页上下载。

等等,而且,系统自带的新立得软件管理工具,可以让你下载成千上万个免费软件,无论你是那个行业的,总有一款让你心动。

至于我,有上面这些外加minicom和planner,就非常够用了。

不过,重新编译核心以适应自己的需求也非常有用,例如我就把网卡、声卡、usb host、显卡都编译进了核心,并除掉了许多一辈子也永不到的东西,然后,打上了系统休眠的补丁,我的笔记本就不用每次都常规起动了,还装上了acpid、cpufreq和powernowd,于是我的笔记本在工作不忙的时候以66%的cpu额定运行频率运转,好省点电池。然后就是配置openGL,偶尔打一打quake了,可惜的是,我的笔记本是radeon M6的显卡,如果玩OpenGL的游戏,休眠就会有问题,所以之好忍痛割爱,不去加载DRI了。而且我的HSF猫,也不支持休眠,所以要修改休眠脚本,休眠之前先卸载猫模块。

这里说起来轻巧,但是也花了我不少时间,这里就不写了,等些时间把编译内核碰到的问题(oss和alsa声卡配置也包括在内)慢慢回忆一下写下来。

最后,顺便介绍一下,USB转串口线插上以后,使用设备为/dev/ttyUSB0 ;U盘插上以后,使用设备是/dev/sda1;USB光驱插入以后,用的设备是/dev/sr0;在linux下面,驱动程序已经失去了存在的意义。此外,把lilo换成grub也很好,lilo太慢,而且不支持口令,启动非常不自由,我老早就换了。等等等等。

至此,我的笔记本逃离windows苦海。当然,如果谁觉得这个搞法太累,也可以去下载现成的版本,实现的内容,与我的差不多。
发表于 2004-9-22 17:55:11 | 显示全部楼层
不错的贴,顶了
 楼主| 发表于 2004-9-23 09:31:33 | 显示全部楼层

内核编译手记

debian的内核编译是比较轻松的,版本控制也很方便。
首先,需要下载fakeroot和kernal-package包,当然,开发包不可少。
然后进入源代码目录,make conifg。当然,我喜欢用make xconfig,这需要安装libqt3-dev包:apt-get install libqt3-dev即可。
make xconfig里边非常多的 选项,搞不好就会导致机器启动不了。由于我是笔记本,显卡、网卡、声卡什么的,总不会换,所以我只选择适合我的东西,只得注意的是,为了支持休眠,要把ata支持编译进核心而不能是模块;而且,尽管本本不可能有scsi控制器,但是USB硬盘、USB CD、U盘都是模拟scsi的,所以需要scsi支持;network呢,我选上自己的网卡e100就好了,另外去掉IPV6和许多什么IPX、Appletalk一辈子用不到的东西的支持可能会让系统工作高效一些;characher device一项中,选自己的agp芯片组和显卡类型就可以了 ;对新手比较困惑的是graphic选项,这个几乎没有用,因为你也许永远不会想去在控制台用中文,一般而言,我把vesafb编译进核心,如果把自己的显卡编译进核心,无非就是可以让控制台在高于1024
×768的分辨率下工作,看的东西多一点;声卡呢,选上alsa就行了,oss已经废弃了,但是好多程序都还是使用oss的/dev/dsp设备,如果不选oss,你需要在/etc/modules里边手动添加snd_pcm_oss,这样就和oss兼容了,但是quake2对ALSA支持不好;USB是个好东西,你几乎不要动它的编译选项,不过我把uchi-hcd编进了核心,因为我是intel芯片组,要指出的是,USB鼠标只需加入usbhid模块即可;文件系统呢,为了不用initrd(4M大的空间),我把ext2文件系统编译进核心,去掉了compressed ROM fs support,然后是光盘文件(DVD使用UDF)系统,DOS文件系统(vfat、ntfs之类),pseudo文件系统不要去动它,其他出了smbfs,我一概不要;其他什么MTD、AR、Ftape、old-cdrom等等一堆东西,就不要选了。
上面提到休眠支持,这个需要给核心打swsusp2补丁的,下载地址在http://softwaresuspend.berlios.de/, 尽管核心自己带有休眠支持(stock-suspend),但是工作情况不好,没有swsusp2好用,所以还是需要打这个补丁。在编译的时候要注意,自带的休眠选项不能选,apm不要,swsusp2选前面三个就好了,LZF是压缩内核镜像用的,可以减少休眠写盘内容,加快写盘速度。
好了,可以编译核心了:
fakeroot make-kpkg --append_to_version -1-686 kernel-image
一个命令把make mrprper bzImage modules modules-install全部搞定,如果想使用initrd,并且在内核里边选上了Compressed ROM file system support,那么可以这么做:
fakeroot make-kpkg --append_to_version -1-686 --initrd  kernel-image
会有警告性提示,选no即可。--append_to_version -1-686是把附加版本定位-1-686。
编译完成之后,回到/usr/src下面,就可以dpkg -i kernel-image××××.deb 了。
要注意的是,这种安装方法,如果在你有这个文件 : /etc/kernel-img.conf
# Do not create symbolic links in /
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
postinst_hook = /sbin/update-grub
postrm_hook   = /sbin/update-grub
那么你dpkg -i kernel-image××××.deb之后,grub会自动生成启动选项。非常方便。我把lilo改成grub,这也是一个原因。
 楼主| 发表于 2004-9-23 09:46:38 | 显示全部楼层

ALSA的设置

论坛里边ALSA的设置一大堆,但是Debian的ALSA设置非常简单。
首先,要确认你的核心支持alsa,用lsmod看,必须要有snd_intel8x0,snd_ac97_codec,snd_mpu401_uart,snd_rawmidi,snd_seq_device,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss这一堆模块,(注意,我笔记本是的是AC97
声卡,所以是snd_intel8x0,snd_ac97_codec硬件模块,而snd_pcm_oss是我为了兼容OSS手动而不是靠hotplug方式自动加载的),如果没有,那么你要按我上边写的那样去编译ALSA支持和ALSA模块。

下载alsa-utils,它会顺带下载alsa-base:
apt-get install alsa-utils
然后用alsaconf命令来自动配置,如果你的声卡模块对头,它会自动检测到的。并且会在/etc/init.d/下面添加一个启动脚本alsa。
这样你绝对可以mpg123来听mp3了,当然,还需要gnome下的gstreamer支持alsa,下载这个插件软件包gstreamer0.8-alsa:
apt-get install gstreamer0.8-alsa
然后,你就可以在gstreamer-properties程序里边选择ALSA进行发声测试了。
 楼主| 发表于 2004-9-23 10:32:49 | 显示全部楼层

多音频流支持

如果是gnome,后台运行esd,然后在Gaim,xine、beep-media-play里边音频输出选esd插件即可。大多数软件都支持esd的。但是许多游戏不行。如果是kde,就是arts。
 楼主| 发表于 2004-9-23 11:07:20 | 显示全部楼层

conexant HSF软猫配置

http://www.linuxant.com 下载hsf源代码,解压候进入目录,make install 进行编译,然后执行hsfconf文件,他将加载模块并自动生成/dev/modem ->/dev/ttyHSF0的链接。
注意必须要有 /lib/modules/2.6.8-2-686/build链接指向内核源代码。否则编译将出错。(2.6.8-2-686为自定义内核版本)。但是这些模块对休眠有影响,我一般是在休眠之前卸载这些模块。
 楼主| 发表于 2004-9-23 11:41:52 | 显示全部楼层

openGL(DRI)的配置

核心2.6是默认有ati、voodoo3、g400的DRI支持的,所以,如果你的芯片不是很新,那么你可以不需要去下载显卡内核的补丁,nvidia的新显卡是有这样的补丁的,官方主页上有下载。这是linux的无奈,你总要等一段时间,流行的显卡才会出linux驱动,这些厂商显然是优先考虑windows系统用户的。

在/etc/apt/sources.list添加这个源:

deb http://dri.freedesktop.org/~daenzer/debian/dri-trunk-sid/ ./
update之后,安装这两个debian包:
xserver-xfree86-dri-trunk 和 xlibmesa-gl1-dri-trunk或者xlibmesa3-dri-trunk

即可。
我的ati radeon M6支持DRI非常顺畅。基本不许要做任何内核改动,就可以很好地玩quake2。

但是配置xfree86的时候一定要注意,一定要加载glx和dri模块,而且,色彩的位数不能超出显卡的能力,例如我的M6就只能支持1024×768 16位颜色。

你可以到/var/log/XF86config.0.log里边去看模块加载情况,如果看到这个行:(II) RADEON(0): Direct rendering enabled,那么恭喜你,openGL工作正常。
用glxinfo来看,必定可以看到你的显卡内存版本之类的东西。

还有一定注意的是,如果你用了hotplug这样的模块自动加载工具(非常有用,有时侯你插入一个东西,但是你不知道它的模块名,无法手动加载hotplug会自动帮你搞定,这个很强滴,如果和dbus-1及gnome-volume-manager配合使用,甚至可以象win2000那样帮你自动mount文件系统。),那么你的agp是会被自动加载,而显卡不会,所以你可能会手动加载之,问题就是,/etc/modules规定的模块加载在前,hotplug自动加载的模块在后,那么显卡加载在AGP模块之前,必然导致DRI模块不能被X11正确加载。所以你还是需要在/etc/modules里边确定他们的加载顺序。
发表于 2004-9-24 00:09:16 | 显示全部楼层
老兄,实在佩服。建议加精。
发表于 2004-9-24 11:34:34 | 显示全部楼层
刚要装debian,及时雨啊
发表于 2004-9-24 11:58:10 | 显示全部楼层
强帖,受教了 !
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表