• Linux 软件安装


    0 前言

    • 不同的软件的安装方法是并不相同的。有的软件只能通过特定的方法来安装。
    • 在不同的Linux发行版本上安装同一个软件的方法也未必相同, 因此有的时候,你在网上找到的在Ubuntu上安装某个软件的方法,也许在CentOS上并不能成功。

    1 RPM

    1.1 介绍

    RPM是 Redhat Package Manager的缩写,是Linux上的一种软件打包和管理的工具。 因为Linux的不同发行版(distribution),甚至同一发行版的不同版本之间往往有很多的不同, 开发者在某个Linux发行版下开发和编译的程序,直接放到另外一个Linux下有非常大的可能性无法运行。 因此早期的Linux的软件都是通过源码来分发,使用者基本都是通过在自己的Linux平台上重新编译源代码来安装软件。 但是这种编译源代码的方式比较繁琐和复杂,普通用户往往也难以掌握。后来 Redhat推出了RPM这个软件打包的方式。就是在特定的Linux平台上把软件编译好,然后把与这个软件相关的文件和库打包成一个文件(RPM包), 但需要注意的是: 通常不同的distribution所发布的RPM包往往不能用于其他的Linux的distributions上面。 例如,针对Redhat的RPM包往往无法直接在OpenSUSE上进行安装。因此,在使用RPM方式进行安装的时候,必须选择和你使用的平台一致的RPM安装包。

    1.2 命令

    rpm -ivh google-chrome-33.xxxx.rpm
    
    • -i: install 安装
    • -v: verbose 显示详细信息
    • -h: hash 显示安装进度

    升级某个软件:

    rpm -Uvh   abc.xxx.rpm             //abc这个软件的新版本会覆盖原来的版本,如果原来没有安装,直接安装
    

    查询某个软件是否安装

    rpm -q httpd                    //查询是否安装了apache服务
    rpm -qa | grep pam              //查询是否安装了包含pam这个名字的软件
    rpm -qi httpd                   //列出目前安装的apache服务的详细信息
    rpm -qR httpd                   //列出apache的软件依赖关系
    

    卸载软件

    rpm -e httpd   //卸载apache
    

    1.3 问题

    虽然用RPM包来安装软件免去了编译源代码的麻烦,但软件之间的属性依赖问题并没有解决,有的时候,为了安装某个软件,你不得不先要安装N个其他的软件才行。


    2 YUM

    2.1 介绍

    为了解决软件依赖的问题,已经为了给用户提供一种更加方便简单的软件安装方法, YUM被开发出来了。 YUM 是Yellowdog Updater Modified 的缩写. YUM 是建立在RPM的基础之上的, 为用户提供软件安装,升级,卸载的功能。YUM最大的好处是解决了软件依赖的问题。YUM 把很多软件的RPM包放在RPM 容器(repository)中, 用YUM 方式来安装软件的时候,会自动分析你要安装的软件的依赖关系,并会自动帮你安装必须的“依赖软件”, 这样就解决了最为困扰用户的软件依赖的问题。

    2.2 命令

    查询功能

    yum list/search /info   xxx
    例如:yum list httpd   //检查apache是否已经安装
    yum info httpd  //查看apache的详细信息, 类似 rpm -qi httpd
    yum search httpd  //查询和 apache (httpd)相关的软件
    

    安装升级

    yum install httpd
    yum update httpd
    

    卸载软件

    yum remove httpd
    

    3 dpkg

    3.1 介绍

    用于Ubuntu。

    dpkg 是一种比较低层的软件包安装管理工具,在安装时,不会安装软件包的依赖关系;只能安装所要求的软件包。

    dpkg通常用于 安装.deb文件,不会自动解决软件安装过程中的依赖关系。

    3.2 命令

    dpkg -i package_name.deb  #安装本地软件包,不解决依赖关系
    dpkg -r package #删除软件包
    dpkg -P #删除软件包及配置文件
    

    4 apt-get

    4.1 介绍

    用于Ubuntu。

    apt-get 是一种高级的软件包管理工具,在安装软件时,会自动解决软件安装过程中的依赖关系;

    ap-get remove 不会自动删除不需要的软件包。

    4.2 命令

    apt-get install package #在线安装软件包
    apt-get install package --reinstall   #重新安装软件包
    apt-get remove package  #删除软件包
    apt-get remove package --purge      #删除软件包及配置文件
    apt-get autoremove #删除不再需要的软件包
    apt-get clean #清除 /var/cache/apt/archives 目录
    apt-get autoclean #清除 /var/cache/apt/archives 目录,不过只清理过时的包
    apt-get build-dep package #解决编译源码 package 的依赖关系
    

    5 aptitude

    5.1 介绍

    用于Ubuntu。

    aptitude 是一种带有UI界面的更高级的软件包安装管理工具,自动解决软件包安装中的依赖关系;并且在删除的时候,会自动删除不需要的软件依赖关系安装包;更加的智能,高效。


    6 参考资料

  • 相关阅读:
    那些年伴我一起成长的SAP装备
    1079. Total Sales of Supply Chain (25)
    1132. Cut Integer (20)
    1074. Reversing Linked List (25)
    1071. Speech Patterns (25)
    1070. Mooncake (25)
    1067. Sort with Swap(0,*) (25)
    1063. Set Similarity (25)
    1066. Root of AVL Tree (25)
    1059. Prime Factors (25)
  • 原文地址:https://www.cnblogs.com/powercto/p/6821642.html
Copyright © 2020-2023  润新知