Linux包管理工具yum、apt的區(qū)別
一般來說著名的 Linux 系統(tǒng)基本上分兩大類:RedHat 系列:Redhat、Centos、Fedora 等;Debian 系列:Debian、Ubuntu 等。
yum( Yellow dog Updater, Modified)是一個在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟件包管理器。apt(Advanced Packaging Tool)是一個在 Debian 和 Ubuntu 中的 Shell 前端軟件包管理器。
概述
一般來說著名的 Linux系統(tǒng)基本上分兩大類:
RedHat 系列:Redhat、Centos、Fedora 等
Debian 系列:Debian、Ubuntu 等
RedHat 系列
常見的安裝包格式 rpm包,安裝rpm包的命令是“rpm -參數(shù)”
包管理工具 yum
支持tar包
Debian系列
常見的安裝包格式 deb包,安裝deb包的命令是“dpkg -參數(shù)”
包管理工具 apt-get
支持tar包
tar 只是一種壓縮文件格式,所以,它只是把文件壓縮打包而已。
rpm 相當(dāng)于windows中的安裝文件,它會自動處理軟件包之間的依賴關(guān)系。
優(yōu)缺點來說,rpm一般都是預(yù)先編譯好的文件,它可能已經(jīng)綁定到某種CPU或者發(fā)行版上面了。
tar一般包括編譯腳本,你可以在你的環(huán)境下編譯,所以具有通用性。
如果你的包不想開放源代碼,你可以制作成rpm,如果開源,用tar更方便了。
tar一般都是源碼打包的軟件,需要自己解包,然后進(jìn)行安裝三部曲,./configure, make, make install. 來安裝軟件。
rpm是redhat公司的一種軟件包管理機(jī)制,直接通過rpm命令進(jìn)行安裝刪除等操作,最大的優(yōu)點是自己內(nèi)部自動處理了各種軟件包可能的依賴關(guān)系。
系列對比
對比項 | rpm | yum | dpkg | apt |
---|---|---|---|---|
系列 | RedHat系 | RedHat系 | Debian系 | Debian系 |
區(qū)別 | 包安裝工具 | 依賴管理工具 | 包安裝工具 | 依賴管理工具 |
查詢已安裝 | 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 | |||
軟件安裝默認(rèn)位置 | rpm -ql | /usr/share | ||
可執(zhí)行文件位置 | /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。這種方法適合系統(tǒng)不能聯(lián)網(wǎng)的情況下。
比如安裝tree命令的安裝包,先將tree.deb傳到Linux系統(tǒng)中。再使用如下命令安裝。
dpkg -i tree_1.5.3-1_i386.deb 安裝軟件 sudo dpkg -r tree 卸載軟件
注:將tree.deb傳到Linux系統(tǒng)中,有多種方式。VMwareTool,使用掛載方式;使用winSCP工具等;
2 APT
APT(Advanced Packaging Tool)高級軟件工具。這種方法適合系統(tǒng)能夠連接互聯(lián)網(wǎng)的情況。類似redhat的yum。
apt 命令提供了查找、安裝、升級、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。
apt 命令執(zhí)行需要超級管理員權(quán)限(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 設(shè)定/etc/apt/souces.list apt-get update 軟體資料庫同步 apt-get install softwarename1 [softwarename2.....] 安裝軟體 apt-get remove softwarename 1 [softwarename 2...] 移除軟體(保留設(shè)定檔) apt-get --purge remove softwarename 1 [softwarename 2...] 移除軟體(不保留設(shè)定檔) apt-cache search softwarename 列出所有sofrwarename的套件 apt-upgrade [softwarename 1 softwarename2...] 更新套件,不指定套件名則更新所有可更新的套件 apt-get clean(autoclean) 刪除系統(tǒng)暫存的deb(autoclean只會將比目前系統(tǒng)舊版的套件刪除) apt-get dist-upgrade 轉(zhuǎn)換系統(tǒng)的版本(需在/etc/apt/sources.list指定stable,testing或unstable)
3 rpm包
將.rpm文件轉(zhuǎn)為.deb文件
.rpm為RPM (Red Hat系):CentOS、Fedora使用的軟件格式。在Ubuntu下不能直接使用,所以需要轉(zhuǎn)換一下。
alien abc.rpm
3.1 安裝
rpm -i 需要安裝的包文件 rpm -iv 需要安裝的包文件(顯示安裝詳情) rpm -ivh 需要安裝的包文件(顯示安裝詳情及進(jìn)度
3.2 升級
rpm -U 需要升級的包文件 rpm -Uvh 需要升級的包文件(顯示升級詳情及進(jìn)度)
3.3 卸載
rpm -e 需要卸載的軟件包
注:如果其他程序依賴要卸載的包,系統(tǒng)會提示不能刪除,若需要強(qiáng)行刪除加上–nodeps,
會強(qiáng)制刪除,但可能導(dǎo)致依賴于它的軟件不能運行。
3.4 查看
查看已安裝
rpm -qa 查看已安裝 rpm -qa | grep "軟件或者包的名字" 查看指定包
4 yum安裝
基于 RPM 包管理,能夠從指定的服務(wù)器自動下載 RPM 包并且安裝,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
yum特點
- 可以同時配置多個資源庫(Repository)
- 簡潔的配置文件(/etc/yum.conf
- 自動解決增加或刪除rpm包時遇到的倚賴性問題
- 使用方便
- 保持與RPM數(shù)據(jù)庫的一致性
yum詳細(xì)指令
1、安裝: yum install 軟件 2、升級: yum update 軟件 3、刪除: yum remove 軟件 4、查看: yum info 軟件 5、搜索軟件: yum search 軟件 6、查看依賴關(guān)系: yum deplist 軟件 7、查看已安裝軟件: yum list installded
總結(jié)
APT是linux的Debian發(fā)行版已經(jīng)一些以Debian為基礎(chǔ)的發(fā)行版(Ubuntu等)下,做軟件包管理的一個工具,其中包括deselect和apt-get兩個工具,他們都可以提供下載、安裝、更新、刪除軟件包的功能。
Yum是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基于RPM包管理,能夠從指定的服務(wù)器自動下載RPM包并且安裝,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
到此這篇關(guān)于Linux包管理工具yum、apt的區(qū)別的文章就介紹到這了,更多相關(guān)yum、apt的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu 18.04安裝 pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy
virtualenv 是一個創(chuàng)建隔絕的Python環(huán)境的工具。這篇文章主要介紹了Ubuntu 18.04安裝 pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib的教程,需要的朋友可以參考下2019-11-11Linux系統(tǒng)中創(chuàng)建SSH服務(wù)器別名的兩種方法
這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)中創(chuàng)建SSH服務(wù)器別名的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Linux系統(tǒng)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05詳解linux下查看系統(tǒng)版本號信息的方法(總結(jié))
本篇文章主要介紹了詳解CentOS下查看系統(tǒng)版本號信息的方法(總結(jié)),具有一定的參考價值,有興趣的可以來了解一下2017-07-07Ubuntu16.04上安裝CUDA9.0 詳細(xì)教程
這篇文章主要介紹了Ubuntu16.04上安裝CUDA9.0 詳細(xì)教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Apache Doris的Bitmap索引和BloomFilter索引使用及注意事項
bitmap index是一種位圖索引,是一種快速數(shù)據(jù)結(jié)構(gòu),能夠加快查詢速度,BloomFilter索引也是以Block為粒度創(chuàng)建的,這篇文章主要介紹了Apache Doris的Bitmap索引和BloomFilter索引使用,需要的朋友可以參考下2022-09-09