显示标签为“ubuntu”的博文。显示所有博文
显示标签为“ubuntu”的博文。显示所有博文

2008年10月4日星期六

倡议: Debian/Ubuntu用户都来安装apt-p2p吧

装上apt-p2p, 我们就可以在各个用户之间自动传递软件包了,可以有效减轻镜像服务器负担,并减小对单一镜像服务器的依赖。

安装很简单:
  1. apt-get install apt-p2p
  2. 修改/etc/apt/sources.list,将你使用的repos服务器改成localhost:9977,类似下面这样
http://localhost:9977/debian.cn99.com/debian testing main contrib non-free

然后重新执行一下apt-get update就可以了。

2008年9月11日星期四

Ubuntu vs Debian 杂感几则

看见这么一篇文章: I'm TualatriX:叹: Ubuntu的软件包比Debian还稳定。 他说的“稳定”是Debian里面的stable/testing/unstable的概念,指的是软件包的版本新旧。
  • 其 实我也早发现Ubuntu的不少包比Debian更新慢。想想也是,毕竟现在不是当初Ubuntu只做GNOME桌面的时候,当越来越多的人来给他添砖加 瓦,也就使得大家需要的软件包越来越多,当它的摊子越铺越大的时候,它不可能保证所有的包都能很快更新。也就是说,只可能部分比debian新,而那些平时不在焦点之中的包,就比debian更新得慢了。
  • 以前在犹豫要不要切换到Ubuntu时,我的一个顾虑就是以为它 只有GNOME,其它的软件包大多没有(我还是会跑某些Qt/KDE甚至一些老X11程序的),当后来别人告诉我Debian有的包它都有,我就一直不太 相信——它怎么可能维护那么多软件包,又能保持“焦点”软件的快速更新? (后来这个顾虑打消后,我又有了另外一个问题:Ubuntu里面有testing这样的概念么?——这个问题导致我到现在也没有换用Ubuntu,当然, 另一个重要原因是最近一年工作太忙,没时间来折腾这些。)
  • 以前我们对Debian的更新速度颇多抱怨,尤其是稳定版本的推出节奏。现在想来,摊子大还的确是个问题,君不见,当Ubuntu的摊子铺大之后,虽然仍然一年两个版本,但质量却在下降,作为LTS的8.04质量并不是太好,连续推出了8.04.1和8.04.2?
  • 也 许我是有点嫉妒,但我觉得Ubuntu的成功有Debian的基础在,但风头都被Ubuntu抢去了。如果不是Debian强大的包依赖机制、升级/安装 管理系统,以及alternatives, menu等小机制,Ubuntu不会有精力去优化内核、搞炫桌面。我是有点打抱不平的。
    • 关于Debian的包管理系统,我看见这样一篇文章 "红帽将在未来的RHEL中支持deb软件包", 但没有找到原文,不知道是否属实。里面说道: 红帽(RedHat)总裁卫赫士(Jim Whitehurst)透露,未来的RHEL(红帽企业版Linux)将加入对DEB软件包的支持。卫赫士说,“众所周知,红帽创造了RPM,并成为了一 时的Linux工业标准。但是RPM一个很大的缺点就是软件包的依赖性很难解决。以Ubuntu为代 表的使用DEB软件包的Linux发行版拥抱自由开源,取得了很大成功。虽然为了避免Linux陷入像Unix那样的分裂局面,Linux厂商一致遵守 LSB标准。但这还不够,所以红帽将在未来的RHEL中加入对DEB包的支持,并计划逐渐削弱RPM包,直到最终取代。”
  • 我 有一个朋友,装东西特喜欢装最新最炫的东西,他开始玩Linux的时候,总是要装最新版本的gcc(同时他是一个C++超级fans),装最新版本的 KDE(他觉得GNOME太简陋了, 不够炫)。最开始的时候他听说用Fedora/RedHat的人最多,结果为了加装软件折腾得够呛。后来在我的劝说下改用Debian(关键是我也不怎么 会用Fedora,我只会用apt-get来装软件 :-(,本来觉得Mandrake给他用倒是更合适,urpmi也好使,但实在不知道有没有快一点的镜像),但他现在恋恋不忘的是要改用Ubuntu——不过他最近工作也忙,估计Linux连摸都不摸了。

2007年6月14日星期四

用strace定位totem不能播放rmvb的问题

俺在新装的ubuntu上装了totem, 并且是totem-xine,当然缺省是不能播放rmvb的,得自己来折腾了。

其实开始装的是totem-gstreamer, 试验totme能否播放rmvb的时候totem会问是否要自动搜索解码器,选了是,它就给我搞了个安装gstreamer-ffmpeg,结果也如所料:放不了rmvb。

先是试着将debian上/usr/lib/win32目录进行符号链接过来(ln -s /mnt/debian/usr/lib/win32 /usr/lib/win32),还是不行。

再按一些网上帖子说的,到mplayer网站下载rp9codecs-200?????.tar.bz2,解压动态库到~/.gnome2/totem-addons,仍旧不行。又试验了w32codecs,不行。

再就直接去找realplayer了,http://www.real.com/linux 默认的那个已经很旧了,有很多依赖库都不好解决,点那个nightly build应该可以下载到最新的版本。不过我是找了个edgy的非官方包装在feisty上(从包索引可以看出, 那上面还没有feisty版本的realplayer,也许你看的时候已经有了)。
不过这个东西装上之后一运行realplay就segfault了,这很多帖子说过,是跟scim冲突的问题,修改/usr/bin/realplay,在里面添加一行"export GTK_IM_MODULE="就可以了。
然后很可能播放时画面或者声音会有些卡,装个alsa-oss可以解决: 仍旧修改/usr/bin/realplay,在它执行realplay.bin那行(目前是第73行)加上一个aoss就可以了。
综合前面两条,/usr/bin/realplay最后几行是这样
REALPLAYBIN=$HELIX_LIBS/realplay.bin
if [ -n "$DEBUG" -a -x "$CATCHSEGV" ]; then
$CATCHSEGV $REALPLAYBIN ${1+"$@"}
else
while /bin/true; do
export GTK_IM_MODULE=
export XMODIFIERS=
aoss $REALPLAYBIN "$@"
# Restart the player if exit code is 10
if [ $? -ne 10 ]; then
break
fi
done
fi
现在可以在realplayer里播放rmvb了,回到totem,还是不行(也许有朋友要问,为啥非得用totem不用realplayer放啊,这是因为totem有gnome-vfs支持,可以从网络共享上直接播放,:-)。我用strings /usr/bin/totem-xine | grep addons查过了,结果为空,所以觉得很多网友虽然说将codecs库放到~/.gnome2/totem-addons那样可以,但现在也许已经改掉了(刚下载了totem源代码,还没有来证实)。

于是祭出strace,顺便打开totem的debug开关:

strace totem --debug > trace.out 2>&1

在totem中打开一个rmvb文件,它报告不能播放该格式文件,关闭退出totem.
然后用vi打开trace.out,查找open或者fstat/fstat64调用,或者codec字样,然后我看到如下内容:
stat64("/usr/local/RealPlayer8/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/RealPlayer8/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/RealPlayer8/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/opt/RealPlayer8/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/RealPlayer9/users/Real/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/RealPlayer10/codecs/drvc.so", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib64/RealPlayer8/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib64/RealPlayer9/users/Real/Codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib64/RealPlayer10/codecs/drvc.so", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/codecs/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/win32/drv3.so.6.0", 0xbfe23b2c) = -1 ENOENT (No such file or directory)
这里可以看到它搜索了/usr/lib/RealPlayer10目录,但realplayer目前的安装目录是/usr/lib/realplayer-10.0.8,于是创建一个符号连接解决问题。

总结一下: 从上面的strace输出可以看出,将drv3.so.6.0放到/usr/lib/win32或者/usr/lib/codecs应该也是可以的,我卸载realplay后重新用rp9codecs或者w32codecs试验,也的确可以,不知道原来哪里有问题 :-(
奇怪的是,它在/usr/lib/RealPlayer10目录搜索的是drvc.so,在其他目录搜的却是drv3.so.6.0.

P.S 请卸载libxine1-ffmpeg库,否则你用totem播放rmvb时,它会用ffmpeg里面提供的音频解码器(在"属性"中可以看到其编解码器名称),造成没有声音。

又: 刚才发现一个地方有realplay/w32codecs的包,写的是feisty版本,不知道是不是。不过偶尔找个老版本装也没有什么问题,尤其这几个对其他包依赖不太强的。

2007年6月9日星期六

Ubuntu初步印象

都在说ubuntu好,也忍不住要试试,于是搞了份feisty装上。这东西用起来跟Debian差不多, 除了main, 把restricted, universe和multiverse也加到/etc/apt/source.list中,就可以装kde和其他很多软件了,包括一些非开源软件。基本感觉挺好的:
  • 中文字体基本上挺好(并且opera这类Qt程序默认字体也挺好的,俺在Debian下的那个比较难看,也不知道怎么配);
  • 无线网卡也不需要我自己下载firmware就直接可以用了;
  • SD卡什么的直接接上去就有窗口显示文件(俺的Debian上原来好的,后来不知道怎么就不能识别出来了);
  • 中文输入法也配置好了;
  • 主菜单上还有一个“添加/删除..."可以选一些常用软件装上,不用自己记录那么多软件包名了...
不过还有几点不爽:
  • 我在Debian上偷用Ubuntu的内核是为了能休眠,现在直接装了个ubuntu,它自己反倒不能休眠了
  • gaim登录QQ登录不上,老报告密码不对
  • 输入法SCIM不如小企鹅方便,至少使用小企鹅时,各个应用程序是否切换到中文输入是独立的,不会相互干扰
  • totem/mplayer不能放rmvb文件,想找个直接能装realplayer和w32codecs的源没找到,得自己折腾了
  • kmess装上其网站提供的1.5pre2版本autopackage包后运行不起来
  • 鼠标中键不起作用,得同时按左右键,修改一下/etc/X11/xorg.conf,给Pointer添加Emulate3Buttons选项(其值为false)可以解决
虽然GNOME什么的都可以用最新(几乎)的版本了,这方面倒没觉得有太大不同。

2006年8月25日星期五

再次偷装Ubuntu的内核

为了获得休眠(suspend to disk)功能,俺把ubuntu的内核包安装到了俺的Debian上 :-)

---------------------------------------------------------------------------------------

大约三周以前某天,用totem打开一集Doctor Who时黑屏了,重启后俺的GNOME里喇叭上就多了小红叉,怎么都没有声音。上次误打误撞的解决方法也被证明无效。

几乎打算重装了,但两年多的东西要备份下来还是挺麻烦。于是又没头苍蝇似地升级了udev和kernel, 嘿嘿,好了。

不过来了一个新问题,俺习惯性地敲echo 4 > /proc/acpi/sleep试图让系统休眠,但不起作用,系统报告/proc/acpi/sleep不存在。

apt-cache search hibernate告诉我有个hibernate包, 可以smartly puts your computer to sleep (suspend to RAM or disk),满怀希望地装上,结果告诉我:

Your kernel does not appear to have Software Suspend 2 support compiled in.
Please follow the HOWTO linked from http://www.suspend2.net/ for instructions
on how to compile Software Suspend into your kernel.

不能休眠可不爽,比没有声音还难忍受。俺又是个懒人,懒得自己去编译内核,于是从ubuntu网站上下载了linux-image-2.6.17-686,装上,嘿嘿,可以了。

(ubuntu 的linux-image-2.6.17-686包需要module-init-tools版本在3.2.2-3ubuntu2,而debianl里面还 是3.2.2-2版本,于是俺很邪恶地修改了/var/lib/dpkg/status,将其要求的版本号改掉,dpkg --configure就不报错了。)

2005年12月4日星期日

To Ubuntu or not to Ubuntu

原来听说Ubuntu免费派送CD,就定了5张,没想到还真来了。

跑了一下Live CD,我的无线网卡什么都不用配置直接就上网了,挺爽。只是没有中文输入法,而且Ubuntu缺省的暗红色theme我不怎么喜欢。至于GNOME 2.12,倒也没怎么留意跟2.10的差别在哪些地方。

我又要不要把我的Debian换成Ubuntu呢?CD都已经送上门了,如果完全闲置了,有点对不住吧?

好的方法是先不覆盖目前用的还不错的Debian, 另外新装一个试用一段。但我现在本本上没有那么多空间啊。

头疼。

2005年9月15日星期四

Ubuntu的休眠

我的Debian用的是Ubuntu的基本系统,但gnome的shutdown界面上就没有休眠(Hibernate,也即suspend to disk)这个选项了。想看看它到底是调用的哪个命令,但用find搜索了一遍,也没有看见与suspend相关的东西。

最后总算在Ubuntu的论坛上问到了:

sudo sh -c "echo 4 > /proc/acpi/sleep"

2005年8月22日星期一

sidegrade: from Ubuntu to Sarge

到底还是想念debian,我安装了Ubuntu,然后`sidegrade'到sarge了。

因为现在上网不方便,在朋友那里下载了一张sarge的DVD。同时,因为不太甘心,又试了一下,直接安装后重启就挂了。

然后换Ubuntu,原来打算用它的X.org和GNOME-2.10的(而且休眠也工作得很好!),但最后发现这样再装sarge的软件的话包依赖的问题几乎没法解决。只得重新来过,只装base system,然后换上sarge的DVD, aptitude install -r x-window-system gnome。启动X,GNOME出现,感觉不错。

当然包的兼容性会有不少问题),aptitude install常常会无法通过(比如安装gnome就需要synapitc,而synapic依赖于libapt-pkg-libc.....,后者是基本系统提供的,在ubuntu提供的基本系统中根本不是这个名字,就只好硬来了 从Knoppix邮件列表上学到三板斧(新手请勿乱用!):

1. aptitude -f install

2. 直接修改/var/lib/dpkg/status下的文件,反正dpkg安装新软件时总是先解压(unpack),然后检查依赖性后configure,直接修改包依赖关系后dpkg --configure --pending。

3. dpkg将deb包解开,修改control文件里面的包依赖,然后重新打包,再用dpkg安装

---------------------
而且如今我终于明白,对于我而言,选择哪个Linux版本最重要的因素是什么,那就是“可获得性”(availability),发行版要很容易地获得,众多软件要很容易地获得,开发过程中的进展、大家的心得、讨论,亦应如此。对懒人而言,这一点应该是第一位的。

2005年5月23日星期一

Ubuntu + testing?

我新买的laptop装不上Debian(安装基本系统后重启时死在加载usb-uhci模块这个地方),为此苦恼了好久。在网上查过,没看见这个 型号的成功案例,一些类似的型号说是要先在BIOS里面禁用对legacy USB device的支持,我打开BIOS,只有时间、启动顺序这几个选项,其他的都没有。也试过用expert模式安装,或者用Knoppix光盘启动后修改 modules.conf等文件禁用usb-uhci等模块,都不好使。:-(

五一期间下载了一套Mandriva LE2005来用,安装、配置什么的也都挺顺利(尤其中文什么的不用自己动手),mcc这个系统管理工具也做得不错,suspend to disk也可用,也跟着linuxsir上的方法学会了urpmi的用法,但总是有些不爽: 安装盘里面devhelp, anjuta, xfce4, zhcon都没有; 带了mplayer却根本没法用; 装盘里所有的RPM都仍在一个目录下(后来下了DVD,用mcc配置urpmi时点了一下Browse,就死在那个目录了); 用户还分等级,普通用户先没有ISO下... 其实也都不是太大的事情,只是有些东西自己不太习惯而已。还是想念Debian。

晚上在QQ上网友Cedric说可以试试Ubuntu。也 不是没有想过这个,我在本本上试过Ubuntu的Live CD,感觉相当不错。但我担心它的软件少,我是懒得什么东西都来自己编译(本来KDE是可以不用的,但最近发现刻录光盘gnomebaker还是不如 k3b稳定)。而且原来在slashdot上看见一篇Is Ubuntu a Compatibility Nightmare for Debian,也就认定它跟Debian还是不怎么兼容,没有再去试。Cedric倒是说debian的源都可以用,看来还是要试试。