Linux學習筆記-軟體安裝管理

水墨寒發表於2017-03-10

0 Linux 軟體安裝管理概述

一、軟體包管理簡介
二、rpm命令管理
三、yum線上管理
四、原始碼包管理
五、指令碼安裝包

1 軟體包管理簡介

軟體包的分類

  • 原始碼包
  • 二進位制包

原始碼包的特點

  • 開源,如果有足夠能力,可以修改原始碼
  • 可以自由選擇所需的功能
  • 軟體四編譯安裝,更加適合自己的系統,更加穩定也效率更高
  • 解除安裝方便

原始碼包的缺點

  • 安裝過程步驟較多,尤其安裝較大的軟體集合,容易出現錯誤
  • 編譯過程時間較長,安裝比二進位制安裝時間長
  • 因為是編譯安裝,安裝過程中一旦報錯新手很難解決

二進位制包的優點

  • 包管理系統簡單,只通過幾個命令就可以實現包的安裝、升級、查詢和解除安裝
  • 安裝速度比原始碼包安裝快得多

二進位制包的缺點

  • 經過變異,不再可以看到原始碼
  • 功能選擇不如原始碼包靈活
  • 依賴性

指令碼安裝包

所謂的指令碼安裝包,就是把複雜的軟體包安裝過程寫成了程式指令碼,使用者可以自信程式指令碼實現一鍵安裝。單司機安裝的還是原始碼包和二進位制包

  • 優點:安裝簡單、快捷
  • 缺點:完全喪失了自定義性

2 rpm命令管理

  • RPM包命名規則
  • 安裝命令
  • 升級與解除安裝
  • RPM包查詢
  • RPM包校驗

RPM包命名規則

httpd-2.2.15-15.el6.centos.1.i686.rpm

  • httpd 軟體包名
  • 2.2.15 軟體版本
  • 15 軟體釋出次數
  • el6.centos 適合的Linux平臺
  • i686適合的硬體平臺
  • rpm rpm包副檔名

RPM包依賴性

  • 樹形依賴:a ➡️ b ➡️c
  • 環形依賴: a ➡️ b ➡️c ➡️ a
  • 模組依賴:模組依賴,查詢網站 www.rpmfind.net

包全名與包名

  • 包全名: 操作的包是沒有安裝的軟體包時,使用包全名。而且要注意路徑
  • 包名:操作已經安裝的軟體包時,使用包名,是搜尋/var/lib/rpm/ 中的資料庫

RPM安裝命令

 rpm [選項] 包全名複製程式碼

選項:

  • -i (install)安裝
  • -v (verbose) 顯示資訊資訊
  • -h (hash) 顯示進度
      • nodeps 不檢測依賴性

    Linux學習筆記-軟體安裝管理

RPM包升級

 rpm -Uvh 包全名複製程式碼

選項:

  • -U (upgrade) 升級

RPM包解除安裝

 rpm -e 包名複製程式碼

選項:

  • -e (erase) 解除安裝

RPM包查詢(是否安裝)

 rpm -qa 包名複製程式碼

選項:

  • -q (query) 查詢
  • -a (all) 全部

常用

    rpm -qa | grep 包名複製程式碼

查詢軟體包詳細資訊

 rpm -qip 包名複製程式碼

選項:

  • -i (information) 查詢軟體資訊
  • -p (package) 查詢未安裝包資訊

查詢軟體包安裝位置

 rpm -ql 包名複製程式碼

選項:

  • -l (list) 列表
  • -p (package) 查詢未安裝包資訊

查詢系統檔案屬於哪個RPM包

 rpm -qf 系統檔名複製程式碼

選項:

  • -f (file) 檔案

查詢軟體包的依賴性

 rpm -qR 包名複製程式碼

選項:

  • -R (requires) 查詢軟體包的依賴性
  • -p (package) 查詢未安裝包資訊

RPM包校驗

 rpm -V 已安裝包名複製程式碼

選項:

  • -V (verify) 校驗制定的RPM包中的檔案

驗證內容中的8個資訊

  • S 檔案大小是否改變
  • M 檔案的型別或者許可權(rwx)是否被改變
  • 5 檔案MD5校驗是否改變
  • D 裝置的主從程式碼是否改變
  • L檔案路徑是否改變
  • U 檔案的屬主是否改變
  • G 檔案的屬組是否改變
  • T 檔案的修改司機安是否改變

3 yum線上管理

好處:將所有軟體包放到官方伺服器上,當警醒yum線上安裝時,可以自動解決依賴性問題

yum原始檔

Linux學習筆記-軟體安裝管理

yum命令

 yum list
 #查詢所有可用的軟體包列表
 yum search 關鍵字
 #搜尋伺服器上所有和關鍵字相關的包
 yum -y install 包名
 #安裝包 -y 自動回答yes
 yum -y update 包名
 #升級包
 yum -y remove 包名
 #解除安裝包複製程式碼

⚠️ 伺服器使用最小化安裝,用什麼軟體安裝什麼,儘量不解除安裝

yum軟體組管理命令

yum grouplist
#列出所有可用額度軟體組列表
yum groupinstall 軟體組名
#安裝指定軟體組,組名可以由grouplist查詢出來
yum groupremove 軟體組
#解除安裝指定軟體組複製程式碼

相關文章