首先说清楚,这里只有安装配置方面的东西,而且常见的步骤我全部以链接形式给出,因为人家基本都写好了,我只不过总结一些得失,说一些经验,然后把所有的东西串起来,再加自己的感悟。这不是一篇系统学习的教程,如果你真的想学好linux,应该买一本书,坐下来钻研。买什么书?这里将给你答案。

之所以开始这篇文章的攥写,是因为自己在近一个星期中熟悉并重新安装ubuntu后,觉得现有的新手指南是在过于分散,很多资料都要不断查询,没有一个完整的,拿来就能把系统安装、定制好的教程。

开始学习linux的时候,我建议选一款比较容易上手的版本,我自己就选择了ubuntu,而且还是集成了很多软件的dubuntu版本。因为我的学习点不在于安装与配置,而是需要学习这底下的编程环境。

Dubuntu 是一个ubuntu的增强版本,主要就是把很多软件和设置都帮你弄好了,很方便。在这里下载到dubuntu的iso后,刻录到光盘上,就可以通过光盘引导安装。不过这里需要注意的是,最好刻录成数据镜像盘,而不是可引导盘。像nero这样的软件,很多时候引导盘都是给你刻了一个dos系统在扇区里面,根本达不到希望引导的目的。

下载后,我们只讨论安装光盘。我是直接把windows format了,因为我认为要想学好linux就不要受windows的影响。直接在我所使用的T43中,改成光驱引导,放入光盘后开机,就可以通过刻录的live CD进行安装。首先通过Live CD进入的系统,就是你将来要安装的系统的模样,只不过这个是个在CD上运行的系统。

通过CD安装,通常在一开始都有提示,如何进入安装环境。安装有三种方法,一种是启动时就不要选择进入图形界面而是命令行界面。但是我认为这种方式不适用于初学者,因此这里不介绍。另外一种是通过进入后桌面上的install全图形化实现。具体的安装方法在这ubuntu的wiki上很详细,我就不多说了。顺便说一句,wiki真的有好多很有用的资料,希望各位多去看一下。

最后一种方式是在桌面上有一个live cd的install,我觉得这个才是最好用的,有一些简单的自定制选项,命令行界面,但是懂英语的基本都能理解。我一直都是在这里安装的。

安装相对来说是傻瓜化的。如果不出意外的话,不到10分钟就能装好。顺便说一句,选择文件系统的时候最好选择reiser,这个文件系统比较新,而且相对来说比ext3都好一些。具体的比较能够在这里看见。

 

在这里说说分区表的编辑。不管是在这里编辑分区,还是安装好后重新分区,分区的把握原则都是:

首先介绍一下linux中的分区概念,这个可是把一开始学习的我害苦了。在 Linux 中规定,每一个硬盘设备最多能有 4 个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。对于早期的 DOS 和 Windows(Windows 2000 以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。
       主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。我们在指定安装引导 Linux 的 bootloader 的时候,都要指定在主分区上,就是最好的例证。
        Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。因此,Linux 下面每一个硬盘总共最多有 16 个分区。
        对于逻辑分区,Linux 规定它们必须建立在扩展分区上(在 DOS 和 Windows 系统上也是如此规定),而不是主分区上。因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。

以前对这些概念不熟,分区上走了很多弯路。那么,到底什么样是一个好的分区方案,我认为见仁见智,我是这样分的。原则上/和/home基本上最好是要单独挂载两个分区,因为home可以看成是windows中的my document,自己个人资料多的话home要大一些。/小一点无所谓,据说至少2G,我也没有试验过。其他的诸如/tmp和/var由于活动文件特别多,为了避免他们的文件碎片对其他区的影响,最好他们挂一个区。最后/opt主要安装大型软件,如果有多余的分区就给他挂一个吧。

ok,我就这样看,首先分一个100M的主分区出来,挂载boot。grub启动时需要的文件都在/ b o o t 目录。这样就算工作分区出了问题,只要这个分区没有问题,同样可以启动。因此最好的办法就是专门为根文件分一个区,大小一般最多64M,我为了保险给了100M。

之后的分区全部以扩展分区形式存在,扩展分区下很多逻辑分区。

首先创建一个交换分区,大小是无力内存的一倍到两倍大。如果你的内存和我一样是1G,就划1G好了。事实上基本用不到这么大。分区格式记着改成linux-swap。

然后创建一个尽量大的分区,给/usr,因为这里存放有大部分的系统软件,包括X Server等图形界面程序。我分了20G。

接下来创建/home的挂载分区。考虑到我的工作文档比较多,源代码和程序也经常放到这里,所以给了10G。

其他的诸如tmp,var等来说,单用户工作机是不用考虑的。当然不知道我的机器以后会不会有服务器应用,我还是给var分了2G的空间。

其他空间就全部挂载给/。虽然一般2G就够了,但是多多益善么。

 

注意:很多时候,如果你使用了ubuntu光盘自带的安装工具分区,会出现很多问题。如果遇到问题过不去,推荐两个办法:

1 在live CD的环境中,在终端下直接用sudo fdisk /dev/xxx 来分区,然后w保存后reboot,之后再进安装工具,手工编辑注册表时它认得的就是你编辑的分区表,不用修改直接下一步即可。我用这个方法解决过一个开始让我很头疼的问题

2 你也可以同样用livecd的fdisk分好区后,用光盘上的livecd installer程序,在命令行下安装。不过这个安装程序只需要你挂载/和swap。那么其他分区怎么办呢?可以先在分好,也可以安装完系统再分。如果将其他分区挂载到希望的目录下?举个例子。如果你想把/home/user挂载到新的sda8分区下,可以这样做:

首先,将/dev/sda8 mount到 /mnt/sda8中。如果没有这个目录就自己mkdir。

然后,cp -R /home/user/* /mnt/sda8/user ,和cp -R /home/user/.* /mnt/sda8/user

最后修改/etc/fstab,增加一行/dev/sda8  /home ext3  defaults  0  2(参数自己确定)即可。

3  如果出现的错误是辨识不出“/”根目录分区, 一般情况下都是你用于挂载“/”分区的那个区不是新分配的,而是延用原来的。这样做是不行的。换句话说,就是必须用一个新分配的分区来挂载“/”。

 

好了。现在我假设你已经把系统装上了。什么?还没有?好好回去看wiki去。恩。首先你啥都别干,看看上面板系统菜单中的首选项和系统管理------oh my god,dunbuntu已经帮我们把很多东西都搞定了,比如有很多常用软件,也有新力得软件安装管理器等,所有环境也都是中文的。那么接下来该做什么呢?

接下来就是修改和设置一些常用的东西,就跟着我一步一步来吧。

 

1. 修改升级源。

基本上你安装完系统之后,会有不少软件包需要更新,一般在上面板会有提示。更新的具体设置请看这里更新的速度取决于连接更新网站的速度。当然,我更加习惯于用apt-get update和apt-get dist-upgrade的组合,我觉得这个更加方便,速度更快。

这里需要注意的是,并不是所有速度快的镜像你都能下载到最新版的更新,所以这个需要你一个一个试验,一直到更新完成为止。当然,源嘛,越多越好,就算把全世界的源都添加进取也可以。在升级内核的时候,理论上升级到686并把386相 关模块一起删除是自动的,不过最好完了以后手工检查一下,手工升级的命令是sudo install apt-get linux-686 ,然后你sudo apt-get remove linux-image-,此时不要回车,按两下tab键,看看自动补齐命令给你找到的你能删除的文件有没有linux-image-386,没有就不管它了,有就加上去后回车remove。同样的方法适用于linux-restricted-modules-2.6.15-23-386  linux-restricted-modules-386 linux-386 linux-image-2.6.15-23-386等老内核的remove。

上面给的那个连接中,除了更新外对我们有些作用的就是字体安装与美化。其他的dubuntu已经都帮我们做完了。当然,你想多学一些,也行,呵呵。

 

2 字体设置。

例如安装wqy字体什么的,在这篇文章中讲述得非常详细,我就不多说了。唯一需要指出的一点,就是很多朋友说,/etc/fonts/conf.d下没有50-xfonts-wqy.conf这个文件阿?其实是让你自己新建一个。完了之后,需要在系统字体设置中修改,上面的文章有讲,请点击察看。

不过我安装完后觉得还是不够好看,于是就按照这篇文章上面的内容进行美化,感觉还不错。如果你也对wqy不是特别满意可以试验一下。上面需要的文件我都放在我主页的下载空间里面了。请在看上面介绍的文章的时候把回复看完,作者有些时候写得也有问题,在回复的讨论中才把这些问题解决。

补充一点,如果是在ubuntu6.10 下,所要修改的配置文件是/etc/fonts/language-selector.conf,而不是目录下的fonts.conf,否则将无法进入图 形界面。注意:在修改之前一定要将原来的文件进行备份,以防出现问题无法恢复。将language-selector.conf 修改后可以进入图形界面,但是选择Verdana和Tahoma字体还是无法正常显示,显示一堆方框。在文件浏览器上可以看到的拷贝过来的字体文件在右上 角有个红色的叉,这需要修改字体的阅读权限,命令如下: sudo chmod 664 /usr/share/fonts/zh_CN/* 这时候再重启系统即可。

 

3 打开显卡3D加速。

目前绝大多数文章中介绍的方法都是过时的,自从8.23版本以后,安装的方法就完全变了。具体的安装方法在linuxsir上有,我把适用于intel内核的,笔记本的安装方法大概说一下:

首先,把系统中已有的驱动删除。

然后去www.ati.com下载最新驱动。32位是:
ati-driver-installer-8.25.18-x86.run
       需要注意,如果你是集成显卡,或者笔记本,ati都有专门的选项让你下载,请一定要看懂那个英文目录。
       然后在下载文件所在目录开终端:


       进入下载目录,空白处点右键,打开终端、
chmod 755 ati-driver-installer-8.25.18-x86.run
./ati-driver-installer-8.25.18-x86.run --buildpkg ubuntu/ubuntu-IA32
       具体名称最好自己确定。运行完以后继续:
su
       输入密码进入终端
rpm -ivh fglrx_6_9_0_SUSE101-8.25.18-1.i386.rpm

然后进入运行级别3,可以退出到kdm/gdm界面,然后进入终端模式,再init 3。不会就重启,选定平时正常启动那一项,Boot Option:后面输入3,回车。


       然后以root登录。运行:
aticonfig --initial --input=/etc/X11/xorg.conf
       理论上已经行了,为了保险:运行
sax2 -r -m 0=fglrx

       然后运行
reboot
       就会进行重启了。之后应该就可以了。

在这里想多说几句。论坛上无数人像这样安装驱动之后都以无法关机,无法启动等结果告终。原因?连ATI官方都承认,其对开源系统的支持不佳。特别是诸如X300,X550这样的稍显低端的显卡。本来说要改进,可是直到8.26系列的驱动也同样存在bug。怎么说呢,个人意见是如果bug问题没有解决,你又不需要多高的3D性能,就别安装驱动了。现在用着不挺好么,本来linux也就不是拿给你看电影玩游戏的。

请注意,由于显卡驱动的安装方法随时都在变化,所以最好是看看ubuntu中国上的这篇文章,这里是随时更新的。 

 

4 一些其它设置

由于我是笔记本,希望合上屏幕后就待机,和windows一样,因此我修改 /etc/acpi/events/lidbtn,把其中的action=/etc/acpi/lid.sh改成 action/etc/acpi/sleep.sh sleep 。实际上现在可以在图形界面中修改,单击系统-首选项-电源管理,然后自行设置吧。 

面板是一个很个性化的东西,这里需要各位自己去组合程序,制定自己的面板。我只说如何在面板上显示网速、CPU温度和CPU频率

sudo apt-get install netmon-applet sensors-applet

这样可以添加网络速度监测以及温度检测。频率监测系统自带了。然后运行下面这个命令

sudo chmod +s /usr/bin/cupfreq-selector

这样不只可以显示CPU频率,还可以选择以使CPU在特定频率上工作。最后放在面板的哪里自己决定。总之这个网速监测的显示搞得我很头疼,面板太小,他字太长害得我专门做了个右面办来显示这些信息。

这里还需要说的是用户名。我在用dubuntu光盘安装后有一个默认用户名dubuntu/dubuntu。我一开始不喜欢这个用户名,就直接删除了,并adduser了一个likun用户名。事实证明这样新建的用户名似乎不属于管理组,也就是不具有管理员权限,还需要设置,这对于新手来说是很麻烦的。因此这里推荐,之需要修改这个用户名的资料即可。打开系统--系统管理--用户和组,这里可以设置除了用户名以外的其他一切资料,包括主目录。请注意!请不要删除你的主目录,如果你希望更改主目录,请用mv命令将其更名为你希望的名字即可,这样里面的文件将全部保留。最后,用usermod -l将dubuntu这个用户名改为你希望的用户名,这样你就可以拥有一个具有管理员权限的用户了。 
        当然,如果你觉得拥有管理员权限不安全,就想要一个普通用户,当我没说。不过注意,普通用户新建后还要add到相应的组中才有相关操作权限,比如你无法控制音量,除非将user添加到好像是voice组中。而且你还不能直接使用移动存储设备,不管是自动mount还是手工mount。除非你把user加到plugdev组中。

5 自动登出终端或系统

系统的安全还是比较重要的,首先不建议打开图形化下的root登录权限,虽然设置比较简单。其次虽然ubuntu官方建议不要动root的密码,让他继续随机,所有操作sudo完成,但是我还是sudo passwd root了,我觉得有些时候su root后操作要方便得多。当然一般还是sudo为好。关于终端操作的问题,这里讲得很清楚。顺便说一句,打开/etc/profile,编辑,加上一句TMOUT=3600
        表示一小时系统不操作后自动退出。数字的单位是秒(废话)。这样的好处在于,如果你以root身份在操作,只要操作停止xx秒,终端就自动退出了。如果你希望是隔一段时间就登出系统的话,需要做以下事情 
        1 将linux的启动权限设置为3,具体请修改/etc/inittab。如何设置请google。启动后会出现命令行的登陆界面,此时登陆后,startx就进入图形界面了。
        2 把这东西设置成你登录用户bash的“全局变量”,也就是用export。具体方法同样请google。再重新启动。
        3 这样做的目的是,如果不在启动xwindows(gnome)之前就登陆的话,读取配置文件将在启动桌面程序之后进行,这样你只能在指定时间内登出你在系统中打开的terminal。而如果你在没有启动xwindows的时候就登陆读取配置文件,登出的对象就是包括界面程序在内的东西。 

6 自定义终端的一些配置。

出于方便,我就直接选择适用了Gnome-terminal,现在这个终端速度也不错,感觉上外观什么的也不错。编辑终端的配置主要编辑.bashrc和.bash_profile两个文件均可。事实上,有四个文件与配置有关,/etc/profile, /etc/bashrc, ~/.bash_profile和 ~/.bashrc。 ~/.bash_logout会在shell启动的时候被用到,而是在用户注销登陆的时候被读取。 /etc/profile 和 ~/.bash_profile 是在启动一个交互登陆shell的时候被调用。~/.bashrc 是在一个交互的非登陆shell启动的时候被调用。我每次都是修改的~/.bashrc,直接就奏效。

当然,这并不是说你想改哪里就改哪里的。一般来说,系统全局变量和初始程序包含于/etc/profile。个人的环境变量和初始程序应该在~/.bash_profile中。个人的别名和函数设置应该放在 ~/.bashrc里面。我修改的一般都是alias以及一些显示的东西,所以直接就在bashrc里面修改了。举个例子,我希望ll命令显示出来的文件,大小不是千篇一律的byte,而是有K,M等单位,就alias ll = ll -h。

7 关于备份。

现在......刚装完系统就说备份?nonono,是不是不耐烦了?唉,未雨绸缪么。还是介绍一下。介绍之前首先请你看一下这篇文章。ok,我认为,大多数内容这篇文章已经讲得很完善了。不足之处?恩,我现在就告诉你。                

作为用户,总是希望自己的资料越全越好,如果你真的这么想......那么就除了/proc和/dev,其它全部备份吧。当然,这样做得到的结果总是很大的。我个人认为,一般来说只要大的系统不变,个人资料不变就可以了,软件么....../usr挂载单独的分区的话,不格式化,可能问题不大。其他的,重新弄一下,不多,还起熟悉作用。所以只需要备份几个最为常用的目录就行了。哪些是常用目录呢?

  • /etc
    包含所有核心配置文件。这其中包括网络配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。
  • /var
    包含系统守护进程(服务)所使用的信息,包括 DNS 配置、DHCP 租期、邮件缓冲文件、HTTP 服务器文件、db2 实例配置,等等。
  • /home
    包含所有用户的默认用户主目录。这包括他们的个人设置、已下载的文件和用户不希望失去的其他信息。
  • /root
    是根(root)用户的主目录。

        ok,我认为就备份这几个就可以了。如果你用的ext3文件系统,直接用dump备份就行了。补充一下,如果你不是疯子.......我还是建议你除了学习这个方法外,最好还是使用专门的软件进行定期备份。啥都有价,数据无价阿!

        这里还要多说几句,就是其实大多数情况下,你重新安装系统的时候,都可以在原来的分区上挂载home,usr等分区,不选择重新格式化,那么就可以保存所有的资料,安装在usr或者home里面的软件还照常使用,相当方便。唯一需要注意的是,由于前述“/”分区的挂载问题,决定了“/”分区是肯定要被格式化的,因此主要备份工作针对“/”分区就行了,例如安装大型软件的opt和配置聚集地etc区。
     

  • 8 其他。

    首先顺便说一句,ln -s /home/xx /home/xx/Desktop通常方便与你访问自己的home。(xx表示你的用户名)

    其次,如果希望自行安装软件,除了apt-get外,你需要适应更多的安装方式,包括自行编译源代码等。

    第三,也许很多命令你都不熟悉,没关系,首先用命令 --help,就会出现中文解释。如果你觉得还不够味,没有讲清楚,再输入man 命令。这下就ok了吧?

    第四,相信很多朋友和我一样,都是直接使用的firefox。从maxthon转到firefox,说实话,不客气得评论,firefox的人性化的路还有很长。比如超级拖曳,重新开启后默认打开上次浏览网页等我最喜欢的功能都没有,幸好还有中键支持。当然,我是不喜欢老按鼠标中键的,也不是所有人鼠标中键都是一个按键,因此在这里推荐两个插件:super dragandgo 以及 sessionsaver2 。具体的安装文件什么的自己去google吧。插件不推荐太多,本来firefox就占用内存,插件多了对性能一般的朋友来说更加不爽。

    第五,如何在ubuntu上搭建c开发环境呢?首先
    apt-get install build-essential
            这样就拥有了大部分gnu的开发工具。然后
    apt-get install manpages-dev
            这样可以使用man命令在Linux Programmer's Manual中查看fork等函数的帮助了。

  • 最后说说mount的问题。虽然dubuntu把mount的东西都给你做好了,光驱和u盘都可以直接使用了,但是最好理解mount的东西,以及fstab下内容的修改。

  • 理解 /etc/fstab

    /dev/hda5
    ext3 defaults 1 1
    /dev/hda2 /boot ext3 exec,dev,duid,rw 1 2
    /dev/hda6 swap swap defaults 0 0
    /dev/scd0 /mnt/cdrom auto ro,noauto,exec 0 0
    none /dev/pts devpts id=5,mode=620 0 0
    none /proc proc defaults 0 0
    none /dev/shm tmpfs defaults 0 0

    每一行表示一个要装载的文件系统。第一列指出的是要装载的设备。第二列是装载点,也就是设备在文件系统中的位置。第三列指出了文件系统的类型。第四列是处理文件系统的选项。最后一列是文件系统的标志位。第一个数字是 1 或者 0,指定系统是否应该用 dump(系统备份的一个选项)进行复制。第二个数字是 0、1 或者 2,指定了在引导时检查文件系统的次序。0 表示完全不检查。1 表示要最先检查, root (/) 文件系统需要指定为 1。其他文件系统应该是 2。

    在上面列出的 fstab 文件中,root 文件系统位于第一个 IDE 硬盘驱动器的第五个分区中,这个分区是扩展分区的第一个逻辑驱动器。/boot 文件系统位于第一个 IDE 硬盘驱动器的第二个主分区中,其中存放的是内核启动文件。交换分区位于第一个 IDE 硬盘驱动器的第六个分区,也就是扩展分区的第二个逻辑驱动器。列表中的其他文件系统相应的设备是“none”。我们马上就要阐述这一问题。现在我们先来关注物理磁盘。

    什么都是文件

    在 Linux 中,文件系统由类似于文件的名称来表示。在 /dev 目录下的所有文件都是称为 nodes 的特殊文件,它们通过设备驱动程序链接到物理设备。这就使得您可以做一些有趣的事情。例如,为制作一张 CD 的 ISO 映像,您可以使用 cp (copy) 命令:

    
    cp /dev/cdrecorder MyCD.iso

    这样复制的是一个二进制映像而不是 CD 的文件结构。

    以文件为中心的方法还允许您可以为设备名称指定有意义的别名。例如,通常有一个叫做 /dev/cdrom 的别名,指向物理 CDROM 设备,而这个设备通常是 /dev/hdc。 一旦创建了别名,您就可以通过 /dev/cdrom 访问那个设备,这样更好记。别名技术还允许您标准化脚本,使这些脚本可以在物理配置不同的系统上使用。

    第四列中的选项将随文件系统类型而不同。在上面的例子中,/ 和 /boot 的装载选项为“default”。也就是说,它们使用异步 I/O 以可读写方式自动装载。只有 root 可以装载或者缷载设备,但是用户可以执行二进制文件和使用“sticky bit”(稍后介绍)。文件系统将被作为块字符设备来处理。然而,对 /mnt/cdrom 来说,选项就不同了。它不会被自动装载,并且将会作为只读文件系统装载。用户将可以在该文件系统中执行脚本和程序。

    添加文件系统

    在 /etc/fstab 文件中添加新的一行,您就可以将文件系统添加到 /etc/fstab。作为一个实际的例子,我有一个 RAID 设备,存储的是部门所用到的文件资源。这个设备中只有数据文件,并且保持与操作系统分离,这样在出现硬件故障时可以将它转移到另一个系统。RAID 已经配置好,在 Linux 中识别为 /dev/sdc,即第三个 SCSI 设备。在第一个分区上创建了带日志的 ext3 文件系统,这样我们通过 /dev/sdc1 就可以访问它。我希望在计算机引导时自动将这个 RAID 装载到文件系统中。之后只要创建一个/data文件就可以了。

    /dev/sdc1 /data ext3 defaults 0 0

          这样,在引导时RAID就会像/和/boot系统一样被装载。

          这个内容是在IBM的网站上的。事实上,那里的内容才是进阶内容,欢迎观看。总共9个部分,不要错过哦。我还在这个网站上找到了关于安装软件网络设置的文章。欢迎你去淘金。

  • 9 关于GRUB 

  •    很遗憾,我自己也是新手,无法提供给大家更多的GRUB知识。不过我可以推荐两篇文章:一篇是“系统引导管理器 GRUB 为初学者指南 ,还有一篇是Grub错误之总结报告。可以点击名称直接查看。

  • 文章就写到这里。由于自己也是超级新手(用linux不到一周),肯定有错误,欢迎指正,讨论。