day-20:パッケージのインストールとrpmyumの紹介

11866 ワード

システムの下でどのようにソフトウェアをインストールします:windowsの下でそうです.exeの次のインストール方法:linuxはどのようにソフトウェアをインストールしますか:
7.1:linuxソフトウェアパッケージのインストール方法:rpmyumソースパッケージ
2.2-7.3 rpmツール
rpmパッケージ紹介(準備作業)
マウントシステムインストールディスクミラー(空のディレクトリにマウントされます.ここでは/mnt/ディレクトリは使用されていません.したがって、/mnt/ディレクトリの下に直接マウントされます)
[root@adai002 ~]# df -h
                         %    /dev/sda3        28G  1.3G   27G    5% /devtmpfs        483M     0  483M    0% /devtmpfs           493M     0  493M    0% /dev/shmtmpfs           493M  6.8M  486M    2% /runtmpfs           493M     0  493M    0% /sys/fs/cgroup/dev/sda1       197M  109M   88M   56% /boottmpfs            99M     0   99M    0% /run/user/0[root@adai002 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0    ,        
[root@adai002 mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7EULA             isolinux  repodata  TRANS.TBL
[root@adai002 Packages]# ls
yum-plugin-changelog-1.1.31-40.el7.noarch.rpm
yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm
yum-plugin-tmprepo-1.1.31-40.el7.noarch.rpm
yum-plugin-verify-1.1.31-40.el7.noarch.rpm
yum-plugin-versionlock-1.1.31-40.el7.noarch.rpm
……
(rpm   :  、   、     、  )

rpmパッケージはPackagesファイルの下に保存されます!
rpmツールの使い方
rpmパッケージのインストール
構文:rpm[options][パラメータ]Options:-i:=install、インストール-v:可視化-h:インストールの進捗状況を表示rpmパッケージをインストールする際によく使用されるオプション:--force:強制インストール--nodeps:=no dependent無依存インストール(他のパッケージとの依存関係を無視)
  • eg 1:rpmパケット(依存パケットなし)
  • をインストール
    [root@adai002 Packages]# rpm -ivh x86info-1.30-6.el7.x86_64.rpm   ...                          ################################# [100%]    /  ...   1:x86info-1:1.30-6.el7             ################################# [100%]
  • eg 2:rpmパケット(依存パケットあり)
  • をインストール
    [root@adai002 Packages]# rpm -ivh yp-tools-2.14-3.el7.x86_64.rpm  :      :	ypbind   yp-tools-2.14-3.el7.x86_64   
    ##  ,           
    ##     :
    ①:[root@adai002 Packages]# rpm -iv hyp-tools-2.14-3.el7.x86_64.rpm yp-tools-2.14-3.el7.x86_64②:[root@adai002 Packages]# rpm -ivh --force yp-tools-2.14-3.el7.x86_64.rpm(  --force --nodeps      )

    説明:依存関係のあるパッケージをインストールする場合は、依存するパッケージをインストールしてからターゲットパッケージ(依存関係のあるパッケージもインストール)をインストールするか、--forceまたは--nodepsオプションを使用して強制的にインストールすることができます(使用は推奨されません).
    アップグレードrpmパッケージ
    構文:rpm[-U][パッケージ名]
    [root@adai002 Packages]# rpm -Uvh x86info-1.30-6.el7.x86_64.rpmPreparing...                          ################################# [100%]
    	package x86info-1:1.30-6.el7.x86_64 is already installed

    説明:インストールされている最新バージョンのパッケージをアップグレードした場合、コマンドを実行してもアクションはありません.
    rpmパッケージをアンインストール
    構文:rpm[-e][パッケージ名]
    [root@adai002 Packages]# rpm -e x86info-1.30-6.el7.x86_64.rpmerror: package x86info-1.30-6.el7.x86_64.rpm is not installed[root@adai002 Packages]# rpm -e x86info

    注:アンインストール時に直接応募し、パッケージの情報を必要としません.パケット間に依存関係がある場合も、依存パケットをアンインストールする必要があります.
    rpmパッケージの問合せ
    インストールされたパッケージの問合せ
    構文:rpm[-q][パッケージ名]クエリー指定パッケージrpm[-qa]クエリーインストール済みすべてのパッケージeg:
    [root@adai002 Packages]# rpm -q kmodkmod-20-9.el7.x86_64#########################################[root@adai002 Packages]# rpm -qa |head -5trousers-0.3.13-1.el7.x86_64
    filesystem-3.2-21.el7.x86_64
    net-tools-2.0-0.17.20131004git.el7.x86_64bind-license-9.9.4-37.el7.noarch
    fxload-2002_04_11-16.el7.x86_64

    インストールされたパッケージに関する情報の照会
    構文:rpm[-qi][パッケージ名]i=information
    [root@adai002 Packages]# rpm -qi filesystemName        : filesystemVersion     : 3.2Release     : 21.el7Architecture: x86_64Install Date: Mon May 22 01:19:49 2017Group       : System Environment/BaseSize        : 0……

    パッケージにインストールされているファイルを問い合わせる
    構文:rpm[-ql][パッケージ名]l=list
    [root@adai002 Packages]# rpm -ql vim-enhanced/etc/profile.d/vim.csh
    /etc/profile.d/vim.sh
    /usr/bin/rvim
    /usr/bin/vim
    /usr/bin/vimdiff
    /usr/bin/vimtutor

    ファイルのインストールパッケージの表示
    構文:rpm[-qf][ファイル絶対パス]
    [root@adai002 Packages]# rpm -qf /usr/bin/vimvim-enhanced-7.4.160-1.el7_3.1.x86_64

    すなわち、その絶対パスを介してインストールパッケージにクエリーし、その絶対パスが分からない場合はwhichコマンドを使用してクエリーします.
    逆引用符コマンド
    逆引用符の役割は、逆引用符内のLinuxコマンドを先に実行し、実行結果を変数に与えることです.すなわち、コマンドラインにLinuxコマンドを逆引用符で囲み、そのコマンドが最初に実行され、その結果がそのコマンドラインのパラメータとなる.
    eg:
    [root@adai002 Packages]# rpm -qf `which cd`bash-4.2.46-20.el7_2.x86_64

    説明:「which cd」コマンドを先に実行し、次に「which cd」の結果を「rpm-qf」のパラメータとして実行します.
    7.4 yumツールの使い方
    すべてのrpmパッケージをリスト
    構文:yumリスト
    [root@adai002 Packages]# yum list Failed to set locale, defaulting to CLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile
     * base: mirrors.btte.net
     * extras: mirrors.aliyun.com
     * updates: mirrors.tuna.tsinghua.edu.cnInstalled PackagesNetworkManager-libnm.x86_64                1:1.4.0-12.el7              @anacondaNetworkManager-team.x86_64                 1:1.4.0-12.el7              @anaconda
    zsh.x86_64                                        5.0.2-25.el7_3.1                    updates  
    zsh-html.x86_64                                   5.0.2-25.el7_3.1                    updates  
    zziplib.i686                                      0.13.62-5.el7                       base     
    zziplib.x86_64                                    0.13.62-5.el7                       base   
    ……
    Exiting on Broken Pipe
     :       ,       ,     

    説明:ライブラリの場所に「@」がインストールされていることを示します.「updates」はインストールされ、新しいバージョンがあり、アップグレードが必要であることを示します.その他は、インストール可能ですが、まだインストールされていないrpmパッケージを示します.
  • yumプロファイル
  • [root@adai002 Packages]# ls /etc/yum.repos.d/CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-fasttrack.repo
    CentOS-CR.repo    CentOS-Media.repo      CentOS-Vault.repo
  • プロファイルbaseの情報
  • [root@adai002 Packages]# cat /etc/yum.repos.d/CentOS-Base.repo# CentOS-Base.repo#……
    [base]
    name=CentOS-$releasever - Base
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7……

    説明:このファイルの下にrpmパケットがあるライブラリbaseのミラーアドレス情報があります!
    rpmパッケージの検索
    文法:yum search[キーワード]
    [root@adai002 Packages]# yum search vimFailed to set locale, defaulting to C
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.btte.net
     * extras: mirrors.aliyun.com
     * updates: mirrors.tuna.tsinghua.edu.cn
    ====================================== N/S matched: vim =======================================
    golang-vim.noarch : Vim plugins for Go
    protobuf-vim.x86_64 : Vim syntax highlighting 
    vim-minimal.x86_64 : A minimal version of the VIM editor
    
      Name and summary matches only, use "search all" for everything.

    説明:このコマンドを使用して検索すると、「vim」(キーワード)を含むすべての情報がリストされます.正確ではありません.rpmパケットのみを検索するには、次の方法があります.
    [root@adai002 Packages]# yum list |grep vimFailed to set locale, defaulting to C
    vim-common.x86_64                          2:7.4.160-1.el7_3.1         @updates vim-enhanced.x86_64                        2:7.4.160-1.el7_3.1         @updates vim-filesystem.x86_64                      2:7.4.160-1.el7_3.1         @updates vim-minimal.x86_64                         2:7.4.160-1.el7             @anaconda

    説明:grepはフィルタを表します.
    rpmパケットグループのリスト
    構文:yum grouplist
    [root@adai002 Packages]# yum grouplistFailed to set locale, defaulting to CLoaded plugins: fastestmirrorThere is no installed groups file.Maybe run: yum groups mark convert (see man yum)Loading mirror speeds from cached hostfile
     * base: mirrors.btte.net
     * extras: mirrors.aliyun.com
     * updates: mirrors.tuna.tsinghua.edu.cnAvailable Environment Groups:   Minimal Install
       Compute Node……Available Groups:   Compatibility Libraries
       Console Internet Tools……Done

    rpmパッケージのインストール
    構文:yum install[-y][パッケージ名]説明:「-y」オプションを追加しないと、ユーザーとインタラクティブにインストールされます.まず、インストールするrpmパッケージをリストし、ユーザーにインストールする必要があるかどうかを尋ね、「y」を入力するとインストールし、「n」を入力するとインストールしないのは面倒なので、直接「-y」オプションを付けて、ユーザーとのインタラクションを省略します.
    rpmパッケージのインストール
    構文:yum groupnstall[-y][パッケージのグループ名]グループ名が分からない場合は、yum grouplistで表示できます(注意:インストール時は英語名のみ).
    rpmパッケージのアンインストール
    構文:yum remove[-y][パッケージ名]説明:「-y」オプションとinstallの使い方は、このコマンドを使用してアンインストールすると、ターゲットファイルに依存するすべてのパッケージが同時に削除されるので、慎重に使用してください.
    アップグレードrpmパッケージ
    構文:yum update[-y][パッケージ名]説明:パッケージ名を付けないと、システム内のすべてのパッケージおよびシステム自体がアップグレードされます(使用は慎み、システムのインストールが完了したばかりのときにのみ使用されます).
    yum provides
    このコマンドの役割は、既知のコマンド名によってrpmパケット名を検索することです.使用方法:
    [root@adai002 Packages]# yum provides “/*/vim”

    説明:コマンドの場所が不明なため、検索時にパスを表すには「*」(ワイルドカード)を使用します.
    7.5 yumローカル倉庫の構築
    Linuxシステムがネットワークに接続できない場合があります.この場合、ネット上のyumソースを使用できません.Linuxシステムディスクを利用してyumソースを作成する必要があります.
    ステップ
    マウントディスク-削除/etc/yum.repos.d/ディレクトリのすべてのrepoファイル--新しいファイルdvdを作成する.repo--既存のキャッシュ「yum clean all」をクリアします.
    [root@adai002 ~]# cp -r /etc/yum.repos.d /etc/yum.repos.d.bak      .repo  
    [root@adai002 ~]# cd /etc/yum.repos.d       [root@adai002 yum.repos.d]# lsCentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-fasttrack.repo
    CentOS-CR.repo    CentOS-Media.repo      CentOS-Vault.repo
    [root@adai002 yum.repos.d]# rm -rf ./*    repo  
    [root@adai002 yum.repos.d]# vim dvd.repo“
    [dvd]
    name=install dvd        
    baseurl=file:///mntenable=1gpgcheck=0”
          baseurl             ,      。
    
    [root@adai002 yum.repos.d]# yum clean all        
    Failed to set locale, defaulting to C
    Loaded plugins: fastestmirror
    Cleaning repos: dvd
    Cleaning up everything
    Cleaning up list of fastest mirrors
    [root@adai002 ~]# yum list ……
    Available Packages          rpm      dvd
    ypserv.x86_64                                    2.31-8.el7                           dvd      
    yum-langpacks.noarch                             0.4.2-7.el7                          dvd      
    yum-plugin-aliases.noarch                        1.1.31-40.el7                        dvd      
    yum-plugin-changelog.noarch                      1.1.31-40.el7                        dvd      
    yum-plugin-tmprepo.noarch                        1.1.31-40.el7                        dvd      ……

    構成が完了するとyumを使用して必要なrpmパッケージを直接インストールできます.ローカルyumソースを使用したくない場合は、/etc/yumを削除する必要があります.repos.d/dvd.repoファイルを復元し、元のプロファイルを復元します.
    拡張1:yumインストール済みのパッケージを保持
    yumがダウンロードしたrpmパッケージを保持し、後でアップグレードまたは再インストールするときに使用するように設定できます.変更/etc/yum/conf:
    [main]cachedir=/home/soft1/yumcachekeepcache=1debuglevel=2

    cachedirはダウンロードしたパッケージを置く場所で、自分が置きたい場所に変更できます.keepcacheが1の場合はダウンロードしたrpmパケットを保存することを示す.
    拡張2:yumローカルエリアネットワークソフトウェアソース構築
    Apacheサーバまたはftpサーバの構築
    yumインストールまたはバイナリパッケージインストール.
    RPMパッケージの準備
    CentOSのDVD 1とDVD 2をisoはすべてダウンロードして、DVD 1.isoの中のすべての内容を解凍して、/var/www/html/centos-6ディレクトリの下に置いて、DVD 2.isoが解凍したPackagesディレクトリのrpmパケットは/var/html/centos-6/Packagesディレクトリにコピーされ、/var/html/centos-6/Packagesには6000以上のrpmパケットが含まれています.
    yumウェアハウスの作成
    準備createrepo:yum-y install createrepo
    作成repository:createrepo/var/www/html/centos-6/
    作成が完了すると、/var/www/html/centos-6/repodataでファイルが生成されます.
    ソフトウェアソースの使用
    他のcentosマシンでソフトウェアソースが使えないか試してみます.
  • まずマシン上のソフトウェアソースプロファイルを変更する:
  • # cd /etc/yum.repos.d/# mkdir bk# mv *.repo bk/# cp bk/CentOS-Base.repo ./# vi CentOS-Base.repo
  • CentOS-Base.repoファイルの変更後は、
  • [base]name=CentOS-$releasever - Basebaseurl=http://*.*.*.*/centos-6/gpgcheck=1(  0          )gpgkey=http:///*.*.*.*/centos-6/RPM-GPG-KEY-CentOS-6enabled=1#released updates #[updates]#name=CentOS-$releasever - Updates#baseurl=http:///*.*.*.*/centos-6/#gpgcheck=1#gpgkey=http:///*.*.*.*/centos-6/RPM-GPG-KEY-CentOS-6#enabled = 1

    保存後、ローカルエリアネットワークのソフトウェアソースを使用できます.
    # yum update