Linux軟件安裝——軟件包管理

Linux軟件安裝——軟件包管理簡介

一、軟件包分類

  1. 源碼包:
    ->腳本安裝包(比較少)
  2. 二進制包(RPM包、系統默認包)

二、源碼包:

源碼包的優點是:

  1. 開源,如果又足夠的能力,可以修改源代碼
  2. 可以自由選擇所需的功能
  3. 軟件是編譯安裝,所以更加適合自己的系統,更加穩定也效率高
  4. 卸載方便

源碼包的缺點是:

  • 安裝過程步驟較多,尤其安裝較大的軟件集合時(如LAMP環境搭建),容易出現拼寫錯誤
  • 編譯過程時間長,安裝比二進制安裝時間長
  • 因爲是編譯安裝,安裝過程一旦報錯新手很難解決

三、RPM包

二進制包的優點:

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

二進制包的缺點:

  • 經過編譯,不可以再看到源代碼
  • 功能選擇不如源代碼靈活
  • 依賴性

四、RPM管理——rpm命令管理

(一)RPM包命名規則

  httpd-2.2.15-15.e16.centos.1.i686.rpm
    httpd        軟件包名
    2.2.15        軟件版本
    15           軟件發佈的次數
    e16.centos    適合的Linux平臺
    i686         適合的硬件平臺
    rpm         rpm包擴展名

(二)RPM包依賴

  • 樹形依賴 abca \rightarrow b \rightarrow c
  • 環形依賴 abcaa \rightarrow b \rightarrow c \rightarrow a
  • 模塊依賴:模塊依賴查詢網站: www.rpmfind.net

(三)包全名與包名

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

(四)RPM安裝

  rpm -ivh 包全名
選項:
   -i(install)   安裝
  -v(verbose)  顯示詳細信息
  -h(hash)   顯示進度
  --nodeps   不檢測依賴性

(五)RPM包升級

  rpm -Uvh 包全名
選項:
   -U(upgrade)   升級

(六)RPM包卸載

  rpm -e 包名
選項:
   -e(erase)    卸載
  --nodeps     不檢測依賴性

(七)RPM查詢

  1. 查詢是否安裝
      rpm -q 包名
        -q(query)       查詢
      rpm -aq 包名
        -a(all);          查詢所有已經安裝的包
  2. 查詢軟件包詳細信息
      rpm -qi 包名
        -i(information);      查詢軟件信息
        -p(package);        查詢未安裝包信息
  3. 查詢包中文軟件安裝位置
      rpm -ql 包名
        -l(list);           列表
        -p(package);        查詢未安裝包信息
  4. 查詢系統文件屬於哪個RPM包
      rpm -qf 系統文件名
        -f(file);           查詢系統文件屬於哪個軟件包
  5. 查詢軟件包的依賴性
      rpm -qR 包名
        -R(require);       查詢軟件包的依賴性
        -p(package);       查詢未安裝包信息

(八)RPM包校驗

  rpm -V 已安裝包名
    -V(verify);       校驗指定RPM包中的文件(verify)

驗證內容的8個信息的具體內容如下:

  • S    文件大小是否改變
  • M   文件的類型或文件的權限(rwx)是否改變
  • 5   文件MD5校驗和是否改變(可以看成文件內容是否改變)
  • D   設備的中,從代碼是否改變
  • L   文件路徑是否改變
  • U   文件的屬主(所有者)是否改變
  • G   文件的屬組是否改變
  • T   文件的修改時間是否改變
  • 沒有修改用… 表示

文件類型:

  • c   配置文件(config file)
  • d   普通文檔(documentation)
  • g   "鬼“文件(ghost file),很少見,就是該文件不應該被這個RPM包包含
  • l    授權文件(license file)
  • r    描述文件(read me)

(九)RPM包中文件提取

  • rpm2cpio   包全名(將rpm包轉換爲cpio格式的命令)
  • cpio -idv .文件絕對路徑(是一個標準工具,它用於創建軟件檔案文件和從檔案文件中提取文件)

四、RPM管理——yum命令管理

(一)網絡yum源

$ vi /etc/yum.repos.d/CentOS-Base.repo

  • [base]    容器名稱,一定要放在[]中
  • name    容器說明,可以自己隨便寫
  • mirrorlist   鏡像站點,這個可以註釋掉
  • baseurl    我們的yum源服務器的地址。默認是CentOS官方的yum源服務器,是可以使用的,如果你覺得慢可以改成你喜歡的yum源地址
  • enabled    此容器是否生效,如果不寫或寫成enable=1都是生效,寫成enable=0就是不生效
  • gpgcheck   如果是1是指RPM的數字證書生效,如果是0則不生效
  • gpgkey    數字證書的公鑰文件保存位置。不用修改

(二)yum查詢命令

  • $ yum list #查詢所有可用軟件包列表
  • $ yum search 關鍵字 #搜索服務器上所有和關鍵字相關的包

(三)yum安裝命令

  • $ yum -y install 包名
  • 選項:
       install    安裝
       -y     自動回答yes

(四)yum升級命令

  • $ yum -y update 包名
  • 選項:
       update    升級
       -y     自動回答yes
    注:不要直接打 yum -y update

(五)yum卸載命令

  • $ yum -y remove 包名
  • 選項:
       remove    卸載
       -y     自動回答yes
    注:沒事不要用yum卸載

(五)yum軟件組管理命令

  • $ yum grouplist #列出所有可用的軟件組列表
  • $ yum grouplist 軟件組名 #安裝指定軟件組,組名可以由grouplist查詢出來
  • $ yum groupremove 軟件組名 #卸載指定軟件組

(五)光盤yum源搭建步驟

1)掛載光盤

  • $ mount /dev/cdrom /mnt/cdrom/

2)讓網絡yum源文件失效

  • $ cd /etc/yum.repos.d/
  • $ mv CentOS-Base.repo \
  • $ mv CentOS-Debuginfo.repo \
  • $ mv CentOS-Vault.repo \

3)修改光盤yum源文件

  • $ vim CentOS-Media.repo
    [c6-media]
    name=CentOS-$releasever - Media
    baseurl=file:///mnt/cdrom
    #地址爲你自己的光盤掛載地址
    #file:///media/cdrom
    #file:///media/cdrecorder/
    #註釋這兩個不存在的地址
    gpgcheck=1
    enabled=1
    #把enable=0改成enable=1,讓這個yum源配置文件生效
    gpgkey=file:///etc//pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

(六)源碼包安裝管理

1) 區別

  • 安裝之前的區別:概念上的區別
  • 安裝之後的區別:安裝位置不同

2)RPM包安裝位置

- RPM包默認安裝路徑
/etc/ 配置文件安裝目錄
/usr/bin 可執行的命令安裝目錄
/usr/lib/ 程序所使用的函數庫保存位置
/usr/share/doc/ 基本的軟件使用手冊保存位置
/usr/share/man/ 幫助文件保存位置

3)源碼包安裝位置

  • 安裝在指定位置當中,一般是 usr/local/軟件名/

4)安裝位置不同帶來的影響

  • RPM包安裝的服務可以使用系統服務管理命令(service)來管理,例如RPM包安裝的apache的啓動方法是:
      /etc/rc.d/init.d/http start
      service httpd start
  • 而源碼包安裝的服務則不能被服務管理命令管理,因爲沒有安裝到默認路徑中,所以只能用絕對路徑進行服務管理,如:
      /usr/local/apche2/bin/apachectl start

(七)源碼包安裝過程

1)安裝準備

  • 安裝C語言編譯器
  • 下載源碼包(http://mirror.bit.edu.cn/apche/htpd/)

2)安裝注意事項

  • 源碼包保存位置: /usr/local/src/
  • 軟件安裝位置: /usr/local/
  • 如何確定安裝過程報錯:
      安裝過程停止
      並出現error、warning或no的提示

3)源碼包安裝過程

  1. 下載源碼包
  2. 解壓縮下載的源碼包
  3. 進入解壓縮目錄
  4. ./configure 軟件配置與檢查
      - 定義需要的功能選項
      - 檢測系統環境是否符合要求
      - 把定義好的功能選項和檢測系統環境的信息都寫入Makefile文件,用於後續的編輯
  5. make 編譯
      make clean 清空文件
  6. make install 編譯安裝

4)源碼包的卸載
源碼包的卸載只要卸載目錄下的文件,不會遺留其他問題。

(八)腳本安裝包

1)腳本安裝包

  • 腳本安裝包並不是獨立的軟件包類型,常見安裝的是源碼包
  • 是人爲把安裝過程寫成了自動安裝的腳本,只要執行腳本,定義簡單的參數,就可以完成安裝
  • 非常類似Window下軟件的安裝方式

2)Webmin的作用

  • Webmin是一個基於Web的Linux系統管理界面。你就可以通過圖形化的方式設置用戶賬號、Apache、DNS、文件共享等服務。

3)Webmin安裝過程

  • 下載軟件
      http://sourceforge.net/projects/webadmin/files/webmin/
  • 解壓縮,並進入加壓縮目錄
      $tar -zxvf webmin-1.610.tar.gz
      $cd webmin-1.610
  • 執行安裝腳本
      $./setup.sh
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章