一般來說著名的 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 等
常見的安裝包格式rpm包,安裝rpm包的命令是「rpm -參數」
套件管理工具yum
支援tar包
常見的安裝套件格式deb套件,安裝deb套件的指令是「dpkg -參數」
套件管理工具apt-get
支援tar套件
tar只是一種壓縮檔案格式,所以,它只是把檔案壓縮打包而已。
rpm 相當於windows中的安裝文件,它會自動處理軟體包之間的依賴關係。
優缺點來說,rpm通常都是預先編譯好的文件,它可能已經綁定到某種CPU或是發行版上面了。
tar通常會包含編譯腳本,你可以在你的環境下編譯,所以具有通用性。
如果你的套件不想開放原始碼,你可以製作成rpm,如果開源,用tar更方便了。
tar通常都是原始碼打包的軟體,需要自己解包,然後進行安裝三部曲,./configure, make, make install. 來安裝軟體。
rpm是redhat公司的軟體包管理機制,直接透過rpm指令進行安裝刪除等操作,最大的優點是自己內部自動處理了各種軟體包可能的依賴關係。
比較項 | rpm | yum | ##dpkgapt | |
---|---|---|---|---|
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 | ##更新 |
yum update | #apt upgrade | 。 -e [module1][module2]… | ||
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 |
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等工具進行安裝
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)
將.rpm檔轉為.deb檔
.rpm為RPM (Red Hat系):CentOS 、Fedora使用的軟體格式。在Ubuntu下不能直接使用,所以需要轉換一下。
alien abc.rpm
rpm -i 需要安装的包文件 rpm -iv 需要安装的包文件(显示安装详情) rpm -ivh 需要安装的包文件(显示安装详情及进度
rpm -U 需要升级的包文件 rpm -Uvh 需要升级的包文件(显示升级详情及进度)
rpm -e 需要卸載的軟體包
註:如果其他程式依賴要卸載的套件,系統會提示不能刪除,若需要強行刪除加上–nodeps,
#會強制刪除,但可能導致依賴它的軟體不能執行。
查看已安裝
rpm -qa 查看已安装 rpm -qa | grep "软件或者包的名字" 查看指定包
基於RPM 套件管理,能夠從指定的伺服器自動下載RPM 套件並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
可以同時配置多個資源庫(Repository)
簡潔的設定檔(/etc/ yum.conf
自動解決增加或刪除rpm套件時遇到的倚賴性問題
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有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!