package系統應該說套件管理系統, 其實不過是儲存了一些資訊在硬碟上所以可以知道裝了那些有什麼需要升級。 從系統管理者的角度看一個package
package名 套件名稱不含版本 如dpkg (package) package檔 一個二位元套件檔檔案 如dpkg-1.6.deb (package_file) package集散地 一群套件檔的集中,可以是CD或是FTP Site等等 在debianCD 或FTP site通常有個Packages這個檔說明這裡面有什麼套件 package系統 系統管理者的系統,通常有很多個套件集散地來源 在系統中所有套件資訊藏在/var/lib/rpm /var/lib/dpkg下 這些檔是由眾多Packages檔組成的 |
package檔的操作
# dpkg -i cscope-15.1.deb(package檔) # rpm -i cscope-15.1.rpm(package檔) |
# dpkg -r cscope(package名) # rpm -e cscope(package名) |
# dpkg -i cscope-15.1.deb(自動upgrade) # rpm -U cscope-15.1.rpm |
# dpkg -I cscope-15.1.deb(package檔) 看有那些information # dpkg -c cscope-15.1.deb(package檔) 看有那些檔在套件裡 # rpm -qpi cscope-15.1.rpm(package檔) 看有那些information # rpm -qpl cscope-15.1.rpm(package檔) 看有那些檔在套件裡 rpm多加一個p表示對package動作 |
這是對系統上的整體pacakage資訊做查詢整理的動作, debian言,系統資訊藏在 /var/lib/dpkg/available, /var/lib/dpkg/status,
# dpkg -S "libc*.so" (filename-pattern) 找那個package包含了這個檔 # dpkg -s cscope (package名) 目前pkg的狀態,例如裝了沒有,相依性 # dpkg -l "csc*" (package名pattern) 列出所有含pattern的packages(記住是regex) # dpkg -L cscope (package名) 列出所有檔案是由這套件裝的 |
# rpm -q -f "libc*.so" (filename-pattern) 找那個package包含了這個檔 # rpm -q -i cscope (package名) 目前pkg的狀態,例如裝了沒有,相依性 # rpm -q -s "csc*" 列出所有含pattern的packages # rpm -q -l cscope 列出所有檔案由這套件裝的 |