Linux包管理工具yum和apt有什么区别

    一般来说著名的 Linux 系统基本上分两大类:RedHat 系列:Redhat、Centos、Fedora 等;Debian 系列:Debian、Ubuntu 等。

    yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。

    概述

    一般来说著名的 Linux系统基本上分两大类:
    RedHat 系列:Redhat、Centos、Fedora 等
    Debian 系列:Debian、Ubuntu 等

    RedHat 系列

    常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
    包管理工具 yum
    支持tar包

    Debian系列

    常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
    包管理工具 apt-get
    支持tar包

    tar 只是一种压缩文件格式,所以,它只是把文件压缩打包而已。
    rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。
    优缺点来说,rpm一般都是预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。

    tar一般包括编译脚本,你可以在你的环境下编译,所以具有通用性。
    如果你的包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。
    tar一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure, make, make install. 来安装软件。

    rpm是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。

    系列对比

    对比项 rpm yum dpkg apt
    系列 RedHat系 RedHat系 Debian系 Debian系
    区别 包安装工具 依赖管理工具 包安装工具 依赖管理工具
    查询已安装 rpm -qa yum list installed dkpg -l apt list –installed
    安装 rpm -i package.rpm 或 rpm –ivh http://www.xxx.net/package.rpm yum install -y dpkg -i package.deb apt-get install package
    更新 rpm –U software.rpm yum update apt upgrade
    移除软件包 rpm -e [module1][module2]… yum -remove dpkg -r package apt remove package
    移除软件包及配置 dpkg -P apt purge package
    下载的包存放位置 /var/cache/apt/archives
    软件安装默认位置 rpm -ql /usr/share
    可执行文件位置 /usr/bin /usr/bin
    配置文件位置 /etc /etc
    lib文件位置 /usr/lib /usr/lib
    使用手册 /usr/share/doc
    帮助文档 /usr/share/man
    更新

    使用方式

    1 dpkg包

    dpkg (Debian Package)管理工具,软件包名以.deb后缀。类似redhat的rpm。这种方法适合系统不能联网的情况下。
    比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。

    dpkg -i tree_1.5.3-1_i386.deb 安装软件 sudo dpkg -r tree 卸载软件

    注:将tree.deb传到Linux系统中,有多种方式。VMware Tools可以通过挂载的方式安装,也可以使用WinSCP等工具进行安装

    2 APT

    Advanced Packaging Tool(APT)是一种高级软件工具。这种方法适合系统能够连接互联网的情况。类似redhat的yum。

    apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

    apt 命令执行需要超级管理员权限(root)。

    Debian系列的操作系统如Debian和Ubuntu都适用apt。在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因为他是Ubuntu安装软件的常用工具命令。

    依然以tree为例

    apt-get install tree 安装tree apt-get remove tree 卸载tree apt-get update 更新软件 apt-get upgrade apt-setup 设定/etc/apt/souces.list apt-get update 软体资料库同步 apt-get install softwarename1 [softwarename2.....] 安装软体 apt-get remove softwarename 1 [softwarename 2...] 移除软体(保留设定档) apt-get --purge remove softwarename 1 [softwarename 2...] 移除软体(不保留设定档) apt-cache search softwarename 列出所有sofrwarename的套件 apt-upgrade [softwarename 1 softwarename2...] 更新套件,不指定套件名则更新所有可更新的套件 apt-get clean(autoclean) 删除系统暂存的deb(autoclean只会将比目前系统旧版的套件删除) apt-get dist-upgrade 转换系统的版本(需在/etc/apt/sources.list指定stable,testing或unstable)

    3 rpm包

    将.rpm文件转为.deb文件
    .rpm为RPM (Red Hat系):CentOS、Fedora使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。
    alien abc.rpm

    3.1 安装
    rpm -i 需要安装的包文件 rpm -iv 需要安装的包文件(显示安装详情) rpm -ivh 需要安装的包文件(显示安装详情及进度
    3.2 升级
    rpm -U 需要升级的包文件 rpm -Uvh 需要升级的包文件(显示升级详情及进度)
    3.3 卸载

    rpm -e 需要卸载的软件包

    注:如果其他程序依赖要卸载的包,系统会提示不能删除,若需要强行删除加上–nodeps,

    会强制删除,但可能导致依赖于它的软件不能运行。

    3.4 查看

    查看已安装

    rpm -qa 查看已安装 rpm -qa | grep "软件或者包的名字" 查看指定包

    4 yum安装

    基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

    yum特点
    • 可以同时配置多个资源库(Repository)

    • 简洁的配置文件(/etc/yum.conf

    • 自动解决增加或删除rpm包时遇到的倚赖性问题

    • 使用方便

    • 保持与RPM数据库的一致性

    yum详细指令
    1、安装: yum install 软件 2、升级: yum update 软件 3、删除: yum remove 软件 4、查看: yum info 软件 5、搜索软件: yum search 软件 6、查看依赖关系: yum deplist 软件 7、查看已安装软件: yum list installded

    以上就是Linux包管理工具yum和apt有什么区别的详细内容,更多请关注主机测评网其它相关文章!

    阅读剩余
    THE END