區分一下dpkg,rpm和yum以及apt get

2021-10-23 21:42:56 字數 3563 閱讀 1914

** 

一般來說著名的 linux 系統基本上分兩大類:

redhat 系列:redhat、centos、fedora 等

debian 系列:debian、ubuntu 等

dpkg (debian系):ubuntu 

rpm (red hat系):centos、fedora

redhat 系列

debian系列

tar 只是一種壓縮檔案格式,所以,它只是把檔案壓縮打包而已。

rpm 相當於windows中的安裝檔案,它會自動處理軟體包之間的依賴關係。優缺點來說,rpm一般都是預先編譯好的檔案,它可能已經繫結到某種cpu或者發行版上面了。

列出系統中已安裝的所有套件:

下面是其他部落格的摘錄
以下整理列表來自jamyy's weblog :

安裝

目的

rpm 用法

dpkg 用法

安裝指定套件

rpm -i pkgfile.rpm

dpkg -i pkgfile.deb

查詢

目的

rpm 用法

dpkg 用法

顯示所有已安裝的套件名稱

rpm -qa

dpkg -l (小寫l)

顯示套件包含的所有檔案

rpm -ql softwarename (小寫l)

dpkg -l softwarename

顯示特定檔案所屬套件名稱

rpm -qf /path/to/file

dpkg -s /path/to/file

查詢套件檔案資訊

rpm -qip pkgfile.rpm (顯示套件資訊) 

rpm -qlp pkgfile.rpm (小寫l,顯示套件內所有檔案)

dpkg -i pkgfile.deb (大寫i ) 

dpkg -c pkgfile.deb

顯示指定套件是否安裝

rpm -q softwarename (只顯示套件名稱)

rpm -qi softwarename (顯示套件資訊)

dpkg -l softwarename (小寫l,只列出簡潔資訊) 

dpkg -s softwarename (顯示詳細資訊)

dpkg -p softwarename (顯示詳細資訊)

移除

目的

rpm 用法

dpkg 用法

移除指定套件

rpm -e softwarename

dpkg -r softwarename (會留下套件設定檔) 

dpkg -p softwarename (完全移除)

在debian使用alien處理rpm套件

alien 可處理.deb、.rpm、.slp、.tgz 等檔案格式, 進行轉檔或安裝. 

於debian安裝非debian套件時,可使用alien進行安裝. 

安裝alien套件: apt-get install alien

apt與yum

雖然rpm與dpkg有效的解決的軟體的安裝,移除與查詢的需求,但是在linux上的套件管理還有乙個很大的問題必須解決,就是各軟體間的相依性(dependency)。 rpm與dpkg只能做到檢查相依性,在安裝或移除時告知相依性的不滿足,皆下來就需要使用者自行去找出所需的套件來安裝。 這樣的確是有點不方便,因此產生了前端工具軟體- apt及yum。

apt

debian開發,目前也有porting到其他版本,要在red hat系的fedora或centos使用也是可以的。

使用方法:

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)

yum

yum(yellow dog updater, modified )是yellow dog linux開發的。 yellow dog linux原本是一套完全源於red hat但運作於先前使用ibm ppc平台的mac機器,原本以為這個版本已經消失,沒想到最新訊息是他們推出了在sony ps3上面運作的版本。 centos及fedora的基本預設安裝中即將yum列入其內。 如果沒記錯,要在debian上使用yum也是可以的。

使用方法:

基本指令: (如果yum在工作過程中需要使用者回應,可加上-y引數直接回答yes )

yum install softwarename1 [softwarename2.....]

安裝套件

yum update [softwarename 1 softwarename2...]

更新套件,不指定套件名則更新所有可更新的套件

yum list

列出目前在yum server 上面有的套件

yum info

類似rpm -qi

yum clean

yum remove softwarename1 [softwarename2.....]

移除已經安裝的套件

注1:red hat近年來致力於將乙個設定檔切割成很多小設定檔。 以yum.conf為例,red hat將其分割成***.repo檔放置在/etc/yum.repos.d這個目錄下。 並在yum.conf檔裡增加一行註解: put your repos here or in separate files named file.repo in /etc/yum.repos.d。 個人可視喜好決定。

記錄一下session和cookie

簡單來說 session放在伺服器端。當瀏覽器關閉就會清空。session時間不宜設定過長,否則大量占用伺服器記憶體。cookie適合長時間儲存,在登出時被清除。session 會話處理函式。也就是儲存在伺服器端的乙個全域性陣列。使用方法 1 宣告開始會話,session start 2 儲存會話,...

講一下MVC和MVVM,MVP?

mvc全名是model view controller,是模型 model 檢視 view 控制器 controller 的縮寫,model 呈現資料,view 呈現使用者介面,而 view controller 調節它兩者之間的互動。mvvm全名是model view view model,vie...

回顧一下 棧和佇列

下面來回顧一下 資料結構中比較常用的兩種型別 棧和佇列 棧 是乙個特殊的線性表,只能在一端操作,即先進後出 棧頂 允許操作的一端 棧底 不允許操作的一端 空棧 不含任何資料元素的棧,top 1,當棧中有乙個元素時,top 0 一 順序儲存 一般採用迴圈佇列 順序儲存中,我們通常用陣列下標表示結點的位...