西西河

主题:【原创】也谈谈ubuntu -- 新科进士

共:💬64 🌺48
分页树展主题 · 全看首页 上页
/ 5
下页 末页
  • 家园 【原创】也谈谈ubuntu

    看见河里已经有朋友用ubuntu了,忍不住想在这里说两句,谈谈自己的感想。

    第一,Linux发行版的问题

    Linux有多少个发行版,估计没有多少人真正详细统计过。看过一篇文章说居然有380多个不同版本的Linux。但是我们真正听说的不过就是Fedora、SUSE、Mandriva、Slackware、Gentoo和Debian。国人最熟悉的大概是Red Hat和红旗、蓝点。

    至于FreeBSD,它并不是Linux,只不过像Linux。它的内核是UNIX的,我们经常艳慕不已的Mac OS系统其实使用的就是和FreeBSD差不多的微内核。

    如果大家对Linxu感兴趣,可以去一个叫http://distrowatch.com/的网站,这是有关UNIX/Linux最新发布版的最权威网站,在那里,可以看到最著名和主要的UNIX/Linux发布。而让人称奇的就是,两年多了,ubuntu始终在排行榜第一位,从来没有跌下来过。

    有关ubuntu的介绍,大家可以到它的官方网站去看看。比如ubuntu这个词的意思,ubuntu的历史和创立者,还有就是详细地帮助信息。

    Linux虽然有如此之多的不同的发行版,但是它最显著的区别主要在Installation和Package Management这两方面,当然不同的窗口管理器以及桌面环境(KDE还是Gnome或Xfce4)也是一个衡量。

    像前面提到的几个主要发行版中,Fedora、SUSE、Mandriva和Gentoo是图形安装界面,FreeBSD、Slackware、Debian和ubuntu则是文字安装界面,即使是同一类安装界面,信息也大同小异。其中FreeBSD完全不同于其他版本。我不好说那种安装界面更好,比如我认为FreeBSD就很直观,来到SUSE的安装界面上我就很不习惯。至于Gentoo,那根本不是新手可以涉及的领域,那需要有足够的知识、经验和耐心(需要一两天才能装好)。

    第二,关于Debian和ubuntu

    我一直习惯于FreeBSD,因为公司的服务器就是这种系统,而且它是血统纯正的UNIX。但在ubuntu之前,我更喜欢Debian,主要是它的包裹管理方式,也就是软件的安装方法。Fedora(或者红帽子)、SUSE以及Mandriva主要都是使用称为RPM的Package Management,当然,由于受Debian的影响,也各自有一些比如yum、urpmi等等的网络安装方式。但是个人认为Debian的方式(也就是DEB包裹管理)是最方便的。只要你有一条宽带,Linux浩繁的程序世界就像自家门口的便利店一样,商品触手可及,而且都是free的。如果有朋友像我一样有当年使用红帽子的经历,就明白满世界找一个依赖文件是怎样一件痛苦的事情。而这一切在Debian中很少碰到,尤其是它的稳定版,严格遵循GUN,几乎从来没有碰到什么依赖问题。

    ubuntu就是在Debian的基础上开发的,它的包裹管理完全就是Debian著名的apt-get。区别在于各自的软件仓库。Debian有三个不同的版本:稳定版、测试版和非稳定版。最安全的当然是稳定版,但是它的软件是在太旧了,Linux的核心居然还是2.4的(当然,你可以换成2.6的)。做服务器当然是首选,但是要用在桌面系统就实在勉强了。所以一般人都是使用它的测试版。而且Debian的开发周期过长。ubuntu就是在尽量避免了这些缺点后应运而生的。ubuntu是每六个月发布一次,现在的正式版是5.10,是去年10月发布的,最新的beta版是6.06,也就是我现在使用的,6月1日马上就要发布正式版了,它的系统组成从核心、X和桌面管理器以及办公软件几乎都是最新版的。

    第三,关于ubuntu的安装

    在所有Linux发布版中,ubuntu可能是对硬件支持最好的。无论是公司里的Dell还是我桌子上的兼容机以及我一直使用的HP本本,所有的硬件,包括无线网卡、显卡和稀奇古怪的声卡在安装好后无一例外地都自动识别。第一次安装好ubuntu的6.06,我居然被Gnome的音乐吓了一跳,因为以前我的本本在装完FreeBSD和Debian后都是哑巴。

    为了面向桌面用户,每一个主要的Linux发行版都会携带一个或几个窗口管理器或者桌面环境。比如SUSE传统上是KDE(现在也在向gnome转移),而ubuntu则是Gnome。5.10版使用的是gnome2.12,而6.06是最新的gnome2.14。ubuntu上的gnome2.14无论在外观还是内核上都有几乎质的改变。从启动到进入桌面环境几乎和XP不相上下。如果喜欢KDE的界面,可以使用ubuntu的另外一个发行版kubuntu,如果机器太旧,还可以使用xubuntu,它使用的是Xfce4的桌面环境。最新版的kubuntu使用的是KDE3.5,感觉比kubuntu5.10速度更快。

    ubuntu的安装和Debian一样,严重依赖于网络。如果不能上网,或者没有宽带,最好还是换别的发行版。ubuntu只有一张安装盘,不像其他发行版有4、5张,而Debian更是有10多张安装盘,虽然在没有网络的情况下可以安装一个完整的系统,甚至包括了办公软件,但基本上我们需要的软件和更新都需要从网络下载。

    ubuntu6.06的安装相对5.10有了一些变化。比如光盘启动后有了一个选择菜单:

    点看全图

    外链图片需谨慎,可能会被源头改

    (此图引用自“http://madpenguin.org/”,谢谢)

    我一般在这里选择按F6两次,切换到expert模式,菜单中选择第三项,安装服务器。这在5.10是需要在提示符下手动输入server-expert。当然,你可以直接回车进入默认安装,但这样会安装很多软件,我最不喜欢的openoffice和Java就会被安装上,而且时间很长(本人是C++的Fans,骨子里讨厌Java)。

    具体的安装过程可以参考网上无数的教程,需要注意的是如果你使用无线上网,需要输入WEP Key,就是无线网络的密码。ubuntu一般会识别你的无线网卡,即使不识别,也会用兼容的通用驱动程序来替代。经常地,它会告诉你找不到无线网络,你只需要让它自动多搜索一两遍,肯定能够找到。

    6.06把原来5.10和Debian的安装过程中的添加新用户、时区设置、软件库的选择都提到磁盘分区的前面,这实际上是为了更自动化的安装。因为在默认安装的情况下,在你分区完毕之后除了需要你取出光盘这一个回车操作之外,基本都是自动安装。

    总体上来说,ubuntu的安装既不是最容易的,但也没有太多专业的内容。如果先搞清楚linux中分区的概念,grub是怎么回事,一般不会有多大问题。如果有朋友实在对linux安装无从下手,建议先用ubuntu的liveCD,刻在光盘上,直接用光盘启动看看ubuntu和linux是什么模样,等熟悉了之后再安装也未尝不是一个好办法。

    expert安装会要求建立一个root的帐号,而默认安装没有这个选项。安装好后,想要一个root帐号,可以通过$sudo passwd root命令在终端中建立一个,这样就可以用su命令拥有root的权限了。

    第四,关于ubuntu的语言环境

    默认的,ubuntu所有版本使用的语言环境都是utf8,包括英文和中文。在expert模式下,可以选择不同的语言,但无论选择哪种,它都会给你安装成utf8的形式。比如我在公司的电脑上只选择了en_US.iso8859-1,结果还是装了一堆utf8的东东。如果你安装简体中文,选择的是GBK,那就要小心,安装完成后gnome的菜单基本都是方框,不能正确显示汉字,必须选择zh_CN.UTF8才会正常。

    以前,Linux对于使用中文的用户来说是一种痛苦,最关键的是两个问题很难解决:中文的显示和中文输入。就目前的解决方案来说,因为都不能涉及到对Linux核心的整合,所以在解决上都存在一些问题。就ubuntu而言,我们也需要做一番小小的改动,但基本上是可以满足我们对中文显示和输入的要求的。尤其是6.06,只需要拷贝一个simsun字体到系统的字体目录中就可以了。

    当我们在默认的en_US.utf8条件安装好ubuntu后,开机进入gnome后你会发现没有输入法也不能用firefox正常浏览中文网页。如果我们为了省事,可以直接用synaptic安装uming字体,虽然这种字体并不是很好看,但基本它可以很清晰的显示中文。注意,这里说的是很清晰的显示中文。许多Linux发布版安装好后都有一个共同的现象,就是中文字体模糊不清。说实话,那是纯粹是一种遭罪,严重影响身心健康。所以网络上关于如何美化中文的帖子是铺天盖地,基本上都涉及到对/etc/fonts/fonts.conf文件的修改,核心字体的添加,xls字体的美化,firefox字体的设置,还有就是是否使用存在版权的simsun等微软字体的争论等等,这里头有很多学问,不是寥寥几句可以说清楚的。新科进士不敢说是经验丰富,但也从无数次惨痛的设置失败总结了不少教训,如果那位朋友感兴趣或有什么问题,我可以一定知无不言。

    从6.06开始,scim成了ubuntu默认的输入法,虽然它缺点很多,如果你不满意或者不使用emacs的话,可以安装更加小巧的fcitx,它几乎就是紫光的Linux版,但有点而讨厌的是这个输入法总是要安装一个ubuntu自带的fangsong字体。关于如何安装,可以参考ubuntu的官方指南和ubuntu中文的wiki。

    在6.06中,默认安装后,会有一个语言选择工具,你可以随时在中英文中切换。

    最后,关于gnome

    在ubuntu上使用的桌面环境是gnome,许多人也许更喜欢KDE,我自己无所谓,因为我基本每天都得和服务器打交道,充其量有时候用wmaker或者fluxbox。但在ubuntu上,我认为用gnome比用KDE更自然,虽然它有一个kubuntu的版本。这就好像提到SUSE,就自然联想到KDE一样。有人说KDE更像windows,适合初学者。比如konq对于KDE就像IE对于Windows,不过什么事情还是自己经历一下才能体会到个中微妙的。ubuntu的gnome2.14已经算是各种发行版中界面极尽奢华的一种了,下面是我自己本本上的截图。看到还有一位朋友贴了一张图,估计是3ddesk的效果,大家如果感兴趣并且机器配置,尤其是显卡配置足够,我们几乎可以把gnome打扮成各种匪夷所思的样子,因为借助于xorg7,据说gnome力图超越Mac OS。

    点看全图

    中文的正常显示

    点看全图

    很乱的界面:)

    点看全图

    abiword办公软件

    新科进士本人是铁杆儿的微软用户,虽然新科进士同时也使用了快9年的UNIX/Linux。也许是因为干一行就不爱一行的缘故,和服务器打了9年的交道,早就从骨子里憎恶每天和命令行为伍了。但是因为要吃饭这个最重要的前提,估计这一辈子都离不开黑乎乎的界面。所以新科进士本人对图形界面的操作系统衷爱有加。UNIX/Linux是两个伟大的操作系统,因为它们的许多的架构和软件设计的思维方式足以改变一个程序员对世界和他自身的看法。

    但我总认为科技的目的是为人服务的,包括普通的不具备也没有必要具备相关知识的人服务的。ubuntu的流行其实印证了这种观点,把曲高和寡的东东平民化,用事实来证明自己的长处,ubuntu正一步一步使linux实现这一点。

    元宝推荐:四月一日,铁手, 通宝推:铁手,
    • 家园 文本状态下的字体

      安装甚是简单,硬件支持也不错

      就是文字状态下的缺省字体太差(用CTL_ALT_1-5切换)

      照网上说的改了设置文件,还是不起作用

      卸了,换成Solaris 10了

      关键词(Tags): #字体#文字终端
    • 家园 大哥,我又来两个问题

      find 不支持 -prune参数?

      可是FC却是支持的啊。

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

      for extension in java txt rnc ; do \

      for f in `find . -name "*.$extension" --prune .svn -print` ; do \

      echo Fixing $f ... ; \

      mv $f $f.ORG ; \

      expand --tabs=4 < $f.ORG | sed -e 's/ +$//' > $f ; \

      rm $f.ORG ; \

      done ; done

      find: 无效断言“--prune”

      find: 无效断言“--prune”

      find: 无效断言“--prune”

      问题2:

      sudo apt-get install php

      这一步没有问题。

      sudo php Java/src/fr/upmc/ilp/ilp1/runtime/BinOp.php

      sudo: php: command not found

      怎样才能执行php?非要安装apache吗??

      顺便说一句,你的console图片实在够酷,小弟羡慕不已,能不能发上来共享一下啊?

      • 家园 第二个问题

        十有八九是路径问题,你把php装到哪里去了,把全路径都带到命令上去。

      • 家园 他的console背景是透明的,

        你看到的是桌面的背景吧?

        • 家园 大哥,能不能帮忙回答一下我的正经问题啊。

          我发觉 -prune 其实ubuntu也认,因为没有提示出错,但是没有起到相应的作用。比如:

          $ find /apps -path "/apps/bin" -prune -o -print

          此外,我也不太明白-o的作用,如果大哥知道,还请多指教啦!!

          但是不知道FC里面,我的老师就可以写两个减号--prune

          • 家园 尝试回答一下你的“正经”问题。。。

            -prune只是bash的find命令的一个选项(要求find命令不在当前指定的目录中查找),应该不存在Linux的某个发行版是否支持一说。你碰到的情况我还真不好说,是否打开了depth选项,或者是否有相应的权限。

            -o应该是逻辑或(or)的意思。

            至于你问的PHP问题,估计你需要看看PHP的online手册或者别的什么教科书,PHP和Perl以及Python一样,都是所谓解析性语言,需要解析器来执行源代码。它和apache是不同的概念。PHP也可以说是服务器端脚本语言,它主要是内嵌于HTML文档中,在服务器端执行。你也可以单独使用,就像Perl或者Python那样,甚至还有人拿它来和Tk/Tcl以及GTK一起工作制作GUI程序的,就像wxpython或者Perltk那样。所以使用PHP不一定要安装apache,比如在windows上,可以和IIS一起工作。

            我的Ubuntu终端就像楼上朋友说的,设置成透明,所以显示的是桌面背景,图片是韩国的一个游戏,你在google的图片搜索中找shaiya,就有很多地方可以下载。

            不知道说清楚没有:-)

      • 家园 多打了一个减号

        PHP应该有独立包的

        • 家园 试了,不是减号的问题

          其实这是老师写的程序,在学校里FC4上运行没有问题。我也没有改过,所以我想可能是ubuntu不支持--prune参数吧。不过还是多谢。

          stl@ubuntu:~/workspace/ILP2006_Sep$ make

          for extension in java txt rnc ; do \

          for f in `find . -name "*.$extension" -prune .svn -print` ; do \

          echo Fixing $f ... ; \

          mv $f $f.ORG ; \

          expand --tabs=4 < $f.ORG | sed -e 's/ +$//' > $f ; \

          rm $f.ORG ; \

          done ; done

          find: 路径必须在表达式之前

          Usage: find [-H] [-L] [-P] [path...] [expression]

          find: 路径必须在表达式之前

          Usage: find [-H] [-L] [-P] [path...] [expression]

          find: 路径必须在表达式之前

          Usage: find [-H] [-L] [-P] [path...] [expression]

    • 家园 大哥,ubuntu为什么没带opengl运行库?

      该怎么找啊?

      #include <GL/glut.h>

      void display()

      {

      glClear(GL_COLOR_BUFFER_BIT);

      glBegin(GL_POLYGON);

      glVertex2f(-0.5, -0.5);

      glVertex2f(-0.5, 0.5);

      glVertex2f( 0.5, 0.5);

      glVertex2f( 0.5, -0.5);

      glEnd();

      glFlush();

      }

      int main(int argc, char** argv)

      {

      glutInit(&argc, argv);

      glutCreateWindow("simple");

      glutDisplayFunc(display);

      glutMainLoop();

      }

      stl@ubuntu:~/OpenGL$ gcc simple.c -lglut -lGL -lGLU -lX11 -lm -L/usr/X11R6/lib -o simple

      simple.c:1:21: error: GL/glut.h: No such file or directory

      simple.c: 在函数 ‘display’ 中:

      simple.c:5: 错误: ‘GL_COLOR_BUFFER_BIT’ 未声明 (在此函数内第一次使用)

      simple.c:5: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其

      simple.c:5: 错误: 所在的函数内只报告一次。)

      simple.c:6: 错误: ‘GL_POLYGON’ 未声明 (在此函数内第一次使用)

      stl@ubuntu:~/OpenGL$

    • 家园 写得好。

      我也是喜欢FreeBSD - Debian - Gnome这条线的。

      以前捣鼓FreeBSD的时候,喜欢一切都自己编译源代码后安装。别的都好说,遇到Gnome的时候就彻底完了,自己compile简直就是一个恶梦。源代码之间互相依赖的关系太强了。去了gnome的官方网站上看了一下,看是不得要领。

      最后只好直接安装二进制了。

      赞同进士说的“Gnome比KDE更自然”。

      希望以后Gnome要能象X Window一样做一个大源包,直接几个命令行就可以编译,安装(标准的unix/linux安装方式)就更好了。

      • 家园 http://www.freebsd.org/gnome/

        外链出处

      • 家园 freebsd

        照理,portage tree最早就是在freebsd上的,dependency 应该不是问题。

        还有,从xorg7开始,xwindows也被拆成无穷多个包了

      • 家园 弱弱的回答。。。

        不知道安装后能否出现多系统启动的菜单

        当然可以喽。

        一般用partition magic(分区魔术师)等软件在你现有的硬盘上分出一个空间,大小在4G以上(经验)给ubuntu。剩下的步骤和安装win/linux双系统没什么区别,ubuntu自带的grub会自动识别出已有系统。

分页树展主题 · 全看首页 上页
/ 5
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河