學會四招讓你在linux下安裝程序變得簡單

1、背景
node

  因爲最近想本身摸索一些linux下的東西,開始玩起了Linux系統,在安裝軟件的過程當中有諸多的不解和困惑,如今終於搞明白了具體是怎麼樣的安裝步驟和過程,先分享給大家同時也方便本身複習查閱。mysql

2、基本概述linux

RPM
sql

  •  RedHat Package Manager的簡稱,即RedHat包管理器數據庫

  • 以數據庫記錄的方式將軟件安裝到Liunx服務器

  • 軟件包事先編譯好而且打包成RPM機制的文件,相似於Windows的安裝程序網絡

  • 軟件信息記錄在本地數據庫,方便查詢、升級、卸載app

  • 不容許自定義參數和設置,限制較多ide

SRPM
網站

  • Source RPM,附帶源碼的RPM包,擴展名爲src.rmp

  • 不能夠直接安裝,須要經過編譯後再安裝

  • 能夠修改參數文件自定義配置項

  • 和RPM比較相似

YUM

  • Yellow dog Updater,Modified的簡稱,基於RPM包管理。

  • 可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴關係,而且一次安裝全部依賴的軟件包,無需繁瑣的一次次下載、安裝。

  • 使用簡單、方便。

3、安裝方式介紹

  1.源碼方式安裝linux軟件

    下載源碼包到/usr/local/src

    解壓縮源碼包

    查看install和readme檔案安裝相依性軟件

    ./configure安裝軟件到特定位置

    make clean清除目標檔案

    make編譯

    make install

    修改PATH

  2.rpm方式安裝linux軟件

    明確安裝包所在路徑或者網站(find /dirname–name ‘name*’)

    查找rpm庫中是否已經安裝 rpm -qa | grep 'softwareName'

    安裝rpm –ivh /path/to/file.rpm

    rpm經常使用參數

      -i:安裝

      -U:後接的軟件若是沒有安裝過則安裝,若是安裝過且版本較舊則更新

      -F:後接的軟件如未安裝則不進行安裝,若是安裝過且版本較舊則更新

      -v:查看詳細安裝信息

      -h:查看安裝進度

    rpm經常使用的長選項

      --nodeps:忽略相依性強制安裝

      --replacepkgs:重複安裝已安裝過的軟件檔案

      --force:強制安裝

      --nosignature:忽略數字簽名認證

      --prefix:指定安裝路徑

      --relocate:改變安裝路徑

      --justdb:完善RPM關於此軟件檔案的數據庫文件

      --initdb:初始化RPM數據庫

      --rebuilddb:重建RPM數據庫

    rpm查詢:RPM [options] [filename]

      -q:查詢後面的軟件是否有安裝

      -qa:列出此係統上已安裝的全部軟件

      -ql:列出該軟件安裝後產生的全部文件完整目錄列表

      -qd:列出該軟件安裝後產生的全部man文件完整目錄列表

      -qf:列出該檔案所屬的已安裝軟件

      -qi:列出該軟件的詳細信息

      -qR:列出與該軟件的相依軟件有關的檔案

      -p:未安裝的軟件包

      -e:移除某個軟件(要從相依性的頂層開始)

    rpm升級:rpm –V[apf] [filename/dirname]

      -V:後面加軟件名稱,顯示該軟件所含的被更動過的檔案

      -Va:列出系統上全部被改動過的檔案

      -Vf:列出某個檔案是否被更動過

    rpm數字簽名驗證流程

      獲取公鑰安裝包

      安裝公鑰rpm --import /path/to/GPG-KEY

      獲得gpg-pubkey*檔案,包含簽章信息

      安裝原廠軟件時,rpm指令會去讀取簽章信息,與已導入的公鑰相比較。若是相同則安裝,不一樣則不容許安裝

   3.SRPM安裝linux軟件

      進行編譯源包:rpmbuild [options]

        --rebuild:將***.src.rpm源碼進行編譯,並打包成rpm包

        --recompile:將***.src.rpm源碼進行編譯、打包,並進行安裝

        -ba:將數據編譯並同時產生RPM與SRPM

        -bb:將數據僅編譯程RPM檔案

        備註:SRPM包用rebuild建立成rpm包後,裏邊會有一個*.spec配置檔案

      後面步驟和rpm相同

  4.YUM進行安裝linux軟件

    配置yum倉庫/etc/yum.repo.d/*

    鏈接網絡

    yum install softwareName

    yum clean all刪除全部yum倉庫中的數據

    查詢:yum[list|info|search|provides|whatprovides]參數
            search:查詢某個程序的名稱或是描述(yum search mysql)
            list:列出目前全部的管理的軟件以及版本(rpm -qa)
            info相似list,查詢軟件的功能、版本說明(rpm -qai)
            provides:經過文件查詢所屬軟件(rpm -qf)

    安裝、升級,yum [install|update]程序名
            install:安裝軟件
            update:升級軟件、不指定名稱則升級整個系統

    卸載程序:yum[remove]程序名稱

    yum的配置
           /etc/yum.repos.d/CentOS-Base.repo
            yum clean[package|headers|all]
            /var/cache/yum

4、總結

  對於軟件技術來講,我以爲最重要的是分享和開源精神,由於這和分享快樂的原理相同,若是你有一份技術,我有一份技術,那咱們彼此分享之後,每一個人都變成了兩分技術,不但沒有減小,反而增長了,這不正是咱們所但願看到的麼?何樂而不爲呢?這也正是爲何我喜歡抽出休息時間來孜孜不倦的寫技術博客的緣由。

相關文章
相關標籤/搜索