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可以顯示它.