Linuxラーニング:パッケージ管理+共通コマンド


Linuxパッケージ管理
  • 前言
  • RPMパッケージ管理
  • ソースパッケージインストール
  • スクリプトインストール
  • APTパッケージ管理
  • ネットワークyumソース
  • 前言
    RPMパッケージ管理(バイナリパッケージ管理)(RPM、YUM)
    ソースパッケージのインストール
    スクリプトのインストール(ShellまたはJavaスクリプト)
    Debian系Linuxパッケージ管理の概要
    補足:centosの下で、yum、rpmのほかに、Tarballもインストールソフトウェアを提供することができます.
    RPMパケットとソースパケットの違い
    RPMパッケージのインストール場所はデフォルトの場所にインストールされています
    /etc/            
    /usr/bin/              
    /usr/lib/                 
    /usr/share/doc/                 
    /usr/share/man/            
    

    ソースパッケージのインストール場所:
    指定された場所にインストールされます.一般的には/usr/local/ソフトウェア名/
    設置場所の違いによる影響
    RPMパッケージにインストールされたサービスは、システムサービス管理コマンド(service)を使用して管理できます.
    eg:rpmパケットインストールのapacheの起動方法は、/etc/rc.d/init.d/httpd startまたはservice httpd startソースパケットインストールのサービスは、デフォルトパスにインストールされていないため、サービス管理コマンドによって管理されません.絶対パスでしかサービスの管理ができません
    eg:/usr/local/apache2/bin/apachectl start
    

    RPMパッケージ管理
    バイナリパッケージの利点:
    1,       ,                ,  ,     
    2,           
    

    欠点:
    1,    ,         
    2,           
    3,   
    

    RPMパッケージ依存性:ツリー依存性:a->b->cループ依存性:a->b->c->dモジュール依存性:Webサイトwww.rpmfind.net
    RPMパッケージの一例:
    sudo-1.7.2p1-5.el5.i386.rpm
           (sudo),   (1.7.2pl),   (5.el5),     (i386),rpm    (rpm)。
    abrt-cli-2.0.8-15.el6.centos.x86_64.rpm    
    e16.centos       linux  
    

    パッケージのフルネームとパッケージ名
    パッケージフルネーム:操作するパッケージがインストールされていないパッケージの場合は、パッケージフルネームを使用し、パスに注意してください.適用シーン:インストール、アップグレード
    ≪パッケージ名|Package Name|emdw≫:インストールしたパッケージを操作するときに、パッケージ名を使用します.は、/var/lib/rpm/のデータベースを検索します.適用シーン:クエリー、アンインストール
    (1)取付
    # rpm -ivh    
    
    -i(install)   ;  -v(verbose)       ;    -h(hash)      ;   --nodeps          
    

    マウントCD:
    mkdir /mnt/cdrom
    mount /dev/cdrom /mnt/cdrom
    

    クエリー:
    rpm -q sudo
    rpm -qa | grep samba
    

    その他のインストールオプション:
    --excludedocs
    

    パッケージ内のドキュメントファイルをインストールしない
    --prefix  PATH
    

    パッケージをPATHで指定されたパスの下にインストール
    --test
    

    インストールをテストするだけで、実際にインストールされません.
    A.パッケージがインストールされています
    # rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
    package sudo-1.7.2p1-5.el5.i386 is already installed
    

    パッケージのインストールを上書きする場合は、コマンドラインで-replacepkgsオプションを使用します.
    B.ファイルの衝突
    インストールするパッケージのファイルが他のパッケージのインストール時にインストールされている場合は、次のエラーメッセージが表示されます.
    # rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
    conflicts with file from bark-3.2-1l
    sudo-1.7.2p1-5.el5.i386.rpm cannot be installed
    

    RPMにこのエラー情報を無視させるには、-replacefilesコマンドラインオプションを使用します.
    C.依存関係未解決
    RPMパッケージは、特定のパッケージがインストールされてからインストールされる他のパッケージに依存する場合があります.
    # rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
    failed dependencies:
    sudo is needed by bark-3.2-1l
    

    この問題を解決するには、依存するパッケージをインストールしてから、強制的にインストールして使用する必要があります.-nodepsオプション.
    (2)アップグレード
    # rpm -Uvh sudo-1.8.0p1-5.el5.i386.rpm
    

    (3)アンインストール
    # rpm -e sudo
    

    注:他のパッケージに依存関係がある場合は、-nodepsを使用して強制的にアンインストールすると、アンインストール時にプロンプトが表示されます.
    (4)クエリー
    オプション:
    -aインストール済みのすべてのパッケージを問い合わせる.(all)
    -qクエリ(query)
    -fクエリーファイルが属するパッケージ(file)
    -pクエリー未インストールパッケージ情報(package、このパラメータを追加するにはパッケージのフルネームが必要)
    -iパッケージ情報の表示(information)
    -lパッケージのファイルリストを表示します(list)
    -Rクエリーパッケージの依存性(requires)
    -dドキュメントとしてマークされたファイルのリストを表示
    -cプロファイルとしてマークされたファイルのリストを表示
    RPMクエリーの適用例:rpm -qlパッケージ名:パッケージがインストールされているかどうかを確認します.rpm -qlpパッケージフルネーム:インストールされていないソフトウェアのリストを問い合わせるrpm -qa:インストールされているすべてのRPMパッケージを問い合わせるrpm -qiパッケージ名:パッケージの詳細を問い合わせる;rpm -qip:インストールされていないパッケージの詳細を問い合わせるrpm -qfシステムファイル名:システムファイルがどのrpmパケットに属するかを問い合わせるrpm -qRパッケージ名:パッケージの依存性を問い合わせる;rpm -qRpパッケージフルネーム:インストールされていないパッケージの依存性を問い合わせるrpm -qdパッケージ名:パッケージヘルプドキュメントの問合せrpm -qcパッケージ名:パッケージプロファイルの問合せ
    (5)検査
    # rpm  -V        
    -V      RPM     (verify)
    

    コンテンツ内の8つの情報の詳細を確認します.
    S         
    M      
    5    md5       (            )
    L     
    T        
    D     
    U      
    G       
    

    ファイルの種類:
    c配給ファイル(config file)d一般ファイル(documentation)g「鬼」ファイル(ghost file)は、このRPMパッケージにlライセンスファイル(license file)r記述ファイル(read me)を含むべきではないことが珍しい.
    (6)パッケージファイル抽出
    # rpm2cpio     |  cpio  -idv  .      
    

    すべてのファイルを現在のディレクトリに解凍
    # rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm |  cpio  -idv
    

    指定したファイルを現在のディレクトリに解凍
    # rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio  -idv  ./etc/inittab
    
    rpm2cpio rpmパケットをcpioフォーマットに変換するコマンド
    cpioは、ソフトウェアファイルを作成し、ファイルからファイルを抽出するための標準ツールです.
    cpioの使い方
    # cpio    < [  |  ]
    

    オプション:
    -i: copy-in  ,  
    -d:         
    -v:      
    

    YUM管理
    yumを適用するメリット:
    1、パッケージ依存関係の自動解決
    2、便利なパッケージアップグレード
    検索yum list使用可能なすべてのパッケージのリストを問い合わせるyum searchキーワード検索サーバ上のすべてのキーワードに関連するパッケージ
    インストールyum -y install包名-y自動回答yes
    アップグレード
    yum -y update
    

    パッケージ名にパッケージ名を付けない場合は、カーネルを含むすべてのパッケージをアップグレードします.パッケージ名を付けて単一のパッケージをアップグレードする必要があります.アップグレードのすべての検出でyum check-updateをアップグレードすることを慎みます.
    アンインストールyum -y remove包名yumアンインストールを慎む
    ヘルプ
    yum -help、man yum
    

    yumでよく使われるコマンド
    # yum install xxx              xxx   
    
    # yum info xxx                  xxx      
    
    # yum remove xxx              
    
    # yum list                              
    
    # yum clean                             
    
    # yum provides xxx         xxx       (         ) 
    
    # yum search xxx                (       ) 
    
    # yum update                     
    
    # yum list available                  ; 
    
    # yum list updates                       ; 
    
    # yum list installed                 ; 
    
    # yun update kernel           ; 
    

    yumパッケージコマンド
    # yum groupinstall xxx  
    
    # yum groupupdate xxx 
    
    # yum grouplist xxx 
    
    # yum groupremove xxx 
    

    インストール、アップグレード、リスト、削除をグループ単位で行います.例えば「Mysql Database」は、関連するすべてのパッケージを同時に操作するグループです.
    ソースパッケージのインストール
    インストール手順:
    1、ソースパッケージのダウンロード
    2,ダウンロードしたソースパッケージを解凍する
    3、解凍ディレクトリに入る
    4,./configureソフトウェアの構成と検査、必要な機能オプションを定義し、システム環境がインストール要求に合致するかどうかを検出し、定義した機能オプションとシステム環境を検出する情報をMakefileファイルに書き込み、後続の編集に使用する
    5,makeコンパイル
    6,make installインストール
    適用例(proftpd):
    # tar -xzvf proftpd-1.3.3d.tar.gz(    )
    # cd proftpd-1.3.3d
    # ./configure --prefix=/usr/local/proftpd(    )
    # make (  )           ,     make clean             
    # make install (  )
    

    ソフトウェアのダウンロードアドレス:http://www.proftpd.org
    ソースパッケージの利点:
    1,  ,        ,       
    2,           
    3,       ,           ,    ,    
    4,    
    

    ソースパッケージの欠点:
    1,        ,            ( LAMP    ),        
    2,        ,           
    3,       ,         ,    
    

    スクリプトのインストール
    スクリプトインストールパッケージ
    スクリプトインストールパッケージは独立したパッケージタイプではなく、ソースパッケージが一般的にインストールされています.
    人為的にインストールプロセスを自動インストールのスクリプトに書き、スクリプトを実行し、簡単なパラメータを定義すれば、インストールを完了することができます.
    Windowsのソフトウェアのインストール方法によく似ています.
    Webminの役割
    WebminはWebベースのlinuxシステム管理インタフェースです.ユーザーアカウント、apache、DNS、ファイル共有などのサービスをグラフィカルに設定できます.
    適用例(webmin、OpenOffice)
    # tar -xzvf webmin-1.530.tar.gz
    # cd webmin-1.530
    # vi README
    # ./setup.sh
    

    ソフトウェアのダウンロードアドレス:http://sourceforge.net/projects/webadmin/files/webmin/公式サイト:http://www.webmin.com
    注意:webminのデフォルトポートは10000で、直接windowsブラウザで入力しますhttp://IP:portWebadminにアクセス
    APTパッケージ管理
    検索パッケージapt-cache searchパッケージ情報apt-cache showインストールapt-get install(reinstall、-f)削除apt-get remove(autoremove、–purge)更新ソフトウェアソースapt-get update更新インストールパッケージapt-get upgrade更新
    一般的なAPTコマンドパラメータ:
    apt-cache search package     
    
    apt-cache show package         ,   、  、    
    
    sudo apt-get install package     
    
    sudo apt-get install package - - reinstall       
    
    sudo apt-get -f install     "-f = ——fix-missing" 
    
    sudo apt-get remove package     
    
    sudo apt-get remove package - - purge    ,          
    
    sudo apt-get update     
    
    sudo apt-get upgrade         
    
    sudo apt-get dist-upgrade      
    
    sudo apt-get dselect-upgrade    dselect    
    
    apt-cache depends package        
    
    apt-cache rdepends package             
    
    sudo apt-get build-dep package           
    
    apt-get source package          
    
    sudo apt-get clean && sudo apt-get autoclean        
    
    sudo apt-get check           
    

    ネットワークyumソース
    #vi /etc/yum.repos.d/CentOS-Base.repo
    [base]
    name=CentOS-$releasever - Base
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
    #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    

    説明:
    [base]コンテナ名、必ず[]に
    name容器説明、これは自分で勝手に書くことができます
    mirrorlistミラーサイト、これは注釈することができます
    baseurl yumソースサーバのアドレス.デフォルトはCentOS公式のyumソースサーバで、利用可能ですが、遅いと思ったら好きなyumソースアドレスに変更できます
    enabledこのコンテナが有効かどうかは、enable=1と書くか書かないかが有効で、enable=0と書くと有効ではありません
    gpgcheck 1がRPMのデジタル証明書の有効化を指す場合、0であれば有効ではありません.
    pggkeyデジタル証明書のスプーンファイルの保存場所は、変更する必要はありません
    ディスクyumソース構築
    1、マウントディスク
    #mount  /dev/cdrom  /mnt/cdrom
     /etc/fstab       /dev/sr0  /mnt/cdrom/ iso9660 ro 0 0             
         umount   -l /mnt/cdrom(    )
    

    2,ネットワークyumソースファイルを無効にする
       cd /etc/yum.repos.d/
       rename  .repo  .repo.bak  *        #      .repo  
       cp  CentOS-Media.repo.bak  CentOS-Media.repo     #    .repo  
    

    3,光ディスクyumソースファイルの修正
        vi CentOS-Media.repo 
    [c6-media]
    name=CentOS-$releasever - Media
    baseurl=file:///mnt/cdrom        #              ,           ,     
    
    # file:///media/cdrom/
    # file:///media/cdrecorder/
    gpgcheck=1
    enabled=1        #    0  1,   yum       
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
        yum repolist        yum 
    

    ネットワークからアクセスできるyumソースを構成しapach serverを使用する
    構想:ミラーをapacheサービスに直接マウントする
    #  apache server
    yum istall -y httpd
    #  httpd  
    service httpd status
    service httpd start
    #     
    service iptables stop
    
    # /var/www/html               # apache service       /var/www/html
    mkdir centos6.6
    ##    iso  
    mount -o loop /root/CentOS-6.6-x86_64-bin-DVD1.iso /var/www/html/centos6.6/    #             
    #    repo  
    rename .repo .repo.bak *
    vim /etc/yum.repos.d/CentOS-Local.repo
    [cento6.6-dvd1]
    name=CentOS-Local
    baseurl=http://192.168.50.128/centos6.6/        #   url   repodata       , /centos6.6     ip     apache server ip  
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    

    構成が完了したら、このマシンをイントラネットサーバとして、他のマシンはこのマシンのyumソースを使用することができます.
    DIYはyumソースで、マウントを使用せず、apache serverを使用します.
    #      yum ,    repodata
    yum install -y createrepo
    
    #       httpdserver      
    cp -r /root/iso/Packages/ /var/www/html/centos6.6/
    cd /var/www/html/centos6.6/Packages/    
    
    #    repodata  
    createrepo .            #repodata   Packages 
    
    #  yum repo  
        
    baseurl=http:192.168.50.101/centos6.6/Packages/          #   url   Packages,  repodata   Packages 
    
    yum clean all
    yum repolist
    yum install -y XXX
    

    アリクラウドミラーサイトmirrors.aliyun.com