linux程序包管理和rpm包

Linux程序包管理的實現、rpm包管理器node

                  rpm命令實現程序管理c++

              安裝:-ivh,--nodeps,--replacepkgs數據庫

              卸載:-e,--nodepsapache

              升級:-Uvh,-Fvh,--nodeps,--oldpackagecentos

              查詢:,-q,-qa,-qf,-qi,-qd,-qc,-q --changlog,-q --provide,-q --requires緩存

                                j校驗:-V服務器

              導入GPG密鑰:--import-K,--nodigest,--nosignatureapp

              數據庫重建:--inittab,--rebuilddbmaven

                      Linux程序包管理(2ide

                                 Centos: yum ,dnf

                                  URL:統一資源配位符

                                  yum主機,httpftp

               creatrepo

         存儲了衆多rpm包,以及包的相關的元數據文件(放置於特定目錄下:repodata

            

            文件服務器:

                           ftp://

            http://

            nfs://

            file:///

yum客戶端:

配置文件

/etc/yum.conf   :爲全部倉庫提供公共配置

    /etc/yum.repos.d/*.repo   :爲倉庫的指向提供配置

倉庫指向的定義:

[repositoryID]

Name:some name for this repository

Baseurl=url://path/to/repository

Enabled={1|0}

Gpgcheck={1|0}

Gpgkey=URL

Enablegroups={1|0}

Failovermethod={roundrobin|priority}默認爲:roundrobin

Keepalive

usernamepassword

cost1000(默認值),開銷


----------------------------------------------------------------------------------

 yum [OPTIONS] [COMMAND] [PACNKAGE] 

   顯示倉庫列表:

       repolist  [all|enabled|disabled]

   顯示程序包:

       list

      ~]#yum list [all |glob_exp1] [glob_exp2] [...]

      ~]#yum list {available|installed|availabble} [glob_exp1] [...]

   安裝程序包:

        install package1  [package2] [...]

   升級程序包:

        update [package1] [package2] [...]

   檢查可用升級:

       check-update

    卸載程序包:

        remove | erase package1 [package2]

    查看程序包的信息:

     info  [...]

     查看指定的特性(能夠是某文件)是有哪一個程序包提供:

       provides |whatprovides feature1  [feature2] [...]

     清理本地緩存 :

      clean [packages |metadata  |expire-cache | rpmdb | plugins | all]

   構建緩存:

    makecache

    搜索:

    search  string1  [string2]  [...]  (已指定的關鍵字搜索程序包名及summary信息)

    升降級程序包:

       update  [package1]  [package2] [...]

       downgrate package1  [package2] [...]  

    查看指定包所依賴的capabilities:

        deplist package1 [package2] [...]

     查看yum事務歷史:

       history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stat]

      安裝及升級本地程序包:

      localinstall rpmfile1  [rpmfile2] [...]

          (maintained for legacy reasons only -use install)

      localupdate rpmfile1 [rpmfile2] [...]

          (maintained for legacy reasons only -use update)

     包組管理的相關命令

       groupinstall group1 [group2] [...]

       groupupdate group1 [group2] [...]

       grouplist [hidden] [groupwildcard] [...]

       groupremove group1 [group2] [...]

       groupinfo group1 [group2] [...]

如何使用光盤當作本地yum倉庫

1)掛載光盤至某個目錄,例如media/cdrom

~]#mount  -r -t  iso 9660  /dev/cdrom /media/cdrom

2)建立配置文件

   

 {centos7}

Name=

Baseurl=

Gpgcheck=

Enabled=

yum的命令行選項:

 --nogpgcheck:禁止進行gpg check

 

-y:自動回答爲「yes」

-q:靜默模式

--disablerepo=repoidglob:臨時禁用此處指定的repo

--enablerepo=repoidglob:臨時啓用此處指定的repo

--noplugins:禁用全部插件

  yum的repo的配置文件中可用的變量

$releasever:當前OS的發行版的主版本號

$arch:平臺

$basearch:基礎平臺

¥YUM0-$YUM9

http://mirrors.mageedu.com/centos/$releasever/$basearch/os

 

 

 

如何建立yum倉庫

Create [OPTIONS]   <directory>

程序包編譯安裝

           testapp-VERSION-release.src.rpm  --> 安裝後,使用rpmbuild命令製成二進制格式的rpm包,然後再安裝、

源代碼-->預處理-->編譯(gcc)-->彙編-->連接-->執行

源代碼組織格式:

     多文件:文件中的代碼之間,極可能存在跨文件依賴關係

項目管理器

C/C++:make     (configure-->makefile.in (模板)-->Makefile)

Java:maven

編譯安裝三步:

./configure

1)經過選項傳遞參數,指定啓用特性、安裝路徑等;執行時會參考用戶的指定以及Makefile.in文件生成makfile

2)檢查依賴到的外部環境

 

Make  

根據Makefile文件,構建應用程序

 

Make install

開放工具:

Autoconf:生成configure腳本

automake:生成Makefile.in

建議:安裝前查看install文檔,README

開源程序源代碼的獲取:

官方自建站點;

  apache.org(AFS)

Mariadb.org

代碼託管:

        SourceForge

    Github.com

   code.google.com

c/c++:gcc(GNU C Complier)

編譯C源代碼:

前提:提供開發工具及開發環境

     開發工具:make,gcc

     開發環境:開發庫,頭文件

             glibc:標準庫

經過 「包組」提供開發組件

Centos6:「development  tools"server platform development"

第一步:configure腳本

選項:指定安裝位置,指定啓用的特性

--help:獲取其支持使用的選項

選項分類;

     安裝路徑設定:

         --prefix=/PATH/TO/SOMEWHERE:指定默認安裝位置:默認爲、/usr/local

         --sysconfdir=/PATH/TO/SOMEWHERE:配置文件安裝位置

System  types

Optional  features

  --disable-FEATURE

  --enable-feature[=ARG]

optional packages:可選包

  --with-PACKAGE[=ARG]

   --without-PACKAGE

Some influential environment variables

第二步:makestall

第三步:

安裝後的配置:

1)導出二進制程序目錄至 PATH環境 變量中

編輯文件、

/etc/profile.d/NAME.sh

 export PATH=/PATH/TO/BIN:$PATH

2)導出庫文件路徑

  編輯/etc/ld.so.conf.d/NAME.conf

       添加新的庫文件所在的目錄至此文件中;

  讓系統從新生成緩存:

       ldconfig [-v]

3)導出頭文件

   建立連接,基於連接的方式實現

    ln -sv

4)導出幫助手冊

   編輯/etc/man.config文件

         添加一個MANPATH

相關文章
相關標籤/搜索