Linux

-- 本文摘抄至 《鸟哥的Linux私房菜基本篇》 -- 基本的方法可以分为两大类:1、直接以源代码透过编译来安装与升级(Tarball);2、直接以编译好的

-- 本文摘抄至 《鸟哥的Linux私房菜基本篇》 --

基本的方法可以分为两大类:

  1、直接以源代码透过编译来安装与升级(Tarball);

  2、直接以编译好的binary program来安装与升级;

    Red Hat系统(含Fedora/CentOS系统)发展的RPM软件管理机制与yum在线更新模式;

    Debian系统(含Ubuntu/B2D系统)使用的dpkg软件管理机制与ATP在线更新模式;

           

一、使用Tarball来安装与升级管理软件

  1、所谓的Tarball档案,其实就是将软件的所有原始码档案以tar打包,然后再通过压缩技术来压缩,所以Tarball档案一般的扩展名为

*.tar.gz(gzip)\*.tar.bz2(bzip2);

  2、需要的基本软件,gcc、make、autoConfig,通常软件开发商会写一支侦测程序来侦测用户的作业环境,以及是否有所需要的相关性软件,侦测通过将建立Makefile文件(记录了源代码如何编译的详细信息),通常这支程序文件名为configure或者是config;

  3、大部分Tarball软件安装的指令:

    ① ./configure ,侦测程序,--help 可用来查看可用参数,重要的参数有 --prefix=/usr/local/xxsoftware(程序单独目录安装)

    ② make,依据Makefile 当中的预设工作进行编译;

    ③ make install,将编译完成的档案放置到预定的目录,完成安装;

    ④ 如果安装在独立的目录,还需要手动将软件的 man page 写入 /etc/man.config 中(MANPATH /usr/local/xxsoftware/man);

  4、Linux distribution释出安装的软件大多在 /usr 里面,而用户自行安装的软件建议放置在 /usr/local 里面;

    单一软件的档案都在同一个目录下,虽然便于移除软件(如,rm -rf /usr/local/xxsoftware),但是执行软件的指令需要加入到PATH里面,否则就得使用绝对路径了,另外, /usr/local/xxsoftware/man 也需要加入 man page 搜寻的路径当中;

 二、RPM与SRPM软件管理机制

   1、RPM全名 RedHat Package Manager,是一种以数据库记录的方式来将软件安装到Linux系统的软件管理机制,释出的软件先编译过,再打包成为RPM机制的包装档案。RPM会依照软件里头的数据查询Linux主机的相依属性是否满足,若满足予以安装并将该软件的信息写入RPM数据库中( /var/lib/rpm/ )。

  2、SRPM, Source RPM, 扩展名为 xxx.src.rpm ,这个RPM档案中含有原始码,同时也提供参数配置文件(configure与makefile),所以必须要先将软件以RPM管理方式编译,此时SRPM会被编译成RPM档案,再将RPM档案安装到系统中。

  3、RPM 查询、安装、升级与移除

          

    

 三、YUM在线升级

  1、CentOS先将释出的软件放置到YUM服务器内,并生成软件相依属性列表清单,这些列表数据与软件所在位置可以称为容器(repository)。客户端先向容器获取软件相关列表清单,与本机RPM数据库已存的软件数据相比较,再获取需要安装的软件,然后透过RPM机制开始安装。

  2、yum 容器网址配置文档 /etc/yum.repos.d/CentOS-Base.repo (其中一个容器配置档) , [ yum repolist all ] 可列出目前yum server所使用的容器;

  3、yum 查询、安装、升级与移除功能

    查询:yum [option] [查询工作项目] [相关参数]

         option :-y 提供用户询问yes or no? ; --installroot=/some/path 将软件安装在该目录而不使用默认路径

         查询功能 : yum [list|info|search|provides|whatprovides] 参数

        list : 列出目前yum所管理的软件,类似 rpm -qa;

        info : 查询软件详细功能,类似 rpm -qai;

        providers : 从档案中搜寻软件, 类似 rpm -qf;

    安装、升级与移除:yum [install | update | remove] 软件; 

  4、yum 软件群组功能, yum [群组功能] [软件群组]

    grouplist : 列出所有可使用的套件组

    groupinfo : 后面接group_name,了解group内含的所有套件名

    groupinstall : 安装套件群组, 安装gcc等软件开发工具 [ yum groupinstall "Development Tools" ],

                   安装图形接口支持相关 [ yum groupinstall "X Software Development" ]

    groupremove : 移除某个套件群组

  

以下您可能有感兴趣的文章: