打印

Linux系统下软件那些事

[复制链接]
164|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
考哥|  楼主 | 2018-10-6 07:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Linux系统下软件那些事,先讲述的是关于Linux系统下安装软件所有方法大全:

    1、源代码包的安装

    gzip -d apache_1.3.20.tar.gz (解压)

    tar xvf apache_1.3.20.tar (解包)

    cd apache_1.3.20

    ./configure (配置)     ----./configure --help(查看configure选项)

    make (编译)

    make install (安装)

    make clean (卸载)

    注:典型的源代码包可以这样安装,但不都是这样,如webmin

    要执行其目录下./setup.sh进入交互式配置安装

    卸载用uninstall程序

    具体如果不清楚看要安装的包下的README文件

    2、RPM包的安装

    RPM软件包的一个例子:

    foo-1.0-1.i386.rpm

    其中包括软件包的名称(foo),版本号(1.0),发行号(1),和硬件平台(i386)。

    (1)安装

    # rpm -ivh foo-1.0-1.i386.rpm

    foo

    #######################

    A. 软件包已被安装

    # rpm -ivh foo-1.0-1.i386.rpm

    foo    package foo-1.0-1 is already installed

    error: foo-1.0-1.i386.rpm cannot be installed

    如果你仍旧要安装该软件包,你可以在命令行上使用--replacepkgs 选项,这将忽略该错误信息。

    B. 文件冲突

    如果要安装的软件包中有一个文件已在安装其它软件包时安装,会出现以下错误信息:

    # rpm -ivh foo-1.0-1.i386.rpm

    foo /usr/bin/foo conflicts with file from bar-1.0-1

    error: foo-1.0-1.i386.rpm cannot be installed

    要想让RPM 忽略该错误信息, 请使用--replacefiles 命令行选项

    C.未解决依赖关系

    RPM软件包可能依赖于其它软件包, 在安装了特定的软件包之后才能安装该软件包。

    # rpm -ivh bar-1.0-1.i386.rpm

    failed dependencies:

    foo is needed by bar-1.0-1

    你必须安装完所依赖的软件包,才能解决这个问题。如果想强制安装 (但是,这样安装后的软件包未必能正常运行),请使用-nodeps 命令行选项。

    (2) 卸载

    # rpm -e foo

    注意:这里使用软件包的名字foo,而不是软件包文件的名字“foo-1.0-1.i386.rpm”.

    如果其它软件包依赖于你要卸载的软件包,卸载时则会产生错误信息。如:

    # rpm -e foo

    removing these packages would break dependencies:

    foo is needed by bar-1.0-1

    要想RPM忽略该错误信息继续卸载的话 (但是,依赖于该软件包的程序可能无法运行), 请使用-nodeps 命令行选项。

    (3)升级

    # rpm -Uvh foo-2.0-1.i386.rpm

    foo

    ###############################

    当使用旧版本的软件包来升级新版本的软件时,会产生以下错误信息:

    # rpm -Uvh foo-1.0-1.i386.rpm

    foo package foo-2.0-1 (which is newer) is   already installed

    error: foo-1.0-1.i386.rpm cannot be installed

    要使RPM **这样“升级”,可使用--oldpackage 命令行参数。

    (4)查询

    # rpm -q foo

    foo-2.0-1

    软件包指定选项:

    -a 查询所有已安装的软件包.

    -f <file>; 将查询包含有文件<file>;的软件包

    -p   <packagefile>;

    查询软件包文件名为<packagefile>;的软件包

    信息选择选项:

    -i 显示软件包信息,如描述, 发行号, 尺寸, 构建日期, 安装日期, 平台, 以及其它各类信息。

    -l 显示软件包中的文件列表。

    -s 显示软件包中所有文件的状态。

    -d 显示被标注为文档的文件列表(man 手册, info 手册, README's, etc).

    -c 显示被标注为配置文件的文件列表。这些是要在安装完毕以后加以定制的文件(sendmail.cf, passwd, inittab, etc)。

    对于那些要显示文件列表的文件,可以增加-v 命令行选项以获得如同 ls -l 格式的输出。

    (5)验证

    验证软件包是通过比较软件包中安装的文件和软件包中的原始文件信息来进行的。除了其它一些东西,验证主要是比较文件的尺寸, MD5 校验码, 文件权限, 类型, 属主和用户组等。



      参考:http://emb.sunplusedu.com/answer/2013/0709/1937.html



           Linux软件的安装和卸载一直是困惑许多初学者,其实在Linux下有一个功能强大的软件安装卸载工具,名为RPM。其全名为"Red Hat Package Manager"。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信息。

    软件的安装

    ---- Linux下软件的安装主要有两种不同的形式。第一种安装文件名为filename.tar.gz。另一种安装文件名为filename.i386.rpm。以第一种方式发行的软件多为以源码形式发送的。第二种方式则是直接以二进制形式发行的。i386即表示该软件是按Inter 386指令集编译生成的。

    ---- 对于第一种,安装方法如下:

    ---- 首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。

    ---- #cp filename.tar.gz /root

    ---- 由于该文件是被压缩并打包的,所以,应对其解压缩。命令为:

    ---- #tar xvzf filename.tar.gz

    ---- 执行该命令后,安装文件按路径,解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有名为"INSTALL"的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。

    ---- 对于多数需要编译的软件,其安装的方法大体相同。执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为:

    ---- #./configure

    ---- 如果检查过程中,发现有错误,configure将给予提示,并停止检查。你可以跟据提示对系统进行配置。再重新执行该程序。检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机的性能的不同,所耗费的时间也不同。命令为:

    ---- #make

    ---- 成功编译后,键入如下的命令开始安装:

    ---- #make install

    ---- 安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:

    #make clean

    #make distclean

    至此,软件的安装结束。

    ---- 对于第二种,其安装方法要简单的多。

    ---- 同第一种方式一样,将安装文件拷贝至你的目录中。然后使用rpm来安装该文件。命令如下:

    ---- #rpm -i filename.i386.rpm

    ---- rpm将自动将安装文件解包,并将软件安装到缺省的目录下。并将软件的安装信息注册到rpm的数据库中。参数i的作用是使rpm进入安装模式。

    ---- 另外,还有一些Linux平台下的商业软件。在其安装文件中,有Setup安装程序,其安装方法同Windows平台下的一样。如:Corel WordPerfect。

    软件的卸载

    ---- 软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令:

    ---- #rpm -q -a

    ---- 即可查询到当前系统中安装的所有的软件包。参数q的作用是使rpm进入查询命令模式。参数a是查询模式的子参数,意为全部(ALL)。查询到的信息较多,可使用less人屏显示。

    ---- 确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入命令:

    ---- #rpm -e [package name]

    ---- 即可卸载软件。参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载:

    ---- #rpm -e [package name] -nodeps

    ---- 忽略依赖关系的卸载可能会导致系统中其它的一此软件无法使用。你可以使用

    ---- #rpm -e [package name] -test

    ---- 使rpm进行一次卸载预演,而不是真正卸载。这样可以使你检查一下软件是否存在有依赖关系。卸载过程中是否有错误。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

461

主题

477

帖子

0

粉丝