Linuxシステムパッケージの管理3月30日コース


Linuxシステムパッケージの管理
一、rpm工具
rpmRedhat Package Managerは、設計コンセプトがオープンで、RedHatプラットフォームだけでなくSUSEでも使用できます.
rpmパケット名構成は-和.abrt-cli-2.0.8-15のようないくつかの部分に分かれている.el6.centos.i686.rpm,
abrt-cli:パッケージ名
2.0.8-15:バージョン番号
El 6:redhatエンタープライズ版6のこと
centos:これはcentosで使われています
i 686:プラットフォームタイプを指す
一部のrpmパケットは、特定のプラットフォームではなくnoarchと書かれています.これは、このrpmパケットにハードウェアプラットフォームの制限がないことを意味します. 
マウントオプティカル(光学式)ドライブ
[root@web ~]# mount /dev/cdrom /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only

write-protected:書き込み保護
1、パッケージをインストールする
[root@web mnt]# rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm

-i:インストールを示します
-v:可視化
-h:インストールの進捗を表示
--force:強制的にインストールし、他のパッケージに属するファイルを上書きしてもインストールします.
--nodeps:インストールするrpmパケットが他のパケットに依存している場合、他のパケットがインストールされていなくても、このパケットをインストールします.
[root@web mnt]# rpm -ivh --nodeps  /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm
Preparing...                ########################################### [100%]
   1:libjpeg-turbo-devel    ########################################### [100%]

アップグレード:rpm-Uvh filename.rpm
-Uはアップグレードの意味だ
[root@web mnt]# echo $?
0

前のステップのインストールが正しいかどうかを確認し、0が正しく表示されている場合、他の数値が正しく表示されていない場合
2、rpmのアンインストール:
rpm-e filename#ここのfilenameはrpmのクエリー機能でクエリーされます
パッケージ名の問合せ
[root@web mnt]# rpm -qa |grep libj
libjpeg-turbo-1.2.1-3.el6_5.x86_64
libjpeg-turbo-devel-1.2.1-1.el6.i686

ここでlibjはパッケージ名のフルネームではありませんが、ファジイ検索の機能に似ていることを覚えています.これにより、クエリーがすべてを
libjで始まるパケットをすべて表示し、アンインストールするために自分の必要なものを見つけます.
パッケージのアンインストール
[root@web mnt]# rpm -e libjpeg-turbo-devel

パッケージがインストールされているかどうかを問い合わせる
rpm-qパッケージ名(プラットフォーム情報および接尾辞名なし)
[root@web mnt]# rpm -q libjpeg-turbo-devel
package libjpeg-turbo-devel is not installed

現在のシステムにインストールされているすべてのrpmパッケージを問い合わせる
rpm -qa  
[root@web mnt]# rpm -qa
wdaemon-0.17-5.el6.x86_64
gnome-python2-bonobo-2.28.0-3.el6.x86_64
......... , 

rpmパッケージに関する情報を問い合わせる:
rpm-qiパッケージ名
[root@web mnt]# rpm -qi libjpeg-turbo-devel
Name        : libjpeg-turbo-devel          Relocations: (not relocatable)
Version     : 1.2.1                             Vendor: CentOS
Release     : 1.el6                         Build Date: 2013 02 22    06 49 08 
Install Date: 2015 03 29    21 23 29       Build Host: c6b9.bsys.dev.centos.org
Group       : Development/Libraries         Source RPM: libjpeg-turbo-1.2.1-1.el6.src.rpm
Size        : 321085                           License: wxWidgets
Signature   : RSA/SHA1, 2013 02 24    01 53 55 , Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://sourceforge.net/projects/libjpeg-turbo
Summary     : Headers for the libjpeg-turbo library
Description :
This package contains header files necessary for developing programs which
will manipulate JPEG files using the libjpeg-turbo library.

rpmにインストールされているファイルをリストします.
rpm-qlパッケージ名(バージョン番号を書かなくてもいいようです)
[root@web mnt]# rpm -ql libjpeg-turbo-devel
/usr/include/jconfig.h
/usr/include/jerror.h
/usr/include/jmorecfg.h
/usr/include/jpeglib.h
/usr/lib/libjpeg.so
/usr/share/doc/libjpeg-turbo-devel-1.2.1
/usr/share/doc/libjpeg-turbo-devel-1.2.1/coderules.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.1/example.c
/usr/share/doc/libjpeg-turbo-devel-1.2.1/jconfig.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.1/libjpeg.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.1/structure.txt

ファイルがどのrpmパッケージにインストールされているかを問い合わせる
rpm-qf filename#ここでは、rpm-qf`which yum`などの反引用符とともに使用できます.
filenameここには2つの書き方があります.
1つ目:
which yumを使用してyumの絶対パスを導く
[root@web mnt]# which yum
/usr/bin/yum
[root@web mnt]# rpm -qf /usr/bin/yum
yum-3.2.29-60.el6.centos.noarch

2つ目:
直接反引用符を使って一歩出てくる
[root@web mnt]# rpm -qf `which yum`
yum-3.2.29-60.el6.centos.noarch

反引用符の役割は、引用符のコマンドの結果をその位置に置くことです.
       
二、yumツール
使用可能なすべてのrpmパッケージリソースのリスト
yum list 
[root@web ~]# yum list

パッケージの検索
yum search[キーワード]
[root@web ~]# yum search vim

grepを使用してパケットをフィルタ
yum list|grep'キーワード'
[root@web ~]# yum list |grep 'vim'
vim-common.x86_64                        2:7.2.411-1.8.el6              @base   
vim-enhanced.x86_64                      2:7.2.411-1.8.el6              @base   
vim-minimal.x86_64                       2:7.2.411-1.8.el6              @anaconda-CentOS-201311272149.x86_64/6.5
vim-X11.x86_64                           2:7.2.411-1.8.el6              base

 
@:既にインストールされているパッケージを示します
yumインストールパッケージ
yum install-y filename(パッケージ名)
[root@web ~]# yum -y install vim

-y:ユーザーとの交換は省略します.つまり、インストールまたはアンインストールするかどうかを聞きます.
yumアンインストールパッケージ:
yum remove-y filename(パッケージ名)
[root@web ~]# yum remove -y vim

パッケージをアンインストールするときは注意してください.他の役に立つパッケージをアンインストールしないように-yを使用しないほうがいいです.まだ分かりません.
yumアップグレードパッケージ:
yum update-y filename(パッケージ名)
[root@web ~]# yum update -y vim

yum検索コマンドはそのパッケージによってインストールされます
yum provides  "*/vim" 
[root@web ~]# yum provides '*/vim'

すべてのスイートを一覧表示
yum grouplist  
[root@web ~]# yum grouplist

インストールキット
yum groupinstall  
キットのアンインストール
yum groupremove   
三、ローカルyumソースの作成
yumプロファイルディレクトリ:/etc/yum.reos.d
1、マウントディスク
[root@web ~]# mount /dev/cdrom /mnt

2、yumプロファイルを修正するが、修正する前に/etc/yumをバックアップする.repos.dこのディレクトリ
[root@web ~]# cp -r /etc/yum.repos.d/ /etc/yum.repos.d_back

-r:バックアップディレクトリのパラメータ
3、削除/etc/yum.repos.dディレクトリの下のすべてのファイル
[root@web yum.repos.d]# rm -rf *

4、vimを使用してdvdを編集する.reoファイル
注意しなければならないのは.repoは固定フォーマットでは変更できません.
[root@web yum.repos.d]# vim dvd.repo  # :
[dvd]              #yum , 
name=install dvd   #yum 
baseurl=file:///mnt# , 
enabled=1   # yum ,1 ,0 
gpgcheck=0  # gpg 

保存を終了
dvdのフラグが表示されているかどうかを確認します
yum list
[root@web yum.repos.d]# yum list |tail
yum-presto.noarch                        0.6.2-1.el6                    dvd     
yum-updateonboot.noarch                  1.1.30-14.el6                  dvd     
yum-utils.noarch                         1.1.30-14.el6                  dvd     
zip.x86_64                               3.0-1.el6                      dvd     
zlib.i686                                1.2.3-29.el6                   dvd     
zlib-devel.i686                          1.2.3-29.el6                   dvd     
zlib-devel.x86_64                        1.2.3-29.el6                   dvd     
zlib-static.x86_64                       1.2.3-29.el6                   dvd     
zsh.x86_64                               4.3.10-7.el6                   dvd     
zsh-html.x86_64                          4.3.10-7.el6                   dvd

yum拡張ソースのインストール
[root@web yum.repos.d]# rpm -ivf http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm

その他のアドレスhttp://www.aminglinux.com/bbs/thread-6721-1-1.html)
四、yumを利用してrpmパッケージをダウンロードする
1、1つのプラグインをインストールしてダウンロードしてインストールしないことをサポートする
プラグインの検索
[root@web ~]# yum list |grep downloadonly

プラグインのインストール
[root@web ~]# yum install -y yum-plugin-downloadonly.noarch           1.1.30-14.el6

インストールせずにrpmパッケージをダウンロード
yum installパッケージ名-y--downloadonly#はすでにダウンロードされており、デフォルトは/var/cache/yum/base/packages/
ダウンロードディレクトリの指定
yum installパッケージ名-y--downloadonly--downloaddir=/usr/local/src#ダウンロードディレクトリを指定
ダウンロードのみでインストールしないとecho$は使えませんか?私たちはダウンロードしただけなので、インストールせずに終了したので、チェックを命じました.
echo $?検査は誤報になります
既にインストールされているrpmパッケージで失敗した場合は、reinstallを使用する必要があります.
yum reinstallパッケージ名-y--downloadonly--downloaddir=/usr/local/src
五、ソースパッケージのインストール
ソースパッケージはオープンソースの自己変更可能なパッケージで、多くはC音声で開発され、直接使用できず、バイナリの実行可能ファイルにコンパイルする必要がある.
ソースパッケージをコンパイルするにはgccサポートが必要で、yum install-y gccをインストールする必要がない場合は
通常3ステップのコンパイル:./configureは各種コンパイルパラメータを構成する.makeは指定したコンパイルパラメータに基づいてコンパイルする.make install指定ディレクトリへのインストール
例:
1、指定したディレクトリにソースパッケージをダウンロードする
 cd/usr/local/src/ 
2、wgetをインストールし、すでにインストールされている場合は、このステップを省略することができます.
[root@web src]# yum instrall -y wget

3、apacheというパッケージをダウンロードする
[root@web src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.27.tar.bz2

4、解凍
[root@web src]# tar -jxvf httpd-2.2.27.tar.bz2

5、gccコンパイラを取り付ける
[root@web httpd-2.2.27]# yum install -y gcc

コンパイルパラメータを指定します./configure --help  
6、関連オプションを構成し、Makefileを生成する
[root@web httpd-2.2.27]# ./configure --prefix=/usr/local/apache2

--prefix=:パッケージのインストール先を指定します
成功したかどうかを確認
[root@web httpd-2.2.27]# echo $?
0

7、コンパイル
[root@web httpd-2.2.27]# make

成功したかどうかを確認
[root@web httpd-2.2.27]# echo $?
0

8、インストール
[root@web httpd-2.2.27]# make install

9、インストールに成功したかどうかを確認する
[root@web httpd-2.2.27]# ls /usr/local/apache2/
bin    cgi-bin  error   icons    lib   man     modules
build  conf     htdocs  include  logs  manual

白さんはノートを勉強していますが、足りないところは大神さんに教えてください.
ブログアドレス:http://www.aminglinux.com/bbs/thread-7688-1-1.html