Linux系統程序包的管理-Yum及編譯安裝

      Yum 是通過分析RPM的標頭數據后,根據各軟件的依賴關系制作出有依賴關系時的的解決方案,然后可以自動處理軟件的依賴性問題,以解決軟件安裝或移除與升級的問題。

      由于發行版必須要先釋放軟件,然后將軟件放置于yum服務器上面,以提供用戶端用來安裝與升級。因此,我們想要使用yum的功能時,必須要先找到適合的yum server才行。事實上,CentOS在釋放軟件的時候已經制作好了yum源,只要能夠連上Internet,就可以使用yum。在這里,向大家介紹一下yum本地倉庫的配置。

      制作本地yum源有兩種方式:第一種直接使用光盤鏡像,不過此方法只適用于本機;第二種創建本地yum倉庫,使用http或ftp等方式向外部yum repository。

第一種:如何使用光盤作為yum repository

      1、先將光盤掛載到指定位置,例如:創建/media/cdrom這個目錄用來作為掛載點,mount /dev/sr0 /media/cdrom。在這里要提一下/misc/cd這個特殊的目錄,cd到這個目錄下,光盤會自動掛載的該目錄下。在CentOS6中已經默認安裝此功能,而7中我們需要安裝autofs:

Linux系統程序包的管理-Yum及編譯安裝 #安裝autofs

Linux系統程序包的管理-Yum及編譯安裝 #啟用autofs服務

Linux系統程序包的管理-Yum及編譯安裝 #將其設置為開機自啟

通過df我們可以看到光盤的掛載情況

 Linux系統程序包的管理-Yum及編譯安裝

      2、在/etc/yum.repos.d/目錄下創建.repo為后綴名的配置文件,基本內容如下所示(因為CentOS在釋放軟件的時候已經制作好了yum源,在這里我們可以將/etc/yum.repos.d/下的所有文件進行備份,然后將其刪除):

Linux系統程序包的管理-Yum及編譯安裝

第二種:創建本地yum倉庫

      如果你作為一個企業的管理人員,為了方便公司內部網絡中的服務器安裝軟件,同時也節省網絡帶寬,此時可以在公司內部創建一個yum倉庫。此處以CentOS6為例(CentOS7步驟與6基本相同):

ftp服務:

  1、首先安裝并啟用vsftpd服務

       yum -y install vsftpd 安裝vsftpd

       service vsftpd start 啟用vsftpd服務 (在7中 用 systemctl start vsftpd)

       chkconfig vsftpd start 將其添加至開機啟動項(在7中用systemctl enable vsftpd)

       iptables -F  清空防火墻規則

       service iptables stop (在7中用systemctl  stop  iptables)

       chkconfig iptables off 不將防火墻開機自啟(在7中用systemctl disable firewalld.service)

  2、打開ftp服務器的目錄:cd  /var/ftp/pub/

  3、創建一個app目錄用來存放rpm包:mkdir app

  4、安裝createrepo工具:yum install createrepo

  5、復制rpm包到 app目錄下:cp /misc/cd/Packages  /var/ftp/pub/app/

  6、創建rpm元數據存儲庫:createrepo  /var/ftp/pub/app/

  7、此時訪問ftp://你的CentOS6的地址就可以了

 Linux系統程序包的管理-Yum及編譯安裝

http服務:

Linux系統程序包的管理-Yum及編譯安裝

因為httpd服務安裝好會有一個歡迎界面,要不顯示此頁面可注釋/etc/httpd/conf.d/welcome.conf 里的所有行

在這里要提一下,rpm包的存放位置在/var/www/html

以ftp服務為例創建yum庫:

Linux系統程序包的管理-Yum及編譯安裝

 注意,ftp地址要到存在repodata的目錄

yum命令的使用:

       yum [options] [command] [package…]

              repolist  [all|enable|disabled] 顯示倉庫列表

              list [available|installed|updates]
顯示程序包

              install package1 [package2]
[…] 安裝程序包

              reinstall package 重新安裝

              update package  升級安裝

              downgrade package 降級安裝

              check-update 檢查可用升級

              remove | erase package 卸載程序包

              info package 查看程序包的信息

              provides | whatprovides  feature1 … 查看指定的特性(可以是某文件)是由哪個包提供的

              clean all 清理本地緩存

       查看yum的歷史:

              history [info|list|packages-list|packages-info]

       撤銷對應的第#個歷史中命令

              history undo #

       查看對應的第#個歷史的信息

              history info #

       包組的管理:

              groupinstall group1(包組的名字中存在空格,要用” ”,在這里不區分大小寫)    

              groupremove group1 卸載包組

grouplist  group1顯示包組的列表

yum的命令行選項:

       –nogpgcheck:不進行gpg 檢查

       -y:自動回答“yes”

       -q:靜默模式

yum有一些內置變量,用于保存當前平臺的相關信息:

       $releasever:當前的CentOS的版本

       $basearch:基礎平臺 例如i386(32位)、x86_64

如可在yum的配置文件中適當使用:

       例如:定義baseurl路徑時 baseurl= http://172.18.0.1/fedora-epel/$releasever /$basearch /

                   其實際路徑為http://172.18.0.1/fedora-epel/6/x86_64/

源代碼編譯安裝程序

       源碼安裝首先依賴于環境的支持,即編譯開發工具、以及各個被依賴到的程序包的開發組,另外還需要定制的編譯參數來進行編譯安裝

       1、編譯開發工具(包組)有:

              Development tools

              Server Platform Development

              Desktop Platform Development

              Debug Tools

       2、被依賴的程序包的開發組件:

              1)、編譯安裝被依賴的程序

              2)、安裝相關程序的名稱中包含devel的子包

       源代碼程序中會將程序分隔保存在多個文件中,文件間或許存在依賴關系,因此,編譯時可能需要按照特定次序進行編譯;此時,一般會使用項目管理工具(通常也會稱為構建工具GNU make)對其進行管理;構建工具會調用合適的編譯器,并根據配置文件(Makefile)中定義的次序對源代碼文件進行編譯。需要注意的是:

       1、每個項目的程序員開發完成某版本后,會使用autoconf為程序代碼生成一個腳本文件:configuer;其功能:此腳本會收集當前系統上的開發環境中所依賴的各組件的版本、特性等,并檢查所依賴的環境是否能滿足,最后會根據Makefile.in文件生成一個makefile文件;

       2、每個項目的開發員開發完成某個版本后,會使用automake為程序代碼生成一個makefile模板文件,即Makefile.in

編譯安裝過程如下:

       1、運行configure腳本;

              Configure腳本的運用:

                     –help:查看幫助信息;

                     –prefix=/path/:指定默認安裝路徑

                     –sysconfdir=/path/ :指定配置文件的安裝路徑

                     –with/without-CAPABILITY : 依賴/不依賴的程序包

                     –enable/disable-FEATURE : 啟用/禁用某個特性

 運行過程中會需要手動安裝依賴包,將提示缺少的包后加上-devel 手動安裝(yum)即可

       2、運行make命令,完成項目構建;

       3、運行make install命令,完成安裝。

原創文章,作者:Immortals、zcy,如若轉載,請注明出處:http://www.www58058.com/74673

(0)
Immortals、zcyImmortals、zcy
上一篇 2017-05-02 21:11
下一篇 2017-05-02 22:13

相關推薦

  • lamp部署及編譯安裝

    lamp 資源類型: 靜態資源:原始形式與響應給客戶端的結果一致; 動態資源:原始形式通常為程序文件(為某種編程語言開發),需要運行后將生成的結果展示給客戶端;如果請求的資源不存在那么結果就會重定向至指定的文件中 客戶端技術:javascript 服務端技術:php, jsp, … CGI:Common Gateway Interfa…

    Linux干貨 2016-10-19
  • varnish詳解

      第一章    http緩存的基礎概念 1、程序運行時具有局部性特征 時間局部性緩存的數據往往被打有時間綴,具有定期失效的特征,過期后會從源服務器檢驗請求驗證是否需要重新拉取數據,某數據被訪問后,該數據往往會再次在短時間內被訪問到。 空間局部性被訪問數據的周邊數據被訪問的概率會比其它常規數據訪問大很多,所以這些訪問數…

    Linux干貨 2016-11-15
  • 磁盤及文件系統管理

    磁盤管理     MBR:master boot record 主引導記錄。位于磁盤的0磁道0扇區共512字節,獨立于操作系統之外的。512字節的劃分               …

    Linux干貨 2016-08-25
  • 文件管理命令及變量基礎

    文件管理工具:cp,    mv,     rm       cp命令:copy 源文件;目標文件 單源復制: cp [OPTION]….[-T]  SOURCE  DEST 多源復制:cp [OPTION] ….SOURCE…DIR…

    Linux干貨 2016-12-21
  • CentOS 5和6的啟動流程

    Linux: kernel+rootfs  kernel: 進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能 rootfs: glibc 庫:函數集合, function, 調用接口 過程調用:procedure 函數調用:function 程序  內核設計流派: 單內核設計:Linux 把所有功能集成于同一個程序; 微內核設計…

    Linux干貨 2016-08-23
  • 運維自動化之系統安裝

    自動化安裝系統,cobbler的安裝使用

    Linux干貨 2018-01-15
欧美性久久久久