用U盘安装CentOS5/Debian/Ubuntu

Nov 07
2009

准备
grub4dos http://download.gna.org/grub4dos/
安装光盘镜像。CentOS的话,最好下全所有镜像,5.4是6cd;Debian只要下第一张就可以了;Ubuntu/Kubuntu则只有一张。
U盘一个,MBR必须是空的——如果你不知道MBR是什么,要么假定它已经是空的,要么自己google。如果不想安装过程中发生各种难以预知的意外,最好整个U盘都是空的。
用来启动安装程序的内核和内存镜像
CentOS的在iso1的images/diskboot.img里面,分别是vmlinz和initrd.img
Debian和Ubuntu的则要去服务器找,首先要知道一些debian和ubuntu资源的ftp服务器,参考收集速度快的Debian或者Ubuntu源
然后镜像通常在类似这样的路径下面

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

squeeze这一节是版本代号,例如debian的lenny,squezz,etch,sid(unstable分支永远是sid),ubuntu的intrepid,karmic,hardy,也有可能出现current,指向当前的稳定版本。
installer-i386这一级上根据自己的平台选择,要和iso匹配,例如下的是amd64的iso那么这里也应该选amd64。最终看到hd-media这个目录,就到家了。里面有vmlinz和initrd.gz,就是它们俩了。

开工
把grub4dos解压到U盘里,然后把vmlinz和initrd还有光盘镜像都丢进去。debian和ubuntu的镜像必须放在根目录,CentOS的不用但是何必多此一举自找麻烦。
然后用这个U盘开机,通常是在开机自检的时候按f12或者esc会进入选择启动设备的菜单,在那里选择usb-hdd或者在硬盘列表里找到u盘。还不会的话自己google一下。
启动成功之后就到了grub菜单,按c进入命令行,执行

kernel /vmlinuz
initrd /initrd.gz //或者.img
boot

就会引导安装程序。之后debian/ubuntu的安装程序会自己搜索iso,而centos则需要指定iso所在的设备和路径。
之后就进入正常的轨道了。

Posted via email from Meow and Grrr of a Stray Cat

收集速度快的Debian或者Ubuntu源

Jul 03
2009

Debian

ftp://ftp.sjtu.edu.cn/debian

成都信息工程学院教育网内速度在上网高峰期约1MB/s左右,闲时可达5MB/s.

http://ftp.kr.debian.org/debian/

教育网内500KB/s左右,不太稳定

http://ftp.tw.debian.org/debian/

教育网内200-500 KB/s,比韩国的稳定

http://ftp.hk.debian.org/debian/

http://ftp.jp.debian.org/debian/

http://ftp2.jp.debian.org/debian/

还没测试过

Ubuntu

http://ubuntu.cn99.com/ubuntu/

成都电信,150KB/s到300KB/s,偶尔可达400KB/s以上

http://tw.archive.ubuntu.com/ubuntu/

成都电信稳定在300KB/s左右

其他
mirrors.shlug.org
mirrors.geekbone.org
cn.archive.ubuntu.com
这三个地址都是Ubuntu中国官方镜像,同时为ubuntu和debian提供源。在成都电信只有几十到一百KB/s左右的速度。

CN99
debian.cn99.com
ubuntu.cn99.com

这是希网网络的镜像站,同时为debian和ubuntu提供源,还有和Redhat,centos,fedora,archlinux,gentoo,eclipse等有关的好东西,非常值得去翻一下的地方。

Debian下运行VirtualBox虚拟机

Apr 17
2009

遇到了一些需求

  • 我需要一个稳定的系统来保证工作不会因为系统出问题中断
  • 我需要一个windows来运行一些无法替代的应用,比如QQ和网银
  • 不尝试各种新系统和新软件我会死的

所以决定装虚拟机。懒得找,所以用了源里就有的VirtualBox。

安装vbox和module-assistant

aptitude install virtualbox-ose module-assistant

安装virtualbox的内核驱动

m-a prepare
m-a auto-install virtualbox-ose
modprobe vboxdrv

创建虚拟机

剩下的都是图形界面里的工作了。运行virtualbox,创建一个虚拟机,运行它,给它装系统,and so on.网络设置用默认的就好。主机已经配置好网络的时候虚拟机能自动配置。

配置Debian Multimedia源

Apr 03
2009

编辑/etc/apt/source.list,取决于你的系统是etch、lenny还是squeeze在下面的代码中选择一项添加到文件里

etch
deb http://www.debian-multimedia.org etch main
lenny
deb http://www.debian-multimedia.org lenny main
squeez
deb http://www.debian-multimedia.org squeeze main

也可以用ftp,但是ftp的连接速度没有http快。

保存以后
aptitude update;aptitude install debian-multimedia-keyring
完成

全球各地的镜像列表,可以从中选择速度快的代替www.debian-multimedia.org。在大陆,台湾镜像和官方镜像速度都不错。不过台湾镜像在lenny成为稳定版之后一直还是把stable链接指向etch而testing指向lenny.

从Windows拷贝文件到Linux时文件名出现乱码的解决

Jan 16
2009

如题。问题的原因是中文版windows下文件名的默认编码是gb2312,例如旭东的机器。而我的linux是utf8,它会用utf8去解析旭东的机器上拷出来的文件名。

zz文件名编码转换 convmv这篇文章中找到了线索。

ap install convmv

再次强调我有alias ap=’aptitude’

用convmv转换文件名之后问题解决。

Debian下编译2.6.28内核

Jan 15
2009

参考文章
金步国先生的Linux 2.6.19.x 内核编译配置选项简介
深度论坛的帖子本人编译内核2.6.28手记

编译过程比较顺利,昨晚一晚上读金步国先生的文章和看make menuconfig里的帮助文档原文,今天把那1mol个选项一个一个配过去然后编译,第一次编译大约花了半小时。安装完以后更新系统的时候提示必须打开hibernate(是挂起到硬盘,和ORM没有关系^^)。于是打开hibernate又编译了一次,一切顺利。于是现在我的系统内核是linux-image-2.6.28-snow_0.1.4_amd64.deb~~vmliuz大小1.9mb,initrd.img大小4.3mb
可以心满意足去睡觉了~不过大概会高兴地睡不着吧

Debian下ALSA环境的音质问题及解决

Jan 15
2009

音乐慢慢地回来了,心情也好些了,于是重新带上了耳机。发现音质非常差!很着急,但是有更高优先级的任务,就强压着了。

跟内核折腾了一晚上。编译的时候反正要把cpu时间片让给make,就用旭东的机器翻有关alsa声卡设置的资料。旭东的机器上挂着驴子在下Peggy.Lee的全集,已经下好了三章,把我的耳机过去听,啊,这才是音乐。刚开始搜到的文章都在抱怨linux下的音质,从OSS时代一直到alsa时代,更难受了,不过坚定地相信开源的世界没有不能解决的问题!

后来翻到一篇帖子[alsa驱动声卡杂音及XMMS音质优化正确方法(与大家分享)]。上面提到了要调低PCM的音量。想起我是把PCM开满了的,因为在windows下我一直习惯把各种音量选项开满,只用主音量来控制。最后5点25开始的最近一次内核编译只用了20分钟,轻车熟路重启,更新内核,重启,更新fglrx驱动,startx,把PCM调整到一半左右,开Foobar2000,播放。

流淌出来的是蔡琴的[渡口],和windows下一样清澈的声音。

按帖子上的说法又去调整alsamixer,发现gnome的mixer里的设置和alsamixer的是同步的。至此问题解决。

Debian下通过H3C认证连接校园网

Jan 15
2009

1.安装H3C认证客户端

大二的时候就下载了的h3c802.1xClient.tar.gz,翻出来解压之。

tar -xvf h3c802.1xClient.tar.gz

  • 你的H3C认证客户端名字可能不一样,记得把上面的h3c802.1xClient.tar.gz改成相应的名字,输入头几个字符后按tab键就可以自动补全
  • 如果你还没有这个文件,通常在你们学校的ftp或者你们学校网络中心的首页可以找到,如果都没有,请google并且到你们学校的论坛投诉。

2.初始化配置

cd h3c802.1xClient
./pre.ps
./linux1x -c

接下来会问你几个问题来完成H3C客户端的配置。这些问题的答案依赖于每个学校的具体情况。

Current configuration is:

The way to initialize 802.1X authentication…….:multicast
Send all packets by multicast…………………:Y
Refresh IP address after connecting……………:Y
Save message and package to log……………….:N
Continue to configure your network connection arguments?(Y/N)

继续配置吗?继续的话输入Y然后回车

There are two ways to initialize 802.1X authentication:
1. Trap by broadcast.
2. Trap by multicast.
Please choose the way to initialize the 802.1X authentication :

选择认证方式,单播或多播?我们学校是多播,所以我选2.

Send all packets by multicast? (Y/N):

用多播方式发送所有数据包吗?我们学校选Y

Refresh your IP address after connecting? (Y/N):

认证成功后刷新IP地址吗?我们学校选Y

Save message and package to log?(Y/N):

保存消息和数据包到日志吗?除非你要调试网络或者监视数据包否则选N,如果不知道这是什么,选N。

Configuration has finished, do you want to save it?(Y/N)

配置完成了,保存吗?如果前面选错了,这是选N的话就不会保存错误的配置。

3.日常使用

./linux1x -d

如果不加-d,认证程序会占用控制台。第一次运行会要求你输入H3C认证用的帐号和密码。成功的话以后都不需要再次输入用户名和密码。

如果要修改登录用的用户名和密码,执行

/linux1x -p

4.常见问题

4.1.i386系统下找不到libstdc++.so.5

具体的出错信息我记不得了。

安装gcc-3.3-base_*_i386.deb,libstdc++5_*_i386.deb

  • 我的系统是Debian,所以我的软件包是*.deb格式的,如果你的系统是red het,fedora,centOS,或者别的什么用rpm格式的系统,它们可能是*.rpm.
  • 这时候你还不能上网,意味着你不能用apt-get或者yum之类的,我知道两种办法,一个是从安装光盘cd1上找,另一个是另找一台机器去ftp下载
  • 这两个包应该在类似这样的目录下:/pool/main/g/gcc-3.3
  • debian或者ubuntu,或者任何基于debian的发行版的cd1都应该有这两个包,如果是rpm系的发行版,请自行举一反三吧~
  • 上述发行版的ftp,或者ftp镜像站,都能找到这两个包,下面是一些例子
  • ftp://ftp.sjtu.edu.cn:21/debian/pool/main/g/gcc-3.3
  • ftp://ftp.sjtu.edu.cn:21/ubuntu/pool/main/g/gcc-3.3
  • PS:感谢上海交大FTP~这是我找到的最快的教育网源
  • *代表了具体的版本号,当你读到这篇笔记的时候,你找到的可能和我的不一样。
  • Nothing lasts forever.当你读到这篇文章的时候任何东西都可能已经改变了,多用善用搜索引擎——连Google都是会变的。

第 一次装deibna的时候,还不知道libstdc++.so.5在哪个软件包里,没有h3c也不能上网,不能上网就没有google……于是翻安装光 盘,在pool的gcc里面找到了libstdc++5_xxxx这个包,安装之,提示依赖gcc-3.3-base_xxxx,就在同一个目录里可以找 到,安装之。在i386的系统下这样就可以通过这一步了。

4.2.amd64系统下找不到libstdc++.so.5

安装lib32ncurses5_*_amd64.deb,lib32gcc1_*_amd64.deb,lib32stdc++6_*_amd64.deb

  • 它们在/pool/main/g/目录下最新的gcc-XX目录下可以找到,下面两个地址是我写这篇笔记的时候的地址,当你读到的时候很可能已经改变了
  • ftp://ftp.sjtu.edu.cn:21/debian/pool/main/g/gcc-4.3
  • ftp://ftp.sjtu.edu.cn:21/ubuntu/pool/main/g/gcc-4.3

昨 天晚上装amd64的debian,上来先提示少libncurses.so.5(大概是这个文件名吧,具体又忘了)。用另一台机器去 ftp.sjtu.edu.cn翻,下下来用u盘cp过来安装,说还是少这个文件。我想也许linux1x要的是32位的 libncurses.so.5?又去上海交大翻32位的libncurses,弄来装,说架构不对。

在网上搜到一个帖子说,虽然可以用–force-architecture来强制安装,但是这样dpkg会用32位的libncurses代替系统原来的64位的,于是导致其他依赖这个库的程序出问题。

于 是考虑把32位的libncurses.so.5这个文件单独cp出来放在h3c802.1xClient的目录下给它用,进一步地,不如把 h3c802.1xClient依赖的所有库文件都拿出来放在它的.目录下单独给它用?这是一种丑陋的、和FHS背道而驰做法,但是对 h3c802.1xClient这种丑陋的程序,这样是最方便的。

一开始想的是从deb包里把所有的lib*解出来,但是当时我还不知道 dpkg的-X选项,于是采取了很傻的途径,我装了一遍i386,装好h3c802.1xClient需要的各种库,然后把/lib,/usr/lib和 /usr/local/lib都tar -cvf到一个重装系统的时候不格式化的分区,然后再次安装amd64。然后发现刚才我打包各个lib的时候不慎指向了同一个tar文件,所以tar里只 有最后tar -cvf /usr/local/lib得到的文件,实质上是一个空的目录树!

我决定不再做为了几个lib就装一次系统这种傻事了,静下来man dpkg,学会了用dpkg -X,把libncurse5,gcc-3.3-base,libstdc++5都解包了。

结果linux1x还是说找不到libncurses.so.5,那个文件就和它在同一个目录下!

好吧,至少我学到了linux查找lib的规则和windows不一样。

继 续翻上海交大ftp,在最新版本的gcc的目录下发现了很多名为lib32*_amd64.deb或者lib64*_i386.deb的包。从名字猜测, 难道是用来做架构兼容的?于是下载安装了lib32ncurses5_xxxx_amd64.deb,再次linux1x -c,报错缺少libstdc++.so.5,也就是说它找到libncurses了!

于是下载安装lib32stdc++6_4.3.2-XX_amd64.deb,和在i386下一样,dpkg提示依赖gcc3.3,而lib32gcc只有4.3,试着装lib32gcc1_4.3.2-XX_amd64.deb,成功了。

4.3.无法运行认证程序!

再次linux1x -c,不缺文件了,它提示无法运行认证程序。

这 个出错信息没有给出任何提示,幸运的是第一次安装h3c802.1xClient的时候我没有遇到这个问题,直接认证成功了,然后某一次重启之后运行就出 现了这个问题。因为登录成功过,所以我可以排除少文件或者没有配置正确之类的可能,问题应该出在运行环境中可变的因素上。在 h3c802.1xClient目录l了以下(我的.bashrc有alias l=’ls -l –color=auto’),发现一个renew.ps,于是

./renew.ps

然后linux1x就可以运行了

我计算机网网络学的很差,所以一直不明白这个问题的本质是什么。看起来renew.ps大概是绑定了网卡,然后刷新了dhcp客户端的一些东西,大概需要整整一分钟。

后来我还发现执行到

Listening on LPF/ethX/XX:XX:XX:XX:XX:XX
Sending on LPF/ethX/XX:XX:XX:XX:XX:XX
Sending on Socket/fallback

这里的时候就按ctrl+C结束,也可以让linux1x正常运行,后面那段漫长的dhcp操作是不必要的。

5.后记

写 这篇笔记的时候,在好几个地方挣扎是要写类似”如果你的h3c802.1xCilent客户端的文件名不一样,请把 h3c802.1xClient.tar.gz替换成相应的名字,输入头几个字符后按tab键就可以自动补全”这样的”newbie- compatible guide”,还是在文章的一开头用h1标签声明一段”如果你连搜索引擎都不会用,请回到安全的windows环境下,如果你逃跑的路上要尖叫,请自 便。”

后面的选择无疑很爽,但是我的知识从哪儿来的呢?从高二在一台K6上安装红帽子用kdeveloper自学C++的时候开始,我就习 惯了像食肉类猎食一样寻找和吸取知识。的确没有一个老师站在我旁边手把手地教我,但是如果没有前人把他们的知识写下来,我找不到任何东西,如果我找到的笔 记开头都是”如果你连汇编语言都不会,请恳求你妈妈给你买个算盘,如果你哀求妈妈的时候要哭泣,请自便。”我也不会有今天。

要不要做newbie-compatibility?这不是问题。每个人都曾经是菜鸟,每个人群中的老鸟在老鸟群中间也可能是菜鸟,每个领域的老鸟在另一个领域也可能是菜鸟。软件应该是自由的,如何使用软件和如何开发软件的知识也是。

我能为自由软件做什么?写更多更好的自由软件,并且时刻提醒自己这些软件不是给自己一个人用的。同时不要吝啬时间来写newbie-compatible的笔记来分享我得到的知识。

并且记住我永远是个菜鸟

iBus安装笔记

Jan 15
2009

参考帖子

我在Debian lenny的i386和amd64的版本上都装过ibus,每一次都很曲折,把值得记录的东西写在这里。

安装编译和运行ibus需要的软件包

另两个帖子都是一个apt-get语句安装一个包,我倾向于两个语句装完所有包,以后如果要重新配置ibus,只需要检索history中的一条语句。
要说明的是,我的.bashrc配置了alias ap=’aptitude’,所以如果要复制粘贴我的shell命令,记得把ap改成apt-get或者aptitude。

ap install git git-core cvs automake
ap install python-enchant python-gtk2-dev libgtk2.0-dev libdbus-1-dev libdbus-glib-1-dev libgconf2-dev python-dbus libtool gtk-doc-tools iso-codes python-xdg libdbus-1-dev libdbus-glib-1-dev

其中gtk-doc-tools、iso-codes和python-xdg三个包在以前的资料里都没有提到要安装。libdbus-1-dev libdbus-glib-1-dev是后面编译dbus-python需要的。


准备好dbus-python

第一次安装ibus的时候我并没有做这一步,也可以运行。后来装过几次都要,可能是以前的老系统带来dbus-python

编译dubs-python:
http://dbus.freedesktop.org/releases/dbus-python/下载dbus-python 0.83源码编译,依赖libdbus-1-dev libdbus-glib-1-dev两个文件。
解压缩源代码,进入目录执行:
./configure –prefix=/usr
make
sudo make install

下载ibus

git clone git://github.com/phuang/ibus.git ibus
git clone git://github.com/phuang/ibus-pinyin.git ibus-pinyin

编译安装

cd ibus
./autogen.sh –prefix=/usr –with-gtk-im-module-dir=/usr/lib/gtk-2.0/2.10.0/immodules/ –enable-pygconf
make;make install;
update-gtk-immodules `uname -i`

cd ../ibus-pinyin
./autogen.sh –prefix=/usr
make;make install

配置
运行ibus-setup检查是否安装成功,成功的话就
编辑

/usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules

添加

“/usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so”
“ibus” “X Input Method” “gtk20″ “/usr/share/locale” “zh”

编辑~/.profile和~/.bashrc,在这两个文件里添加

export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus

KDE4的问题
我在debian-lenny-i386-kde4环境下安装过ibus,手工编译安装,可以运行ibus,在各种kde应用程序中输入汉字没有问题。但是ibus的图标都是红叉
尝试了添加cn99的ubuntu源到debian然后通过源安装,问题依旧。并且,apt把ibus依赖的很多包装了ubuntu的版本,虽然这些包可以手工安装debian自己的版本。
后来装gnome,装了之后发现ibus的图标都正常显示了。
于是推断ibus的图标显示依赖某个gnome中的包或者某个因为gnome依赖而自动安装的包。有人知道是哪一个么?
后来我再没有遇到过这个问题了。Shawn.P.Huang给我回邮件说可能是libsvg的问题。