時間:2017年08月17日星期四前端
說明:本文部份內容均摘取自書籍《Linux命令行與shell腳本編程大全》,版權歸原做者全部。《Linux命令行與shell腳本編程大全》(第三版)第九章學習總結shell
本章內容數據庫
安裝軟件 使用Debian包 使用Red Hat包
各類主流Linux發行版都採用了某種形式的包管理系統(package management system,PMS)來控制軟件和庫的安裝。編程
PMS利用一個數據庫來記錄各類相關內容安全
Linux系統上已經安裝了什麼軟件包 每一個包安裝了什麼文件 每一個已安裝軟件包的版本
軟件包存儲在服務器上,能夠利用本地Linux系統上的PMS工具它=經過互聯網訪問。這些服務器稱爲倉庫(repository)。能夠用PMS工具來搜索新的軟件包,或者是更新系統上已安裝軟件包。服務器
PMS工具及相關命令在不一樣的Linux發行版上有很大的不一樣。Linux中普遍使用的兩種主要的PMS基礎工具是dpkg和rpm。ide
Debian工具
基於Debian的發行版(如Ubuntu和Linux Mint)使用的是dpkg命令, 這些發行版的PMS工具也是以該命令爲基礎的。 dpkg會直接和Linux系統上的PMS交互,用來安裝、管理和刪除軟件包。
Red Hat學習
基於Red Hat的發行版(如Efdora、openSUSE及Mandriva)使用的是rpm命令, 該命令是其PMS的底層基礎。 相似於dpkg命令,rpm命令可以列出已安裝包、安裝新包和刪除已有軟件。
命令:dpkg 命令說明:基於Debian系統PMS工具的核心。
包含在這個PMS中的其餘工具備網站
apt-get:搜索、安裝、更新、刪除軟件包 apt-cache:顯示軟件包的一些常規信息 aptitude:經常使用命令。本質是apt工具和dpkg的前端
命令:aptitude 命令說明:進入aptitude的全屏模式,並查看已經安裝包信息 命令:q 命令說明:退出查看安裝包信息 命令格式:aptitude show package_name 命令說明:查看包package_name的詳情
說明:aptitude show命令後面的package_name參數,若是該軟件包尚未安裝到系統上,則輸出的軟件包相關的詳細信息自於軟件倉庫。
命令:dpkg 命令說明:查看某個特定軟件包相關的全部文件的列表 命令格式:dpkg -L package_name 命令說明:使用dpkg列出package_name軟件包所安裝的所有文件 命令格式:dpkg --search absolute_file_name 命令說明:使用絕對文件路徑查找特定文件屬於哪一個軟件包
命令格式:aptitude search package_name 命令說明:查找指定軟件包 命令格式:aptitude install package_name 命令說明:從軟件倉庫中安裝指定軟件包
命令格式:aptitude safe-upgrade 命令說明:更新系統上全部的軟件包
命令格式:aptitude remove package_name 命令說明:只刪除軟件包而不刪除數據和配置文件 命令格式:aptitude purge package_name 命令說明:刪除軟件包和相關的數據和配置文件 命令格式:aptitude search package_name 命令說明:查看軟件包信息來驗證是否已刪除。若是軟件包名稱前面是 i:表示軟件包已經安裝到了系統上 v:表示軟件包可用,但還沒安裝 c:表示軟件已刪除,但配置文件還沒有從系統中清除 p:表示軟件和配置文件也已刪除
aptitude默認的軟件倉庫位置是在安裝Linux發行版時設置的。具體位置存儲在文件/etc/apt/sources.list中。
竅門:Linux發行版的開發人員下了大工夫,以保證添加到軟件倉庫的包版本不會互相沖突。一般經過庫來升級或安裝軟件包是最安全的。即便在其餘地方有更新的版本,也應該等到該版本出如今你的Linux發行版倉庫中的時候再安裝。
當須要給你的sources.list文件添加軟件倉庫時,經過軟件倉庫網站或者各類包開發人員網站上都會有一行文本,你能夠直接複製,而後粘貼到sources.list文件中。最好選擇比較安全的途徑而且只複製和粘貼。
基於Red Hat的系統也有幾種不一樣的可用前端工具。
常見的有如下三種
yum:在Red Hat和Fedora中使用 urpm:在Mandriva中使用 zypper:在openSUSE中使用
命令:yum 命令說明:進行軟件包管理 命令格式:yum list installed 命令說明:輸出已安裝的包 命令格式:yum list installed > installed_software 命令說明:輸出的信息可能一閃而過,最好重定向到一個文件中 命令格式:yum list xterm 命令說明:查看xterm軟件包的詳細信息 命令格式:yum list installed xterm 命令說明:查看xterm軟件包是否已包裝 命令格式:yum provides file_name 命令說明:查找指定文件屬於哪一個軟件包。 yum分別會查找三個倉庫:base、updates和installed。
命令格式:yum install package_name 命令說明:安裝指定package_name的軟件,安裝軟件包及須要的庫以及依賴的其餘包 命令格式:yum localinstall package_name.rpm 命令說明:使用本地安裝,手動下載rpm安裝文件並用yum安裝
命令格式:yum list updates 命令說明:列出全部已安裝包的可用更新 命令格式:yum update package_name 命令說明:對指定package_name軟件包進行更新 命令格式:yum update 命令說明:對全部軟件包進行更新
命令格式:yum remove package_name 命令說明:只刪除軟件包而保留配置文件和數據文件 命令格式:yum erase package_name 命令說明:刪除軟件和它全部的文件
有時在安裝多個軟件包時,某個包的軟件依賴關係可能會被另一個包的安裝覆蓋掉。這叫做損壞的包依賴關係(package dependency)。
命令格式:yum clean all 命令說明:清理放錯位置的文件 命令格式:yum update 命令說明:更加全部軟件包 命令格式:yum deplist package_name 命令說明:顯示軟件包依賴關係 命令格式:yum update --skip-broken 命令說明:忽略依賴關係損壞的包,更新其餘軟件包
相似於aptitude系統,yum也是在安裝發行版的時候設置的軟件倉庫。
竅門:堅持使用經過審覈的倉庫。經過審覈的倉庫是指該發行版官方網站上指定的庫。若是你添加了未經過審覈的庫,就失去了穩定性方面的保證,可能陷入損壞的依賴關係慘劇中。
命令格式:yum repolist 命令說明:查看軟件倉庫信息
命令格式:tar -zxvf package_name.tar.gz 命令說明:解壓安裝包
使用make命令和make install命令安裝。注:不一樣的Linux系統和軟件包,安裝方式可能不一致。
本章討論瞭如何用軟件包管理系統(PMS)在命令下安裝、更新或刪除軟件。本章介紹了aptitude、dpkg、yum命令。
本章學習命令我的總結以下
aptitude:基於Debian的系統進行軟件管理 dpkg:顯示軟件包所安裝的所有文件 yum:基於Red Hat的系統進行軟件管理