红联Linux门户
Linux帮助

Red Flag Server 4.1操作基础《3》

发布时间:2005-06-11 00:39:30来源:红联作者:thej
第5章 软件包管理
通常 Linux 下的应用软件包有以下三种类型:

tar包
由 Unix 系统的打包工具 tar 制作,如 example-1.2.3-1.tar.gz。

rpm包
RedHat 公司提供的一种软件包封装格式,如 example-1.2.3-1.i386.rpm。

dpkg包
Debain Linux 提供的一种包封装格式,如 example-1.2.3-1.i386.deb。
通常用 tar 打包的都是源程序,用 rpm、dpkg 打包的则是可执行程序。一般一个软件会提供多种打包格式的安装程序,用户可以根据情况选择使用。自己编译安装源程序具有更大的灵活性,但初
级用户可能会遇到一些困难;而可执行程序包能够更容易地完成安装。
本章先简单介绍如何使用 shell 命令安装和管理系统中的应用程序和软件包,之后详细说明如何使用图形化的软件包管理工具在桌面环境下安装和管理 rpm 软件包。

5.1 使用rpm命令
rpm 是一个功能十分强大的软件包管理系统,它使 Linux 下安装、升级和删除软件包的工作变得
简单容易,并且具有查询、验证软件包的功能。与图形化工具相比,使用命令行可以获得更大的灵活性。
以下的例子都以 example-1.2.3-1.i386.rpm 代表对象软件包的名称。

5.1.1 安装、升级和更新
应用下面三个参数为系统安装软件包:
rpm -i 安装一个新的软件包
rpm -U 升级一个软件包,如果系统中原来不存,就进行安装
rpm -F 更新一个软件包,如果系统中原来不存在,就不进行安装
经常和这几个参数配合使用的参数包括:
-v 查看安装过程中的各种信息
-h 在安装过程中显示进度条
一个常用的命令形式如下:
rpm -Uvh example-1.2.3-1.i386.rpm
这个命令将升级或安装软件包,同时显示安装信息和进度条。

5.1.2 删除
删除一个软件包的命令是:
rpm -e example
删除时使用的是软件名,而不是软件包的全称。

5.1.3 查询

列出用户已经安装的RPM包清单
如果想查询系统中所有已经安装的 RPM 包,使用 rpm -qa 即可输出所有已安装 RPM 包的列表;
如果是查看某个已经安装的软件包,则使用 rpm -q example 命令。

查看一个RPM包中包括的文件
想要查看某个软件包中包含的文件清单,有下面两种方法:
a) 如果是未安装的软件包,则使用
rpm -qlp example-1.2.3-1.i386.rpm
b) 如果是已安装的软件包,请使用
rpm -ql example

确定某个文件属于哪个RPM包
如果遇到了一个不认识的文件,要找出它属于哪个软件包,则首先记录这个文件的完整路径(绝
对路径),然后输入以下命令:
rpm -qf filename

查询RPM包的用途
用户可以在安装或使用时查询每个软件包的用途、版本及其它信息,使用如下的命令完成查询:
rpm -qip example-1.2.3-1.i386.rpm

5.1.4 验证
验证一个软件包,就是比较原始包和已安装软件包中文件的信息。具体来说,这些信息包括每个文件的大小、MD5校验和、访问许可权、类型以及所属的用户和组等。
使用命令 rpm -V 可以验证一个包,下面是常用的几种情况:

验证包含某个特殊文件的软件包
rpm -Vf filename
验证所有已安装的软件包
rpm -Va
上面介绍是几个常用的 RPM 命令,关于 RPM 工具的更多资源,请参看相关的 man手册页;还可以在以下的网址 http://www.rpm.org 获得 RPM 的最新资源。

5.2 安装tar格式的软件包
*.tar.gz 形式的二进制软件包是用 tar 工具来打包,用 gzip 程序压缩的,安装时需要先解开压缩
包,其安装过程分为如下几个步骤:
1、 获得应用软件:可以通过网络下载、光盘或其它渠道得来;
2、 解压缩文件;
一般的 tar 包,都会再做一次压缩,常见的是 gzip 压缩,用“tar -xvzf *.tar.gz”,就可以完成
解压和解包工作;
3、 阅读附带的 INSTALL 和 README 文件;
4、 执行“./configure”命令为编译做好准备;
5、 通过后,将生成用于编译的 makefile 文件,运行“make”命令开始进行编译;编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同; 6、 执行“make install”命令完成安装;
7、 执行“make clean”命令删除安装时产生的临时文件。
怎样运行安装后的应用软件呢?一般来说,Linux 下的应用软件可执行文件存放在 /usr/local/bin
目录下,但这也不是绝对的,最好的方法是查看该软件所附的 INSTALL 和DEADME 文件,其中会有明确的说明。
与安装 RPM 软件包相比,用户自己编译安装源程序虽然具有灵活的可配置性,但编译过程中可能会遇到很多问题,它适合于有一定开发经验的用户,一般不推荐初学者使用。

5.3 软件包管理器
Red Flag Server 4.1 系统中提供了一个全新的图形化软件包管理工具,能够帮助用户轻松地对
rpm 形式的软件包进行安装、升级、卸载、验证、查询、删除等操作。
在控制面板的“系统配置”窗口中,双击“软件包管理器”图标打开软件包管理器;也可以直接用命令 rpmmanager 启动。
程序主界面包括三个标签页,其功能分别如下:
用户软件包
管理除系统发行光盘所含软件包以外的用户自行安装、更新的软件包。
系统软件包
管理 Red Flag Server 4.1 发行光盘中包含的所有软件包。
其他工具
完成 rpm 包查询及系统软件包更新。

5.3.1 用户软件包管理
软件包管理器的“用户软件包”标签页,该窗口显示了除系统发行光盘中提供的软件包外,用户自己安装的软件包列表。
每一个软件包的基本信息(名称、版本、大小、概要说明)已经列出,如果想得到更详细的说明,
只要双击该软件包,调出下图5-2所示的信息窗口。
系统会维护一个所有已安装的软件包和文件的数据库,这些信息都来自于它。

5.3.1.1 安装用户软件包
用户经常会在系统中安装一些新的应用软件,这些应用软件可以是从某些网站上下载得来,也可
以来自光盘或其它渠道;
在“用户软件包”标签页中,点击“安装其他软件包”按钮,系统将调出 RPM 软件包安装工具
帮助用户完成软件包安装。
点击工具栏中的“打开”按钮,在弹出的文件浏览窗口中选择要安装的一个或多个 RPM 包,按
“确定”后,所选的软件包将显示在窗口左侧的列表中。如果不想安装某个软件包,可以点击工具栏
中的“去掉”按钮取消对该软件包的选择。
确认后,按下工具栏中的“安装”按钮,开始安装选中的软件包,安装程序会对配置文件进行特别处理,并自动检查软件包之间的依赖关系。
下一个界面将提示安装已完成,点击“确定”按钮,结束安装过程。

5.3.1.2 删除用户软件包
要删除不再使用的软件包,在“用户软件包”窗口列表中选择将删除的软件包项,按下“卸载软
件包”按钮,正式开始删除前还会出现确认对话框,确认无误后按下“开始删除”按钮。
程序会检查被删除软件包与其它软件包之间的依赖关系,如果要忽略依赖关系强制删除的话,将可能造成依赖于该软件包的程序无法运行。

5.3.2 系统软件包管理
系统软件包是指 Red Flag Server 4.1 发行光盘中所包含的全部软件包,该模块用于给出当前计算机中所安装系统软件包的信息,并对系统软件包的安装、更新、删除进行管理。图5-5是“系统软件包”标签页的界面。
界面上方按系统软件包的分组列出了每个软件包组的安装情况,即该组包括软件包的总数和已安
装数。
界面下方窗口中列出了对应软件包组中包含的系统软件包在当前系统中的安装情况,包括软件包
名称、版本、大小等。
如果软件包已经安装,则状态显示为 ,软件包名称前的小方框标记为 (选中);如果系统中尚未安装某软件包,则状态显示为 ,软件包名称前的小方框标记为 (未选中)。

5.3.2.1 安装系统软件包
要将未装的系统软件包安装到系统中,首先需要把包含该软件包的 Red Flag Server 4.1 光盘放在光驱中,然后,把软件包列表中要安装软件包名称前的标记置为 (选中),按“安装/卸载系统”按钮,启动 RPM 软件包安装工具开始安装,步骤与5.3.1.1节中的描述相似。
安装完成后,窗口中的软件包标记将显示为 。

5.3.2.2 删除系统软件包
要删除已安装的软件包,请把列表中对应软件包名称前的标记置为 (未选中),按“安装/卸载
系统”按钮,开始卸载系统软件包。与用户软件包的删除一样,会出现删除确认对话框,确认后按“开始删除”按钮。
卸载完成后,窗口中软件包标记将显示为 。
程序会检查被删除软件包与其它软件包之间的依赖关系,如果要忽略依赖关系强制删除的话,将可能造成依赖于该软件包的程序无法运行。

5.3.3 其他
在“其它工具”标签页中,可以完成在系统中进行 RPM 查询和更新系统操作。

5.3.3.1 RPM查询
选择“查找RPM包”,在文本框中输入要查找的RPM包名称或名称中的几个字符,按“查找”按钮,系统中符合条件的软件包将在窗口中列出。
选择“查找文件所属RPM包”,在文本框中输入文件的位置,注意,必须是绝对路径。该文件所属的软件包将在窗口中列出。

5.3.3.2 更新系统
Red Flag Server 4.1 支持多种升级方式,图5-7所示的升级工具帮助用户完成系统的升级。
首先选择升级方式,具体如下:
从光盘驱动器
将升级盘放入光驱中,工具将识别并引导系统更新到新的升级版本。
从指定位置
输入或选择要升级的软件包在本地硬盘上所属目录的绝对路径。
从网络
从红旗网站上升级系统,升级工具将检测网站上所有可以升级的软件包。
按“下一步”继续,(如果选择的是从网络升级,升级工具会首先列出网站上所有可以升级的软
件包供用户选择,选择并确认后按“下一步”,系统会将选定的软件包下载到一个本地的临时目录中),接下来的步骤对三种升级方式来讲都是相同的,操作方法类似与5.3.1.1节中的安装用户软件包,确认需要更新的软件包后开始执行更新操作。
第6章 使用Vi编辑器
Vi 自产生以来,历经不断革新,现在最新版的 Vi 已经具有很强大的功能,使用户能够更加轻松、
便捷地使用它。

6.1 vi的工作模式

6.1.1 命令模式

开始进入 Vi 时处于命令模式,如果已经处于插入模式或末行模式,按 键可以回到命令
模式。在这种模式下,只能用按键指令,不能输入文字。

6.1.2 插入模式
插入模式就是要把文本插入到要编辑的文件,插入位置根据所用的命令不同而不同。从命令模式
进入插入模式需要键入 i、a、o、r 及 I、A、O、R 等命令。在完成文本的输入后,必须用 键返回命令模式。

6.1.3 末行模式
末行模式因命令出现在屏幕的最底部一行而得名。在命令方式下,键入某些特殊字符,如 /、?、:
等,光标跳到屏幕末行并显示键入的末行字符,此时键入命令后回车,vi 会根据需要在末行显示出一定的响应信息,同时将自动回到命令状态。

6.2 Vi编辑文件的基本过程
在命令行键入 vi testfile,其中 testfile 代表要打开的文件名,如果文件不存在,vi将自动新建
一个名为 testfile 文件。
进入 vi 后,按 i 进入插入模式,就可以编写文件了,光标可以由方向键来移动。 键可以删去前一个字符。
如果已写好文件,就可以按 回到命令模式,然后用 存档(注意,是冒号命令),这
时还不会离开vi,要离开可按 :q,也可以合起来用 q,代表保存后离开。

6.2.1 光标的移动
注意:本节所述都是在命令模式下的操作。

6.2.1.1 基本的光标移动
左 h Backspace 或 左方向键
下 j Enter 或 + 或 下方向键
上 k - 或上方向键
右 l Space 或 右方向键
向下翻页 Ctrl+f PageDown
向上翻页 Crtl+b PageUp
6.2.1.2 复杂光标移动
0 移至行首,或是
~ 移至第一个非空白字符
$ 移至行尾,或
G 移至文件尾(最后一行的第一个非空白字符处)
gg 移至文件首(第一行第一个非空白字符处)
w 移至下一个字首
W 同上,但会忽略一些标点符号
e 移至前一个字字尾
E 同上,但会忽略一些标点符号
b 移至前一个字字首
B 同上,但会忽略一些标点符号
H 移至屏幕顶部第一个非空白字符
M 移至屏幕中间第一个非空白字符
L 移至屏幕底第一个非空白字符
n| 移至第 n 个字符处
:n 或 n G 移至第 n 行行首,注:n表示具体数字,如1,2,3……
) 移至下一个句首
( 移至上一个句首
} 移至下一个段落首
{ 移至上一个段落首

6.2.2 基本编辑指令

6.2.2.1 进入插入模式指令
i 在光标所在字符前开始输入文字(insert)
a 在光标所在字符后开始输入文字(append)
o 在光标所在行下开一新行来输入文字(open)
I 在行首开始输入文字
A 在行尾开始输入文字
O 在光标所在行上开一新行来输入文字
J 将下一行整行连接到本行(joint)

6.2.2.2 删除指令
x 删除光标所在处的字符。也可用 键。
X 删除光标所在位置前的字符。
dd 删除一整行。
dw 删除一个字(delete word)。
dG 删至文件尾。
D 删至行尾,或d$(含光标所在处字符)。

6.2.2.3 取代及还原
r 取代光标所在处的字符。
R 取代字符直至按 < Esc > 为止。
cc 取代整行内容。或大写 S 亦可。
cw 替换一个英文字。
~ 光标所在处之大小写转换。
C 取代至行尾,即光标所在处以后的字都会被替换。或 c$。
c0 取代至行首,或 c~。
u 撤销前面的操作,即 undo,撤销的次数是没有限制的。
U 在光标没离开本行之前,回复所有编辑动作。

6.2.2.4 复制
Yy 复制光标所在行整行。或一个大写Y。
2yy 或 y2y 复制两行。
y~ 复制至行首,或 y0 ,不含光标所在处字符。
y$ 复制至行尾。含光标所在处字符。
Yw 复制一个字。
Yg 复制至文件尾。
y1G 复制至文件首。

6.2.2.5 查找与替换
查找
/ 在命令模式的情形下,按 / 会在左下角出现一个 / ,键入要查找的字串,按回车开始查找。
? 和 / 相同,只是 / 是向前(下)找,? 则是向后(上)找。
n 继续查找。
N 继续寻找(反向)。
* 寻找光标所在处的字(要完全符合)。
# 同上,但 * 是向前(下)找,# 则是向后(上)找。
g* 同 *,但部分符合即可。
g# 同 #,但部分符合即可。
替换
:[range]s/pattern/string/[c,e,g,i]
用 string 替代 pattern。Range 指的是范围,1,7指从第一行至第七行,1,$ 指从第一行至最后一行,也就是整篇文章,也可以 % 代表;c 每次替换前会询问;e 不显示error;g不询问,整行替换;
i不分大小写。

6.2.3 离开
:q 如文件有修改而没保存,会警告,且无法离开。
:q! 放弃所有修改,强迫离开。
q 保存文件后离开,即使文件没有修改也会再保存一次。
:x 保存文件后离开,但如果文件没有修改,则不会做保存的动作。
:ZZ 和 :x 完全一样。
另存,不加文件名就是写入原文件。
文章评论

共有 3 条评论

  1. robertmaggie 于 2007-11-13 10:13:18发表:

    老是粘贴一样的帖子 太没有创意了(q):s

  2. 风雨无阻 于 2005-08-04 00:12:40发表:

    不错,支持

  3. wade9900 于 2005-06-11 23:10:55发表:

    写得不错!谢谢了啊!