分类: LINUX
2007-07-07 00:26:58
这是我在自己的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)
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好像已经没有这个问题。慎!
由于X31无自带光驱,故一般采用硬盘安装或USB安装。我的X31预先安装了WindowXP,采用硬盘安装的方法。
下载debian-40r0-i386-netinst.iso
这里只须下载netinst版本,我从最小基本系统开始,定置自己的Debian。
硬盘安装需要下载相应版本的启动文件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盘根目录下。
编辑C:
boot.ini,在末尾添加
C:\bootgrub=``启动GRUB''
重启。
进入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光盘,很方便。
接下去就是按照一些步骤安装基本系统。选语言的时候选择English,键盘布局为Japanese(我的X31是日文键盘,设成日文可以很好的使用日文键盘,在WindowXP下我设成日文键盘,可打字的时候仍然对不上号= =!!)
安装pppoeconf
无法上网就无法自定义我们的系统。首先安装拨号软件,如果是固定IP直接上网那就方便多了。其实很多人说Etch没有安装pppoeconf不方便,pppoeconf在netinst.iso内,我们要做的只是手动安装一下。
成为root用户(现在还没有安装sudo)
vi /etc/apt/source.list
添加file:///mnt/cdrom/ etch contrib main
apt-get update; apt-get install sudo pppoeconf
配置sudo,以后省的老是要切换成root
su root(现在还是要成为root)
visudo
添加 yourname ALL=(ALL) ALL
配置pppoeconf
sudo pppoeconf (终于可以不用su到root用户了),按照提示进行设置。
添加用户至dip组(否则只有root能拨号): sudo vi /etc/groups 在dip一行最后加上你的用户组
拨号用 pon dsl-provider; 断开用poff dsl-provider; 查看日志用sudo plog(因为/var/log/syslog没有普通用户读权限)
File: /etc/apt/sources.list
#deb file:///mnt/cdrom/ etch contrib main deb etch contrib main non-free
最小基本系统中没有安装的,但平时使用Linux经常要使用到的一些工具,我把它单独从应用软件中抽出来,其实它们也是应用软件。列举如下:
压缩工具 zip, unzip, rar, unrar, bzip2
系统服务配置工具 rcconf
Debian菜单管理 menu (命令update-menus更新Debian菜单,/etc/X11/fvwm/menudefs.hook)
less 比more更好的多页显示
需要apt-get install以下包:
gcc
g++
make
gdb
m4
pkg-config
binutils
需要apt-get install如下包:
X环境:xserver-xorg-core xserver-input-kbd xserver-input-mouse xserver-video-ati
字体:ttf-bitstream-* ttf-arphic-* xfonts-100dpi xfonts-75dpi xfonts-base xfonts-wqy msttcorefonts(微软字体)
窗口管理器:fvwm(一切由我配置X)
以下列举一些我自己要用到的软件,用apt-get install 就可以安装相应的包。
编辑器:vim vim-gtk vim-latexsuite(集成LaTex,十分方便)
下载工具:lftp(强大的FTP下载工具), wget, amule(eMule软件,为了去veryCD下载古典CD)
网络聊天:gaim(已经集成QQ,说实在的,现在也不怎么用这东西了)
浏览器:iceweasel(Firefox在debian中的版本,与Firefox有什么区别?具体原因去网上查吧) lynx(基于文本的浏览器,mutt中要使用)
文件浏览器:rox-filer(自己感觉这东西小又好用)
文件查看器:xpdf xdvi
版本管理:subversion(开发用,现在也没怎么用起来)
中文输入:fcitx(著名的小企鹅输入法,比SCIM好用)
邮件收发:mutt (具体后面会详述)
时间显示:wmclock(在FVWM下显示真好看)
图片查看:gqview
系统信息:conky(相比图片信息,我更喜欢它)
屏保:xscreensaver
图像处理:gimp(与photoshop媲美) imagemagick(有许多好用的命令)
桌面:xloadimage(FVWM要用xloadimage来设置桌面)
其它一些软件或开发包,需要自己编译安装。
Mplayer:APT源中有Mplayer安装包,但我喜欢自己编译安装它。
安装之前需要下载一些开发库,用apt-get install可以方便的安装:libx11-dev libgtk2.0-dev libpng3-dev
下载Mplayer源码包,Codec和Skin
codec解压至/usr/local/lib/codecs下
解压MPlayer-1.0rc1.tar.bz2;配置./configure –enable-gui;make;make install
OpenCV+FFMpeg:同样的,不使用APT源安装OpenCV。为了处理视频,需要FFMpeg开发包的支持,但似乎APT源中的libavcodec-dev不起作用。
下载FFMpeg
svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
OpenCV
安装FFMpeg:./configure –enable-shared;make;make install
安装OpenCV:./configure –enable-shared –with-ffmpeg –without-quicktime –disable-apps; make; make install
可能出现编译错误,需要修改otherlibs/highgui/cvcap_ffmpeg.cpp
#include ``_highgui.h'' + #define _ _STDC_CONSTANT_MACROS extern ``C''{ #include+ #include + #include + #include }
库更新(如果不做这步,可能opencv编译成功,运行找不到库)
vi /etc/ld.so.conf
添加/usr/local/lib
sudo ldconfig
Latex+CJK:
安装下列包(apt-get install):
tetex-bin
tetex-base
tetex-extra
cjk-latex
dvipdfmx
latex-beamer
中文字体安装:
用户主目录下建立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
音频相关
APE解码(网页supermmx.org/linux/mac),sourceforge.net找不到这个项目,从下面的网址找到了下载
configure后说没找到NASM,需要apt-get 安装nasm
make; make install
需要内核支持ALSA模块
apt-get install alsa-utils alsa-base
suod alsaconf 选择相应的声卡
alsamixer 调节音量
以连接Windows共享打印机为例;
首先需要安装CUPS打印支持:apt-get install samba-client cupsys cupsys-bsd(命令行打印命令) pdfjam(pdf一版多面打印)
安装完cupsys后会启动cupsd后台服务,打开进入CUPS打印管理界面,在Administrator页面中可以Add Printer,来源选择Windows Printer via Samba。
参考网页:
首先需要自己编译内核(具体见内核篇),添加Video for Linux模块支持。下载gspca最新源代码包,make; make install
工具:spcaview
安装locales包
sudo dpkg-reconfigure locales
选中en_US.UTF-8 en_US.ISO8596 zh_CN.GBK zh_CN.GB2312 zh_CN.UTF-8
Default 选en_US
在用户主目录下的.bashrc中添加以下设置
export LANG=en_US export LANGUAGE=en_US export LC_ALL=zh_CN.GBK
直接编辑xorg.conf是最简单的配置X方法,以下是我的xorg.conf,位于/etc/X11/xorg.conf
配置文件.fvwm/.fvwm2rc
配置文件.conkyrc
我的桌面如下图所示:
| |
Figure 1: 我的Fvwm桌面 | |
输入法fcitx:输要在X启动脚本.xinitrc中输入以下内容
export XMODIFIERS=@im=fcitx fcitx
编辑器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 %颜色主题
mplayer:用gmplayer -vf-add expand=0:-120:0:60 -zoom 启动gmplayer。拷贝simsun.ttf至.mplayer目录下,启动gmplayer可以图形化设置。
lftp:.lftp/rc
debug 3 %信息显示 set net:reconnect-interval-base 11 %三行是重试设置 set net:reconnect-interval-max 11 set net:reconnect-interval-multiplier 1
配置fetchmail收取gmail
参考网页:
apt-get install fetchmail procmail mutt esmtp openssl
取得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'
编辑 /.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
获取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
编辑 /.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
编辑 /.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
用fetchmail收信运行: $ fetchmail -avk
用mutt测试发信. 运行: $ mutt 按"m"写信, 按"y"寄信
参考网页
How To Compile A Kernel-Debian Etch ()
GNU/Linux on an IBM ThinkPad X31 ()
The Xdeb31 Project ()
具体我按如下步骤编辑自己的内核:
apt-get install linux-source-2.6.20 kernerl-package libncurses5-dev build-essential
从GNU/Linux on an IBM ThinkPad X31下载dotconfig-2.6.17
cd /usr/src; tar -xjvf linux-source-2.6.20.tar.bz2
ln -s linux-source-2.6.20 linux
cd linux; cp dotconfig-2.6.17 .config
make menuconfig
在配置界面中首先Load an Alternate Configuration File->.config,然后根据自己需要配置内核
sudo make-kpkg clean
sudo make-kpkg –initrd –append-to-version=-custom kernel_image
耐心的等上一段时间后,在/usr/src下会生成linux-image-2.6.20-10.00.Custom=i386.deb文件
sudo dpkg -i linux-image-2.6.20-10.00.Custom=i386.deb
一切正常后就可以使用新的内核启动X31了
我在dotconfig-2.6.17上的修改
PPPoE支持 Device Drivers->Netword device support->PPP over Ethernet(Y)
摄像头 Device Drivers->Multimedia devices->Video for Linux(M)
外接USB光驱 Device Drivers->SCSI device support->SCSI CDROM support(M)
去掉IPv6和无线
使用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
我的环境设置为 LANG=en_US LANGUAGE=en_US LC_ALL=zh_CN.GBk
使用tex2page转换tex文件为html时,无法正确转换中文。使用iconv命令将所有tex文件转换为utf-8编码,再将chinese.t2p中的代码相应改成utf-8,就可显示正确中文。
根据CUE分割APE或FLAC等无损压缩文件:安装cuetools shntool mac flac
cuebreakpoints *.cue | shnsplit *.ape
刻录音乐CD:
cdrecord -v speed=8 dev=/dev/cdrom -pad -dao -audio *.wav
刻录普通CD:首先制作ISO:
mkisofs -r -o cd.iso -m temp toburn/
刻录命令:
cdrecord -v speed=8 dev=/dev/cdrom cd.iso
音乐CD抓轨:
cdparanoia -B ``1-'' -d /dev/cdrom
复制CD:
dd if=/dev/cdrom of=cd.iso
转换bin/cue为iso文件:
bchunk a.bin a.cue a.iso
参考:
wget -q -O - | apt-key add - apt-get update
# Google software repository deb stable non-free