zoukankan      html  css  js  c++  java
  • 【one day one linux】linux下的软件包管理工具

    Linux 下的软件包管理工具


    linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装。


    1.软件包的种类

    Red Hat和Fedora:redhat最早发行的个人版本的Linux,自从Red Hat 9.0版本发布后,RedHat 公司就不再开发桌面版的 Linux发行套件,Red Hat Linux停止了开发,而将全部力量集中在服务器版的开发上,也就是 Red Hat Enterprise Linux 版。2004年4月30日,Red Hat公司正式停止对Red Hat 9.0版本的支援,标志著Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行套件则与来自开源社区的 Fedora 计划合并,成为 Fedora Core 发行版本。目前Red Hat分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux(RHEL),以及由社区开发的免费的Fedora Core。

    特点:面向个人桌面应用系统,采用基于rpm/yum管理软件包。

    RHEL(Red Hat Enterprise Linux)和CentOS:RHEL是Red Hat企业版,提供商业支持。CentOS是对RHEL重新编译而成,免费而稳定。

    特点:面向企业服务器使用,安全稳定,采用基于rpm/yum管理软件包。

    Debian和Ubuntu:Debian是社区类Linux的典范,是迄今为止最遵循GNU规范。Ubuntu基于Debian发行版和GNOME桌面环境.它使用Bash作为基础Shell,所以在很多基础命令上,ubuntu与CentOS的差别不是很明显,而ubuntu在桌面界面上要做的更为出色,还有类似的Kunbuntu/Xubuntu等。

    特点:面向桌面应用,采用apt-get/dpkg包管理方式。

    主要有两个:.deb和.rpm

    ".deb"包是由Debian社区开发的一种包,"rpm"是来自于Redhat

    包类型 使用这种包的linux发行版
    Debian Style(.deb) Debian, Ubuntu, Xandros, Linspire等
    Red Hat Style(.rpm) Fedora, CentOS, Red Hat Enterprise Linux等

    而两种包的管理工具主要分为:

    linux发行版 底层工具 上层工具
    Debian.Ubuntu dpkg apt-get,
    Fedora, Red Hat Enterprise Linux, CentOS rpm yum

    从表中可以很容易看出,linux的软件包管理工具分为两个层次的,所以下面介绍下软件包管理工具的一些基本使用。各有好处,根据自己所在的平台来判断使用哪一个。


    2.软件包管理工具的使用:安装、升级、查询、卸载

    (1)DEB包

    一个 DEB 包包含了已压缩的软件文件集以及该软件的内容信息(在头文件中保存),通常表现为以 .deb 扩展名结尾的文件,例如 package.deb 。对其操作,需要使用 dpkg 命令。

    DPKG 命令常用参数

    DPKG 的常规使用方法为 dpkg -? Package(.rpm), 其中 -? 为安装参数 ( 更多信息,请查阅帮助 $man rpm):

    -l   在系统中查询软件内容信息
    --info  在系统中查询软件或查询指定 rpm 包的内容信息
    -i   在系统中安装 / 升级软件
    -r   在系统中卸载软件 , 不删除配置文件
    -P   在系统中卸载软件以及其配置文件

    DPKG 命令参数使用方法

    安装 DEB 包命令
    $ sudo dpkg -i package.deb
    升级 DEB 包命令
    $ sudo dpkg -i package.deb ( 和安装命令相同)
    卸载 DEB 包命令
    $ sudo dpkg -r package.deb # 不卸载配置文件
    或
     $ sudo dpkg -P package.deb # 卸载配置文件
    查询 DEB 包中包含的文件列表命令
    $ sudo dpkg-deb -c package.deb
    查询 DEB 包中包含的内容信息命令
    $ dpkg --info package.deb
    查询系统中所有已安装 DEB 包
    $ dpkg -l package

    更友好的包管理软件 - APT

    APT

    APT 的全称为 Advanced Packaging Tools 。与 YUM 对应,它最早被设计成 DPKG 的前端软件,现在通过 apt-rpm 也支持 rpm 管理。而本节本节将介绍 APT 作为 DPKG 前端的使用。 APT 的主要包管理工具为 APT-GET,通过此工具可满足和上述 YUM 相似的功能要求。

    APT 的软件源定义来自 /etc/apt/sources.list 文件:
    # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to 
    # newer versions of the distribution. 
    
     deb http://cn.archive.ubuntu.com/ubuntu/ hardy main restricted 
     deb-src http://cn.archive.ubuntu.com/ubuntu/ hardy main restricted

    注意每次手动修改上述文件后,需要使用 sudo apt-get update 来更新系统的源使新的源数据被当前系统识别。

    UBUNTU 中 APT 的配置文件位于 /etc/apt/apt.conf.d,其中的多个配置文件依功能分类。

    一般在刚装上ubuntu系统之后需要添加源,添加所在地区的源会比较快的,关于这个直接百度就可以了。

    APT 常用命令

    更新源索引
    $ sudo apt-get update   #一般在安装软件和更新源之后需要执行这条命令。
    安装指定软件
    $ sudo apt-get install package-name
    下载指定软件的源文件
    $ sudo apt-get source package-name
    将系统中所有软件升级到最新版本
    $ sudo apt-get upgrade
    将操作系统连同所有软件升级到最新版本
    $ sudo apt-get dist-upgrade
    卸载指定软件
    $ sudo apt-get remove package-name

    更多有关 APT 的信息,请查阅 http://www.debian.org/doc/manuals/apt-howto/index.en.html 。

    (2)RPM包

    RPM 包的安装 / 升级 / 查询 / 卸载

    一个 RPM 包包含了已压缩的软件文件集以及该软件的内容信息(在头文件中保存),通常表现为以 .rpm 扩展名结尾的文件,例如 package.rpm 。对其操作,需要使用 rpm 命令。下面介绍 rpm 工具的参数和使用方法,并以 IBM Lotus Notes 在 RHEL 5.2 安装为例做具体说明。

    RPM 命令常用参数

    RPM 的常规使用方法为 rpm -? package.rpm,其中 -? 为操作参数 ( 更多信息,请查阅帮助 $man rpm):

    -q 在系统中查询软件或查询指定 rpm 包的内容信息
    -i 在系统中安装软件
    -U 在系统中升级软件
    -e 在系统中卸载软件
    -h 用 #(hash) 符显示 rpm 安装过程
    -v 详述安装过程
    -p 表明对 RPM 包进行查询,通常和其它参数同时使用,如:
    -qlp 查询某个 RPM 包中的所有文件列表
    -qip 查询某个 RPM 包的内容信息

    RPM 命令参数使用方法

    以上参数有些需要组合使用,比如说 rpm -h package.rpm 是没有意义的,但 rpm -ih package.rpm 即表示安装 package 并用 # 符显示安装进度。

    安装 RPM 包
    # rpm -ivh package.rpm
    升级 RPM 包命令
    # rpm -Uvh package.rpm
    卸载 RPM 包命令
    # rpm -ev package
    查询 RPM 包中包含的文件列表命令
    # rpm -qlp package
    查询 RPM 包中包含的文件列表命令
    # rpm -qlp package
    查询 RPM 包中包含的内容信息命令
    # rpm -qip package
    查询系统中所有已安装 RPM 包
    # rpm -qa

    更友好的包管理软件 - YUM

    YUM

    YUM 基于 RPM 包管理工具,能够从指定的源空间(服务器,本地目录等)自动下载目标 RPM 包并且安装,可以自动处理依赖性关系并进行下载、安装,无须繁琐地手动下载、安装每一个需要的依赖包。此外,YUM 的另一个功能是进行系统中所有软件的升级。如上所述,YUM 的 RPM 包来源于源空间,在 RHEL 中由 /etc/yum.repos.d/ 目录中的 .repo 文件配置指定,如 rhel-debuginfo.repo 的内容:

    rhel-debuginfo.repo
    
    [rhel-debuginfo] 
     name=Red Hat Enterprise Linux 5Client - i386 - Debug 
     baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/i386/Debuginfo/ 
     enabled=0 
     gpgcheck=1 
     gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    YUM 的系统配置文件位于 /etc/yum.conf,内容如:
    
    [main] 
     cachedir=/var/cache/yum 
     keepcache=1 
     debuglevel=2 
     pkgpolicy=newest 
     logfile=/var/log/yum.log 
     distroverpkg=redhat-release 
     tolerant=1 
     exactarch=1 
     obsoletes=1 
     gpgcheck=1 
     plugins=1 
     exclude= firefox gftp

    配置文件用来定义用户期望的 yum 行为,比如,gpgcheck 表明安装时不进行 gpg 验证,exclued=firefox gftp 表明进行系统全软件升级时不升级 firefox 和 gftp 。

    YUM 常用命令

    安装指定软件 :
    # yum -y install package-name
    列出系统中已安装软件
    # yum list
    列出系统中可升级的所有软件
    # yum check-update
    升级系统中可升级的所有软件
    # yum update
    升级指定软件
    # yum update package-name
    在升级过程中接受所有互动问答
    # yum -y update
    卸载指定软件
    # yum remove package-name

    更多有关 YUM 的信息,请查阅 http://fedoraproject.org/wiki/Tools/yum 。

     
     
     
     
     

    参考博客:
  • 相关阅读:
    STM32的GPIO工作原理 | 附电路图详细分析
    话说上拉电阻和下拉电阻
    Linux下MySQL数据库常用基本操作
    Linux acpi off学习的必要
    CentOS 6.2出现Disk sda contains BIOS RAID metadata解决方法
    降低开关电源纹波的三个要素
    什么是RFID? 射频识别技术的特点及工作原理!
    亲测可用的国内maven镜像
    Linux 删除文件夹和文件的命令
    [Gradle] 在 Eclipse 下利用 gradle 构建系统
  • 原文地址:https://www.cnblogs.com/panhao/p/5284642.html
Copyright © 2011-2022 走看看