ubuntu apt-get命令詳解

1. RedHat與Ubuntu軟件安裝對比

RedHat:

    rpm是由紅帽公司開發的軟件包管理方式,使用rpm我們可以方便的進行軟件(rpm包)的安裝、查詢、卸載、升級等工作。但是rpm軟件包之間的依賴性問題往往會很繁瑣,尤其是軟件由多個rpm包組成時。。
    yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

Ubuntu:

    dpkg用於對基於Debian的系統(Ubunut是debian的變種)進行軟件(deb包或源代碼)的安裝及升級,dpkg同樣不能很方便地處理包的依賴關係

    apt-get(Advanced Packaging Tools)適用於deb包管理式的操作系統,主要用於自動從互聯網的軟件倉庫中搜索、安裝、升級、卸載二進制或者源代碼格式的軟件包。apt-get命令一般需要root權限執行,所以一般跟着sudo命令。


2.apt-get常用命令

  • apt-get update

   在修改/etc/apt/sources.list或/etc/apt/preferences之後運行該命令。此外您需要定期運行這一命令以確保您的軟件包列表(保存在本地)是最新的。一般我們用apt-get安裝軟件前都要執行此命令。

  • apt-get install packagename

    安裝一個新軟件包,軟件包會被下載到/var/cache/apt/archives 稍後進行安裝如果一個軟件包壞了,或者你只是想重新安裝一個軟件的最新版本 ,可以使用–reinstall參數,如:

     # apt-get –reinstall install packagename

    在安裝軟件時,可以用apt-get install package/distribution或apt-get install package=version來指定軟件的安裝版本,如

     # apt-get install nautilus/unstable

  • apt-get remove/autoremove package

    

    apt-get remove package 刪除包

    apt-get remove package –purge 刪除包+配置文件

    apt-get autoremove packagename 刪除包及其依賴的軟件包

    apt-get autoremove –purge packagname  刪除包及其依賴的軟件包+配置文件


  • apt-get clean/autoclean 

    apt-get clean  安裝軟件時,軟件包會被先下載到/var/cache/apt/archives/目錄下,然後安裝,apt-get clean可以刪除/var/cache/apt/archives/ 和/var/cache/apt/archives/partial/目錄下所有包(鎖定的除外)。

    apt-get autoclean 僅刪除已卸載掉的軟件包

  • apt-get upgrade

    apt-get upgrade 更新已安裝的包,加-u這個選項讓APT顯示完整的可更新軟件包列表

  • apt-cache search/show/showpkg/depends string  

    apt-cache search string 在軟件包列表中搜索字符串 

        apt-cache show string   顯示軟件信息,如果已經安裝,並且又有了新版本,那麼都會顯示,安裝版本在後

       apt-cache showpkg string   獲取更多信息

      apt-cache depends string   查詢軟件的依賴性

3. 用dpkg查詢軟件名

dpkg -S filename  這個文檔屬於哪個已安裝軟件包。

dpkg -l 列出所有已安裝的軟件包

4.用apt-file查詢包與文件的關係

apt-file search filename  就象dpkg -S 但可以查未安裝軟件包

apt-file list packagename 也可以查詢一個包所含文件

apt-file update 更新數據庫

5.利用apt-get下載程序源碼

apt-get source packagename    下載三個文件 a .orig.tar.gz, a .dsc 和 a .diff.gz

apt-get -b source packagename 下載的源碼包自動編譯成軟件包


    apt-get的source命令與它的其它命令有所不同,普通用 戶就可以運行source命令。文件被下載到用戶調用apt-source package 命令時所處的目錄中 

6.編譯軟件

apt-get build-dep package

    通常,編譯源碼包時要用到某些頭文件和共享庫,所有的源碼包的控制文件中都 有一個域“Build-Depends:”,域中指出了編譯該源碼包需要哪些附加包。APT提供了一個簡單的方法下載這些附加包,你只需運行apt-get build-dep package,其中“package”就是你打算編譯的源碼包 名稱。見下例:

1
2
3
4
5
6
7
8
9
     # apt-get build-dep gmc
     Reading Package Lists... Done
     Building Dependency Tree... Done
     The following NEW packages will be installed:
       comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev
       libgpmg1-dev 
     0 packages upgraded, 7 newly installed, 0 to remove and 1  not upgraded.
     Need to get 1069kB of archives. After unpacking 3514kB will be used.
     Do you want to continue? [Y/n]

    這些將要被安裝的包是用於正確編譯gmc的。注意這個命令不 能用來搜索某個軟件的源碼包,你得另外運行apt-get source下載源碼包。如果你想做的是檢查要編譯一個軟件包需要哪些其它的軟件包,apt-cache show可以顯示它.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章