首頁 > 軟體

Linux包管理工具yum、apt的區別

2023-09-06 06:27:54

一般來說著名的 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命令進行安裝刪除等操作,最大的優點是自己內部自動處理了各種軟體包可能的依賴關係。

系列對比

對比項rpmyumdpkgapt
系列RedHat系RedHat系Debian系Debian系
區別包安裝工具依賴管理工具包安裝工具依賴管理工具
查詢已安裝rpm -qayum list installeddkpg -lapt list –installed
安裝rpm -i package.rpm 或 rpm –ivh http://www.xxx.net/package.rpmyum install -ydpkg -i package.debapt-get install package
更新rpm –U software.rpmyum updateapt upgrade
移除軟體包rpm -e [module1][module2]…yum -removedpkg -r packageapt remove package
移除軟體包及設定dpkg -Papt 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系統中,有多種方式。VMwareTool,使用掛載方式;使用winSCP工具等;

2 APT

APT(Advanced Packaging Tool)高階軟體工具。這種方法適合系統能夠連線網際網路的情況。類似redhat的yum。

apt 命令提供了查詢、安裝、升級、刪除某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記。

apt 命令執行需要超級管理員許可權(root)。

apt適合Debian 系列:Debian、Ubuntu 等。在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

總結

APT是linux的Debian發行版已經一些以Debian為基礎的發行版(Ubuntu等)下,做軟體包管理的一個工具,其中包括deselect和apt-get兩個工具,他們都可以提供下載、安裝、更新、刪除軟體包的功能。

Yum是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

到此這篇關於Linux包管理工具yum、apt的區別的文章就介紹到這了,更多相關yum、apt的區別內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com