安装 Linux 应知的十件事:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Wvron留言 | 贡献
New page: Linux不是Windows,尽管它们也有相似之处,但你必须意识到,在你能舒舒服服的使用Linux 之前,可能得先学些处理事情的新方式。Linux是个UNIX的...
 
Yiding.he留言 | 贡献
无编辑摘要
第1行: 第1行:
Linux不是Windows,尽管它们也有相似之处,但你必须意识到,在你能舒舒服服的使用Linux 之前,可能得先学些处理事情的新方式。Linux是个UNIX的开源克隆版本,UNIX是个在DOS和Windows之前就已存在的健壮的多用户操作系统(OS)。下列条款一般而言适用所有基于UNIX的*nix系统,如Linux和各种BSD发行版。鉴于本文之目的,假定它是各种Linux发行版。
Linux 不是 Windows。尽管它们也有相似之处,但你必须意识到,在你能舒舒服服的使用 Linux 之前,可能得先学习一些处理事情的新方式。Linux 是 UNIX 的开源克隆版本,UNIX 是个在 DOS 和 Windows之前就已存在的健壮的多用户操作系统(OS)。下列条款一般而言适用所有基于 UNIX 的 *nix 系统,如 Linux 和各种 BSD 发行版。鉴于本文之目的,假定它是各种 Linux 发行版。


下面是你应知道的十件事
下面是你应知道的十件事


1. 文件系统
== 文件系统 ==


和那些为每个盘建立一棵文件树的操作系统不同,Linux的整个文件系统就是一棵巨大的树结构。最顶部是/(Root根),所有文件夹、文件和驱动盘都是这个Root的分支。
和那些为每个盘建立一棵文件树的操作系统不同,Linux 的整个文件系统就是一棵巨大的树结构。最顶部是"/"(根目录),所有的文件夹、文件和驱动盘都是这个 Root 的分支。


例如,假定你有两个硬盘驱动器(名为a和b),一个软盘驱动器和一个CD-ROM。第一个硬盘上有两个分区(名为a1和a2)。在Windows里,其组织如下:
例如,你有两个硬盘驱动器(名为 a 和 b),一个软盘驱动器和一个 CD-ROM,第一个硬盘上有两个分区(名为 a1 和 a2)。那么在 Windows 里,其组织如下:


* 硬盘a, 分区一(hda1): '''C盘'''
* 硬盘a, 分区二(hda2): '''D盘'''
* 硬盘b(hdb1): '''E盘'''
* 软驱: '''A盘'''
* 光驱: '''F盘'''


+ 硬盘a, 分区一(hda1): C盘
而在 Linux 里,你将只有一个文件系统,而非上述 Windows 里列出的五个。每个盘都被挂载到这个树结构,操作起来与文件夹相仿。各个盘的组织可以是如下方式:


+ hda2: D盘
* hda1: '''/ (根目录)'''
* hda2: '''/home'''
* hdb1: '''/home/user/music'''
* 软驱: '''/mnt/floppy'''
* 光驱: '''/mnt/cdrom'''


+ hdb1: E盘
我们的 D 盘和 E 盘都附加在 C 盘里,因此无需回到顶部才能切换不同盘。这一切换动作和我们从一个文件夹进入另一个文件夹一致。对于软驱和光驱也是如此,它们都作为这个文件系统的一部分加载在 /mnt 目录下。实际上,这些盘几乎可以加载在 Linux 系统的任意一处,这取决于安装程序或 /etc/fstab 文件的设定,该文件告诉计算机把东西(译注:驱动器,分区等等)加载到何处及如何处理它们。 See Figure A.
 
+ 软驱: A盘
 
+ 光驱: F盘
 
在Linux里,你只有一个文件系统,而非上述Windows里列出的五个。每个盘都被挂载到这个树结构,操作起来与文件夹相仿。各个盘的组织如下:
 
+ hda1: / (our Root)
 
+ hda2: /home
 
+ hdb1: /home/user/music
 
+ 软驱: /mnt/floppy
 
+ 光驱: /mnt/cdrom
 
我们的D盘和E盘都附加在C盘里,因此无需回到顶部才能切换不同盘;这一切换动作和我们从一个文件夹进入另一个文件夹一致。对于软驱和光驱也是如此,它们都作为这个文件系统的一部分加载在/mnt目录下。实际上,这些盘几乎可以加载在Linux系统的任意一处,这取决于安装程序或用户对 /etc/fstab文件的设定,该文件告知计算机把东西(译注:驱动器,分区等等)加载至何处及如何处理它们。 See Figure A.


点击在新窗口中浏览此图片
点击在新窗口中浏览此图片


2. 模块化系统
== 模块化系统 ==


想想Windows XP,Win2k,Win98,Win95和Apple OS X的内部构造吧。每个系统的内部组件构成不同,图形界面也不一样。如果你想要XP的Media Player、Win98里的文件管理器、Win2k的稳定性和OS X的漂亮界面集于一身呢?在Linux里,系统的每个方面都各自独立,因此你可以混和搭配各个部分,来构建自己的"弗兰肯斯坦"系统。你可以从各种不同的软件里挑出自己想要的防火墙、多媒体播放器和文件管理器。
想想 Windows XP,Win2k,Win98,Win95 和 Apple OS X 的内部构造吧。每个系统的内部组件构成不同,图形界面也不一样。如果你想要 XP 的 Media Player、Win98 里的文件管理器、Win2k 的稳定性和 OS X 的漂亮界面集于一身呢?在 Linux 里,系统的每个方面都各自独立,因此你可以混和搭配各个部分,来构建自己的"弗兰肯斯坦"系统。你可以从各种不同的软件里挑出自己想要的防火墙、多媒体播放器和文件管理器。


微软"塔式"操作系统的方方面面都是互连和相互依赖的,与此不同,Linux系统则像个大市场:每件东西都为共同的利益一起工作,但是即便厂商(系统的独立部分)被排除在外,该系统仍能运作。不需要多媒体播放器或文件管理器吗?那就干掉它!你的系统不会变成破塔一座。
微软"塔式"操作系统的方方面面都是互连和相互依赖的,与此不同,Linux 系统则像个大市场:每件东西都为共同的利益一起工作,但是即便厂商(系统的独立部分)被排除在外,该系统仍能运作。不需要多媒体播放器或文件管理器吗?那就干掉它!你的系统不会变成破塔一座。


这种模块化便是如此众多的Linux发行版(通常称为distro)存在的原因。任何个人或公司都可以混和和搭配自认为最有用的程序,然后给这个合集取个响亮的名字。RedHat, Xandros, SimplyMEPIS和Suse就是几个典型的发行版。
这种模块化便是如此众多的 Linux 发行版(通常称为 distro)存在的原因。任何个人或公司都可以混和和搭配自认为最有用的程序,然後给这个合集取个响亮的名字。RedHat, Xandros, SimplyMEPIS 和 Suse 就是几个典型的发行版。


一些懒虫使用一些大型发行版所提供的设置,不过会替换其中的程序。这便是Linux的风格,就长期而言,混和搭配的方式给用户更多选择。 DistroWatch.com目前罗列的Linux发行版超过350个。其中的许多发行版是为服务特定人群而定制的,但稍加调整都可以运行同一个程序。
一些懒虫使用一些大型发行版所提供的设置,不过会替换其中的程序。这便是 Linux 的风格,就长期而言,混和搭配的方式给用户更多选择。 DistroWatch.com 目前罗列的 Linux 发行版超过 350 个。其中的许多发行版是为服务特定人群而定制的,但稍加调整都可以运行同一个程序。


程序可以替换,图形用户界面(GUI)也是如此。GUI可以为你提供一个现代操作系统的外观式样,包括鼠标、程序图标和菜单等。任何Linux系统(对了,得是在真正的电脑上运行的,而非电话机上)都可以使用大量不同的GUI之一,正如它能运行多种web浏览器或不同的email客户端程序。
程序可以替换,图形用户界面(GUI)也是如此。GUI 可以为你提供一个现代操作系统的外观式样,包括鼠标、程序图标和菜单等。任何 Linux 系统(对了,得是在真正的电脑上运行的,而非电话机上)都可以使用大量不同的 GUI 之一,正如它能运行多种 web 浏览器或不同的 email 客户端程序。


想让自己的系统看上去和Windows想象吗?采用XP主题的FVWM即可。追求更快的速度?可以试试IceWM。想要更多功能?试试GNOME或KDE 把。上述这些GUI都有各自的优缺点,但它们都为用户提供了一个可用鼠标操作的界面。尽管这可能造成每个Linux屏幕不同,但它们在幕后都做着一样的工作;多观察观察,就能体会到这一点。
想让自己的系统看上去和 Windows 想象吗?采用 XP 主题的 FVWM 即可。追求更快的速度?可以试试 IceWM。想要更多功能?试试 GNOME 或 KDE 吧。上述这些 GUI 都有各自的优缺点,但它们都为用户提供了一个可用鼠标操作的界面。尽管这可能造成每个 Linux 屏幕不同,但它们在幕後都做着一样的工作;多观察观察,就能体会到这一点。


3. 硬件、软件及其之间的一切
== 硬件、软件及其之间的一切 ==


自诞生起的短短几年里,Linux已有了长足的发展。其历史还不到Microsoft Windows的一半,但Linux却更强大、更稳定,资源要求也低,在图形界面上也堪与那个来自Redmond(译注:微软总部所在地)又昂贵又不稳定的OS媲美(若非更好的话)。
自诞生起的短短几年里,Linux 已有了长足的发展。其历史还不到 Microsoft Windows 的一半,但 Linux 却更强大、更稳定,资源要求也低,在图形界面上也堪与那个来自 Redmond(译注:微软总部所在地)又昂贵又不稳定的 OS 媲美(若非更好的话)。


Linux 的一个不足是目前还未得到厂商的广泛支持。譬如,如果你真的很喜欢QuickBooks,那么抱歉,Linux上没法直接运行该软件。目前已有多个项目试图让Windows程序可在Linux中运行,比如Cross Over Office和Wine,但并不总是有效,要视Windows程序而定。除非软件厂商决定将其程序移植到Linux上,否则你就无法在Linux上直接运行这些程序。
Linux 的一个不足是目前还未得到厂商的广泛支持。譬如,如果你真的很喜欢 QuickBooks,那么抱歉,Linux 上没法直接运行该软件。目前已有多个项目试图让 Windows 程序可在 Linux 中运行,比如 Cross Over Office 和 Wine,但并不总是有效,要视 Windows 程序而定。除非软件厂商决定将其程序移植到 Linux 上,否则你就无法在 Linux 上直接运行这些程序。


当然,也并非一无所有。可在Linux上直接运行的开源软件多达15000个。由于这些程序(通常)是免费的,因此其质量参差不齐,不过大部分程序都写的很棒,而且仍在不断改进中。这些程序还能导入和导出非本地文件类型。GNUCash可以很好的读取那些QuickBooks 文件, OpenOffice.org能读取MSWord的*.doc文件。如果你不喜欢GNUCash,也别失望,还有其它功能类似的程序可免费取得。越来越多的软件公司已开始发布对应的Linux版本。
当然,也并非一无所有。可在 Linux 上直接运行的开源软件多达 15000 个。由于这些程序(通常)是免费的,因此其质量参差不齐,不过大部分程序都写的很棒,而且仍在不断改进中。这些程序还能导入和导出非本地文件类型。GNUCash 可以很好的读取那些 QuickBooks 文件, OpenOffice.org 能读取 MSWord 的 *.doc 文件。如果你不喜欢 GNUCash,也别失望,还有其它功能类似的程序可免费取得。越来越多的软件公司已开始发布对应的 Linux 版本。


硬件的情况也差不多。正如你不能期望货架上的每个硬件在苹果机上都好使,Linux也是如此。大部分标准硬件工作完好;硬盘、内存、闪盘、主板、NIC和数码相机在Linux下都没什么问题。稍新的、最新的硬件可能会有问题。除非硬件厂商自己提供Linux的支持,否则这些硬件工作所需的驱动程序就必须得由 Linux社区编写,而这是由社区成员的业余时间无偿完成的。
硬件的情况也差不多。正如你不能期望货架上的每个硬件在苹果机上都好使,Linux 也是如此。大部分标准硬件工作完好;硬盘、内存、闪盘、主板、NIC 和数码相机在 Linux 下都没什么问题。稍新的、最新的硬件可能会有问题。除非硬件厂商自己提供 Linux 的支持,否则这些硬件工作所需的驱动程序就必须得由 Linux 社区编写,而这是由社区成员的业馀时间无偿完成的。


由于硬件厂商通常直接与微软合作以保证兼容性,而让Linux志愿者自行解决Linux上的硬件支持,因此和Windows支持相比,Linux总有些滞后。笔记本通常因其不标准的硬件而声名狼藉,哪怕要在Linux里映射一个专有键都是一个不小的挑战。好消息是,正如软件那样,越来越多的公司看到了 Linux的未来,对Linux的硬件支持也不断在改观。
由于硬件厂商通常直接与微软合作以保证兼容性,而让 Linux 志愿者自行解决 Linux 上的硬件支持,因此和 Windows 支持相比,Linux 总有些滞後。笔记本通常因其不标准的硬件而声名狼借,哪怕要在 Linux 里映射一个专有键都是一个不小的挑战。好消息是,正如软件那样,越来越多的公司看到了 Linux 的未来,对 Linux 的硬件支持也不断在改观。


Linux 机器的硬件和软件之间一切都由内核主宰。内核负责硬件和软件的连接,每隔几个礼拜就可以在Internet上获取更新后的内核;现在的最新版本是 2.6.14。如果你的硬件目前未被支持,换一个更新的内核就有可能解决问题。当然,要自己安装内核并非易事;这时,就轮到软件包管理器出场了。
Linux 机器的硬件和软件之间一切都由内核主宰。内核负责硬件和软件的连接,每隔几个礼拜就可以在Internet上获取更新後的内核;现在的最新版本是 2.6.24。如果你的硬件目前未被支持,换一个更新的内核就有可能解决问题。当然,要自己安装内核并非易事;这时,就轮到软件包管理器出场了。


4. 软件包管理器 - 让程序安装更简单
== 软件包管理器 - 让程序安装更简单 ==


在Linux 里安装程序有许多方法,但是最简单的方法是使用发行版自带的包管理器(Package Manager PM)。PM可以确保安装上所需的缺失文件(也称为依赖包),以便程序正确运行。发行版的选择常常归结到自己喜欢的PM类型,不过只要你能找到对应发行版的软件包,任何Linux软件都可安装成功。
在 Linux 里安装程序有许多方法,但是最简单的方法是使用发行版自带的包管理器(Package Manager PM)。PM 可以确保安装上所需的缺失文件(也称为依赖包),以便程序正确运行。发行版的选择常常归结到自己喜欢的 PM 类型,不过只要你能找到对应发行版的软件包,任何 Linux 软件都可安装成功。


这些PM通常都有程序的在线源,应用程序的安装可以简单到,只需在源里搜索该程序,然后点击安装。在PM列表里找不到IceWM或MPlayer?放心,总有办法添加一个包含有所需软件的新源。典型的PM包括:用于Debian及其衍生版本的 Synaptic(基于dpkg和Apt);RedHat及其衍生版本的Yum;SuSE及其衍生版本的YaST2;以及Gentoo的Emerge等。
这些PM通常都有程序的在线源,应用程序的安装可以简单到,只需在源里搜索该程序,然後点击安装。在 PM 列表里找不到 IceWM 或 MPlayer?放心,总有办法添加一个包含有所需软件的新源。典型的 PM 包括:用于 Debian 及其衍生版本的 Synaptic(基于 dpkg 和 Apt);RedHat 及其衍生版本的 Yum;SuSE 及其衍生版本的 YaST2;以及 Gentoo 的 Emerge 等。


5. 权限
== 权限 ==


Linux 支持多用户,并将用户分成组。用户对自己的文件拥有读、写或执行(read,write,execute R/W/X)权限,以及改变这些权限的权限。由于Linux的设计目标是多用户,因此每个用户都有自己的密码,这样可以限制别人对其文件的访问。这些就是所谓的用户权限。
Linux 支持多用户,并将用户分成组。用户对自己的文件拥有读、写或执行(read,write,execute R/W/X)权限,以及改变这些权限的权限。由于 Linux 的设计目标是多用户,因此每个用户都有自己的密码,这样可以限制别人对其文件的访问。这些就是所谓的用户权限。


每个用户都属于一个或多个组,用户可以设置自己的文件/文件夹权限,可让同组其它用户读取但不能写这些文件,或其它 /R/W/X三项的组合。这就是组权限,比如Joe和Susan同属Accounting组,那么他们可以允许Accounting组成员访问各自的文件,同时限制Sales组成员访问自己的文件。
每个用户都属于一个或多个组,用户可以设置自己的文件/文件夹权限,可让同组其它用户读取但不能写这些文件,或其它 /R/W/X(读/写/执行)三项的组合。这就是组权限,比如 Joe 和 Susan 同属 Accounting 组,那么他们可以允许 Accounting 组成员访问各自的文件,同时限制 Sales 组成员访问自己的文件。


其它权限则可以允许或拒绝组外的任何人访问这些文件。这些权限的存在是出于整个系统的安全,还有每个用户的数据的安全。大部分家庭用户只需保留文件的默认权限即可。 (See Figure B)
其它权限则可以允许或拒绝组外的任何人访问这些文件。这些权限的存在是出于整个系统的安全,还有每个用户的数据的安全。大部分家庭用户只需保留文件的默认权限即可。 (See Figure B)
第80行: 第71行:
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片


Root根用户(不要和文件系统的/即根目录混淆),如管理员,有权处置所有文件,是唯一能够更改系统全局设置的用户。根用户拥有自己的密码,用来进行系统维护。这一差别可以防止普通用户在系统上安装有害的间谍软件,或删除重要文件。
Root 根用户(不要和文件系统的/即根目录混淆),如管理员,有权处置所有文件,是唯一能够更改系统全局设置的用户。根用户拥有自己的密码,用来进行系统维护。这一差别可以防止普通用户在系统上安装有害的间谍软件,或删除重要文件。


6. 主目录
== 主目录 ==


Windows 里有“我的文档”,但是那些不是文档的文件又该放到哪儿呢?答案通常是Windows的桌面!Linux里的桌面也可能搞的乱糟糟,不过每个用户都有自己的主目录,通常位于/home/user。在主目录里,你可以存放文档(/home/user/documents)、程序连接、音乐(/home/user/Music)或其它任何东西。我们可以在主目录里创建文件和文件夹,随意进行组织或胡乱堆砌,就像在我们自己的家里那样。根据我们的权限设置,我们可以允许或拒绝任何其他用户(Root用户除外)访问这些文件。
Windows 里有“我的文档”,但是那些不是文档的文件又该放到哪儿呢?答案通常是 Windows 的桌面!Linux 里的桌面也可能搞的乱糟糟,不过每个用户都有自己的主目录,通常位于 /home/user。在主目录里,你可以存放文档(/home/user/documents)、程序连接、音乐(/home/user/Music)或其它任何东西。我们可以在主目录里创建文件和文件夹,随意进行组织或胡乱堆砌,就像在我们自己的家里那样。根据我们的权限设置,我们可以允许或拒绝任何其他用户(Root 用户除外)访问这些文件。


7. 默认安装有区别
== 默认安装有区别 ==


不同的 Linux发行版之间有一些区别,比如某些文件的存放位置或某些缺省程序的名字等。知道RedHat和SuSE 的文件系统可能有些区别就已是一个很好的开始。大部分用户无需知道那些区别的细节,但是应当知道其内部文件系统可能有些微不同。在寻求帮助时,务必让人家知道自己运行的发布版。如果使用系统时未遇到麻烦或者自己也不想区设置复杂的幕后操作,那就别为此费太多心思。
不同的 Linux 发行版之间有一些区别,比如某些文件的存放位置或某些缺省程序的名字等。知道 RedHat 和 SuSE 的文件系统可能有些区别就已是一个很好的开始。大部分用户无需知道那些区别的细节,但是应当知道其内部文件系统可能有些微不同。在寻求帮助时,务必让人家知道自己运行的发布版。如果使用系统时未遇到麻烦或者自己也不想区设置复杂的幕後操作,那就别为此费太多心思。


8. 命令行界面(CLI)或"如何运行"
== 命令行界面(CLI)或"如何运行" ==


在类似开始(译注: Windows里的那个Start菜单)的菜单里,xterm程序(也称控制台)可以启动一个终端,和DOS窗口有点相近,但实际上它比DOS出现更早,功能也更强大。这就是命令行界面(Command Line Interface CLI),是我们喜欢的OS之源头,每个Linux发行版里都有。在此我们不会深入细节,那得写上好几本书,总之CLI是个很有用的工具,查找/解决计算机系统故障时常要用到它。如果你在Internet上寻求帮助,而有人要你运行lspci,实际上是要你启动xterm,输入lspci,敲入回车键,然后提供给他们屏幕上的输出。
在类似开始(译注: Windows 里的那个 Start 菜单)菜单里,xterm 程序(也称控制台)可以启动一个终端,和 DOS 窗口有点相近,但实际上它比 DOS 出现更早,功能也更强大。这就是命令行界面(Command Line Interface CLI),是我们喜欢的 OS 之源头,每个 Linux 发行版里都有。在此我们不会深入细节,那得写上好几本书,总之 CLI 是个很有用的工具,查找/解决计算机系统故障时常要用到它。如果你在 Internet 上寻求帮助,而有人要你运行 lspci,实际上是要你启动 xterm,输入 lspci,然后敲入回车键,然後提供给他们屏幕上的输出。


当你启动xterm时,你通常是个权限受限的普通用户。要在xterm里进入Root用户模式(参考上面的权限),只需键入su [回车键],然后输入Root密码 [回车键]。现在你便拥有了大量权利,可要与人为善啊。Root用户可以破坏任何人的数据,包括Linux运行所需的系统文件。退出xterm或su模式,可输入exit [回车键]。
当你启动 xterm 时,你通常是个权限受限的普通用户。要在 xterm 里进入 Root 用户模式(参考上面的权限),只需键入 su [回车键],然後输入 Root 密码 [回车键]。现在你便拥有了大量权利,可要与人为善啊。 Root 用户可以破坏任何人的数据,包括Linux运行所需的系统文件。退出 xterm 或 su 模式,可输入 exit [回车键]。


9. Ctrl-alt-escape
== Ctrl-alt-escape ==


键入Ctrl-alt- escape组合键会将你的鼠标变成一个X骷髅头或其它不吉利的鼠标箭头。在该模式中,只要点击一个有问题或冻结的应用程序,便可将其杀死(kill)。这和Windows任务管理器里的结束进程类似,不过要谨慎使用。如果你不想杀死任何程序,键入Esc键可退出kill模式。如果在上述模式中,点错了程序(包括桌面GUI),可能造成严重的麻烦。
键入 Ctrl-alt- escape 组合键会将你的鼠标变成一个X骷髅头或其它不吉利的鼠标箭头。在该模式中,只要点击一个有问题或冻结的应用程序,便可将其杀死(kill)。这和Windows任务管理器里的结束进程类似,不过要谨慎使用。如果你不想杀死任何程序,键入Esc键可退出kill模式。如果在上述模式中,点错了程序(包括桌面GUI),可能造成严重的麻烦。


10. 与Internet为友!
10. 与Internet为友!
第104行: 第95行:
许多发行版本都有用户论坛,里头遍布着问题、答案和技巧。LinuxQuestions.org 是个提供Linux知识和帮助的综合性网站,相当不错。在论坛上发帖提问之前,务必先在网络(如LQ和Google)上搜索一下自己的问题,避免重复提问那些可能已解决的问题。此外,还要查看一下自己找到的答案的回答时间,因为在快速变化的开源软件世界里,那些老旧的答案可能不再适用。提问时,尽可能提供足够有效的系统相关信息,例如:
许多发行版本都有用户论坛,里头遍布着问题、答案和技巧。LinuxQuestions.org 是个提供Linux知识和帮助的综合性网站,相当不错。在论坛上发帖提问之前,务必先在网络(如LQ和Google)上搜索一下自己的问题,避免重复提问那些可能已解决的问题。此外,还要查看一下自己找到的答案的回答时间,因为在快速变化的开源软件世界里,那些老旧的答案可能不再适用。提问时,尽可能提供足够有效的系统相关信息,例如:


  * 处理器类型(Intel、AMD还是Apple PPC?)
* 处理器类型(Intel、AMD还是Apple PPC?)
  * 使用的发行版(SuSE?Debian?)
  * 使用的发行版(SuSE?Debian?)
  * 使用哪个软件遇到问题,以及
  * 使用哪个软件遇到问题,以及
  * 其它相关信息
  * 其它相关信息


保持一个开放的头脑
保持一个开放的头脑


在过去几年里,Linux和其它开源软件有了快速飞跃的发展,但是对于来自闭源的Windows世界的用户而言,Linux的内部工作机制可能相当陌生。一个开放的头脑和乐于分享知识的意愿有助于Linux社区的发展,欢迎你加入我们的行列.
在过去几年里,Linux和其它开源软件有了快速飞跃的发展,但是对于来自闭源的Windows世界的用户而言,Linux的内部工作机制可能相当陌生。一个开放的头脑和乐于分享知识的意愿有助于Linux社区的发展,欢迎你加入我们的行列.

2008年4月6日 (日) 10:55的版本

Linux 不是 Windows。尽管它们也有相似之处,但你必须意识到,在你能舒舒服服的使用 Linux 之前,可能得先学习一些处理事情的新方式。Linux 是 UNIX 的开源克隆版本,UNIX 是个在 DOS 和 Windows之前就已存在的健壮的多用户操作系统(OS)。下列条款一般而言适用所有基于 UNIX 的 *nix 系统,如 Linux 和各种 BSD 发行版。鉴于本文之目的,假定它是各种 Linux 发行版。

下面是你应知道的十件事

文件系统

和那些为每个盘建立一棵文件树的操作系统不同,Linux 的整个文件系统就是一棵巨大的树结构。最顶部是"/"(根目录),所有的文件夹、文件和驱动盘都是这个 Root 的分支。

例如,你有两个硬盘驱动器(名为 a 和 b),一个软盘驱动器和一个 CD-ROM,第一个硬盘上有两个分区(名为 a1 和 a2)。那么在 Windows 里,其组织如下:

  • 硬盘a, 分区一(hda1): C盘
  • 硬盘a, 分区二(hda2): D盘
  • 硬盘b(hdb1): E盘
  • 软驱: A盘
  • 光驱: F盘

而在 Linux 里,你将只有一个文件系统,而非上述 Windows 里列出的五个。每个盘都被挂载到这个树结构,操作起来与文件夹相仿。各个盘的组织可以是如下方式:

  • hda1: / (根目录)
  • hda2: /home
  • hdb1: /home/user/music
  • 软驱: /mnt/floppy
  • 光驱: /mnt/cdrom

我们的 D 盘和 E 盘都附加在 C 盘里,因此无需回到顶部才能切换不同盘。这一切换动作和我们从一个文件夹进入另一个文件夹一致。对于软驱和光驱也是如此,它们都作为这个文件系统的一部分加载在 /mnt 目录下。实际上,这些盘几乎可以加载在 Linux 系统的任意一处,这取决于安装程序或 /etc/fstab 文件的设定,该文件告诉计算机把东西(译注:驱动器,分区等等)加载到何处及如何处理它们。 See Figure A.

点击在新窗口中浏览此图片

模块化系统

想想 Windows XP,Win2k,Win98,Win95 和 Apple OS X 的内部构造吧。每个系统的内部组件构成不同,图形界面也不一样。如果你想要 XP 的 Media Player、Win98 里的文件管理器、Win2k 的稳定性和 OS X 的漂亮界面集于一身呢?在 Linux 里,系统的每个方面都各自独立,因此你可以混和搭配各个部分,来构建自己的"弗兰肯斯坦"系统。你可以从各种不同的软件里挑出自己想要的防火墙、多媒体播放器和文件管理器。

微软"塔式"操作系统的方方面面都是互连和相互依赖的,与此不同,Linux 系统则像个大市场:每件东西都为共同的利益一起工作,但是即便厂商(系统的独立部分)被排除在外,该系统仍能运作。不需要多媒体播放器或文件管理器吗?那就干掉它!你的系统不会变成破塔一座。

这种模块化便是如此众多的 Linux 发行版(通常称为 distro)存在的原因。任何个人或公司都可以混和和搭配自认为最有用的程序,然後给这个合集取个响亮的名字。RedHat, Xandros, SimplyMEPIS 和 Suse 就是几个典型的发行版。

一些懒虫使用一些大型发行版所提供的设置,不过会替换其中的程序。这便是 Linux 的风格,就长期而言,混和搭配的方式给用户更多选择。 DistroWatch.com 目前罗列的 Linux 发行版超过 350 个。其中的许多发行版是为服务特定人群而定制的,但稍加调整都可以运行同一个程序。

程序可以替换,图形用户界面(GUI)也是如此。GUI 可以为你提供一个现代操作系统的外观式样,包括鼠标、程序图标和菜单等。任何 Linux 系统(对了,得是在真正的电脑上运行的,而非电话机上)都可以使用大量不同的 GUI 之一,正如它能运行多种 web 浏览器或不同的 email 客户端程序。

想让自己的系统看上去和 Windows 想象吗?采用 XP 主题的 FVWM 即可。追求更快的速度?可以试试 IceWM。想要更多功能?试试 GNOME 或 KDE 吧。上述这些 GUI 都有各自的优缺点,但它们都为用户提供了一个可用鼠标操作的界面。尽管这可能造成每个 Linux 屏幕不同,但它们在幕後都做着一样的工作;多观察观察,就能体会到这一点。

硬件、软件及其之间的一切

自诞生起的短短几年里,Linux 已有了长足的发展。其历史还不到 Microsoft Windows 的一半,但 Linux 却更强大、更稳定,资源要求也低,在图形界面上也堪与那个来自 Redmond(译注:微软总部所在地)又昂贵又不稳定的 OS 媲美(若非更好的话)。

Linux 的一个不足是目前还未得到厂商的广泛支持。譬如,如果你真的很喜欢 QuickBooks,那么抱歉,Linux 上没法直接运行该软件。目前已有多个项目试图让 Windows 程序可在 Linux 中运行,比如 Cross Over Office 和 Wine,但并不总是有效,要视 Windows 程序而定。除非软件厂商决定将其程序移植到 Linux 上,否则你就无法在 Linux 上直接运行这些程序。

当然,也并非一无所有。可在 Linux 上直接运行的开源软件多达 15000 个。由于这些程序(通常)是免费的,因此其质量参差不齐,不过大部分程序都写的很棒,而且仍在不断改进中。这些程序还能导入和导出非本地文件类型。GNUCash 可以很好的读取那些 QuickBooks 文件, OpenOffice.org 能读取 MSWord 的 *.doc 文件。如果你不喜欢 GNUCash,也别失望,还有其它功能类似的程序可免费取得。越来越多的软件公司已开始发布对应的 Linux 版本。

硬件的情况也差不多。正如你不能期望货架上的每个硬件在苹果机上都好使,Linux 也是如此。大部分标准硬件工作完好;硬盘、内存、闪盘、主板、NIC 和数码相机在 Linux 下都没什么问题。稍新的、最新的硬件可能会有问题。除非硬件厂商自己提供 Linux 的支持,否则这些硬件工作所需的驱动程序就必须得由 Linux 社区编写,而这是由社区成员的业馀时间无偿完成的。

由于硬件厂商通常直接与微软合作以保证兼容性,而让 Linux 志愿者自行解决 Linux 上的硬件支持,因此和 Windows 支持相比,Linux 总有些滞後。笔记本通常因其不标准的硬件而声名狼借,哪怕要在 Linux 里映射一个专有键都是一个不小的挑战。好消息是,正如软件那样,越来越多的公司看到了 Linux 的未来,对 Linux 的硬件支持也不断在改观。

Linux 机器的硬件和软件之间一切都由内核主宰。内核负责硬件和软件的连接,每隔几个礼拜就可以在Internet上获取更新後的内核;现在的最新版本是 2.6.24。如果你的硬件目前未被支持,换一个更新的内核就有可能解决问题。当然,要自己安装内核并非易事;这时,就轮到软件包管理器出场了。

软件包管理器 - 让程序安装更简单

在 Linux 里安装程序有许多方法,但是最简单的方法是使用发行版自带的包管理器(Package Manager PM)。PM 可以确保安装上所需的缺失文件(也称为依赖包),以便程序正确运行。发行版的选择常常归结到自己喜欢的 PM 类型,不过只要你能找到对应发行版的软件包,任何 Linux 软件都可安装成功。

这些PM通常都有程序的在线源,应用程序的安装可以简单到,只需在源里搜索该程序,然後点击安装。在 PM 列表里找不到 IceWM 或 MPlayer?放心,总有办法添加一个包含有所需软件的新源。典型的 PM 包括:用于 Debian 及其衍生版本的 Synaptic(基于 dpkg 和 Apt);RedHat 及其衍生版本的 Yum;SuSE 及其衍生版本的 YaST2;以及 Gentoo 的 Emerge 等。

权限

Linux 支持多用户,并将用户分成组。用户对自己的文件拥有读、写或执行(read,write,execute R/W/X)权限,以及改变这些权限的权限。由于 Linux 的设计目标是多用户,因此每个用户都有自己的密码,这样可以限制别人对其文件的访问。这些就是所谓的用户权限。

每个用户都属于一个或多个组,用户可以设置自己的文件/文件夹权限,可让同组其它用户读取但不能写这些文件,或其它 /R/W/X(读/写/执行)三项的组合。这就是组权限,比如 Joe 和 Susan 同属 Accounting 组,那么他们可以允许 Accounting 组成员访问各自的文件,同时限制 Sales 组成员访问自己的文件。

其它权限则可以允许或拒绝组外的任何人访问这些文件。这些权限的存在是出于整个系统的安全,还有每个用户的数据的安全。大部分家庭用户只需保留文件的默认权限即可。 (See Figure B)

点击在新窗口中浏览此图片

Root 根用户(不要和文件系统的/即根目录混淆),如管理员,有权处置所有文件,是唯一能够更改系统全局设置的用户。根用户拥有自己的密码,用来进行系统维护。这一差别可以防止普通用户在系统上安装有害的间谍软件,或删除重要文件。

主目录

Windows 里有“我的文档”,但是那些不是文档的文件又该放到哪儿呢?答案通常是 Windows 的桌面!Linux 里的桌面也可能搞的乱糟糟,不过每个用户都有自己的主目录,通常位于 /home/user。在主目录里,你可以存放文档(/home/user/documents)、程序连接、音乐(/home/user/Music)或其它任何东西。我们可以在主目录里创建文件和文件夹,随意进行组织或胡乱堆砌,就像在我们自己的家里那样。根据我们的权限设置,我们可以允许或拒绝任何其他用户(Root 用户除外)访问这些文件。

默认安装有区别

不同的 Linux 发行版之间有一些区别,比如某些文件的存放位置或某些缺省程序的名字等。知道 RedHat 和 SuSE 的文件系统可能有些区别就已是一个很好的开始。大部分用户无需知道那些区别的细节,但是应当知道其内部文件系统可能有些微不同。在寻求帮助时,务必让人家知道自己运行的发布版。如果使用系统时未遇到麻烦或者自己也不想区设置复杂的幕後操作,那就别为此费太多心思。

命令行界面(CLI)或"如何运行"

在类似开始(译注: Windows 里的那个 Start 菜单)菜单里,xterm 程序(也称控制台)可以启动一个终端,和 DOS 窗口有点相近,但实际上它比 DOS 出现更早,功能也更强大。这就是命令行界面(Command Line Interface CLI),是我们喜欢的 OS 之源头,每个 Linux 发行版里都有。在此我们不会深入细节,那得写上好几本书,总之 CLI 是个很有用的工具,查找/解决计算机系统故障时常要用到它。如果你在 Internet 上寻求帮助,而有人要你运行 lspci,实际上是要你启动 xterm,输入 lspci,然后敲入回车键,然後提供给他们屏幕上的输出。

当你启动 xterm 时,你通常是个权限受限的普通用户。要在 xterm 里进入 Root 用户模式(参考上面的权限),只需键入 su [回车键],然後输入 Root 密码 [回车键]。现在你便拥有了大量权利,可要与人为善啊。 Root 用户可以破坏任何人的数据,包括Linux运行所需的系统文件。退出 xterm 或 su 模式,可输入 exit [回车键]。

Ctrl-alt-escape

键入 Ctrl-alt- escape 组合键会将你的鼠标变成一个X骷髅头或其它不吉利的鼠标箭头。在该模式中,只要点击一个有问题或冻结的应用程序,便可将其杀死(kill)。这和Windows任务管理器里的结束进程类似,不过要谨慎使用。如果你不想杀死任何程序,键入Esc键可退出kill模式。如果在上述模式中,点错了程序(包括桌面GUI),可能造成严重的麻烦。

10. 与Internet为友!

许多发行版本都有用户论坛,里头遍布着问题、答案和技巧。LinuxQuestions.org 是个提供Linux知识和帮助的综合性网站,相当不错。在论坛上发帖提问之前,务必先在网络(如LQ和Google)上搜索一下自己的问题,避免重复提问那些可能已解决的问题。此外,还要查看一下自己找到的答案的回答时间,因为在快速变化的开源软件世界里,那些老旧的答案可能不再适用。提问时,尽可能提供足够有效的系统相关信息,例如:

* 处理器类型(Intel、AMD还是Apple PPC?)
 * 使用的发行版(SuSE?Debian?)
 * 使用哪个软件遇到问题,以及
 * 其它相关信息

保持一个开放的头脑

在过去几年里,Linux和其它开源软件有了快速飞跃的发展,但是对于来自闭源的Windows世界的用户而言,Linux的内部工作机制可能相当陌生。一个开放的头脑和乐于分享知识的意愿有助于Linux社区的发展,欢迎你加入我们的行列.