軟件包管理

1          軟件包管理簡介

        1.1         軟件包分類

                1.1.1    源碼包(C語言源代碼包)

                             腳本安裝包(基於源碼包開發的安裝界面)

                1.1.2    二進制包(CentOS中用RPM包、系統默認包)

        1.2         源碼包

                1.2.1    源碼包優點

                             開源,如果有足夠能力可以修改源代碼

                             可以自由選擇所需的功能

                             軟件是編譯安裝,所以更加適合自已的系統,更加穩定也效率更高

                             卸載方便

        1.2.2    源碼包缺點

                            安裝過程步驟較多,尤其安裝較大的軟件集合時,容易出現拼寫錯誤

                            編譯過程時間較長,安裝比二進制安裝時間長

                            因爲是編譯安裝,安裝過程中一旦報錯新手很難解決

        1.3         RPM包

                1.3.1    二進制包優點

                            包管理系統簡單,只通過幾個命令就可以實現包的安裝、升級、查詢和卸載

                            安裝速度比源碼包安裝快得多

                1.3.2    二過制包缺點

                            經過編譯,不再可看到源代碼

                            功能選擇不如源碼包靈活

                            依賴性


2          RPM包命令管理

        2.1         包命名與依賴性

                2.1.1    RPM包命名原則

                            httpd-2.2.15-15.el6.centos.1.i686.rpm        軟件包全名

                            httpd              軟件包名

                            2.2.15            軟件版本

                            15                    軟件發佈的次數

                            el6.centos     適合的硬件平臺

                            rpm                 rpm包擴展名

                2.1.2    RPM包依賴性

                            樹形依賴      a -> b -> c

                            環形依賴      a->b-> c -> a

                            模塊依賴      www.rpmfind.net

        2.2         安裝升級與卸載

                 2.2.1    包全名與包名

                            包全名:操作的包是沒有安裝的軟件包時用包全名,注意路徑

                            包名:操作已經安裝的軟件包時,使用包名,是搜索/var/lib/rpm中的數據庫

                2.2.2    RPM安裝

                            rpm –ivh 包全名

                            選項:-i (install) 安裝

                                        -v (verbose) 顯示詳細信息

                                        -h (hash) 顯示進度

                                        --nodeps 不檢測依賴性

                            按提示先解決依賴性,若有模塊依賴則在rpmfind中查詢解決

                2.2.3    RPM包升級

                            rpm –Uvh 包全名

                            選項:-U (upgrade) 升級

                2.2.4    RPM包卸載

                            rpm –e 包名

                            選項:-e (erase) 卸載

        2.3         RPM查詢

                2.3.1    查詢是否安裝

                            rpm -q 包名

                            選項:-q (query) 查詢

                                        -a (all) 所有

                            查詢所有已經安裝的RPM包

                            rpm -qa

                2.3.2    查詢軟件包詳細信息

                            rpm –qi 包名

                            選項:-i (information) 查詢軟件信息

                                         -p (package) 查詢未安裝包信息

                                        查詢未安裝包軟件信息要加包全名

                2.3.3    查詢包中文件安裝位置

                            rpm –ql 包名

                            選項:-l (list) 列表

                                         -p (package) 查詢未安裝包信息

                2.3.4    查詢系統文件屬於哪個RPM包

                            rpm –qf 系統文件名

                            選項:-f (file) 查詢系統文件屬於哪個軟件包

                2.3.5    查詢軟件包的依賴性

                            rpm –qR 包名

                            選項:-R (requires) 查詢軟件包的依賴性

                                         -p (package) 查詢未安裝包信息

        2.4         RPM包校驗和文件提取

                2.4.1    RPM包校驗

                            rpm –V 已安裝的包名

                            驗證內容中9個信息具體內容

                                    S       文件大小是否改變

                                    M     文件類型或文件權限是否被改變

                                    5       文件MD5校驗是否改變(可看成文件內容是否改變)

                                    D      設備的代碼是否改變

                                    L       文件路徑是否改變

                                    U      文件所有者是否改變

                                    G      文件的所有組是否改變

                                    T       文件的修改時間是否改變

                            文件類型

                                   c       配置文件(config file)

                                   d       普通文檔(documentation)

                                   g       “鬼”文件(ghost file),很少見,就是文件不應該被這個RPM包包含

                                    l        授權文件(license file)

                                    r        描述文件(read me)

                2.4.2    RPM包中文件提取

                                rpm2cpio 包全名 | \ cpio –idv .文件絕對路徑

                                cpio是 一個標準工具,用於創建軟件檔案文件和從檔案文件中提取文件

                                \  換行符,一般情況下軟件包全名較長,一行寫不下

                               .  把指定的文件提取到當前目錄

                                       cpio選項 < [文件|設備]

                                       選項:-i            copy-in模式,還原

                                                  -d          還原時自動新建目錄

                                                  -v           顯示還原過程


3          yum在線管理

        3.1         IP地址配置和網絡yum源

                3.1.1    IP地址配置 setup

                3.1.2    vi/etc/sysconfig/network-scripts/ifcfg-eth0

                                ONBOOT=”yes”

                3.1.3    重啓網絡服務

                                service network restart

                3.1.4    ifconfig 查看即可

        3.2         網絡yum源

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

                                [base]             容器名稱,一定要放在[ ]中

                                name             容器說明,可以自行註釋

                                mirrorlist       鏡像站點,這個可以註釋掉

                                baseurl           yum源服務器地址,默認是CentOS官方yum源服務器,可改

                                enabled         此容器是否生效,如果不寫或寫成enable=1都是生效,=0不生效

                                gpgcheck       如果是1指RPM數字證書生效,0則不生效

                                gpgkey           數字證書的公鑰文件保存位置,不用修改

        3.3         yum命令

                                yum list                             查詢所有可用軟件包列表

                                yum search   關鍵字     搜索服務器上所有和關鍵字相關的包

                                yum –y install 包名      安裝

                                           -y               自動回答yes

                                           install        安裝

                                yum –y update 包名    升級

                                           update     升級

                                yum –y remove 包名   卸載

                                           remove    卸載

                                yum grouplist                  列出所有可用的軟件包組列表

                                yum groupinstall   軟件組名         安裝指定軟件組

                                                              若組名有空格則組名用””括起來

                                yum groupremove 軟件組名      卸載指定軟件組

        3.4         光盤yum源

                3.4.1    先掛載光盤 mount /dev/cdrom /mnt/cdrom

                3.4.2    cd /etc/yum.repos.d

                3.4.3    讓其他.repo文件不生效,保留CentOS-Meia.repo

                3.4.4    修改光盤yum源文件


4          源碼包與RPM包的區別

        4.1         區別

                        安裝之前的區別:概念上的區別

                        安裝之後的區別:安裝位置不同

        4.2         RPM包默認安裝位置

                        /etc/                        配置文件安裝目錄

                        /usr/bin/                  可執行命令安裝目錄

                        /usr/lib/          程序所使用的函數庫保存位置

                        /usr/share/doc/     基本的軟件使用手冊保存位置

                        /usr/share/man/   幫助文件保存位置

        4.3         源碼包安裝位置

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

        4.4         安裝位置不同帶來的影響

                        RPM包安裝的服務可以使用系統服務管理命令(service)來管理

                        例如RPM包安裝的apache的啓動方法是:/etc/rc.d/init.d/httpd start

                                                                                                  servicehttpd start


5          源碼包安裝過程

        5.1         安裝準備

                5.1.1    安裝C語言編譯器

                5.1.2    下載源碼包http://mirror.bit.edu.cn/apache/httpd/

        5.2         安裝注意事項

                5.2.1    源代碼保存位置:/usr/local/src/

                5.2.2    軟件安裝位置:/usr/local

                5.2.3    如何確定安裝過程報錯:安裝停止且出現error、warning、no等提示

        5.3         解壓縮下載的源碼包

                5.3.1    tar –zxvf 包全名

        5.4         進入解壓縮目錄

                5.4.1    cd 解壓目錄

                5.4.2    ./configure    軟件配置與檢查

                        5.4.2.1   定義需要的功能選項

                                ./configure - -prefix=/usr/local/apache2

                        5.4.2.2   檢測系統環境是否符合安裝要求

                        5.4.2.3   把定義好的功能選項和檢測系統環境的信息都寫入Makefile文件,用於後續編輯

                5.4.3    make     編譯

                        5.4.3.1   若有錯誤則可清空編譯產生的臨時文件 make clean

                5.4.4    make install  安裝


6          腳本安裝包

        6.1         介紹

                腳本安裝包並不是獨立的軟件包類型,常見安裝的是源碼包

                是人爲把安裝過程寫成了自動安裝的腳本,只要執行,定義簡單參數,就可以完成安裝

                非常類似於windows下軟件的安裝方式

        6.2         安裝

                前面步驟與安裝源碼包一致

                找到.sh腳本進行安裝即可

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