パッケージ管理のフロントエンド管理ツールyum
一、前言
RPMインストールソフトウェアには、パッケージとパッケージの依存関係が煩雑な問題があり、ソフトウェアプログラムを正常にインストールして使用するには、要求に応じてソフトウェア間の依存関係を一歩一歩解決しなければならない.では、プログラムがたくさん使えば、人を使う時間と精力を消耗します.では、この問題を解決する方法はありますか?
RPMでは、RPMソフトウェアがソフトウェア間のインストール情報を記録することを紹介し、ソフトウェア間の依存性も含まれています.では、インストール前にこのリストを分析すれば、インストール時に必要なソフトウェアをソフトウェア間の関係に基づいて一度にインストールすることができ、この問題を解決することができるのがYUMのメカニズムです.
二、yumの紹介
yum(Yellow dog Updater Modified)は、CentOSに属するRPMフロントエンドパッケージマネージャで、指定したサーバからRPMパッケージをダウンロードし、RPMパッケージ間の依存関係を自動的に分析して処理し、最後に順次依存するパッケージをインストールし、煩雑なインストールを必要としない.
三、yum repository:yum倉庫
yum倉庫の構成部分
3.1、データは、すべてのパッケージファイル を含む.
3.2、メタデータは、各パケットのパケット名、バージョン情報、各パケットに含むファイルリスト、パケットとパケットとの依存関係、パケットのパケット情報 を含むデータファイルを指す.
小拡張:メタデータはどうやって来ましたか.
createrepoツールを使用すると、私たちが指定した大量のRPMパッケージを格納するディレクトリを簡潔かつ迅速に読み取ることができ、その中のすべてのRPMパッケージ情報を読み取り、彼の依存関係を分析し、メタデータを生成することができます.したがってcreaterepoはyumメタデータを作成するツールと理解できる.ディスクにもこのメタデータがあります.パスはディスクにあります.root@wwwmnt]#cd repodata/には、sqliteファイル接尾辞注釈:centos 5はxml接尾辞、centos 6、7はsqliteデータベースで格納されます
四、yumのプロファイル紹介
yumのプロファイルは2つあります:メインプロファイル+倉庫プロファイル
4.1、メインプロファイルパス/etc/yum.conf
4.2、倉庫配置ファイルのパス/etc/yum.repos.d/*.repo
倉庫ファイルは複数あり、1つまたは複数の関連倉庫の構成情報も1つのファイルとして保存することができ、したがって倉庫ファイル名はすべて.repoエンディング.
備考:各倉庫の使用方法をデフォルトにします.
小贴士:yumはftp、http、nfs、ローカルファイル共有サービスなど、複数のプロトコルをサポートします.
したがって、倉庫プロファイルのbaseurlの1つには複数の書き方があります.以下は各書き方のフォーマットです.
1)ftp
フォーマット:
フォーマット:
フォーマット:
フォーマット:
六、yumコマンドの使用
6.1、yumクエリー機能
例:
例:
6.2、インストール、アップグレード、ダウングレード、アンインストール機能
例:
6.3、ソフトウェアグループに関する機能
例:
6.4、キャッシュの整理
例:
6.5、yum履歴コマンド
例:
ログファイル:
例えば私の今のシステムはCentOS 6です.5,システムアーキテクチャはx 86_64
六、yum倉庫の自作方法
6.1、引用:
システムが持参した倉庫はよく使われていますが、インターネットに接続すればインターネットのyum倉庫を簡単に手に入れることができます.しかし、企業内ネットワークでは、企業内でインターネットへのアクセスが許可されていない場合や、企業サーバが多い場合、インターネットからyum倉庫を取得する場合は、帯域幅がかかります.このような状況に基づいて、私たちは自分で企業内部にyum倉庫を作成する必要があります.
6.2、自作倉庫で使用する命令の紹介
createrepo(create repo):倉庫を作成し、自分で倉庫を建てるときにコマンドcreaterepoを使用すると、ソフトウェアの倉庫としてrepodataファイルを自動的に生成します.そのディレクトリの下には4つの必要なファイルがあります.filelists.xml.gz,other.xml.gz,primary.xml.gzとrepomd.xml、その中で最も重要なのはrepomdです.xmlファイル.一般的にrepodataディレクトリやファイルが見つからないエラーの原因は、通常3つあります.1つはパスの問題です.二つ目はrepodataディレクトリが生成されていないことです.三つ目は*.repoプロファイルの競合(これは特に注意が必要です).
小贴士:createrepoコマンドはデフォルトでインストールされていないので、事前にインストールする必要があります.createrepoのインストールパッケージは「createrepo-0.9.9-17.el 6.noarch.rpm」で、RPMまたはyumを使用して先にこのパッケージをインストールできます.
インストール方法:
6.3、yum倉庫を自作するには2つの方法がある1)、オフディスクミラーに基づいてyumウェアハウスを作成する 2)、サービスに従ってyum倉庫を自己構築して提供するサーバ(ftp、http、nfs) 6.4、関門ミラーに基づいてyum倉庫を作成する
6.4.1、ディスクを/mntディレクトリにマウントする
6.4.2、yum倉庫ファイルの配置
6.5、サービスによってyum倉庫を提供するサーバーを自作する(ここではhttpサービスを例とする)
6.5.1、まずhttpサービスをインストールする
6.5.2.LinuxファイアウォールとSelinuxを閉じる
6.5.3.httpdサービスと起動自動サービス
6.5.4、httpdのドキュメントディレクトリを編集する
6.5.5、createrepoを使用してyum倉庫を構成する
6.5.6.http倉庫のファイルの検証と表示
6.5.7、yum倉庫の構成と検証
补充:yumはrpmだけをダウンロードしてインストールしない方法
Yumdownloader
もう1つのRPMパッケージをダウンロードする方法は、専用のパッケージダウンロードツールyumdownloaderを通じてです.このツールはyumパッケージ(yumパッケージ管理のためのヘルプツールキットを含む)のサブセットです.
RPMパッケージをダウンロードします.
例:
ダウンロードしたパッケージは現在のディレクトリに保存されます.yumdownloaderはダウンロード中にパッケージインデックスファイルを更新するのでroot権限が必要です.
RPMインストールソフトウェアには、パッケージとパッケージの依存関係が煩雑な問題があり、ソフトウェアプログラムを正常にインストールして使用するには、要求に応じてソフトウェア間の依存関係を一歩一歩解決しなければならない.では、プログラムがたくさん使えば、人を使う時間と精力を消耗します.では、この問題を解決する方法はありますか?
RPMでは、RPMソフトウェアがソフトウェア間のインストール情報を記録することを紹介し、ソフトウェア間の依存性も含まれています.では、インストール前にこのリストを分析すれば、インストール時に必要なソフトウェアをソフトウェア間の関係に基づいて一度にインストールすることができ、この問題を解決することができるのがYUMのメカニズムです.
二、yumの紹介
yum(Yellow dog Updater Modified)は、CentOSに属するRPMフロントエンドパッケージマネージャで、指定したサーバからRPMパッケージをダウンロードし、RPMパッケージ間の依存関係を自動的に分析して処理し、最後に順次依存するパッケージをインストールし、煩雑なインストールを必要としない.
三、yum repository:yum倉庫
yum倉庫の構成部分
3.1、データ
3.2、メタデータ
小拡張:メタデータはどうやって来ましたか.
createrepoツールを使用すると、私たちが指定した大量のRPMパッケージを格納するディレクトリを簡潔かつ迅速に読み取ることができ、その中のすべてのRPMパッケージ情報を読み取り、彼の依存関係を分析し、メタデータを生成することができます.したがってcreaterepoはyumメタデータを作成するツールと理解できる.ディスクにもこのメタデータがあります.パスはディスクにあります.root@wwwmnt]#cd repodata/には、sqliteファイル接尾辞注釈:centos 5はxml接尾辞、centos 6、7はsqliteデータベースで格納されます
四、yumのプロファイル紹介
yumのプロファイルは2つあります:メインプロファイル+倉庫プロファイル
4.1、メインプロファイルパス/etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
# RPM
keepcache=0
#RPM ,0 ,1
buglevel=2
# 0 - 10, 2
logfile=/var/log/yum.log
#yum
exactarch=1
#
obsoletes=1
#
gpgcheck=1
#
plugins=1
# yum ,0 ,1 , , yum-fastestmirror
installonly_limit=5
#
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# ,yum , redhat-release, rpm
4.2、倉庫配置ファイルのパス/etc/yum.repos.d/*.repo
倉庫ファイルは複数あり、1つまたは複数の関連倉庫の構成情報も1つのファイルとして保存することができ、したがって倉庫ファイル名はすべて.repoエンディング.
[REPOID] # ,
name= #some name for this repository ,
baseurl= # ,
# :baseurl=file:///media/cdrom
# ftp://172.168.1.1/path # ,
mirrorlist= # , , #
enabled= {0 | 1} # ,0 ,1
gpgcheck= {0 | 1} # ,0 ,1
gpgkey= # , :gpgkey=file:///media/cdrom/GPG-RPM-KEY-centos-6
cost=
# , , ? , 100,
備考:各倉庫の使用方法をデフォルトにします.
base : ( )
updates :
extra :
epel :epel
, ,
小贴士:yumはftp、http、nfs、ローカルファイル共有サービスなど、複数のプロトコルをサポートします.
したがって、倉庫プロファイルのbaseurlの1つには複数の書き方があります.以下は各書き方のフォーマットです.
1)ftp
フォーマット:
ftp://server/path/to/repository
2)http フォーマット:
http://server/path/to/repository
3)nfs フォーマット:
nfs://server/nfs_path
4)ローカルファイル共有サービスフォーマット:
file:///path/to/repository
五、yum取付手順六、yumコマンドの使用
6.1、yumクエリー機能
yum [option] [ ][ ]
-y: yum ,-y yes
-q:
search:
list: yum
info: , rpm -qai
provides: , rpm -df
repolist: repo
例:
[root@localhost ~]# yum provides bash
[root@localhost ~]# yum repolist
例:
[root@localhost yum.repos.d]# yum install zlib-static
6.2、インストール、アップグレード、ダウングレード、アンインストール機能
yum [option] [ ][ ]
install:
reinstall:
update:
check-update:
downgrade:
remove:
erase: ,
--disablerepo=repoid repo
--enablerepo=repoid repo
--noplugins:
例:
[root@localhost yum.repos.d]# yum install zlib-static
6.3、ソフトウェアグループに関する機能
yum [ ] [ ]
grouplist:
groupinfo: group name, group
groupinstall:
groupremove:
例:
[root@localhost yum.repos.d]# yum grouplist
# , groupinstall
Installed Groups: #
Additional Development
Base
Console internet tools
Development tools
Installed Language Groups: #
Arabic Support [ar]
Armenian Support [hy]
Georgian Support [ka]
Available Groups: #
Backup Client
Backup Server
Available Language Groups: #
Afrikaans Support [af]
Albanian Support [sq]
6.4、キャッシュの整理
yum clean { all | package | headers }
all: ,
package:
headers:
例:
[root@localhost yum.repos.d]# yum clean all #
Loaded plugins: fastestmirror, security
Cleaning repos: base extras updates
Cleaning up Everything
Cleaning up list of fastest mirrors
6.5、yum履歴コマンド
yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo]
history:
redo:
undo:
例:
yum history info 15 // yum history id 15
yum history undo 15 // yum history id 15
ログファイル:
/var/log/yum.log
6.6、yum内蔵変数$releaserver
:システムのバージョンを表し、Yumにとってredhat-releaserバージョンを指し、リリース版のメインバージョン番号を指す.RedHat 6.5の場合、プライマリ・バージョン番号のみを6に置き換えます.$basearch
:システム基本アーキテクチャ、i 686、i 586などの基本アーキテクチャであればi 386$arch
:システムアーキテクチャ例えば私の今のシステムはCentOS 6です.5,システムアーキテクチャはx 86_64
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
は自動的にbaseurl=http://mirrors.163.com/centos/6/os/x86_64
六、yum倉庫の自作方法
6.1、引用:
システムが持参した倉庫はよく使われていますが、インターネットに接続すればインターネットのyum倉庫を簡単に手に入れることができます.しかし、企業内ネットワークでは、企業内でインターネットへのアクセスが許可されていない場合や、企業サーバが多い場合、インターネットからyum倉庫を取得する場合は、帯域幅がかかります.このような状況に基づいて、私たちは自分で企業内部にyum倉庫を作成する必要があります.
6.2、自作倉庫で使用する命令の紹介
createrepo(create repo):倉庫を作成し、自分で倉庫を建てるときにコマンドcreaterepoを使用すると、ソフトウェアの倉庫としてrepodataファイルを自動的に生成します.そのディレクトリの下には4つの必要なファイルがあります.filelists.xml.gz,other.xml.gz,primary.xml.gzとrepomd.xml、その中で最も重要なのはrepomdです.xmlファイル.一般的にrepodataディレクトリやファイルが見つからないエラーの原因は、通常3つあります.1つはパスの問題です.二つ目はrepodataディレクトリが生成されていないことです.三つ目は*.repoプロファイルの競合(これは特に注意が必要です).
小贴士:createrepoコマンドはデフォルトでインストールされていないので、事前にインストールする必要があります.createrepoのインストールパッケージは「createrepo-0.9.9-17.el 6.noarch.rpm」で、RPMまたはyumを使用して先にこのパッケージをインストールできます.
インストール方法:
#yum -y install createrepo rpm -ivh createrepo-0.9.9-17.el6.noarch.rpm ( )
6.3、yum倉庫を自作するには2つの方法がある
6.4.1、ディスクを/mntディレクトリにマウントする
mount /dev/cdrom /mnt
6.4.2、yum倉庫ファイルの配置
[root@www yum.repos.d]# vim /etc/yum.repos.d/local-media.repo # local-media.repo ,
[Meida-repo]
name=This is Local media repo
baseurl= #
enabled=1 #
gpgcheck=0 #
[root@www yum.repos.d]# yum clean all #
[root@www yum.repos.d]# yum list #
6.5、サービスによってyum倉庫を提供するサーバーを自作する(ここではhttpサービスを例とする)
6.5.1、まずhttpサービスをインストールする
yum -y install httpd rpm -ivh httpd
6.5.2.LinuxファイアウォールとSelinuxを閉じる
# Selinux HTTP,
[root@www yum.repos.d]# service iptables stop #
[root@localhost ~]# chkconfig iptables off #
[root@www yum.repos.d]# getenforce # Selinux Enforcing Permissive
Enforcing
[root@www yum.repos.d]# setenforce 0 # Selinux 0 1
[root@www yum.repos.d]# getenforce
Permissive
[root@localhost ~]# vim /etc/selinux/config # Selinux , confg , SELINUX
SELINUX=disabled
6.5.3.httpdサービスと起動自動サービス
[root@www yum.repos.d]# service httpd start # httpd
[root@www yum.repos.d]# chkconfig on # httpd
[root@localhost ~]# netstat -tunlp | grep http # http
tcp 0 0 :::80 :::* LISTEN 1532/httpd
6.5.4、httpdのドキュメントディレクトリを編集する
#httpd /var/www/html
[root@localhost html]# mkdir /var/www/html/rpm-repo #
[root@localhost rpm-repo]# cp -a /mnt/Packages/xcb* /var/www/html/rpm-repo/ # RPM
6.5.5、createrepoを使用してyum倉庫を構成する
[root@localhost rpm-repo]# createrepo /var/www/html/rpm-repo/
6.5.6.http倉庫のファイルの検証と表示
6.5.7、yum倉庫の構成と検証
[root@localhost yum.repos.d]# vim /etc/yum.repos.d/local.repo # yum , http yum
[http-repo]
name=http yum repo
baseurl=http://192.168.80.150/rpm-repo
enabled=1
gpgcheck=0
[root@localhost ~]# yum list
补充:yumはrpmだけをダウンロードしてインストールしない方法
Yumdownloader
もう1つのRPMパッケージをダウンロードする方法は、専用のパッケージダウンロードツールyumdownloaderを通じてです.このツールはyumパッケージ(yumパッケージ管理のためのヘルプツールキットを含む)のサブセットです.
# yum install yum-utils
RPMパッケージをダウンロードします.
# yumdownloader
--destdir=/PATH/TO/DIRECTORY:
--resolve:
例:
[root@bash ~]# yumdownloader tree
Loaded plugins: fastestmirror, langpacks
file:///root/test/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /root/test/repodata/repomd.xml"
Trying other mirror.
Loading mirror speeds from cached hostfile
tree-1.6.0-10.el7.x86_64.rpm
[root@bash ~]# ls tree*
tree-1.6.0-10.el7.x86_64.rpm
[root@bash ~]# yumdownloader subversion --destdir=/tmp --resolve
ダウンロードしたパッケージは現在のディレクトリに保存されます.yumdownloaderはダウンロード中にパッケージインデックスファイルを更新するのでroot権限が必要です.