Centosでのパッケージ管理とインストール

7894 ワード

パッケージ管理
  • パッケージタイプrpmバイナリパッケージ:GCCを使用してtarソースパッケージをコンパイル済み:
  • をコンパイルする必要がある
  • rpm RPMはRPM Package Manager(RPMパッケージマネージャ)の略で、このファイルフォーマット名にはRedHatのマークが付いていますが、元の設計理念はオープンで、現在はOpenLinux、SUSE、Turbo LinuxなどのLinuxの配布バージョンが採用されており、公認の業界標準と言える
  • です.
  • rpmパケット取得方式1.Centosシステムミラーディスク2.rpmfind.Netサイト3.ソフトウェアパッケージの公式サイトのダウンロード、例えばmysqlの公式サイト
  • #      
    [root@centos7-base /]# ls /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm 
    /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm
    zsh:    
    5.0.2:          
    28:        
    el7.:       
    x86_64: 64    
    
  • rpmソフトウェア
  • をインストール
    [root@centos7-base ~]# rpm -ivh /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm
       ...                          ################################# [100%]
        /  ...
       1:zsh-5.0.2-28.el7                 ################################# [100%]
    
      :
    -i    install   ,      
    -v        ,        
    -V    ,            
    -h  --hash       ####  
    
  • rpmクエリー機能
  •   : 
    rpm -q(query)           
    -a(all)             
    -f(file)     (             ),    
    -i         rpm     ,       
    -l(list)               
    -p               ,         
    -R          
    
    #          
    [root@centos7-base ~]# rpm -q zsh
    zsh-5.0.2-28.el7.x86_64
    
    #           vim     
    [root@centos7-base ~]# rpm -qa | grep vim
    vim-enhanced-7.4.160-4.el7.x86_64
    vim-minimal-7.4.160-4.el7.x86_64
    vim-common-7.4.160-4.el7.x86_64
    vim-filesystem-7.4.160-4.el7.x86_64
    
    #   find     
    [root@centos7-base ~]# which find
    /usr/bin/find
    
    #               
    [root@centos7-base ~]# rpm -qf /usr/bin/find
    findutils-4.5.11-5.el7.x86_64
    
    #        rpm         
    [root@centos7-base ~]# rpm -qi zsh
    Name        : zsh
    Version     : 5.0.2
    Release     : 28.el7
    Architecture: x86_64
    Install Date: 2019 10 09      16 19 09 
    Group       : System Environment/Shells
    Size        : 5855982
    License     : MIT
    Signature   : RSA/SHA256, 2017 08 11      04 28 17 , Key ID 24c6a8a7f4a80eb5
    Source RPM  : zsh-5.0.2-28.el7.src.rpm
    Build Date  : 2017 08 02      18 52 37 
    Build Host  : c1bm.rdu2.centos.org
    Relocations : (not relocatable)
    Packager    : CentOS BuildSystem 
    Vendor      : CentOS
    URL         : http://zsh.sourceforge.net/
    Summary     : Powerful interactive shell
    Description :
    The zsh shell is a command interpreter usable as an interactive login
    shell and as a shell script command processor.  Zsh resembles the ksh
    shell (the Korn shell), but includes many enhancements.  Zsh supports
    command line editing, built-in spelling correction, programmable
    command completion, shell functions (with autoloading), a history
    mechanism, and more.
    [root@centos7-base ~]# clear
    
    #        RPM 
    [root@centos7-base ~]# rpm -qpi /mnt/Packages/php-mysql-5.4.16-45.el7.x86_64.rpm 
    Name        : php-mysql
    Version     : 5.4.16
    Release     : 45.el7
    Architecture: x86_64
    Install Date: (not installed)
    Group       : Development/Languages
    Size        : 237547
    License     : PHP
    Signature   : RSA/SHA256, 2018 04 25      19 36 39 , Key ID 24c6a8a7f4a80eb5
    Source RPM  : php-5.4.16-45.el7.src.rpm
    Build Date  : 2018 04 13      03 12 53 
    Build Host  : x86-01.bsys.centos.org
    Relocations : (not relocatable)
    Packager    : CentOS BuildSystem 
    Vendor      : CentOS
    URL         : http://www.php.net/
    Summary     : A module for PHP applications that use MySQL databases
    Description :
    The php-mysql package contains a dynamic shared object that will add
    MySQL database support to PHP. MySQL is an object-relational database
    management system. PHP is an HTML-embeddable scripting language. If
    you need MySQL support for PHP applications, you will need to install
    this package and the php package.
    
  • パッケージが変更されたかどうかを確認する
  • rpm -V  
    rpm -Vf     
    
  • アップグレード
  • #             
    [root@centos7-base ~]# rpm -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm 
       ...                          ################################# [100%]
            lrzsz-0.12.20-36.el7.x86_64     
    
    #          yum        
    [root@centos7-base ~]# yum update lrzsz
         :fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: mirrors.njupt.edu.cn
     * extras: mirrors.njupt.edu.cn
     * updates: mirrors.njupt.edu.cn
    base                                                                                                      | 3.6 kB  00:00:00     
    extras                                                                                                    | 2.9 kB  00:00:00     
    updates                                                                                                   | 2.9 kB  00:00:00     
    No packages marked for update
    
  • アンインストール
  • [root@centos7-base ~]# rpm -e zsh
    

    yum
    yum(全称Yellow dog Updater,Modified)は、フロントエンドパッケージマネージャです.RPMパッケージ管理に基づいて、指定したサーバからRPMパッケージを自動的にダウンロードしてインストールすることができ、依存関係を自動的に処理することができ、依存するすべてのソフトウェアパッケージを一度にインストールすることができ、煩雑にダウンロード、インストールする必要はありません.yumは、1つ、1つ、またはすべてのパッケージを検索、インストール、削除するコマンドを提供し、コマンドは簡潔で覚えやすい
  • ローカルyumソース
  • を構成する.
    1.ミラーをマウント
    [root@centos7-base ~]# mount /dev/cdrom /mnt
    mount: /dev/sr0    ,        
    [root@centos7-base ~]# ls /mnt/
    CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
    EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
    
    [root@centos7-base ~]# vim /etc/yum.repos.d/centos7.repo   #   .repo  ,      
    [centos7]            #yum   ,         ,       yum 
    name=CentOS7  # yum     
    baseurl=file:///mnt #yum    ,      FTP(ftp://...)、HTTP(http://...)、  (file:///...                                              )
    enable=1   # 1,    yum ;0   
    gpgcheck=0  # 1,      rpm     ;0    
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  #    rpm         
    
  • ネットワークyumソース
  • [root@centos7-base ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    --2019-10-10 13:32:18--  http://mirrors.aliyun.com/repo/Centos-7.repo
           mirrors.aliyun.com (mirrors.aliyun.com)... 61.182.131.230, 101.72.206.231, 101.72.206.230, ...
         mirrors.aliyun.com (mirrors.aliyun.com)|61.182.131.230|:80...    。
        HTTP   ,      ... 200 OK
      :2523 (2.5K) [application/octet-stream]
         : “/etc/yum.repos.d/CentOS-Base.repo”
    
    100%[=======================================================================================>] 2,523       --.-K/s    0s      
    
    2019-10-10 13:32:19 (104 MB/s) -     “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])
    
    #wget      ,-O  wget     ,        ,            ,             ,          
    
  • yum操作
  • yum install -y httpd    #      
    yum -y update    #     ,           ,         
    yum -y upgrade   #     ,            ,      ,     
    yum info  httpd    #  rpm 
    yum provides /usr/bin/find  #              
    yum -y remove        #   
    yum search keyword   #         
    
  • 中英文切替
  • [root@centos7-base ~]# echo $LANG
    zh_CN.UTF-8
    [root@centos7-base ~]# LANG=en_US.UTF-8
    

    tarソースパッケージのインストール
    次にnginxソースパケットのインストールを例に挙げる
    #     
    yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel
    #      
    tar xvf nginx-1.12.2.tar.gz
    cd nginx-1.12.2
    #     
    ./configure  --prefix=/usr/local/nginx
    make -j 4
    make install
    
  • ./configure
  • a.       ,   --prefix=/usr/local/nginx
    b.          ,    --enable-ssl, --disable-filter --with-http_ssl_module
    c.        ,  --with-pcre
    d.       ,        gcc,           
        :Makefile
    # make  -j 4   # Makefile    ,    -j 4  4  CPU  ,    
    # make install  # Makefile         
    # make clean //     make      object Makefile  。    :       configure ,    make clean
    
  • ソースパッケージmake uninstallを削除すると削除が不潔になることがあるので、インストール時にconfigureステップで--prefixパラメータを追加することをお勧めします.このように削除またはバックアップする場合、削除--prefixで指定したインストールディレクトリに対して直接操作すればよい
  • .