Ubuntu和CentOS管理软件包的方式差别很大,CentOS只需要一个yum就可以了(当然可以安装许多插件),而ubuntu上面需要apt-get,、apt-cache、dpkg,而且这些命令里有些还只能查询当前已安装的程序(如查询某个文件在某个软件包里),甚是不方便。当然,如果装的是桌面版,那自然有新立得这些窗口式的程序让管理轻松很多,但是如果安装的是服务器版或者没有安装GUI,那就头大了。同时,CentOS下可以使用setup以及system-config-*程序对Linux的一些基本环境以及服务进行设置,而ubuntu默认安装则缺乏这些程序。
为此,将平时使用管理中觉得比较实用的几个程序记录下来,方便自己或者别人重用。
- apt-file程序,和apt-get、apt-cache是一个系列的(就好像XXX和天使、丘比特一个系列一样)。使用命令apt-get install apt-file安装;安装好后,apt-file update初始化一下,然后就可以通过命令apt-file search file来查询某个文件所属的软件包了。更多具体信息可以参考wiki.ubuntu.org.cn上的条目。
- chkconfig软件包(8.04.3服务器版中似乎没有这个,9.04桌面版中提供)提供了chkconfig程序,以命令的方式来列出系统服务,比sysvconfig方便一些。补充:功能不如Redhat下的同名程序,从简化系统的角度,不如直接使用下面的程序来管理。
- sysvconfig程序软件包,提供了sysvconfig命令,TUI的界面,可以直接启用或者禁用服务,或者是修改服务的启动级别。有了这个软件包,服务管理就方便了很多了。补充:8.04 与9.04中为sysvconfig(8.04-Server also provides the service command,which provided by sysvinit-utils in 9.04-Desktop and 9.10-Desktop);9.10的版本就使用sysv-rc-conf软件包。
暂时就只有以上这些,以后还有好用的,再慢慢添加。
安装完Linux以后,困难的就是还需要去配那些软件,例如看电影的,听歌的,甚至于Firefox上都无法显示Flash,需要安装FlashPlayer——虽说现在有Ubuntu,易用性好了很多,但是我的Ubuntu使用体验是需要找到一个好的软件源,花很多时间来下载中文化软件包,而且还要去搜索安装解码器(反正我是没有安装成功过,连MP3都不能播放怎么叫易用,为什么就不能一次性给齐呢?),打开Firefox连上谷歌音乐结果还没有Flashplayer。要真正的易用性,也许还是要几个开箱即用的民间Ubuntu才行——中国的用户也许可以用Hiweed Linux,试用了Live CD似乎确实不错,很像Windows。
上周安装完Fedora 10 X86_64后,通过adobe的yum源,安装了flash-plugin后,flash仍然不工作。在网上查了文档才知道yum在源上安装的是i386的,还需要通过nspluginwrapper来把i386的.so转换为x86_64的。可是nspluginwrapper安装完,执行mozilla-plugin-config会出错,最后Firefox仍然不能显示Flash。
今天安装了CentOS 5.3,同样的方法安装了flash-plugin。再参考网上的文章,但是不是很想装源之外的rpm包(nspluginwrapper-i386),执行nspluginwrapper发现文件不存在,但准备执行mozilla-plugin-config时才发现/usr/lib/mozilla/plugins目录下不存在libflashplayer.so文件,这好像和上周安装flash-plugin的情形不同了。那么flash-plugin安装到哪里去了呢?
执行了命令rpm -ql flash-plugin后发现,文件libflashplayer.so已经安装到/usr/lib64/flash-plugin目录下了,而且在/usr/lib64/mozilla/plugins目录下已经有一个链接指向(也许是我执行了/usr/lib64/flash-plugin/setup的缘故),显然x86_64的Firefox已经有了自己的x86_64的flashplayer了。再打开Firefox,可以看到flash插件已经安装好了。
一点都不需要网上的那些文章了,事情变得这么简单,不知道是CentOS 改进了呢,还是Adobe改进了?我相信也许是后者。在安装完RPMforge repo之后,就可以直接安装flash-plugin.x86_64了,不再需要Adobe的源了。具体的信息请参考TipsAndTricks/PluginsFor64BitFirefox,该文章还描述了如何给Firefox安装jre插件。
经常在Linux下安装了JDK之后还需要自己设置环境变量,通常是在个人用户的~/.bash_profile里设置。
刚刚发现以前安装的一个CentOS 5是自己设置好了环境变量的。于是把它的设置保留下来备用:
export JAVA_HOME=/usr/java/jdk
export JRE_HOME=/usr/java/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JRE_HOME/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
这些可以设置在个人用户的.bash_profile里,也可以设置在/etc/profile里(CentOS 5便是这么做的),当然更好的是做一个独立的java.sh,保存在/etc/profile.d/下。
今天在Linux下测试对一个程序使用openmp进行部分优化后的执行时间的比较。
根据之前在Windows下的经验,判断一个代码段执行的时间,是使用clock()函数在代码段的开始和结束分别产生一个clock_t的值,然后后者减去前者再除以CLOCKS_PER_SEC,得到一个秒值。
这次测试的时候发现了很奇怪的问题,使用openmp优化过后的执行时间居然比优化前的执行时间多了两倍,这个是令人百思不得其解的问题。 (全文…)
平时写测试程序的时候常常要计算程序执行的时间,尤其是最近练习Intel多核编程时,需要判断打开openmp参数与否的执行时间的比较。
通常代码是这样写的:
#include <time.h>
clock_t start, stop;
....
start = clock();
do_something();
stop = clock();
printf("%f", (double)(stop-start)/1000.0) ;
.....
或者是求当前时间的秒值:
double t = (double) clock()/1000.0;
但是这样的代码在Windows平台下是正确的(当然会这样写也是因为上Intel培训课时,例程都是这么写的 ),而到了Linux平台下,这个程序就错了,会发现时间一下多了1000倍。
事实上,clock_t的值转换为秒应该是除以CLOCKS_PER_SEC这个宏,而这个宏在Windows平台下是1000,而到了Linux平台下就是1000000了。
因此程序正确的写法是:
#include <time.h>
clock_t start, stop;
....
start = clock();
do_something();
stop = clock();
printf("%f", (double)(stop-start)/(double)CLOCKS_PER_SEC) ;
.....
这样才能保证程序在跨平台移植时的正确性。
本来是想用DVD光盘来安装的,可是发现刻的DVD光盘有问题,只好用Live CD来安装。不过发现安装过程比家里的机器安装Ubuntu的时候快很多(把镜像复制过去就OK),我还没有熟悉新环境就好了。
Fedora8对中文的支持还是不错的,不需要再次Update就可以使用中文桌面了(Ubuntu是需要做一次apt-get更新才可能安装中文的相关包)。不知道为什么现在Fedora 8这个版本用起来好像比Ubuntu7.10还舒服些。中文字体也比较好看些,菜单也整理得比较合理,东西不容易难找。不过好像没有Open Office呀,怪不得安装这么快。一些内容的熟悉还是后面慢慢说吧。
安装完了以后就是更新了,虽然说学校里可以上国外网络,但是还是找一个高校的源吧。在网络上找了一下,发现还是在上海交大里,这个服务器里可真是什么都有呀。
根据lihaoy的文章操作,在/etc/yum.repos.d添加一个sjtu.repo文件,内容如下:
[updates]
name=Fedora updates
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/updates/$releasever/$basearch/
enabled=1
gpgcheck=0
[fedora]
name=Fedora $releasever - $basearch
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/releases/$releasever/Everything/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
如果需要使用freshrpms,还可以加上:
[freshrpms]
name=Fedora Core $releasever - $basearch - Freshrpms
baseurl=ftp://ftp.sjtu.edu.cn/freshrpms/ayo/fedora/linux/$releasever/$basearch/freshrpms/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-freshrpms
gpgcheck=0
然后保存文件,用yum makecache命令更新yum的缓存就Ok了。
后来发现,使用freshrpms源后,会发生libx264.56.so找不到的问题,所以可以先不用试试看,或者在更新的时候加上–disablerepo=freshrpms参数。此外,livna的源也很有用,尤其是一些多媒体的东西,获取方法为<cite>rpm -ivh http://rpm.livna.org/livna-release-7.rpm</cite>。
- Install by Live CD
- Edit sources.list
- apt-get update or wait the notification ofupdate packages
- Restart
The problem is the sources.list,that’s how to choose a faster source.
Maybe you can use this:
deb http://debian.ustc.edu.cn/ubuntu/ gutsy main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-backports restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-proposed main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-security main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-updates main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-backports main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-proposed main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-security main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-updates main restricted universe multiverse
For more sources list, click here, or copy from below:
ubuntu7.10大学源一览表
#传说中的中国科技大学 5M/s
deb http://debian.ustc.edu.cn/ubuntu/ gutsy main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-backports restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-proposed main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-security main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ gutsy-updates main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-backports main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-proposed main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-security main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ gutsy-updates main restricted universe multiverse
#传说中的北京交大 速度 2M/s
deb http://mirror.bjtu.edu.cn/ubuntu/ gutsy main restricted universe multiverse
deb http://mirror.bjtu.edu.cn/ubuntu/ gutsy-updates main restricted universe multiverse
deb http://mirror.bjtu.edu.cn/ubuntu/ gutsy-security main restricted universe multiverse
deb http://mirror.bjtu.edu.cn/ubuntu/ gutsy-backports main restricted universe multiverse
#传说中的上海交通大学,最热门的源之一
deb http://ftp.sjtu.edu.cn/ubuntu/ gutsy main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ gutsy-backports main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ gutsy-proposed main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ gutsy-security main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ gutsy-updates main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu-cn/ gutsy main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ gutsy main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ gutsy-backports main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ gutsy-proposed main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ gutsy-security main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ gutsy-updates main multiverse restricted universe
#传说中的清华大学ubuntu源 300k/s
deb ftp://ftp3.tsinghua.edu.cn/mirror/ubuntu/ubuntu/ gutsy main restricted universe multiverse
deb ftp://ftp3.tsinghua.edu.cn/mirror/ubuntu/ubuntu/ gutsy-security main restricted universe multiverse
deb ftp://ftp3.tsinghua.edu.cn/mirror/ubuntu/ubuntu/ gutsy-updates main restricted universe multiverse
#传说中的兰州大学 260k/s
deb ftp://mirror.lzu.edu.cn/ubuntu/ gutsy main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ gutsy-backports main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ gutsy-proposed main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ gutsy-security main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu/ gutsy-updates main multiverse restricted universe
deb ftp://mirror.lzu.edu.cn/ubuntu-cn/ gutsy main multiverse restricted universe
#传说中的台湾大学 中国电信adsl 150k/s
deb http://ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy main restricted universe multiverse
deb-src http://ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy main restricted universe multiverse
deb http://ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy-updates main restricted universe multiverse
deb-src http://ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy-updates main restricted universe multiverse
deb http://ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy-backports main restricted universe multiverse
deb-src http://ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy-backports main restricted universe multiverse
deb http://ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy-security main restricted universe multiverse
deb-src http://ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy-security main restricted universe multiverse
#传说中的电子科大
deb http://ubuntu.uestc.edu.cn/ubuntu gutsy main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu gutsy-backports main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu gutsy-proposed main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu gutsy-security main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu gutsy-updates main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu gutsy main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu gutsy-backports main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu gutsy-proposed main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu gutsy-security main restricted universe multiverse
deb-src http://ubuntu.uestc.edu.cn/ubuntu gutsy-updates main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntu-cn gutsy main restricted universe multiverse
deb http://ubuntu.uestc.edu.cn/ubuntustudio gutsy main
#传说中的清华,,但不是清华大学的官方域名
deb http://mirror9.net9.org/ubuntu/ gutsy main multiverse restricted universe
deb http://mirror9.net9.org/ubuntu/ gutsy-backports main multiverse restricted universe
deb http://mirror9.net9.org/ubuntu/ gutsy-proposed main multiverse restricted universe
deb http://mirror9.net9.org/ubuntu/ gutsy-security main multiverse restricted universe
deb http://mirror9.net9.org/ubuntu/ gutsy-updates main multiverse restricted universe
deb-src http://mirror9.net9.org/ubuntu/ gutsy main multiverse restricted universe
deb-src http://mirror9.net9.org/ubuntu/ gutsy-backports main multiverse restricted universe
deb-src http://mirror9.net9.org/ubuntu/ gutsy-proposed main multiverse restricted universe
deb-src http://mirror9.net9.org/ubuntu/ gutsy-security main multiverse restricted universe
deb-src http://mirror9.net9.org/ubuntu/ gutsy-updates main multiverse restricted universe
deb http://mirror9.net9.org/ubuntu-cn/ gutsy main multiverse restricted universe
#传说中的电子科大,但不是uestc的官方域名
deb http://www.joelgm.com/ubuntu gutsy main restricted universe multiverse
deb http://www.joelgm.com/ubuntu gutsy-backports main restricted universe multiverse
deb http://www.joelgm.com/ubuntu gutsy-proposed main restricted universe multiverse
deb http://www.joelgm.com/ubuntu gutsy-security main restricted universe multiverse
deb http://www.joelgm.com/ubuntu gutsy-updates main restricted universe multiverse
deb-src http://www.joelgm.com/ubuntu gutsy main restricted universe multiverse
deb-src http://www.joelgm.com/ubuntu gutsy-backports main restricted universe multiverse
deb-src http://www.joelgm.com/ubuntu gutsy-proposed main restricted universe multiverse
deb-src http://www.joelgm.com/ubuntu gutsy-security main restricted universe multiverse
deb-src http://www.joelgm.com/ubuntu gutsy-updates main restricted universe multiverse
#传说中的东北大学更新服务器:
deb ftp://ftp.neu.edu.cn/mirror/archive.ubuntu.com/ubuntu/ gutsy main multiverse restricted universe
deb ftp://ftp.neu.edu.cn/mirror/archive.ubuntu.com/ubuntu/ gutsy-backports main multiverse restricted universe
deb ftp://ftp.neu.edu.cn/mirror/archive.ubuntu.com/ubuntu/ gutsy-proposed main multiverse restricted universe
deb ftp://ftp.neu.edu.cn/mirror/archive.ubuntu.com/ubuntu/ gutsy-security main multiverse restricted universe
deb ftp://ftp.neu.edu.cn/mirror/archive.ubuntu.com/ubuntu/ gutsy-updates main multiverse restricted universe
deb-src ftp://ftp.neu.edu.cn/mirror/archive.ubuntu.com/ubuntu/ gutsy main multiverse restricted universe
deb-src ftp://ftp.neu.edu.cn/mirror/archive.ubuntu.com/ubuntu/ gutsy-backports main multiverse restricted universe
deb-src ftp://ftp.neu.edu.cn/mirror/archive.ubuntu.com/ubuntu/ gutsy-proposed main multiverse restricted universe
deb-src ftp://ftp.neu.edu.cn/mirror/archive.ubuntu.com/ubuntu/ gutsy-security main multiverse restricted universe
deb-src ftp://ftp.neu.edu.cn/mirror/archive.ubuntu.com/ubuntu/ gutsy-updates main multiverse restricted universe
#传说中的厦门大学
deb ftp://ubuntu.realss.cn/ubuntu gutsy main multiverse restricted universe
deb ftp://ubuntu.realss.cn/ubuntu gutsy-backports main multiverse restricted universe
deb ftp://ubuntu.realss.cn/ubuntu gutsy-proposed main multiverse restricted universe
deb ftp://ubuntu.realss.cn/ubuntu gutsy-security main multiverse restricted universe
deb ftp://ubuntu.realss.cn/ubuntu gutsy-updates main multiverse restricted univers
其实好像这两个东西并没法直接比较,毕竟现在Google参与的也还只是手机操作系统的开发。但是很有可能这就是未来两种最时尚的手机软件,一个是其别具一格的外观设计以及软件操作方式,一个是其丰富的软件内涵,即背后所依托的Google从出不穷的网络服务。
iPhone可能会是时尚界的代表,而Google Phone应该是象征着手机应用的新方向:未来的手机可能不再拼功能,而是拼支持商提供的网络服务。
嗯,还是来说说这个Google Phone的操作系统-Android吧。Solidot中介绍说:11月5日,Google正式宣布开发一款新的手机操作系统Android—— 2005年它收购了同名的手机软件公司。Android基于Linux,源代码开源,预计上市日期是2008年中期,以Apache许可协议免费提供给手机运营商和制造商。Google的手机制造合作伙伴包括了Motorola,HTC,Samsung和LG等,运营商合作伙伴包括T-Mobile和美国 Sprint,欧洲T-Mobile/Deutsche Telekom以及中国移动。
显然,由于操作系统基于Linux,由于源代码开源,相信人们(至少我是如此)对其未来充满了许多的憧憬。通过开放合作式的开发,可以运行在手机上的程序应该会越来越多。目前Google已经推出了SDK还有for Eclipse的Plugin。嗯,还有那总奖金高达1000万美元的应用程序开发大赛,这可是在业界绝无仅有的,相信很多人已经开始在开发Android的软件了。
嗯,其实好像我要说的是Palm或者说是PalmSource的。本来在PDA里Palm还是数一数二的,可是近两年来其操作系统实在是没有太多的长进,但由于它也是开源的,拥有许多开源/免费应用软件的优势,终究还是和Microsoft不分上下。至于Linux平台的PDA也许是开发者和支持者的人实在太少,所以还很难和它们三分天下。随着PDA进化成智能手机,在这个领域,Palm就处于弱势了,以至于Treo都出Windows Mobile的版本了,实在是恨铁不成钢呀。
随着Google Phone-Android的推出,不知道未来Palm会不会退出历史舞台。
Google or Palm, it’s a problem.
嗯,也许这个才是我最后要说的问题。
BTW: 好像越来越多的开源软件加入了Apache许可协议的阵营。很多人都想象Google将来会成为一个新的“垄断者”,通过商业联盟,不知道Apache的许可协议是不是也将登峰造极。
在Linux下使用 tar 命令来将文件打包并压缩是很通常的用法了。可是Linux的文件系统对文件大小有限制,也就是说一个文件最大不能超过2G,如果压缩包的的内容很大,最后的结果就会超过2G,那么该怎么办呢?又或者压缩包希望通过光盘来进行备份,而每张光盘的容量只有700M,那么该如何存储呢?解决的办法就是将最后的压缩包按照指定大小进行分割,这就需要用到split命令了。 举例说明: 要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令: tar cjf - logs/ |split -b 1m - logs.tar.bz2. 完成后会产生下列文件: -rw-r–r– 1 httpd nobody 1048576 Oct 5 15:37 logs.tar.bz2.aa -rw-r–r– 1 httpd nobody 1048576 Oct 5 15:37 logs.tar.bz2.ab -rw-r–r– 1 httpd nobody 1048576 Oct 5