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
下一篇 2016-12-30

相關推薦

  • RAID( Blob3 )

    RAID各級別特性及使用

    2017-11-27
  • scp命令

    scp命令: 基于ssh連接完成復制   scp? [options]? SRC…? DEST/ scp? [options]? SRC? DEST   存在兩種使用情形: PULL獲取:? scp? [options]? [user@]host:/PATH/TO/SOMEFILE?? /PATH/TO/SOMEFILE PU…

    Linux干貨 2017-10-21
  • 計算機硬件及Linux簡介

    計算機的組成 計算機主要分成五大部分:輸入單元、控制單元、運算單元、存儲器、輸出單元。 其中,中央處理器(CPU)是一個具有特定功能的芯片,含有微指令集。包括控制單元與運算單元。 控制單元對程序進行控制,調度程序、數據、地址。運算單元負責對數據的各種邏輯運算和數字運算。 計算機的功能 包括但不限于 驅動程序:字面意思。 進程管理:計算機內部能夠通過分配資源,…

    Linux干貨 2016-10-30
  • 馬哥教育網絡班22期+第1周課程練習

    第1周課程練習 一、描述計算機的組成及其功能。     CPU (運算器+控制器), 存諸器(內存與外部存儲),輸入輸出設備。      運算器:對數據進行處理(包括算述運算與邏輯運算)。      控制器:負責從存儲器取出指令,按指令的要求發出控制信號,使各…

    Linux干貨 2016-08-15
  • CentOS系統啟動流程、selinux、Systemd剖析

    交互式登錄配置文件讀取順序: /etc/profile –> /etc/profile.d/*.sh –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc 非交互式登錄配置文件讀取順序: ~/.bashrc –> /etc/bas…

    Linux干貨 2018-03-04
  • 設計模式概論

    1. 設計模式        設計模式(Design pattern)是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 毫無疑問,設計模式于己于他人于系統都是多贏的,設計模式使代碼編制真正工程化,設計模式是軟件工程的基石,如同大廈…

    Linux干貨 2015-06-18
欧美性久久久久