Linux_《Linux命令行與shell腳本編程大全》第九章學習總結

時間:2017年08月17日星期四前端

說明:本文部份內容均摘取自書籍《Linux命令行與shell腳本編程大全》,版權歸原做者全部。《Linux命令行與shell腳本編程大全》(第三版)第九章學習總結shell

第九章:安裝軟件程序

本章內容數據庫

安裝軟件
使用Debian包
使用Red Hat包

9.1 包管理基礎

各類主流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命令可以列出已安裝包、安裝新包和刪除已有軟件。

9.2 基於Debian的系統

命令:dpkg
命令說明:基於Debian系統PMS工具的核心。

包含在這個PMS中的其餘工具備網站

apt-get:搜索、安裝、更新、刪除軟件包
apt-cache:顯示軟件包的一些常規信息
aptitude:經常使用命令。本質是apt工具和dpkg的前端

9.2.1 用aptitude管理軟件包

命令: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
命令說明:使用絕對文件路徑查找特定文件屬於哪一個軟件包

9.2.2 用aptitude安裝軟件包

命令格式:aptitude search package_name
命令說明:查找指定軟件包
命令格式:aptitude install package_name
命令說明:從軟件倉庫中安裝指定軟件包

9.2.3 用aptitude更新軟件包

命令格式:aptitude safe-upgrade
命令說明:更新系統上全部的軟件包

9.2.4 用aptitude卸載軟件包

命令格式:aptitude remove package_name
命令說明:只刪除軟件包而不刪除數據和配置文件
命令格式:aptitude purge package_name
命令說明:刪除軟件包和相關的數據和配置文件
命令格式:aptitude search package_name
命令說明:查看軟件包信息來驗證是否已刪除。若是軟件包名稱前面是
    i:表示軟件包已經安裝到了系統上
    v:表示軟件包可用,但還沒安裝
    c:表示軟件已刪除,但配置文件還沒有從系統中清除
    p:表示軟件和配置文件也已刪除

9.2.5 aptitude倉庫

aptitude默認的軟件倉庫位置是在安裝Linux發行版時設置的。具體位置存儲在文件/etc/apt/sources.list中。

竅門:Linux發行版的開發人員下了大工夫,以保證添加到軟件倉庫的包版本不會互相沖突。一般經過庫來升級或安裝軟件包是最安全的。即便在其餘地方有更新的版本,也應該等到該版本出如今你的Linux發行版倉庫中的時候再安裝。

當須要給你的sources.list文件添加軟件倉庫時,經過軟件倉庫網站或者各類包開發人員網站上都會有一行文本,你能夠直接複製,而後粘貼到sources.list文件中。最好選擇比較安全的途徑而且只複製和粘貼。

9.3 基於Red Hat的系統

基於Red Hat的系統也有幾種不一樣的可用前端工具。

常見的有如下三種

yum:在Red Hat和Fedora中使用
urpm:在Mandriva中使用
zypper:在openSUSE中使用

9.3.1 列出已安裝包

命令: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。

9.3.2 用yum安裝軟件

命令格式:yum install package_name
命令說明:安裝指定package_name的軟件,安裝軟件包及須要的庫以及依賴的其餘包
命令格式:yum localinstall package_name.rpm
命令說明:使用本地安裝,手動下載rpm安裝文件並用yum安裝

9.3.3 用yum更新軟件

命令格式:yum list updates
命令說明:列出全部已安裝包的可用更新
命令格式:yum update package_name
命令說明:對指定package_name軟件包進行更新
命令格式:yum update
命令說明:對全部軟件包進行更新

9.3.4 用yum卸載軟件

命令格式:yum remove package_name
命令說明:只刪除軟件包而保留配置文件和數據文件
命令格式:yum erase package_name
命令說明:刪除軟件和它全部的文件

9.3.5 處理損壞的包依賴關係

有時在安裝多個軟件包時,某個包的軟件依賴關係可能會被另一個包的安裝覆蓋掉。這叫做損壞的包依賴關係(package dependency)。

命令格式:yum clean all
命令說明:清理放錯位置的文件
命令格式:yum update
命令說明:更加全部軟件包
命令格式:yum deplist package_name
命令說明:顯示軟件包依賴關係
命令格式:yum update --skip-broken
命令說明:忽略依賴關係損壞的包,更新其餘軟件包

9.3.6 yum軟件倉庫

相似於aptitude系統,yum也是在安裝發行版的時候設置的軟件倉庫。

竅門:堅持使用經過審覈的倉庫。經過審覈的倉庫是指該發行版官方網站上指定的庫。若是你添加了未經過審覈的庫,就失去了穩定性方面的保證,可能陷入損壞的依賴關係慘劇中。

命令格式:yum repolist
命令說明:查看軟件倉庫信息

9.4 從源碼安裝

命令格式:tar -zxvf package_name.tar.gz
命令說明:解壓安裝包

使用make命令和make install命令安裝。注:不一樣的Linux系統和軟件包,安裝方式可能不一致。

9.5 小結

本章討論瞭如何用軟件包管理系統(PMS)在命令下安裝、更新或刪除軟件。本章介紹了aptitude、dpkg、yum命令。

本章學習命令我的總結以下

aptitude:基於Debian的系統進行軟件管理
dpkg:顯示軟件包所安裝的所有文件
yum:基於Red Hat的系統進行軟件管理
相關文章
相關標籤/搜索