linux程序包管理

Linux程序包管理

       API:Application Program Interface

       ABI:Application Binary Interface

          Unix-like,

             ELF

          Windows

                exe,msl

         庫級別的虛擬化;

              Linux:WinE

              Windows:Cywin

  系統級開發:

      C/C++: http, vsftpd,nginx

         go

  應用級開發:

      java/Python/perl/ruby/php:

     java:hadoop,hbase,(jvm)

          Python:openstack,(pvm)

          perl:(perl)

          ruby:(ruby)

            php:(php)

   程序格式:

       源代碼:文本格式的程序代碼:

       編譯開發環境:編譯器,頭文件,開發庫

       二進制格式:文本格式的程序代碼–>編譯器–>二進制格式(二進制程序,庫文件、配置文件、幫助文件)

  java/python程序格式:

       源代碼:編譯成能夠在其虛擬機(jvm/pvm)運行的格式;

       開發環境:編譯器、開發庫

       二進制

 項目構建工具:

     c/c++:make

     java:maven

 程序報管理器:

     源代碼–>目標二進制格式–>組織成為一個或有限幾個”包“文件;

         安裝、升級、卸載、查詢、校驗

      程序包管理器:

          debian:dpt, dpkg, ".deb"

          redhat: redhat package manager簡稱rpm, ”.rpm"

          S.u.S.E:rpm, ".rpm"

          Gentoo: ports

          Archlinux:

      源代碼:name-VERSION.tar,gz

        VERSION: major.minor.release

     rpm包名格式:

          name-VERSION-release.arch.rpm

          VERSION: major.minor.release

          release.arch: rpm報的發行號

          release.os:  2.el7.i386.rpm

          rchetecture: i386,x64(amd64),ppc,noarch

          redis-3.0-1.centos7.x64.rpm<–redis-3.0.2.targz

     拆包:主包和支包

          主包:name-VERSION-release.arch.rpm

          支包:name-function-VERSION-release.arch.rpm

          function:devel,utils,libs….

          依賴關系:

              x, y, z

              x–>y,z

              y–>A,B,C

              C–>y

     前端工具:自動解決依賴關系;

          yum:rhel系列系統上rpm包管理器的前端工具;

          apt-get (apt-cache):deb包管理的前端工具;

          zypper: suse的rpm管理器前端工具;

          dnf: Fedora 22+系統上rpm包管理器的前端工具;

     程序包理器:

         功能:將編譯好的應用程序的個組成文件打包成一個或幾個程序包文件,從而更方便地實現程序包的安裝,升級,卸載和查詢等管理操作;

         1、程序包的組成清單(每個程序報都單獨實現);

           文件清單

           安裝和卸載是運行的腳本

        2、數據庫(公共)

           程序報的名稱和版本;

           依賴關系;

           功能說明;

           安裝生成各文件的路徑及校驗碼信息;

           等等

           /var/lib/rpm/

    獲取程序報的途徑:

       (1)系統發行版的光盤或官方的文件服務器(或鏡像站點):

            http://mirrors.aliyun.com

           http://mirrors.sohu.om;

           http://mirrors.163.com

       (2)項目的官方站點

       (3)第三方組織:

            (a)EPEL

            (b)搜索引擎

               http://pkgs.org

               http://rpmfind.net

               http://rpm.pbone.net

      (4)自動動手,豐衣足食

         建議:檢查其合法性

         來源合法性;

         程序包的完整性;

     CentOS系統刪rpm命令管理程序包:

        安裝,升級,卸載,查詢和校驗,數據庫維護

        rpm命令:rpm [OPTIONS] [PACHAGE-]

        安裝:-i.–freshen

        升級:-u,–update,-F,–freshen

        卸載:-e, –erase

        查詢:-q'–query

        校驗:-V,–verify

        數據庫維護:–builddb, –initdb

        安裝:rpm{-i |–install-options] PACKAGE-FILE…

             rpm

             GENERAL OPTIONS:

             -v: verbose,詳細信息

             -vv:更詳細的輸出

             [install-options]:

             -h: hash marks輸出進度條;每個#表示2%的進度;

            –test: 測試安裝,檢查并報告依賴關系及沖突消息等;

            –replacepkgs: 重新安裝

       注意:rpm可用自帶腳本:

             四類:

          preinstall:安裝過程開始之前運行的腳本,%pre

          postinstall:安裝過程完成之后運行的腳本,%post

          preuninstall:卸載過程真正開始執行之前運行的腳本%postun,–nopostun]

          –nosignature: 不檢查包簽名信息,不檢查來源合法性;

          –nodigest: 不檢查包完整信息;

原創文章,作者:shadow,如若轉載,請注明出處:http://www.www58058.com/65391

(0)
shadowshadow
上一篇 2016-12-30 21:18
下一篇 2016-12-30 22:49

相關推薦

  • ping命令的部分用法

    Linux系統的ping命令是常用的網絡命令,它通常用來測試與目標主機的連通性,我們經常會說“ping一下某機器,看是不是開著”不能打開網頁時會說“你先ping網關地址192.168.1.1試試”。它通過發送ICMP ECHO_REQUEST數據包到網絡主機(send ICMP ECHO_REQUEST to&nbsp…

    Linux干貨 2017-07-30
  • 如何使用openssl工具創建私有CA

    一、CA及證書 非對稱加密是為了保證互聯網中通訊信息安全使用的一種算法,密鑰是成對出現(公鑰和私鑰),它的特點是發送方A使用接收方B的公鑰加密數據,所有只有B擁有與之配對的私鑰解密該數據,反之亦然。那么,A和B之間怎么交換得到對方的真實安全的公鑰呢?此時就需要一個權威的機構來驗證公鑰的合法性,這個機構稱之為CA(Certification Authority…

    2017-07-16
  • Linux中高級文件系統管理

    一、磁盤配額管理             定義:限制普通用戶對某個目錄寫空間大小的限制     1、此策略是針對文件系統,并非硬盤     2、可以根據不同組和不同用戶進行不同的策…

    Linux干貨 2016-08-29
  • 馬哥教育網絡班20期+第6周課程練習

    請詳細總結vim編輯器的使用并完成以下練習題 vim三種模式: 用法:vim [option…] FILE 編輯模式:     字符跳轉:         h:向左移動一個字符     &…

    系統運維 2016-07-22
  • LAMP平臺基于NFS實現web服務器負載均衡

    前言 隨著訪問量的逐漸增大,一臺web服務器可能已經無法滿足需求,這就需要增加web服務器的數量了,于是問題就來了:如何保證兩臺服務器數據同步呢?本文將講解如何基于NFS實現web服務器的負載均衡及數據同步。 NFS服務介紹 NFS(Network File System)網絡文件系統,允許一個系統通過網絡共享目錄和文件,通過使用NFS,用戶和程序可以像訪問…

    Linux干貨 2015-04-22
  • 0806文本處理工具

    ———- 文件查看工具 ———- cat:    cat [OPTION]… [FILE]…   //查看文本文件內容,一般后面跟文件名(相對路徑),或者是文件名(絕對路徑) -n 加行號 -b 加行號,…

    Linux干貨 2016-08-07
欧美性久久久久