Fedora 教程 - 桌面篇

本教程省略了传统 Linux 学习教程中相对枯燥的内容,从实用的角度入手,帮助读者从安装 Fedora/Linux 开始,通过动手和操作学会使用 Fedora/Linux。

本教程包含了使用 Fedora/Linux 的必备知识,内容非常精简,就能很快学会。

前言

 

强烈推荐

── 翻译自 Fedora 项目官方的、最权威的 Fedora 12 学习指南
Fedora 12 部署指南

 

安装 Fedora 12 (一) - 基本设置

以 Fedora 12 为例,通过图文方式讲解 Fedora 的安装过程和配置信息。

从《开始转向 Linux》一文中提供的 Fedora 12 的下载地址,下载好之后就可进行安装了。这套教程假设你没有任何 Linux 的技术背景,完全从头开始学习,所以我们首先在虚拟机中进行操作和学习。

如何使用虚拟机不在本文讨论范围,请自行查找相关资料。

作为这个教程中使用的系统,建议将 Fedora 的虚拟硬盘设置为 8G。有关 Fedora 分区的内容在以后的文章中在详细讨论。

准备好了虚拟机和 Fedora 12 的光盘镜像,下面就开始了……

 

将 Fedora 12 的镜像载入虚拟机,并设置从光盘启动,以下就是运行 Fedora 12 安装光盘的首个菜单。选择第一项 —— "Install or upgrade an existing system(安装新系统 或者 升级一个已存在的系统)"

安装 Fedora 12,安装选择菜单[图]

然后会看到一大片如下的检测和准备信息,等待就好了……

安装 Fedora 12,检测信息[图]

准备完成,提示是否测试光盘。这一步的意思在正式安装前,检测 CD 或 DVD 是否有损坏。因为我们直接从官方下载的境像,所以可以选择 Skip (略过)。 —— 实际上,使用光盘安装也没什么好检测,如果盘坏了,检测出来是坏盘也没什么太大帮助 :D

安装 Fedora 12,光盘检测[图]

之后就出现 Fedora 的安装向导,到这里就说明 Fedora 开始收集基本配置信息了。直接 Next

安装 Fedora 12,安装向导[图]

选择安装过程中的语言 —— English(English)。这个语言选择只对安装进程有效,我们使用 English,之后会讨论如何设置中文界面。

安装 Fedora 12,选择安装语言[图]

选择键盘类型 —— U.S.English,下一步

安装 Fedora 12,选择键盘类型[图]

接下来设置计算机名称,大家为机器取一个好听有名字吧,或者直接就叫 Fedora :D,下一步

安装 Fedora 12,设置计算机名称[图]

选择时区。使用上面的图形也可以,使用下面的下拉框也行,选择 Asia/Shanghai,下一步

安装 Fedora 12,选择时区[图]

设置 root 密码(也称“根密码”)。root 相当于 Windows 下的 Administrator,这个账户对整个系统有完全控制权。所以密码要设置得强悍一些 :D

PS:符合复杂的密码的要求为“长度大于6位,包含大写字母、小写字母、数字、符号四类中的三种”,如果密码不够复杂,系统会提示“密码强度不够,是否一定要使用”。

安装 Fedora 12,设置 root 密码[图]

到这里,Fedora 12 的基本安装信息就收集好了,很简单吧。坏消息是,整个安装过程还没完;好消息是,接下来的内容也很简单 :D

 

安装 Fedora 12 (二) - 磁盘分区及软件包选择

图文讲解 Fedora 的安装过程,说明安装过程中的基本配置信息。

完成上一节后,接着就进入硬盘分区的部分了。因为还没有讲到磁盘方面的内容,而且每个人对于 Fedora 的用途不同,分区设置也会有所不同,所以这里就直接保持默认设置。

等之后讲到目录和分区管理之后,大家再按各自的需要对磁盘分区进行设置。

安装 Fedora,磁盘分区[图]

点击下一步,安装向导会提示“被选中的磁盘数据将丢失”,选择 "Write changes to disk",即同意对磁盘进行操作(如格式化)

安装 Fedora,磁盘分区确认对话框[图]

进入“软件包安装”界面,选择下方的 "Custom now (立即定制)",下一步

安装 Fedora,软件包管理界面[图]

自定义软件包界面有许多软件可以选择,我们基本上保持默认配置不变,只是增加一些中文语言支持包 —— 从左侧窗口选择 "Language",再从右侧找到 "Chinese Support ",下一步

安装 Fedora,添加中文支持[图]

安装向导开始进行软件包依赖性的检查

安装 Fedora,检查软件包依赖性[图]

之后便开始执行安装进程

安装 Fedora,执行安装进程[图]

然后就开始传输软件包了

安装 Fedora,传输软件包[图]

所有软件包传输完成之后,Fedora 就安装成功了,点击 Reboot (重启)。

安装 Fedora,安装完成[图]

 

安装 Fedora 12 (三) - 最终设置

图文讲解 Fedora 的安装过程,说明安装过程中的基本配置信息。

按照《安装 Fedora 12 (一) - 基本设置》和《安装 Fedora 12 (二) - 磁盘分区及软件包选择》安装好 Fedora 之后,重启计算机之后对 Fedora 进行最后的一些设置。

重启计算机之后,启动 Fedora 便会看到一个欢迎界面,左侧的菜单表示进度,告诉我们接下来还要做的事情有 —— 了解授权信息、创建用户、设置日期和时间、硬件信息。点击 Forword (前进)。

安装 Fedora,欢迎界面[图]

Fedora 授权信息,下一步

安装 Fedora,Fedora 授权信息[图]

创建新用户 —— 因为 Root (根用户) 对整个系统有安装控制权限,从安全性方面考虑,要求创建普通用户。为了方便,暂时先将用户名和命名设置为 lugir,相关内容会在讲用户账户时提到。

填写好用户名、全名、密码、确认密码栏之后,下一步。

安装 Fedora,创意新用户[图]

设置时间日期,然后下一步

安装 Fedora,设置时间日期[图]

显示硬件信息,保持默认 "Do not send profile (不发送配置)",点击 Finish (完成)

安装 Fedora,显示硬件信息[图]

系统提示 “是否真的不发送硬件配置”,选择 “No, do not send (不发送)”

安装 Fedora,硬件信息对话框[图]

之后便会显示登录界面,以后每次开机都会看到这个界面

Fedora 12 登录界面[图]

选择你的用户名,输入密码,登录,就可以进入桌面了,有点激动人心吧,哈哈

Fedora 12 桌面[图]

到这里,Fedora 12 的安装就全部完成了,在进行下一节之前,可以四处点点,随便看看 :D

登录、注销与关机

本文讲解启动 Fedora 之后,从登录到关机的全过程。首先选择登录用户和语言,再输入密码之后就能登录到桌面了。根据系统提示选择是否更新标准目录名称,最后在“系统”菜单中找到“注销”和“关机”

系统启动之后会看到 Fedora 的默认登录界面,面板上会显示可选的用户名。也可以点击 "Other",手动输入用户名和密码。

点击用户名 lugir

Fedora 12 登录界面

选择用户之后会要求输入密码,同时在这个界面还可以选择系统语言。从 Language 菜单中找到 "汉语(中国)",然后输入密码,点击 "Log In" 进行登录

Fedora 12 登录界面 - 选择语言

使用 "汉语(中国)" 登录系统之后会看到一个提示,问"是否将标准目录的名称更新为当前语言?",在这里其实就是将用户 home 目录下的一些目录改为中文。为了以后使用命令行方便,选择 "Keep Old Names (保持不变)"。

如果勾选了 "Don't ask me this again",以后就不会再看到这个提示了。

Fedora 12 登录 - 更改标准目录名称提示

登录之后,在桌面的左上角找到“系统”菜单,展开之后会看到 “注销 xxx” 和 “关机”

Fedora 12 系统面板

当然,现在不用关机 :D

实在太简单了,看几张图就轻易学会了登录、选择语言、注销和关机。

下一节 - 使用 GNOME 桌面

使用 GNOME 桌面

Fedora 12 默认使用 GNOME 作为窗口管理器 (Window Manager),GNOME 的目标是基于自由软件,为 Unix 或者类 Unix 操作系统构造一个功能完善、操作简单以及界面友好的桌面环境,它是 GNU 计划的正式桌面。

Fedora 12 默认使用 GNOME 作为窗口管理器 (Window Manager)。

以下是 GNOME 的相关介绍,引自 维基百科

GNOME,即GNU网络对象模型环境 ( The GNU Network Object Model Environment ),GNU 计划的一部分,开放源码运动的一个重要组成部分。

其目标是基于自由软件,为 Unix 或者类 Unix 操作系统构造一个功能完善、操作简单以及界面友好的桌面环境,它是 GNU 计划的正式桌面。

 

上边栏

Fedora 的常用内容包括应用程序、存储位置 和 系统管理功能,它们都以菜单的形式出现在桌面的左上角,名称分别为“应用程序”、“位置”和“系统”。这三大菜单涵盖了在图形界面可用的大部分功能。(下一节开始就要讲到这些菜单的内容了 :D)

Fedora 上边栏左侧 [图]

Fedora 将 Firefox 浏览器、Evolution 邮件客户端和 Gnote 便笺等常用程序放置在上边栏,方便用户快速启动。用户也可以自行添加快速启动程序,只要用鼠标将应用程序拖拽到上边栏就可以了 :D

看完上边栏的左侧,接下来再看看上边栏的右侧吧

Fedora 上边栏右侧 [图]

默认情况下,上边栏右侧只有上图这些元素 —— 输入法状态、音频状态、网络状态、日期时间以及当前用户名 —— 这些元素都可通过左键或右键单击弹出设置菜单。

桌面图标

新安装的系统桌面很干净呢,只有“计算机”、“Home 目录” 和 “回收站” :D

Fedora 桌面图标 [图]

下边栏

在打开一些窗口之后,下边栏会出现相应的状态条 (像 Windows 那样),而右侧则是 2 个可切换的虚拟桌面和回收站的快捷方式(如下图)

Fedora 下边栏右侧 [图]

 

下一节 - Fedora 网络配置(一) - 配置本地网络连接

Fedora 网络配置(一) - 配置本地网络连接

要让 Fedora 能够上网,需要做两步简单的配置。第一,让计算机连接到 Modem 或者网关,第二,让 Modem 或者网关连接到远程网络(互联网)。

要让 Fedora 能够上网,只需要做两步的设置。第一,让计算机连接到 Modem 或者网关,第二,让 Modem 或者网关连接到远程网络(互联网)。

在 Fedora 图形界面配置网络连接需要在“网络连接”管理面板中进行,以下是两种打开“网络连接”管理面板的方式 —— 从左上角菜单找到 “系统->首选项->网络连接”,或者用右键单击上边栏右侧的网络连接图标,选择 “编辑连接”

以上两种方式,都可以打开“网络连接”管理面板,如下图:

Fedora 网络连接管理面板 [图]

首先根据实际情况,选择“有线”或“无线”面板,然后从左侧选中要配置的网卡(上图中为 System eth0),点击“编辑”后会弹出网卡(System eth0) 的参数设置窗口(如下图)。

为了方便起见,建议将“自动连接”勾上。

选择 “IPv4 设置” 面板,根据实际情况配置网卡信息。因为我的网络里没有 DHCP 服务器自动分配 IP,所以选择 “手动”,然后在下面的 “地址” 栏中添加 IP 地址。

“DNS 服务器”可以使用当地 ISP (即网络提供商,如电信、网通)提供的 IP 地址。或者直接使用 208.67.222.222 或者 208.67.220.220

这一步,实际上就相关于配置 Windows 下的“本地连接” :D

Fedora 网卡参数配置 [图]

设置完成之后点击 “应用…”

因为配置网络连接属于系统管理任务,而我们使用的 lugir 只是普通账户,所以点击 “应用…” 之后会弹出 root 授权对话框,只有正确输入 root 用户的密码才能使用网络设置生效 (知道为什么说 Linux 比 Windows 更完全了吧,不过这只是冰山一角哦 :D)。

忘记 root 密码是什么时候设置的了 ? 花半分钟看看 《安装 Fedora 12 (一) - 基本设置》吧!

输入 root 密码,点击确定,本地网络连接就配置完成了。

Fedora 根用户授权提示对话框

下一节 - Fedora 网络配置(二) - 连接到互联网

Fedora 网络配置(二) - 连接到互联网

要让 Fedora 能够上网,只需要做两步的设置。第一步已经在《Fedora 网络配置(一) - 配置本地网络连接》中完成了。接下来第二步,让 Modem 或者网关连接到远程网络(互联网)。

要让 Fedora 能够上网,只需要做两步的设置。第一步已经在《Fedora 网络配置(一) - 配置本地网络连接》中完成了。接下来第二步,让 Modem 或者网关连接到远程网络(互联网)。

打开“网络连接”管理面板 —— 从左上角菜单找到 “系统->首选项->网络连接”,或者用右键单击上边栏右侧的网络连接图标,选择 “编辑连接”。

在打开“网络连接”管理面板中选择 “DSL”,点击“添加”。

Fedora 网络连接管理面板 [图]

以下是有关 DSL 编辑界面的一些说明:

“连接名称” 可以任意更改,比如叫“宽带连接”或者“ADSL 拨号”都可以,在这里还是保持不变 :D

如果没勾选“自动连接”,那么每次开机之后都要手动操作,推荐勾选。

“用户名” 和 “密码” 都是 ISP(即网络服务提供商,如电信、网通等) 提供的,服务就填 ISP 的名称吧,比如你是电信用户就填写“中国电信”或者"Telecom"吧。

PS: 使用“星空极速”的电信用户,需要拨打电信客服 10000 取得可用于 ADSL 拨号的用户名,或者使用 Windows 进行拨号,然后从事件日志中找出真实的 ADSL 用户名。

“对所有用户可用”,如果不勾选,这个网络连接只能让当前用户使用。如果勾选,则所有用户可用。勾选此选项后会要求 root 权限才能保存这个 DSL 配置。

Fedora ADSL 拨号参数设置 [图]

设置完 DSL 面板的内容点击“应用”即可。

下一节 - 课间十分钟

课间十分钟

直到能够连接到网络,有关 Fedora 的学习就“差不多”了 :D 那接下来还有什么呢 ? 看看下面的提问,看看你有没有兴趣咯

直到能够连接到网络,有关 Fedora 的学习就“差不多”了。

“差不多”,一方面是指图形界面的学习,总不至于连“点击上边栏的火狐图标,打开火狐浏览器”也要写吧,那样的话,要写的东西可就太多了。另一方面,这个“差不多”是指入门课程,因为已经能上网了,之后遇到的问题都可以求助于网络。

当然 Fedora 底下还有好多东西要学,要不这篇文章怎么叫“课间十分钟”呢。

那接下来还有什么呢 ? 看看下面的提问,哪些是你感兴趣的内容呢 ?

  1. 在 Fedora/Linux 底下有哪些常用程序呢? (比如 Windows 下的 Office、QQ、迅雷、WinRAR等)
  2. 怎么样在 Fedora/Linux 下运行 Windows 的安装程序呢 ? (比如说我很想在 Linux 下安装极品飞车)
  3. 在 Fedora/Linux 下如何安装/升级/卸载应用程序 ?
  4. 如何管理 Fedora/Linux 操作系统 ? (磁盘分区、文档管理、网络管理等)
  5. ……

准备好了 ? 那就进入下一节吧 :D

下一节 - 使用命令行 (一) - 认识命令行

使用命令行 (一) - 认识命令行

有人一听到“命令”就头大,太多是因为对命令行不了解,误以为命令行是很高深的专家才会用的东西。实际上要学会使用命令行很简单,看完这三篇教程就能学会了。

bash 是 Linux 下的一种命令行模式的 shell (见《Shell 是什么 ? 为什么要学习 shell ?》),它比图形界面更强大、更快速、更便捷,相要熟练使用 Linux 的话,bash 是不得不学的,呵呵。

有人一听到“命令”就头大,太多是因为对命令行不了解,误以为命令行是很高深的专家才会用的东西。实际上要学会使用命令行很简单,看完这三篇教程就能学会了。

 

启动命令行

在 GNOME 下可通过上边栏的菜单实现,“应用程序 -> 系统工具 -> 终端”(即 Application -> System -> Terminal)。Fedora 默认使用 bash 作为命令行工具。

启动命令行之后,可以看到如下内容。(为了区别普通内容,命令行中的内容均以黑底白字显示)

[lugir@hope ~]$

其中 $ 是命令提示符,提示我们可以在它后面开始输入命令。所有普通用户的命令提示符都是 $,root 用户的命令提示是 #

命令提示符之前的文字是可以自定义的(以后会讲到),它默认格式的为 “[用户名@计算机名 当前目录名]”,所表示的含义就是“用户 lugir 目前位于名为 hope 的计算机的一个名为 ~ 的目录中”。

在命令行中,~ 目录实际上表示的是用户的 home 目录(即 lugir 的 home 目录为 /home/lugir),用户每次登录都会以 home 目录做为当前目录。

除了自己的 home 目录以外,位于其它目录时都会显示目录的名称,例如处于 /usr/bin 目录时,命令行显示为

[lugir@home bin]$

 

简单的命令:cd 和 ls

前面以经讲过,用户登录命令行之后首先进入自己的 home 目录,即 /home/用户名。如果想要改变目录,就使用 cd (change directory) 命令,后面跟上要进入的目录就好了。

除了 cd,还有另外一个常用的命令是 ls (list),它可以列出目录下的内容。

下面的例子使用了 cd 和 ls 命令,并对每一行进行了解释。(别光顾着看哦,自己也要输入看看,记得输入完命令之后要按下回车 :D)

[lugir@home ~]$ cd /
[lugir@home /]$ ls
bin dev home lost+found mnt proc sbin srv tmp var
boot etc lib media opt root selinux sys usr
[lugir@home /]$

命令行说明:

  • 第一行 - cd / 表示进入到 / 目录(根目录,Linux 中最顶级的目录)
  • 第二行 - cd 命令执行完成,注意“当前目录”由 ~ 变成了 /。输入 ls 命令,回车
  • 第三、四行 - ls 命令的执行结果,它列出 / 目录下的所有内容(目录和文件)
  • 第五行 - 每个命令执行完成后都会重新显示命令提示符,等待接收新的命令。

习惯 Windows 的用户对于 Linux 的目录结构可能不太理解,可以先看看《Linux 与 Windows 目录结构的比较》

 

退出命令行

退出命令行,使用 exit (退出) 命令即可

[lugir@home /]$ exit

 

小结:本节的内容包括启动命令行、使用两个简单的命令(cd 和 ls) 以及退出命令行的操作,都说不难吧。 :D

下一节 - 使用命令行 (二) - 命令的语法、位置和种类

使用命令行 (二) - 命令的语法

在《使用命令行(一) - 认识命令行》中已经讲过如何启动、退出命令行,并且小小地尝试了 cd 和 ls 命令。这一节则要讲到命令的语法、位置和种类。

在《使用命令行(一) - 认识命令行》中已经讲过如何启动、退出命令行,并且小小地尝试了 cd 和 ls 命令。这一节则以 ls 命令的使用为例,着重讲解命令的语法。

命令的语法

看到“语法”不要晕,不是学英语,哈哈。在 Linux 的命令行里,执行命令的语法只有的一句。

命令 [选项] [参数]

这就是在命令行执行命令时的全部语法。别说你记不住哦。

命令:像前面提到的 cd 和 ls 就是命令。
选项:用于更改命令效果,不一定会使用。
参数:有的命令执行时需要传入一些参数,像是文件名或者路径名称。同选项一样,不一定会使用。

接下来实际操作一下吧,从“应用程序->系统工具->终端”打开命令行工具。直接输入 ls,按回车。

[lugir@hope ~]$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos

上面的例子只使用了语法中的“命令”,而没有使用 [选项] 和 [参数]。接下来再输入 ls -l,按回车。

[lugir@hope ~]$ ls -l
drwxr-xr-x. 2 lugir lugir 4096 1月 23 21:54 Desktop
drwxr-xr-x. 2 lugir lugir 4096 1月 23 21:54 Documents
drwxr-xr-x. 2 lugir lugir 4096 1月 23 21:54 Downloads
……

同样的命令,在加了选项之后就有了不一样的结果。单独使用 ls 命令时,只会显示当前目录下内容的名称,但加上选项 -l 以后就会显示更显示更详细的列表 —— 包括权限、拥有者、大小、创建日期等等。

PS: 要查看某个命令可以使用的 [选项],可以输入“命令 --help | less”,如 "ls --help | less"。在显示的帮助页面可以使用上下箭头和 PageUp/Down 进行浏览,按 q 键退出帮助。更多相关帮助请查看《使用命令行 (三) - 命令行帮助》

在命令行中,[选项] 通常由 - 开头,如 -l,同时使用多个 [选项] 时,使用以下两种方式都可以,但通常使用第二种方式 (因为可以少按几次键盘嘛 :D)

[lugir@hope ~]$ ls -l -a
……
[lugir@hope ~]$ ls -la
……

和使用 [选项] 不同,在 [参数] 前不需要添加参数。

[lugir@hope ~]$ ls /home
lugir
[lugir@hope ~]$ ls -l /home
drwx------. 34 lugir lugir 4096 1月 29 14:09 lugir

在没有 [参数] 的情况下,直接使用 ls 是列出当前目录下的内容,前参数为目录时,则会列出参数中指定的目录中的内容。比如上面的例子就是列出 /home 目录用的内容(因为目前只有一个普通用户 lugir,所以只列出了 lugir 这一项)。

有关命令的语法就这么多了 —— 命令 [选项] [参数],参照本节举出的例子,自己多试几次,把这个语法记清楚了。

下一节 - 使用命令行 (三) - 命令行帮助

使用命令行 (三) - 命令行帮助

上一节《使用命令行 (二) - 命令的语法》中讲到,命令行的语法是“命令 [选项] [参数]”。但命令可以使用哪些 [选项],又对 [参数] 有什么要求却不清楚。这时就可以借助一些帮助功能来了解命令的用法。

上一节《使用命令行 (二) - 命令的语法》中讲到,命令行的语法是“命令 [选项] [参数]”。但命令可以使用哪些 [选项],又对 [参数] 有什么要求却不清楚。这时就可以借助一些帮助功能来了解命令的用法。

建议:可以去记忆命令的用途,但不需刻意去记 [选项] 的用途。例如可以记住 ls 的功能是列出目录下的内容,但无需去记选项 -l 是显示详细列表,选项 -a 还会显示隐藏文件…… 我的建议是,在必要时使用本文介绍的帮助方法“查询”命令的 [选项] 和 [参数]。
Linux 的命令有很多,但没有必要全部去记。“Fedora 桌面篇”的目标是让大家学会使用 Fedora/Linux 进行日常的应用,而不是成为一个样样精通的 Linux 高手,所以我们只讲必要的东西的就好了。这样不但可以节省很多时间,而且因为学的东西不多,也容易掌握。
在掌握“桌面篇”之后,还有“Fedora 管理篇”、“Fedora 服务器篇”和很多 Linux 教程,想对 Fedora/Linux 有深入了解留到那时也不晚。

在命令行,有多种方法可以查询命令的帮助信息,这些信息详细说明了对于命令可用的选择和参数。

 

help 命令

使用 help 命令可以查看 shell 内置命令的帮助信息,例如 cd

[lugir@hope ~]$ help cd

直接使用 "help 命令"时,如果内容较多,前面的部分就看不到了,所以推荐在后面加上 | less。这样就能使用上下箭头和翻页按钮了,退出则按字母 q。

[lugir@hope ~]$ help cd | less

help 命令只对 shell 内置的命令有效。如果不确定命令属于 shell 的内部命令还是外部命令,可以使用 type 命令进行查看

[lugir@hope ~]$ type cd
cd is a shell buildin
[lugir@hope ~]$ type ls
ls is aliased to 'ls --color=auto'

 

--help 选项

如果使用 “type 命令” 后,显示的内容不是 “xxx is a shell builtin”,则说明不是内部命令,此时则可以使用 --help 选择来查看帮助信息。

[lugir@hope ~]$ ls --help | less

 

man 命令

不过并不是所有的命令都有 --help 选项,如果 --help 选项不能用,可以尝试使用 man 显示详细的帮助信息,按 q 退出。(man 是单词 manual 的缩写,有“指导手册”的意思)

[lugir@hope ~]$ man ping

 

info 命令

除了 man 命令,还有一个 info 命令也可以提供详细的命令帮助信息,同样按 q 退出。

[lugir@hope ~]$ info ping

 

下一节 - 使用 yum 命令安装和升级应用程序 (一) - 在线安装

使用 yum 命令安装和升级应用程序 (一) - 在线安装

yum 主要通过从网络软件包仓库 (Package Repositories) 下载最新的软件包(RPM 格式)并进行安装,因此通过 yum 可以获得最新的软件版本。除此之外,也可以通过 yum 安装或升级存放在本地的软件包。

在 Fedora 中安装和升级应用程序十分简单,除了可以使用特有的 yum 工具以外,也可以使用 RPM 和 DEB 软件包,或者自行通过源代码安装和升级。本文介绍 yum 工具的使用方法。

yum 主要通过从网络软件包仓库 (Package Repositories) 下载最新的软件包(RPM 格式)并进行安装,因此通过 yum 可以获得最新的软件版本。当使用这一特性时,自然要求计算机能够连接到网络。除此之外,也可以通过 yum 安装或升级存放在本地的软件包。

为了保证安装和升级过程不出现权限问题,建议在运行 yum 前使用 su 切换到 root 用户 (不建议直接使用 root 登录到系统)

[lugir@hope ~]$ su
Password:
[root@hope lugir]#

说明:运行 su 命令切换为 root 用户,并按提示输入密码。注意切换之后命令提示符的变化。用户名由 lugir 变成 root,当前目录名由 ~ 变成 lugir (因为 ~ 表示当前用户的根目录,对 lugir 而言 /home/lugir 就是 ~ 目录,但切换成 root 用户之后,则显示目录名称 lugir),还有命令提示符由 $ 变为 #。

运行 yum 安装 gcc

[root@hope lugir]# yum install gcc
设置安装进程
解决依赖关系
…… [省略依赖关系输出]

事务概要
============================
安装   9 软件包
更新   3 软件包

最下载量:34 M
确定吗 ? [y/N]: y

下载软件包:
…… [省略下载进程输出]

导入 GPG 密钥 ……[省略] 来自 /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-i386
确定吗 ? [y/N]: y

……[省略检测信息输出]
执行事务
正在安装  Kernel-headers-2.6.31.12-174.2.3.fc12.i686 [####     ]  1/15
……

完毕 !

[root@hope lugir]# exit
exit
[lugir@hope ~]$

说明:

  • 输入命令 “yum install [软件包名称]” 开始进行安装和更新
  • 解决依赖关系 - 很多应用程序之间存在依赖性,使用 yum 进行安装时,yum 会对软件包的依赖性进行检查。例如上例子中只是要安装 gcc,但 yum 检查完依赖性之后却要安装 9 个软件包,并对 3 个软件包进行更新。所以使用 yum 安装程序不用自己去解决软件包依赖性,十分的方便。
  • 最新下载量 34 M,确定吗? [y/N] - 当然 y 了,不然怎么下载呢 :D
  • 导入 GPG 密钥 - 并不是每次安装时都会出现这个,一般情况下都可以导入 (关于 GPG 密钥以后会讲)
  • 安装完成之后,记得使用 exit 注销 root 用户 (只在有需要的时候使用 root 用户是个好习惯 :D)

运行 yum 时输出了很多内容,实际上我们只运行了一条命令,呵呵。

PS:使用 yum 进行安装时,必须知道软件包的名称。有关 yum 的查询功能见《使用 yum 命令安装和升级应用程序 (三) - 其它功能

通过 yum 可以在线安装很多应用程序,不过有些程序并不存在于默认的软件包仓库中(以后会讲),所以有时还需要我们将 RPM 软件包下载下来,再使用 yum 的本地安装功能 :D

下一节 - 使用 yum 命令安装或升级应用程序 (二) - 本地安装

使用 yum 命令安装或升级应用程序 (二) - 本地安装

有很多种情况可以使用 yum 的本地安装功能,比如为了节省下载时间使用光盘中的软件包,或者以前已经下载好了某个 RPM 包……不过使用 yum 本地安装功能的最大优点还是 —— yum 会在自动检测并尽可能地为你解决软件包依赖性这个麻烦事。

有很多种情况适合进行本地安装,比如为了节省下载时间使用光盘中的软件包,或者以前已经下载好了某个 RPM 包……不过使用 yum 进行安装的最大优点还是 —— yum 会在自动检测并尽可能地为你解决软件包依赖性这个麻烦事 (讲到手动解决依赖性的时候,你就会知道它真的很麻烦了 :D)

这一节就以 QQ 为例,学习 yum 的本地安装功能吧。

首先到腾讯官方网站下载 QQ Linux 版的 RPM 包:下载 QQ for Linux。可直接保存到默认路径,即 /home/lugir/Downloads。(如果使用其它路径,运行 yum 命令时记得使用你自己的路径)

打开 “应用程序 -> 系统工具 -> 终端”

执行本地安装命令

[lugir@hope ~]$ cd Downloads
[lugir@hope Downloads]$ ls
linuxqq-v1.0.2-beta1.i386.rpm
[lugir@hope Downloads]$ su
密码:
[root@hope Downloads]# yum localinstall /home/lugir/Downloads/linuxqq-v1.0.2-beta1.i386.rpm
设置安装进程
解决依赖关系
…… [省略依赖关系输出]

事务概要
============================
安装   1 软件包
更新   0 软件包

最下载量:6.1 M
确定吗 ? [y/N]: y
……

软件包 linuxqq-v1.0.2-beta1.i386.rpm 没有签名
[root@hope Downloads]#

说明:

  • 第一行 - 进入 /home/lugir/Downloads 目录
  • 第二行 - 显示目录下的文件,确保 linuxqq 被下载到这个目录
  • 第四行 - 切换用户
  • 第六行 - 执行 yum 的本地安装功能
  • 软件包 linuxqq-v1.0.2-beta1.i386.rpm 没有签名 - 官方的 linuxqq 竟没有签名 _-#,命令自动中止。要忽略这一问题,在执行 yum 命令时加上 --nogpgcheck 选项
[root@hope Downloads]# yum localinstall /home/lugir/Downloads/linuxqq-v1.0.2-beta1.i386.rpm --nogpgcheck
……
完毕!
[root@hope Downloads]# exit
exit
[lugir@hope Downloads]$

 

启动 QQ for Linux

安装完成之后,可以使用菜单“应用程序->Internet->腾讯QQ” 启动 QQ for Linux

通过菜单启动 QQ for Linux [图]

也可以使用命令 "qq &" 启动。在命令后面加上 & 的意思是让程序在后台运行,而不会在命令行中输出大量信息。

[lugir@hope Downloads]$ qq &

QQ for Linux 长这样 :D

QQ for Linux 登录界面 [图]

下一节 - 使用 yum 命令安装或升级应用程序 (三) - 其他功能

使用 yum 命令安装或升级应用程序 (三) - 其他功能

除了安装、升级以外,yum 还可以用来查询软件包仓库,检查软件包依赖性,以及卸载软件包等功能。本节将介绍如何使用 yum 的这些功能,并提供一些使用 yum 时的建议 :D

查询软件包

查询有两种方式,一是在软件包名称中查找,另一种是在软件包名称和描述中查找。

前面讲过,使用 yum 安装软件就需要知道软件包的名称。如果只记得某个影音播放器的名称中包含 "mplayer",使用下列命令就可以查询到名称中包含 "mplayer" 的软件包了。

[lugir@hope ~]$ yum list | grep mplayer
kmplayer.i686  0.11.1b-2.fc12  fedora

单独使用 yum list 会显示软件包仓库中的所有软件包名称,这将是一个很长的列表,如果你真想看看这个列表的话,建议运行 "yum list | less"

[lugir@hope ~]$ yum list | less

提示:运行 "yum repolist" 可以查看目前使用的软件包仓库 (Package Repositories) 名称,以及它们所包含的软件包数量。

另一种查询方式是使用 "yum search [关键词]",它会从名称和描述两方面进行查找,因此较为推荐这种查询方式。比如你想找“播放器”,可以运行 "yum search player | less"

[lugir@hope ~]$ yum search player | less

PS:尽管 yum 的查询功能非常好用,但不太适合新手。因此不如用搜索引擎去搜索 “Linux 播放器”等类似的关键词,这样不仅可以得到某个软件的名称,也可以看看大家对某款软件的评价 :D

查询软件包仓库以外的软件列表,比如从其他网站下载到本地安装的软件,可以使用 yum list extras

[lugir@hope ~]$ yum list extras
linuxqq.i386  v1.0.2-beta1  @/linuxqq-v1.0.2-bate1.i386

 

卸载软件包

卸载软件包与安装软件包一样,需要使用正确的软件包名称,如果要卸载QQ,使用 "yum erase qq" 是不行的,因为系统并没有安装名称 qq 的软件包,正确的卸载命令应该是 "yum erase linuxqq"

[lugir@hope ~]$ su
密码:
[root@hope lugir]# yum erase linuxqq
……
事务概要
============================
移除    1 软件包
覆盖安装  0 软件包
降级    0 软件包

确定吗:[y/N]? y
……
执行事务
正在删除:linuxqq-v1.0.2-beta1.i386

删除:
linuxqq-v1.0.2-beta1.i386

完毕!
[root@hope lugir]# exit
exit
[lugir@hope ~]$

PS: 如果不切换成 root,卸载时可能会出现权限问题。还有就是记得卸载任务执行完成之后就退出 root.

除了以上介绍的以外,yum 还有许多其它选项和用法,可自行使用 "yum --help | less" 查阅学习

 

下一节 - 管理 RPM 软件包

管理 RPM 软件包

使用图形界面和命令行都可以十分有效的管理 RPM 软件包。在图形界面,可以通过“添加/删除软件包”窗口,在命令行则可以使用 rpm 命令对其进行管理。

使用图形界面和命令行都可以十分有效的管理 RPM 软件包。在图形界面,可以通过“添加/删除软件包”窗口,在命令行则可以使用 rpm 命令对其进行管理。

使用“添加/删除软件包”管理窗口

使用“添加/删除软件包”管理窗口同,可通过“系统->管理->Add/Remove Software”打开。

窗口左侧是软件分类目录,选择相应目录之后右侧窗口便会出现一些可选软件包(来自于 yum 软件包仓库),选中可取消选中之后,点击应用以实现相应的“安装”或“卸载”

PackageKit Add/Remove Software Window [图]

说明:安装过程中会计算软件包依赖性,同 yum 一样,会提示用户需要下载的相关的软件包以解决依赖性。

提示:使用 PackageKit 的搜索功能够得到比 yum 更直观的软件包介绍 :D

 

使用 rpm 命令

使用 yum 进行软件包的安装时,yum 默认会使用 GPG/DSA 密钥验证包的完整性。使用 rpm 命令时,则需要手动进行这一步操作

[lugir@hope ~]$ cd Downloads/
[lugir@hope Downloads]$ rpm --checksig linuxqq-v1.0.2-beta1.i386.rpm
linuxqq-v1.0.2-beta1.i386.rpm: sha1 md5 OK

安装软件包

安装软件包时,可以使用 -i (安装) 或者 -U (升级) 选项,推荐使用 -U 选项,因为 -U 适合“安装”和“升级”,而 -i 只适用于“安装” (详细可查询 rpm 帮助信息)

注意:安装、升级或卸载软件包时记得使用 root 用户;升级选项 -U 是大写
[lugir@hope Downloads]$ su
密码:
[root@hope Downloads]# rpm -U linuxqq-v1.0.2-beta1.i386.rpm

如果希望查看安装过程中的概要信息,可以加上 -v 选项,如 "rpm -Uv [package]",详细信息则使用 -vv 选项(注意:是两个 v)

卸载软件包

使用 -e 选项卸载软件包,如果没有其它软件包依赖于这个包,这个包便会被直接卸载。如果希望看到详细输出信息,可以加上 -vv 选项

[root@hope Downloads]$ rpm -evv linuxqq
说明:rpm 命令的其它选项请使用命令行帮助,可参考《使用命令行 (三) - 命令行帮助
说明:在 yum 命令能够使用的情况下,建议使用 yum 对软件包进行管理 (安装、升级、卸载等),因为 yum 在进行软件包管理时会自动检查依赖性,并尽可能地解决依赖性问题。

下一节 - 从源代码安装应用程序的准备工作

从源代码安装应用程序

并非所有的应用程序都有 RPM 软件包,或者说某个软件的 RPM 包并不适合你,当遇到这些情况时,还可以从通过软件的源代码对应用程序进行安装。

并非所有的应用程序都有 RPM 软件包,或者说某个软件的 RPM 包并不适合你,当遇到这些情况时,还可以从通过软件的源代码对应用程序进行安装。

源代码通常使用 tar, gzip 或者 bz2 等软件进行了归档打包,因此归档文件的常见后缀有 .tar、.tar.gz、tar.bz2

 

使用源代码进行安装的基本步骤:

  1. 下载要安装的源代码归档文件,如 abc-1.0.0.i386.tar.gz;
  2. 抽取归档文件内容。建议将归档文件解开到 /usr/local/src/ 目录,解开后会在 /usr/local/src/ 目录下生成一个以软件包名称命名的目录,如 abc-1.0.0;
  3. 进入软件包目录;
  4. 查看 INSTALL 或 README 文档,然后遵循文档中的介绍进行安装

如果没有 INSTALL 或者 README 文档,通常通过运行以下三个命令进行源代码的编译与安装:

[root@hope src]# ./configure --prefix=/usr/local/[软件包名称]
……
[root@hope src]# make
……
[root@hope src]# make install
……

以下以 abc-1.0.0.i386.tar.gz 包为例,演示从源代码安装应用程序的全部过程。(实际上并没有这个软件包,只是为了演示随便取的名字,重点在于说明安装的过程)

  1. [lugir@hope ~]$ su
  2. 密码:
  3. [root@hope lugir]# cd /usr/local/src/
  4. [root@hope src]# tar xfj /home/lugir/Download/abc-1.0.0.tar.gz
  5. [root@hope src]# ls
  6. abc-1.0.0
  7. [root@hope src]# cd abc-1.0.0
  8. [root@hope abc-1.0.0]# ls
  9. …… [见说明1]
  10.  
  11. [root@hope abc-1.0.0]# ./configure --prefix=/usr/local/abc
  12. …… [见说明2]
  13.  
  14. [root@hope abc-1.0.0]# make
  15. ……
  16. [root@hope abc-1.0.0]# make install
  17. ……

说明:

  • 第3行 - 切换到 /usr/local/src/ 目录,目的是方便将抽取的内容直接在 /usr/local/src/ 目录下生成;
  • 第4行 - 从归档文件中抽取内容(相关于解压缩)。有关 tar 命令的用法可以使用 "tar --help | less" 查询;
  • 第5行 - 通过查看当前目录的内容,查看是否抽取完成
  • 第6行 - 当前目录下有 abc-1.0.0 目录,说明抽取成功
  • 第7行 - 进入 abc-1.0.0 目录
  • 第8行 - 查看 abc-1.0.0 目录下的内容。通常是寻找 INSTALL 和 README 文档
  • 第9行 - 说明1 - 如果存在 INSTALL 或者 README 文档,使用 "less INSTALL" 或者 "less README" 命令查看文档内容,通常这两个文档都有比较详细的安装说明,建议按照文档的说明进行配置和安装。如果没有这两个文件,才使用后面的默认配置和安装方法。
  • 第11行 - 运行配置文件,并指定 --prefix 选项。默认程序都是安装在 /usr/local/ 目录,如果要卸载的话十分不方便。建议安装时将所有软件都安装在 /usr/local/[软件名] 的目录下,将来要卸载的话,直接删除 /usr/local/[软件名] 这个目录就行了。
  • 第12行 - 说明2 - 尽管已经安装了《从源代码安装应用程序的准备工作》中提到的所有软件包。但安装过程中还是可能会出需要其它包中的文件,此时只要记下相关信息,并使用 "yum search" 和 "yum install" 命令安装上所需要的文件即可。
  • 第14行 - 编译
  • 第16行 - 安装
建议:虽然从源代码安装应用程序的可定制程度很高,但没有 yum 或 rpm 命令那么容易,可能出现的状况也很多。为了尽可能的减少这类问题,新手可以在安装系统时将开发工具统统装上。同时在进行编译安装时对输出内容进行分析学习,增长经验以便能够理解问题出现的原因。

从源代码安装应用程序的准备工作

在学习如何从源代码编译和安装应用程序之前,必须先为系统安装上一些用于开发的软件包,不然在进行编译时就会出错。

在学习如何从源代码编译和安装应用程序之前,必须先为系统安装上一些用于开发的软件包,不然在进行编译时就会出错。

以下软件包是使用 C 语言进行编译时的最基本需求:

  • gcc - 包含 GNU C 编译器
  • make - 包含 make 命令,用于通过 makefiles 制作二进制文件
  • glibc - 包含一些重要的函数库
  • glibc-devel - 包含制作可执行程序所需要的标准头文件
  • binutils - 包含编译程序所需要的一些工具
  • kernel-devel - 包含 Linux 内核(Kernel) 的原文件,它在需要重建内核时会被用到
  • rpm-build - 包含 rpmbuild 工具,可使用源代码制作 RPM 软件包

在开始编译之前,使用 "rpm -q [package]" 命令查询一个或多个软件包是否被安装,查询多个软件包时,名称之间用“空格”隔开

[lugir@hope ~]$ rpm -q gcc make glibc glibc-devel binutils kernel-devel rpm-build
gcc-4.4.2-20.fc12.i686
make-3.81-18.fc12.i686
glibc-2.11.1-1.i686
binutils-2.19.51.0.14-34.fc12.i686
package kernel-devel is not installed
package rpm-build is not installed

使用 yum 命令安装没有安装的软件包 (记得进行安装、升级等管理任务时要切换到 root 用户)

[lugir@hope ~]$ su
密码:
[root@hope Lugir]$ yum install kernel-devel rpm-build
……

确定所需要的软件包都已经安装之后,就可以进入下一节了。

下一节 - 从源代码安装应用程序

Linux 常用应用程序推荐列表

介绍一些 Linux 下常用应用程序,并按推荐程度进行排序。除了 SCIM 的五笔配置和 Mplayer 的安装配置麻烦一点,其它应用程序的安装都非常简单。

介绍一些 Linux 下常用应用程序,并按推荐程度进行排序。除了 SCIM 的五笔配置和 Mplayer 的安装配置麻烦一点,其它应用程序的安装都非常简单。

输入法 SCIM (五笔/拼音)、iBus (拼音)
浏览器 Firefox
下载工具 DownThemAll (Firefox 插件)、wget
即时通讯 QQ for Linux, pidgin
ed2k 客户端 aMule (Linux 下的 eMule)
影音播放器 Mplayer
看图工具 gThumb、Picasa
图形处理 GIMP (被称为 Linux 下的 Photoshop)
压缩解压 tar, zip, rarlinux
文件管理 GNOME-Commander
翻译辞典 星际译王 (StarDict)
办公软件 Google Docs, Open Office
邮件客户端 Gmail, Evolution
FTP 客户端 FileZilla
PDF 阅读器 evince、xpdf 或 wine + FoxitReader
Chm 阅读器 chmsee
Windows 模拟器 wine
虚拟机 Virtual Box
……  

 

推荐的应用程序就这么多,本列表不定期持续更新,大家有好的程序可以推荐一下 :D