Chinaunix首页 | 论坛 | 博客
  • 博客访问: 676640
  • 博文数量: 156
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1201
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-05 20:08
文章分类

全部博文(156)

文章存档

2010年(13)

2008年(39)

2007年(104)

我的朋友

分类: LINUX

2007-07-07 00:26:58

一个使用IBM ThinkPad X31装Debian Etch的介绍,不错!

1  我的X31

这是我在自己的IBM ThinkPad X31笔记本上使用Debian Etch的一些使用经验。

硬件环境为:

  • 型号: 2672-AJ3

  • CPU: Pentium M 1.3G

  • 内存: 512M

  • 显示: ATI Radeon 16M

  • 硬盘: 40G

  • 100M网卡,没有无线和蓝牙

以下是lspci命令结果:

00:00.0 Host bridge: Intel Corporation 82855PM Processor to I/O Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 82855PM Processor to AGP Controller (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY
02:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev aa)
02:00.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev aa)
02:00.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 02)
02:08.0 Ethernet controller: Intel Corporation 82801DB PRO/100 VE (MOB) Ethernet Controller (rev 81)

        

2  安装Debian Etch

2.1  硬盘布局

40G硬盘,10G用于预先安装WindowXP,然后在硬盘安装Debian Etch。 30G用于Linux,分区如下:

  • / 8G

  • /home 14G

  • /var 5G

  • /tmp 512M

  • swap 1G (一般为内存容量的2倍)

注意:在Sarge3.0时用Debian安装盘自带的分区曾出现导致分区表错误,故一直都在 Window下用PQMagic先给Linux分好区。Etch4.0好像已经没有这个问题。慎!

2.2  安装介质

由于X31无自带光驱,故一般采用硬盘安装或USB安装。我的X31预先安装了WindowXP,采用硬盘安装的方法。

  1. 下载debian-40r0-i386-netinst.iso

     
    

    这里只须下载netinst版本,我从最小基本系统开始,定置自己的Debian。

  2. 硬盘安装需要下载相应版本的启动文件initrd.gz vmlinuz

    dists/etch/main/installer-i386/current/images/hd-media/ 
    

    bootgrub,放在WindowXP的一个盘下(我只有一个C盘),这里放置的盘的格式只能为fat32格式,否则bootgrub认不到该盘,无法启动。bootgrub解压必须放在C盘根目录下。另外的initrd.gz vmlinuz可以放在任何一个盘,这里我将initrd.gz vmlinuz netinst.iso都放在C盘根目录下。

  3. 编辑C:
    boot.ini,在末尾添加

    C:\bootgrub=``启动GRUB''
    

    重启。

  4. 进入GRUB界面:

    >root(hd0,0)	这是hd0代表第一个硬盘,后面的0代表第一个主分区,
    	即如果只有一个主分区C , (hd0,0) C (hd0,4) D
    >kernel (hd0,0)/vmlinuz
    >initrd (hd0,0)/initrd.gz
    >boot
    

    Etch在安装过程中会自己寻找ISO文件,所以安装过程中不再需要像Sarge那样手动mount光盘,很方便。

  5. 接下去就是按照一些步骤安装基本系统。选语言的时候选择English,键盘布局为Japanese(我的X31是日文键盘,设成日文可以很好的使用日文键盘,在WindowXP下我设成日文键盘,可打字的时候仍然对不上号= =!!)

2.3  软件安装

2.3.1  拨号软件

  1. 安装pppoeconf

    无法上网就无法自定义我们的系统。首先安装拨号软件,如果是固定IP直接上网那就方便多了。其实很多人说Etch没有安装pppoeconf不方便,pppoeconf在netinst.iso内,我们要做的只是手动安装一下。

    1. 成为root用户(现在还没有安装sudo)

    2. vi /etc/apt/source.list

    3. 添加file:///mnt/cdrom/ etch contrib main

    4. apt-get update; apt-get install sudo pppoeconf

  2. 配置sudo,以后省的老是要切换成root

    1. su root(现在还是要成为root)

    2. visudo

    3. 添加 yourname ALL=(ALL) ALL

  3. 配置pppoeconf

    1. sudo pppoeconf (终于可以不用su到root用户了),按照提示进行设置。

    2. 添加用户至dip组(否则只有root能拨号): sudo vi /etc/groups 在dip一行最后加上你的用户组

    3. 拨号用 pon dsl-provider; 断开用poff dsl-provider; 查看日志用sudo plog(因为/var/log/syslog没有普通用户读权限)

2.3.2  添加apt源

File: /etc/apt/sources.list

#deb file:///mnt/cdrom/ etch contrib main
deb  etch contrib main non-free

2.3.3  常用工具

最小基本系统中没有安装的,但平时使用Linux经常要使用到的一些工具,我把它单独从应用软件中抽出来,其实它们也是应用软件。列举如下:

  • 压缩工具 zip, unzip, rar, unrar, bzip2

  • 系统服务配置工具 rcconf

  • Debian菜单管理 menu (命令update-menus更新Debian菜单,/etc/X11/fvwm/menudefs.hook)

  • less 比more更好的多页显示

2.3.4  开发环境

需要apt-get install以下包:

  • gcc

  • g++

  • make

  • gdb

  • m4

  • pkg-config

  • binutils

2.3.5  X环境

需要apt-get install如下包:

  1. X环境:xserver-xorg-core xserver-input-kbd xserver-input-mouse xserver-video-ati

  2. 字体:ttf-bitstream-* ttf-arphic-* xfonts-100dpi xfonts-75dpi xfonts-base xfonts-wqy msttcorefonts(微软字体)

  3. 窗口管理器:fvwm(一切由我配置X)

2.3.6  应用软件

以下列举一些我自己要用到的软件,用apt-get install 就可以安装相应的包。

  1. 编辑器:vim vim-gtk vim-latexsuite(集成LaTex,十分方便)

  2. 下载工具:lftp(强大的FTP下载工具), wget, amule(eMule软件,为了去veryCD下载古典CD)

  3. 网络聊天:gaim(已经集成QQ,说实在的,现在也不怎么用这东西了)

  4. 浏览器:iceweasel(Firefox在debian中的版本,与Firefox有什么区别?具体原因去网上查吧) lynx(基于文本的浏览器,mutt中要使用)

  5. 文件浏览器:rox-filer(自己感觉这东西小又好用)

  6. 文件查看器:xpdf xdvi

  7. 版本管理:subversion(开发用,现在也没怎么用起来)

  8. 中文输入:fcitx(著名的小企鹅输入法,比SCIM好用)

  9. 邮件收发:mutt (具体后面会详述)

  10. 时间显示:wmclock(在FVWM下显示真好看)

  11. 图片查看:gqview

  12. 系统信息:conky(相比图片信息,我更喜欢它)

  13. 屏保:xscreensaver

  14. 图像处理:gimp(与photoshop媲美) imagemagick(有许多好用的命令)

  15. 桌面:xloadimage(FVWM要用xloadimage来设置桌面)

其它一些软件或开发包,需要自己编译安装。

  1. Mplayer:APT源中有Mplayer安装包,但我喜欢自己编译安装它。

    1. 安装之前需要下载一些开发库,用apt-get install可以方便的安装:libx11-dev libgtk2.0-dev libpng3-dev

    2. 下载Mplayer源码包,Codec和Skin

      
      

    3. codec解压至/usr/local/lib/codecs下

    4. 解压MPlayer-1.0rc1.tar.bz2;配置./configure –enable-gui;make;make install

  2. OpenCV+FFMpeg:同样的,不使用APT源安装OpenCV。为了处理视频,需要FFMpeg开发包的支持,但似乎APT源中的libavcodec-dev不起作用。

    1. 下载FFMpeg

      svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
      

      OpenCV

      
      

    2. 安装FFMpeg:./configure –enable-shared;make;make install

    3. 安装OpenCV:./configure –enable-shared –with-ffmpeg –without-quicktime –disable-apps; make; make install

    4. 可能出现编译错误,需要修改otherlibs/highgui/cvcap_ffmpeg.cpp

      #include ``_highgui.h''
      + #define _ _STDC_CONSTANT_MACROS
      extern ``C''{
      #include 
      + #include 
      + #include 
      + #include 
      }
      

    5. 库更新(如果不做这步,可能opencv编译成功,运行找不到库)

      1. vi /etc/ld.so.conf

      2. 添加/usr/local/lib

      3. sudo ldconfig

  3. Latex+CJK:

    1. 安装下列包(apt-get install):

      • tetex-bin

      • tetex-base

      • tetex-extra

      • cjk-latex

      • dvipdfmx

      • latex-beamer

    2. 中文字体安装:

      • 用户主目录下建立texmf目录(latex会自动寻找该目录)

      • 下载gbkfonts,从XP下拷贝simsun.ttc simhei.ttf simfang.ttf simkai.ttf 到某个目录下。cp simsun.ttc simsun.ttf(似乎有人说这样问题宋体会有问题,但我这样安装后,并没什么问题,最好是去WIN98下寻找simsun.ttf)

      • cd /~texmf: gbkfonts simsun.ttf song; gbkfonts simhei.ttf hei; gbkfonts simfang.ttf fs; gbkfonts simkai.ttf kai;

      • sudo mktexlsr(刷新LaTex数据库,以后安装宏都用该命令刷新)

      • 以上完成后可能latex test.tex;dvipdfm test成功,但使用pdflatex test.tex可能失败。我的解决方法:/etc/texmf/updmap.d/10tetex-base.cfg末尾添加cjk.map; update-updmap; updmap-sys

  4. 音频相关

    1. APE解码(网页supermmx.org/linux/mac),sourceforge.net找不到这个项目,从下面的网址找到了下载

      
      

    2. configure后说没找到NASM,需要apt-get 安装nasm

    3. make; make install

2.4  声卡

需要内核支持ALSA模块

  1. apt-get install alsa-utils alsa-base

  2. suod alsaconf 选择相应的声卡

  3. alsamixer 调节音量

2.5  打印安装配置

以连接Windows共享打印机为例;

  1. 首先需要安装CUPS打印支持:apt-get install samba-client cupsys cupsys-bsd(命令行打印命令) pdfjam(pdf一版多面打印)

  2. 安装完cupsys后会启动cupsd后台服务,打开进入CUPS打印管理界面,在Administrator页面中可以Add Printer,来源选择Windows Printer via Samba。

2.6  摄像头安装

参考网页:

首先需要自己编译内核(具体见内核篇),添加Video for Linux模块支持。下载gspca最新源代码包,make; make install

工具:spcaview         

3  系统配置

3.1  区域与编码

  1. 安装locales包

  2. sudo dpkg-reconfigure locales

  3. 选中en_US.UTF-8 en_US.ISO8596 zh_CN.GBK zh_CN.GB2312 zh_CN.UTF-8

  4. Default 选en_US

在用户主目录下的.bashrc中添加以下设置

export LANG=en_US
export LANGUAGE=en_US
export LC_ALL=zh_CN.GBK

3.2  X配置

直接编辑xorg.conf是最简单的配置X方法,以下是我的xorg.conf,位于/etc/X11/xorg.conf

3.3  窗口管理器FVWM

配置文件.fvwm/.fvwm2rc

配置文件.conkyrc

我的桌面如下图所示:

[main-Z-G-1.gif]
Figure 1:  我的Fvwm桌面

3.4  应用软件

  1. 输入法fcitx:输要在X启动脚本.xinitrc中输入以下内容

    export XMODIFIERS=@im=fcitx
    fcitx
    

  2. 编辑器VIM:.vimrc,说实在的,有些设置我也不清楚什么意思,不过感觉效果不错,从网上参考的结果。

    set nocp incsearch
    set cinoptions=:0,p0,t0
    set cinwords=if,else,while,do,for,switch,case	
    set formatoptions=tcqr
    set cindent
    set nu		%行号显示
    syntax on	%语法高亮
    

    .gvimrc

    set gfn=Bitstream\ Vera\ Sans\ Mono\ 12	%字体
    set wildmenu	%菜单显示
    colorscheme darkblue	%颜色主题
    

  3. mplayer:用gmplayer -vf-add expand=0:-120:0:60 -zoom 启动gmplayer。拷贝simsun.ttf至.mplayer目录下,启动gmplayer可以图形化设置。

  4. lftp:.lftp/rc

    debug 3		%信息显示
    set net:reconnect-interval-base 11 %三行是重试设置
    set net:reconnect-interval-max 11
    set net:reconnect-interval-multiplier 1
    

3.5  邮件管理

配置fetchmail收取gmail

参考网页:

  1. apt-get install fetchmail procmail mutt esmtp openssl

  2. 取得gmail的cert文件:

    sh# cd .certs/ 
    sh# wget -O Equifax_Secure_Certificate_Authority.pem \
     Equifax_Secure_Certificate_Authority.cer 
    sh# chmod 644 Equifax_Secure_Certificate_Authority.pem 
    sh# openssl x509 -in Equifax_Secure_Certificate_Authority.pem -fingerprint -subject -issuer -serial -hash -noout 
    MD5 Fingerprint=67:CB:9D:C0:13:24:8A:82:9B:B2:17:1E:D1:1B:EC:D4 
    subject= /C=US/O=Equifax/OU=Equifax Secure Certificate Authority 
    issuer= /C=US/O=Equifax/OU=Equifax Secure Certificate Authority 
    serial=35DEF4CF 
    594f1775 
    sh# c_rehash . 
    sh# file 594f1775.* 
    594f1775.0: symbolic link to `Equifax_Secure_Certificate_Authority.pem' 
    

  3. 编辑 /.fechmailrc

    # begin of ~/.fetchmailrc
    defaults
    mda "/usr/bin/esmtp -f %F %T"
    poll pop.gmail.com with proto POP3
    	
    user 'xxxx@gmail.com' there with password 'xxxxxxxx' is SunLi here
    options keep ssl sslfingerprint '59:51:61:89:CD:DD:B2:35:94:BB:44:97:A0:39:D5:B4'
    sslcertck sslcertpath /home/xxx/.certs
    
    # end of ~/.fetchmailrc
    

    运行 $ chmod 0600 .fetchmailrc

  4. 获取CA 认证

    mkdir ~/.authenticate
    chmod 0700 ~/.authenticate
    sudo apt-get install ca-certificates
    cp -a /etc/ssl/certs/ ~/.authenticate/ca
    chmod -R go-rwx ~/.authenticate/ca
    

  5. 编辑 /.esmtprc

    # begin of ~./esmtprc
    hostname = smtp.gmail.com
    username = "XXX@gmail.com"
    password = "XXXXXX"
    starttls = required
    mda = "/usr/bin/procmail -d %T"
    # end of ~/.esmtprc
    

    运行 $ chmod 0710 .esmtprc

  6. 编辑 /.muttrc

    # begin of ~/.muttrc
    set envelope_from
    set sendmail="/usr/bin/esmtp -v -X ~/.esmtplog"
    my_hdr From: "XXX@gmail.com"
    my_hdr Reply-To: "XXX@gmail.com"
    set sendmail_wait=0
    # end of ~/.muttrc
    

  7. 用fetchmail收信运行: $ fetchmail -avk

  8. 用mutt测试发信. 运行: $ mutt 按"m"写信, 按"y"寄信

        

4  内核编译

参考网页

  • How To Compile A Kernel-Debian Etch ()

  • GNU/Linux on an IBM ThinkPad X31 ()

  • The Xdeb31 Project ()

具体我按如下步骤编辑自己的内核:

  1. apt-get install linux-source-2.6.20 kernerl-package libncurses5-dev build-essential

  2. 从GNU/Linux on an IBM ThinkPad X31下载dotconfig-2.6.17

  3. cd /usr/src; tar -xjvf linux-source-2.6.20.tar.bz2

  4. ln -s linux-source-2.6.20 linux

  5. cd linux; cp dotconfig-2.6.17 .config

  6. make menuconfig

  7. 在配置界面中首先Load an Alternate Configuration File->.config,然后根据自己需要配置内核

  8. sudo make-kpkg clean

  9. sudo make-kpkg –initrd –append-to-version=-custom kernel_image

  10. 耐心的等上一段时间后,在/usr/src下会生成linux-image-2.6.20-10.00.Custom=i386.deb文件

  11. sudo dpkg -i linux-image-2.6.20-10.00.Custom=i386.deb

  12. 一切正常后就可以使用新的内核启动X31了

我在dotconfig-2.6.17上的修改

  1. PPPoE支持 Device Drivers->Netword device support->PPP over Ethernet(Y)

  2. 摄像头 Device Drivers->Multimedia devices->Video for Linux(M)

  3. 外接USB光驱 Device Drivers->SCSI device support->SCSI CDROM support(M)

  4. 去掉IPv6和无线

        

5  软件使用心得

5.1  latex2html

使用latex2html转换tex文件时,数学公式可能出现黑边,对生成的目录使用下面的脚本,可以清除黑边。

#Get the directory path
if [ -z "$1" ]; then
	echo "Usage: $0 "
	exit
fi

#Fix each PNG images
for file in $1/*.png
do
	echo Fix $file ...
	pngtopnm $file | \
	pnmcrop -black | \
	pnmtopng -transparent "#B3B3B3" > img_fixed.png
	mv -f img_fixed.png $file
done

5.2  tex2page

我的环境设置为 LANG=en_US LANGUAGE=en_US LC_ALL=zh_CN.GBk

使用tex2page转换tex文件为html时,无法正确转换中文。使用iconv命令将所有tex文件转换为utf-8编码,再将chinese.t2p中的代码相应改成utf-8,就可显示正确中文。

5.3  CD刻录

  1. 根据CUE分割APE或FLAC等无损压缩文件:安装cuetools shntool mac flac

    		cuebreakpoints *.cue | shnsplit *.ape
    		

  2. 刻录音乐CD:

    		cdrecord -v speed=8 dev=/dev/cdrom -pad -dao -audio *.wav
    		

  3. 刻录普通CD:首先制作ISO:

    		mkisofs -r -o cd.iso -m temp toburn/
    		

    刻录命令:

    		cdrecord -v speed=8 dev=/dev/cdrom cd.iso
    		

  4. 音乐CD抓轨:

    		cdparanoia -B ``1-'' -d /dev/cdrom
    		

  5. 复制CD:

    		dd if=/dev/cdrom of=cd.iso
    		

  6. 转换bin/cue为iso文件:

    		bchunk a.bin a.cue a.iso
    		

5.4  添加GoogleLinux主流软件包源

参考:

  1. wget -q -O -  | apt-key add -
    apt-get update
    		

  2. # Google software repository
    deb  stable non-free
    		

        

Last modified: Thursday, July 5th, 2007 6:40:00pm
阅读(4259) | 评论(0) | 转发(0) |
0

上一篇:编程修养(转)

下一篇:avl树演示--形象

给主人留下些什么吧!~~