Linux学习(三)Linux中软件的安装

Linux下软件的安装大概可以分为以下几种:

二进制程序的安装(最简单安装)

Rpm程序的安装(后缀名为*.rpm)

Yum在线安装(本质也是rpm安装,它只是rpm安装的一种方式)

源码安装

一、二进制程序的安装

       Linux下二进制格式的軟件是指事先已在各平台编译安装好相关软件,然后压缩打包,在安装时只需解压或者执行安装可执行文件即可。这种软件发行格式类似与windows系统,这样做的原因是保护源代码程序不対外泄露,保护知识产权、二进制软件包的
优点是安裝筒単、容易;
缺点是缺乏灵活性,相应的軟件包執行在対应平台下安装,高开这个坏境軟件就无法运行。
       二进制軟件包提供了很多类型型的打包方式,最常見的就是RPM格式的包,还有以".tar.gz. *.tgz、 *.bz2 等形式的二进制軟件包,最后还有一个是提供安装程序进行安装的二进制制軟件包。下面分别介詔:

1.1 安装".tar.gz、*.bz2”二进制軟件包

       这种格式的軟件包、安装其实就是簡単的解圧过程,根据不同的軟件打包格式,我们用相应的解压命令解圧即可。
       対于*.tar.gz軟件格式解压 :tar -zxvf xxxxxx.tar.gz対于* bz2軟件格式解圧:tar -jxvf xxxxx.tar.gz这类软件的卸载,対于解圧后只有単一目录,可以直接删除对应软件的目录即可,可如果解压文件分散在多个目录,需要一一手动删除目录。

1.2 提供安装程序的软件包

       前往官网下载即可

二、rpm程序的安装

2.1 RPM包管瑾工具介绍

      RPM是Red Hat Package Manager的缩写,本意就是Redhat軟件包管理。是最先由Redhat公司开发出来的inux下軟件包管理エ具,由于这种软件管理方式非常方便,逐漸被其它inux发行商所借用,現在已经成カinux平台下通用的軟件包管理方式,例如Fedora、Redhat、suse、 Mandrake 默认采用了这种軟件包管理方式。
      RPM包管理类似Windows里面的“添加/删除程序”但是是功能却比"添加/刪除程序”强大大多。在Linux的系統安裝光盘的軟件包,这些包文件就是我们所説的RPM文件.毎个RPM文件中包含了已经编译好的二进制可执行文件,其实就是將软件源码文件进行编译安装,然后进行封装,就成了RPM文件,类似于windows安装包中的".exe"文件。此外RPM文件中还包含了运行可执行文件所需的其它文件,这点也和windows下的軟件包类似,windows 程序的安装包中,除了"exe"可执行文件. 逐有其它依赖运行的文件。
       RPM包管理方式的优点是:安装简単方便·因カ軟件已编译完成打包完毕,安装只是个验証坏境和解圧的过程.此外通辻RPM方式安装的軟件,RPMエ具都会记录软件的安装信息,这就方便了软件日后的查询、升级和卸载。
      RPM包管理方式的缺点是:对操作系统环境的依赖很大,它要求RPM包的安装环境必须与RPM包封装时的环境相一致或相当,还需要满足安装时与系统某些软件包的依赖关系,例如需要安装A软件,但是A软件需要系统有B和C软件的支持,那么就必须先安装B和C软件,然后才能安装A软件。这也是我们在用RPM包方式安装软件需要特别注意的地方。

2.2 RPM包种类和命令

      RPM包的封装格式一般有两种,分别是RPM和SRPM, SRPM包也是一种RPM,但是它包含了编译时的源码文件和一些编译指定的参數文件,因而在使用的时候需要重新进行编译,通常SRPM对应的RPM文件类似与“xxxxxxx.src.rpm”格式。
      下面我们讲述一下两种RPM包对应的文件名含义:
      例如一个rpm文件: nxserver-2.1.0-22.i386.pm 其中nxserver”表示软件的称,"2.1.0"表示软件的版本号,*22"表示软件更新发行的次数,“1386"表示适合硬件的平台,最后的”.rpm”是rpm软件包的标识。
      几个rpm包如下:
      MySQL-server-5.5.47-1.inux2.6.x86_ 64.rpm
      nc-1.84-22. el6.x86 64.rpm (el6: redad-hat enterprise linux 6)
      help2man-1.36.4-2.noarch.pm (noarch:没有有任何平台限制)
      一般的RPM封装包的命名格式都有这五个部分组成,由于SRPM包是需要编译才能使用的,因此没有上面显示项中对应的平台选项,其它与RPM包命令格式完全一一样,
      对于RPM包的五个组成部分,他们的含义如下:
      软件名称:是对软件包的标识;

      软件的版本号:每个就件都有自己的版本号,版本号可以说明软件从开始到现在发行了多少了,软件是否新的等等。

      软件更新发行次数:由于一个版本的软件在发行后可能出现bug或者漏洞,那么就需要修复和重新封装,每修复封装一次,软件的名称就要更新一次。

      适合的硬件平台:由于RPM包要在各种不同的linux硬件平台上使用,但是由于每个不同的硬件平台RPM打包封装的参数也各不相同,这样就出现了针对1386,i686,x86_64、noarch等的平台名称标识。
      1386指这个软件包适用于intel 80386以后的x86架构的计算机。
      i686指这个软件包适用于intel 80686以后(奔腾pro以上)的x86架构的计算机。
      x86_ 64指这个软件包适用x86架构64为处理器的计算机。
      noarch表示这个软件包与硬件构架无关,可以通用,

      需要注意的是: 1386软件包可以在任意x86平台下使用,无论是i686或是x86_64的机器。相反,i686 的软件包不一定能在i386硬件上面使用,由于i686软件包一般都是对cpu进行了优化,所以具有向后兼容性,但是不具有先前兼容的特性。
      RPM软件包标识: RPM软件包标识用于指明此文件是rpm格式的文件,一般有两种后缀标识,分别是以".rpm"结尾和以".src.pm"结尾。
      rpm安装需要注意包名和包全名概念,包名是指软件名对已经安装的软件使用包名即可,比如查询、删除,更新等。而对未安装的软件局要使用包全名,如软件安装。

2.3 RPM工具的使用
Man rpm

      RPM工具的使用分为安装、查询。验证、更新、删除等操作,下面我们分别介绍。
1.安装软件包
命令格式: rpm -i [辅助选项]file1.rpm file2.p…fileN.rpm主选项说明:
-i: install 的意思,就是安装软件。也可以使"–install".
辅助选项说明:这里的选项很多,我们只列出常用选项,详细解释如下:

-q:query查询

-a:all所有

-v: 显示附加信息

-h:安装时输出标记"#”。

[- -test:只对安装进行测试,并不实际安装。]

[- -nodeps:不检查软件之间的依赖关系。加入此选项可能会导致软件不可用。]

[- -force忽略软件包以及软件冲突。]

[- -replacepkgs:强制重新安装已经安装的软件包。]

[- -prefix将软件包安装到由指定的路径下。]

[- -percent:以百分比的形式输出安装的进度]

[- -excludedocs不安装软件包中的说明文件]

[- -incudedocs:安装软件包,包含说明文件。]
rpm -ql 查询

rpm -ivh 安装

rpm -Vp 检测

rpm -Uvh 更新

rpm -e --nodeps(不检查依赖关系) 卸载

三、yum的在线安装

yum (全称为Yellow dog Updater, Modifed)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器,基于RPM包管理能够从指定的服务器自动下载Rpm包并且安装,可以自动处理依赖性关系,井且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、刪除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum的优点:解决了rpm安装的依赖性、可指定位置

Yum的缺点: yum安装需要网络(本地yum源除外)

Linux的安装原则:最小量安装(只安装自己需要的).安装后尽量别卸载(卸载容易导致依赖丢失)

yum的在线安装简单,服务器必高要联网。

Yum的常用命令介紹:

  1. 安装
    yum install全部安装

    yum install package1 安装指定的安装包package1

    yum groupinsall group1 安装程序组group1

  2. 更新和升級
    yum -y update 升坂所有包,改変軟件没置和系统设置,系统版本内核升级

    yum -y upgrade 升级所有包,不改変軟件设置和系统设置,系统版本升級,内核不改変

    yum update package1更新指定程序包package1

    yum check-update恰査可更新的程序

    yum upgrade package1升絞指定程序包package1

  3. 査找和显示

    yum info package1显示安装包信息package1

    yum list显示所有已经安装和可以安装的程序包

    yum list package1昆示指定程序包安装情况package1

    yum groupinfo group1显示程序組group1信息

    yum search string根据关鍵字string 査找安装包

  4. 刪除程序

    yum remove/erase package1刪除程序包package1

    yum groupremove group1刪除程序组group1

    yum deplist package1査看程序package1依赖情况

  5. 清除緩存

    yum clean packages清除緩存目彖下的軟件包

    yum clean headers清除媛存目彖下的headers

    yum clean oldheaders清除緩存目录下旧的headers

    yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清缓存目录下的软件包旧的headers。

    yum makecache 重新构建缓存


    安装一个軟件吋

    yum -y installdhttpd

    安装多个类似軟件吋
    yum -y install httpd*

    安装多个非类似軟件吋
    yum -y install httpd PHP php-gd MySQL

    卸載一个軟件吋
    yum -y remove httpd

    卸载多个相似的軟件
    yum -y remove httpd*

    卸载多个非类似軟件时
    yum -y remove httpd php php-gd mysql

    安装组包:
    yum -y groupinstall ‘Development tools’

四、源码安装

    由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache. tomcat. php 等软件.开源软件基本都提供源码下载,源码安装的方式:

     源码安装的优点是:

  1. 用户可以自己定制软件功能,安装需要的模块,不需要的功能可以不用安装。
  2. 用户还可以自已选择安装路径,方便管理。
  3. 卸载软件也很方便,只需删除对应的安装目录即可。
  4. 能最大程度和服务器平台融合,效率稍微比其他方式高.
  5. 没有windows所谓的注册表之说。

源码安装的缺点是:
1、 安装较为繁琐,需要自己配置

2、安装较为耗时,需要自己编译源码

3、安装较为容易出错,出错也难以解决

源码安装软件一般有以下几个步骤组成:下载解压源码、分析安装平台环境(ifconfigure)、编译安装软件(make,make install)。

猜你喜欢

转载自blog.csdn.net/qq_40707033/article/details/86925119