Debian與Redhat軟件包管理

       目前在各 Linux 發行版中, 比較著名的軟件包管理系統有: shell

RPM: Red Hat/Fedora,Suse,Mandriva 使用的是這類管理系統. apache

DPKG: Debian,ubuntu使用的是這類管理系統. ubuntu

        redhat的rpm軟件包管理相信你們都很熟悉,這裏介紹debian下管理配置,在/etc/apt/sources.list。文件內容的格式以下: memcached

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

        第一列描述了文件類型,是deb類型仍是deb-src類型的,deb是已經編譯好的二進制軟件包,deb-src是源碼包,第二列是使用的鏡像地址,apt能夠使用多種類型的地址,如:http、ftp、file等。 main contrib non-free是源下面不一樣的目錄,每一個目錄放一類軟件.在每次修改sources.list文件都須要運行apt-get update命令更新源列表。  ui

        系統中全部 packages 的信息都在 /var/lib/dpkg/目錄下, 其子目錄 /var/lib/dpkg/info 用於保存各個軟件包的配置文件列表 this

         /var/lib/dpkg/available 文件的內容是軟件包的描述信息, 該軟件包括當前系統所使用的 Debian 安裝源中的全部軟件包,其中包括當前系統中已安裝的和未安裝的軟件包. spa

         /var/cache/apt/archives 目錄是在用 apt-get install 安裝軟件包時,軟件包的臨時存放路徑/etc/apt/sources.list 存放的是軟件源站點, 當執行 sudo apt-get install  package-name 時,軟件包就去這些站點下載軟件包到本地並執行安裝 code

       下面是yum與apt軟件包管理經常使用命令對比 orm

YUM包管理 crontab

APT包管理

備註

yum install package-name

apt-get install package-name

安裝軟件包

yum remove package-name

apt-get remove package-name

卸載軟件包(保留配置文件)加入 --purge 則刪除配置文件

yum upgrade

apt-get upgrade

更新全部已安裝的軟件包,apt-get dist-upgrade —— 將系統升級到新版本

yum clean package-name

apt-get clean

清除cache中包文件

yumdownloader source package-name

apt-get source package-name

下載程序的源代碼包

yum search package-name

apt-cache search package-name

在軟件資料庫中搜索軟件包

yum info  package-name

apt-cache show package-name

查看包信息

       

         下面是rpm與dpkg軟件包管理經常使用命令對比

RPM包管理

Debian包管理

備註

rpm  -qa

dpkg -l

查詢當前系統中已安裝的全部軟件包

rpm  -qi package-name

dpkg -s package-name

查詢系統中某個軟件包的詳細信息

rpm  -ql package-name

dpkg -L package-name

顯示已安裝軟件包的文件列表

rpm  -qf file

dpkg -S file

查詢系統中指定的文件屬於哪一個包

rpm  -qpi file.rpm

dpkg -I pkg.deb

顯示指定deb軟件包文件的詳細信息

rpm  -qlp file.rpm

dpkg -c pkg.deb

顯示deb包中的文件列表

rpm  -ivh file.rpm

dpkg -i pkg.deb

安裝deb軟件包

rpm  -e package-name

dpkg -P package-name

完全卸載deb軟件包

rpm2cpio file.rpm|cpio -id

dpkg -x pkg.deb .

解包到當前目錄

rpm -qpR file.rpm

apt-cache depends package-name

查詢軟件對環境的依賴關係

rpm --force --nodpes -i file.rpm

dpkg -i --force-all pkg.deb

強行安裝軟件包

rpm -qp --scripts file.rpm

dpkg -e pkg.deb 

查詢管理軟件包腳本

rpmbuild -bb filename.spec

dpkg -b pkg.deb

建軟件包

rpm -V package-name

debsums -a package-name

校建軟件包中的文件是否被修改

rpm -checksig file.rpm

debsig -c pkg.deb

檢證軟件包簽名是否正確


       有時僅須要將包下載下來不安裝,這裏apt-get使用參數-d 很方便,例如:

root@10.1.1.200:~# apt-get install -d memcached
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apache2-utils
Use 'apt-get autoremove' to remove them.
Suggested packages:
  libcache-memcached-perl
The following NEW packages will be installed:
  memcached
0 upgraded, 1 newly installed, 0 to remove and 31 not upgraded.
Need to get 47.4kB of archives.
After this operation, 180kB of additional disk space will be used.
Get:1 http://apt.shidc.taomee.com lenny/updates/main memcached 1.2.2-1+lenny1 [47.4kB]
Fetched 47.4kB in 0s (163kB/s) 
Download complete and in download only mode
        使用yum下載rpm包, 安裝yum-utils,直接用yumdownloader 就能夠直接下載yum源中的rpm包.
root@10.1.1.200:~# yum install yum-utils
root@10.1.1.200:~# yumdownloader crontabs.noarch
root@10.1.1.200:~# ls
anaconda-ks.cfg  crontabs-1.10-33.el6.noarch.rpm  install.log  install.log.syslog

       如下是apt-get是常常會用到的參數:

-d, --download-only 僅僅是下載該軟件包

-m, --ignore-missing, --fix-missing  忽視丟失的包 --no-download        Disables downloading of packages -y, --yes, --assume-yes    在安裝過程當中,自動回答yes --assume-no                  在安裝過程當中,自動回答no -u, --show-upgraded       顯示哪些包會被升級 --reinstall                      重裝已經安裝的包 --purge                        remove而且刪除配置文件 --allow-unauthenticated   忽略包的認證機制

相關文章
相關標籤/搜索