如何安装软件包(Package)及 rpm 软件包管理器

如何安装软件包(Package)及 rpm 软件包管理器

如何安装从 Internet下载的程序?

答案基于你所下载的是哪一种软件包 .如果你下载的程序是Red Hat 二进制形式软件包*.rpm (如果假定一个选择, 我选择这种格式), 你能避免很多安装上的问题.
RedHat 二进制形式程序包的安装
如果我想安装的程序是 RedHat 二进制形式软件包(*.rpm), 我能使用命令行或 GUI 工具.我喜欢用命令行因为它运行快而且不出错. Red Hat 软件包管理器安装程序被称作 rpm . 首先我要阅读软件包内容的信息(选项):
rpm -qpi my_new_file.rpm

该行查询(模式"q", 必须在破折号后第一个字母)尚未安装的软件包 (选项"p") 以便显示该软件包所包含的信息 (选项 "i") .目如果我想安装该程序, 我(作为超级用户)运行:  


rpm -ihv my_new_file.rpm

上面的命令安装了该组件.运行
rpm来安装该组件(模式 "i",必须是在破折号后第一个字母), 此时屏幕上显示比平常更多的信息(选项"h"=显示 "hashes" 来展现解包过程, 选项"v"  =详细).  软件包内容放到了它们所在的目录下 (rpm 知道它们的位置). 安装后, 准备运行, 我得知道可执行文件的名字和位置. 如果找不到可执行文件, 下面一行列出了软件包所包含的所有文件和它们所在的目录:

rpm -qpl my_new_file.rpm

该行查询(模式"q")尚未安装的软件包 (选项"p") 以便显示该软件包所包含的所有文件清单(选项 "l").


调用
rpm 的GUI 前端界面是: gnopro (旧版本, 导致 RH6.0 有些混淆, 但新版本已改进), kpackage (用于更新的版本),老的 glint (很慢,用于 RH5.2).
Troubleshooting. rpm被认为是智能软件包管理器. 如果安装失败, 我可以读错误信息,并能知道下一步所要做的事:
(1) 安装失败是由于我有相同软件包的早期版本且版本冲突. 解决方法:不安装,仅需升级该软件包.
rpm -Uvh my_new_file.rpm

(2) 安装失败是因为须首先安装另一个软件包.我得找到这个缺少的软件包并安装它, 然后在尝试安装该套件.在下面特殊的例子里, 我可以选择忽略缺少的附件(我真的知道我正在做的会导致软件发生故障):
rpm -ivh --nodeps my_new_file.rpm

或甚至可能是 :
rmp -ivh --nodeps --force my_new_file.rpm

TARBALL源代码中安装

如果我从网上所下载的是一个已压缩的 tarball(*.tar.gz or *.tgz )形式的Linux 源代码,安装步骤比二进制的rpm更长更棘手.我作为超级用户来安装该程序.


首先, 我改变我当前的工作目录到 /usr/local   :

cd /usr/local

其次,  
我将我从网上下载的 tarball解压:


tar -xvzf /home/the_dir_where_the_tarball_is/my_tarball.tar.gz

这选取了 (选项 "x") *.tar.gz (or *.tgz) tarball的内容, 解压它 (选项 "z"),同时给我比平常更多的信息 (选项"v" = 详细). 请注意选项"f"是指"file", 所以字母"f"后面要紧跟着文件名.  Tarball的内容被释放到在我的当前目录下的由
tar 创建的子目录里. 典型的例 /usr/local/ .   该tarball 知道新的子目录的名字.

如果 tarball未被压缩(比如, *.tar), 我可以用:

tar -xvf /home/the_dir_where_the_tarball_is/my_tarball.tar

第三, 我要知道新目录的名称, 然后用
cd 进入:

dir
cd the_new_program_subdir

因为有些目录的名字很长, 我使用autocompletion 选项来节省键盘输入时间—我只要输入头几个字母再按下<TAB> .

第四, 通过执行下面的三条命令能编译大多数程序:



./configure
make
make install

上面的命令要花点时间完成(1分钟?0.5小时?). 如果上面命令的任意一个运行失败, 可以读README 或 INSTALL 或任何该程序所提供的信息. 一些程序要求环境的定制(如路径的定义)或额外库文件的安装, 或其它.有时这是痛苦的事.很简单的程序可能不需要"./configure" 或/和 "make install" 步骤, 在此情况下"make"将单独工作.

第五, 如果运行正常, 我可以发现我刚刚编译的新的可执行文件.当运行以下命令时,该可执行文件的名字显示绿色:


ls --color

现在, 我能运行这个可执行文件, 例如:

./the_executable

一些程序自动将可执行文件安装到/usr/local/bin目录下,所以我可以试着:

/usr/local/bin/the_executable

第六, 如果我想更频繁运行这个程序, 我从 /usr/local/bin 目录创建一个到该可执行文件的软连接 :
cd /usr/local/bin
ln -s /usr/local/the_new_program_subdir/the_executable .

这种方式,使可执行文件(实际是到该文件的软连接)在我设置的路径中. 只需简单输入其文件名即可运行(不需输入到该文件的全路径). 一些程序安装了可执行文件(或一个连接)在"bin" 目录下, 在此情况下你能略过最后一步。



从RPM 软件包源代码安装


也有作为"rpm 源代码" 的软件包. 正如在本章开始部分所描述, 它们要求用"rpm" 工具对*.rpm  软件包进行安装. 但是因为 "rpm"安装了源代码(典型地使用 C 语言写的源代码),我需要通过执行相同的"./configure ;  make ; make install"顺序编译源代码 ,正如从tarballs源代码中安装一样 (参见前面的答案).


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值