Linux軟件包管理

linux 下軟件包的安裝

1. linux 下有那些方式安裝軟件包

  1. 使用 rpm 命令安裝 官方或第三方 封裝的rpm包
  2. 使用 yum 工具安裝rpm 包.
  3. 編譯安裝 開源的軟件源碼包.

2. rpm包的安裝和管理

2.1 rpm包命名

此處以httpd 包爲例.

httpd   -2.4.6      -15   .el7.centos  .x86_64  .rpm
軟件名   軟件版本 發佈次數   系統平臺     架構     包擴展名  

# 常見架構
x86:    i386, i486, i586, i686 
x86_64: x64, x86_64, amd64

2.2 rpm包管理器

rpm 包是封裝好的包, 多數的rpm包應當含有: 二進制文件, 庫文件, 配置文件, 幫助文件 程序包管理器: 將編譯好的應用程序打包成爲一個或多個程序包. 包文件組成: RPM包內文件 元數據, 如名稱, 版本, 依賴性, 描述 安裝或卸載的腳本 數據庫: /var/lib/rpm 程序包名稱以及版本 依賴關係, 功能說明 包安裝後生成的各種文件路徑以及校驗碼

2.3 rpm包獲取源方式

  1. 系統發行版的光盤 或光盤鏡像
  2. 軟件項目官網
  3. 第三方組織, EPEL
  4. rpm 搜索引擎
  5. 自己製作的

2.4 光盤內的RPM包

一般常用必備的軟件官方都會有封裝好的rpm包, 並收錄在光盤. 所以我們這裏先將centos的光盤掛載上, 然後從裏面獲取官方的 rpm包.

  • 光盤內軟件都在 Pacakages 目錄.

2.5 rpm 命令用法

  1. 概述 rpm 命令是RPM 軟件包的管理工具, 是RedHatLinux 發行版本用來管理Linux 套件的程序, 遵循了GPL 規則, 且功能強大,

  2. 語法 rpm [OPTIONS] PACKAGE

  3. 選項

-a:         查詢所有已安裝的rpm包
-c:         只列出組態配置文件, 需要結合 -l 使用
-d:         只列出文本, 需要結合 -l 使用
-e:         --erase:    刪除指定的已安裝包
-f <FILE>:  查詢指定文件的安裝包
-h:         --hash 安裝包安裝時顯示標記
-i:         顯示相關軟件包的信息
-i <PACKAGE>:   --install 安裝指定的軟件包
-l:         顯示指定軟件包的文件列表
-p <PACKAGE>:   查詢指定的(未安裝)軟件包
-q:         使用詢問模式, 遇到問題時, 會先詢問用戶
-R:         顯示 依賴信息
-s:         顯示文件狀態, 需要結合 -l 使用
-U <PACKAGE>:   --upgrade 升級指定軟件包
-v:         顯示指令執行過程
-vv:        顯示更加詳細過程

--test:     測試安裝, 不真正執行安裝
--nodeps:   不檢測依賴性
--force:        強制安裝
--oldpackage:   降級
--replacekgs:   已安裝過的包 重裝
--replacefile:  其他已安裝的rpm包的文件, 與現有文件衝突時 覆蓋
--nosignature:  不檢查來源合法性
--nodigest:     不執行程序腳本
                %pre:   安裝前腳本       --nopre
                %post:  安裝後腳本       --nopost
                %preun: 卸載前腳本       --nopreun
                %postun:卸載後腳本       --nopostun

2.6 rpm命令的使用

  1. 這裏測試使用rpm 命令安裝 vsfptd, 先查看這個包的依賴 rpm -qRp PACKAGE

  1. 查看這個包的信息 rpm -qip PACKAGE

  1. 查看這個包的配置文件相關位置

  1. 安裝

  1. 嘗試啓動vsftpd, 並查看

  1. 查看這個包 並 卸載 vsftpd

3. yum 工具

3.1 yum 是什麼

yum 是RadHat, Fedora 以及 CentOS 中常用的前端軟件包管理工具, 基於rpm 包管理, 能夠衝指定服務器上下載PRM包並安裝, 可以自動檔處理依賴關係, 並且一次安裝所有依賴包, 無需單獨下載安裝, yum 還可以查找, 刪除 一個或一組軟件包.

3.2 yum 工具用法

  1. 語法: yum [OPTIONS] [GREAM]

  2. 選項

-h:     顯示幫助信息
-y:     對多有提問回答yes
-c:     指定配置文件
-q:     安靜模式
-v:     顯示詳細信息
-d:     設置調試等級(0-10)
-e:     設置錯誤等級(0-10)
-R:     設置yum 處理命令最大等待時間
-C:     從緩存中運行, 不去下載新的頭文件
  1. 參數
install:        安裝 rpm包
update:         更新rpm包
check-update:   檢查是否有 更新
remove:         刪除指定的rpm包
list:           顯示軟件包信息
search:         搜索軟件包
info:           顯示指定rpm包的描述信息和概要
clean:          清除yum 過期的緩存
shell:          進入yum 的shell 提示符
resolvedep:     顯示指定rpm的依賴關係
localinstall:   安裝本地的 rpm包
localupdate:    顯示本地rpm 軟件包進行更新
deplist:        顯示rpm 包的所有依賴關係
  1. 常用操作
#安裝
yum install             # 安裝全部
yum install PACKAGE     # 安裝指定的 package
yum groupinstall GROUP1 # 安裝程序組 group1

# 更新
yum update              # 更新所有包
yum update PACKAGE      # 更新指定 rpm 包
yum check-update        # 檢查指定程序包
yum groupupdate GROUP1  # 升級指定程序組

# 查找顯示
yum info PACKAGE        # 顯示安裝包信息
yum list                # 顯示所有可用安裝包
yum list PACKAGE        # 顯示指定安裝包
yum groupinfo GROUP1    # 顯示相關組信息

# 刪除
yum remove PACKAGE      # 刪除指定的 包
yum groupremove GROUP1  # 刪除指定 程序包組
yum deplist PACKAGE     # 查看程序依賴

# 清除緩存
yum clean package       # 清除緩存目錄下的 軟件包
yum clean headers       # 清除目錄下的 headers
yum clean oldheader     # 清除舊的 headers緩存
yum clean all           # 清除所有

3.2 yum 搭建本地倉庫

  1. 掛載光盤

  1. 備份 yum配置文件, 並添加新的配置文件

文件內容:

  1. 清理緩存, 並統計軟件數量

  1. 嘗試使用 yum 安裝 vsftpd

4. 源碼包編譯安裝

1. 概述

  • 一般開源項目的源碼包在項目的官網上都會提供下載地址, 如果非特殊原因不要再第三方下載源碼包, 防止源碼包被修改過.

  • 大多數開源項目的源碼包都會提供 .tar.gz.tar.bz2 一類的壓縮包.

2. 源碼包的優劣勢

  1. 優勢

    • 源碼包是開源的, 比RPM包更加自由, 可以選擇自己想要的功能,
    • 所有東西(命令, 文檔, 配置文件)的位置都可以自己定義
    • 卸載很方便
    • 穩定性更高
  2. 劣勢

    • 源碼包需要編譯, 過程較爲複雜, 容易出錯,
    • 編譯安裝過程較爲漫長
    • 依賴性問題更加複雜
    • 配置項較多, 手動拼寫容易出錯

4. 編譯安裝需要的工具

  • 其次需要用到 tar 以及 gzip, bzip2 等壓縮打包工具, 用於解壓源碼包.
  • 編譯安裝首先需要, gcc 和 gcc-c++ 編譯器, 用於編譯源碼.
  • 還需要用到 make 和 cmake 用於處理用於批處理,自動化編譯所有源碼包.

以上都是必須一些工具, 不同程序的 源碼包, 還需要很多其他的工具以及庫 等等.

5. 編譯安裝演示

這裏我們演示下 httpd2.4 的源碼包編譯安裝.

  1. 這裏 http2.4 就需要用到 apr 和 apr-util 擴展, 所以都需要提前轉唄準備好.

  1. 解壓全部並進入httpd 目錄內

  1. 可以查看 configure 有那些可選項 有 很多的選項

  1. 嘗試安裝

  • 這裏報錯顯示沒有找到 apr.
  • 查看指定apr 的選項, 再次嘗試

  • 再次報錯, 顯示在 ./srclib 目錄中沒有找到 apr 和 apr-util, 這是我們將之前的apr 和 apr-util拷貝到目錄中, 並去掉版本號, 這時候就沒有問題了.

  • 配置完成 且沒有出錯 後就可編譯安裝了, 編譯過程較爲耗時.

  • 編譯結束時, 檢查上面信息是否有顯示 error, 如果沒有則一切正常. 就可以正常使用了
  1. 檢查軟件是否安裝成功

  1. 嘗試啓動

-正常啓動且可以獲取數據.

END

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