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

    ? 版權聲明
    THE END
    喜歡就支持一下吧
    點贊13 分享