1つは、yumがrpmの依存関係をどのように解決するかです。
rpmの依存関係について話したとき、xファイルをインストールする場合はyのライブラリに依存すると言いました。つまり、yがないとxは実行されませんが、yがzに依存する場合は次のようになります。 zの後ろにたくさんある場合は、xの文字列を押す必要があり、時間の無駄です。さらに興味深いのは、ループの場合はどうすればよいですか?xがyに依存し、yがzに依存し、zがyに依存するのと同じように、私たちは盲目であり、誰も押すことができません。yumを使用すると、この欠陥を補うことができます。
まず、yumはC / S(クライアント、サーバー)によって構築され、次にクライアントはサーバーに接続してニーズを取得する必要があります。ここのサーバーは、Webサーバーやftpサーバーと完全に似ているわけではなく、ローカルのyumウェアハウスにすることができます。ヤム倉庫とは?これは、使用する予定のすべてのrpmパッケージを配置する場所またはファイルサービスです。ファイルサービスには3つの形式があります。1つ目はサービスを提供するftpサーバーを提供し、2つ目はWeb経由でアクセスできるWebサーバーを提供し、3つ目はローカルファイルパスを提供することもできるため、完全なローカルファイルパスにすることもできます。形に関係なく、yumの動作メカニズムは同じです。まず、yumには独自のクライアントがあり、その動作メカニズムは構成ファイルによって異なります。構成ファイルでは、サーバーの場所を指定できます。このサーバーは、ftp形式またはWeb形式のどちらでもかまいません。ただし、必ずファイルパスを指定してください。
参加して、1つのxをインストールし、xは他の10個のパッケージに依存し、これらの10個のパッケージのうち8個がインストールされ、残りは2個だけで、yumは倉庫に行き、他の2個をインストールする必要があると言います。これらの2つのパッケージを見つけた後、それらもローカルにダウンロードされ、同時にインストールされます。yumの動作メカニズムは、実際にはこのyumウェアハウスに依存しています。Yumは、それらの間の関係を単独で解決し、オンデマンドでダウンロードできます。
Yumが依存しているのは、特定のパッケージではなく、機能です。また、ファイルはyumウェアハウスに保存されます。このファイルには、現在のウェアハウス内のすべてのrpmパッケージが一覧表示され、各rpmパッケージによって提供される機能が詳細に説明されています。したがって、yumを使用して特定のファイルをインストールする場合、そのファイルはローカルに直接ダウンロードされませんが、ローカルのダウンロード状況とウェアハウス内のリストの情報と組み合わせて、分析により、インストールする必要があるxをインストールすると結論付けることができます。依存パッケージなので、それらのパッケージをローカルにダウンロードしてください。
拡張マークアップ言語:XML:拡張マーク言語
ハイパーテキスト言語:HTML:ハイパーテキストマーク言語
2. yumウェアハウスのメタデータファイル:
primary.xml.gz:1、ウェアハウス全体のすべてのRPMパッケージのリスト
2.各パッケージの依存関係が含まれています
3.各RPMパッケージで生成できるファイルのリスト
filelists.xml.gz:
現在のウェアハウス内のすべてのRPMパッケージのすべてのファイルのリスト:
other.xml.gz:
追加情報、RPMパッケージの変更ログ。
repomd.xml:
記録されるのは、上記の3つのファイルのタイムスタンプとチェックサムです。
yum install zsh:
comps * .xml:RPMパッケージのグループ化情報(および各グループのrpmパッケージは3つのカテゴリに分類されます:インストールする必要があります;インストールすることをお勧めします;インストールできます)
インストールするyumを選択すると、グループを一度にインストールし、内部の情報を一度にインストールできます。
3、yumウェアハウスを構成します
/etc/yum.conf
将来的には、手動で構成するファイルは/etc/yum.repos.d/の下に構成され、名前のサフィックスは.repoである必要があります。これが認識できないわけではありません。ファイルの内容のフォーマットを見てみましょう。例:rhel-debuginfo.repoの内容を見てみましょう。
/ media / cdrom {Serve、VT、Cluster、ClusterStorage}を使用してyumウェアハウスを作成する方法
先:cd /etc/yum.repos.d/
編集:vim Sever.repo、タイプは次のとおりです
yumのリポジトリファイルを定義する方法
フォーマット:
[Repo_ID]
name =:説明情報
baseurl =
ftp://(プロトコルセパレーター)は倉庫を指します
http://
file:///(/はルートを指します)
enabled = {0 | 1} 0 disable 1 enable
gpgcheck = {0 | 1}のデフォルトは1
gpgkey =:gpgの正確な保存場所を指定します
サーバーがそれをリポジトリウェアハウスとして定義する場合、VTもリポジトリウェアハウスとして定義します
自分でyumウェアハウスを作成する方法[注:リストの作成中にエラーが発生した場合は、キャッシュをクリアしてリストを実行します]
createrepo
まず、/ etc / yum.repos.dと入力する必要があります。次に、サーバー(vimサーバー)のコンテンツを(図に示すように)として編集し、yumリストに表示します。
まず、cd /etc/yum.repos.d/、createrepoをインストールした後、yumディレクトリにVTを作成し、/ media / cdrom / VT /にあるすべての* .rpmファイルを作成したVTにコピーします。次に、vimcdrom.repoを編集します。フォーマットは上記の通りです
ただし、上記のリポジトリデータがない可能性があるため、リポジトリを作成し、createrepo / yum / VTを使用して、/ yum / VTの下に作成する必要があります。
4、yumコマンド:
yum [オプション] [コマンド] [pacdkage ...]
-y:自動的に「はい」と答えます
--nogpgcheck:gpgチェックを実行しません
リスト:リスト
globワイルドカードをサポートするメカニズム
すべて:デフォルト
利用可能:利用可能、倉庫内にあるがインストールされていない
インストール済み:インストール済み
更新:利用可能なアップグレード
クリーン:キャッシュをクリア[パッケージ|ヘッダー|メタデータ| dbcache |すべて]
例:zsh *を含むパッケージのみを表示します
repolist:リポジトリとその簡単な情報のリストを表示します
すべて:すべて
有効:表示のみ許可(デフォルト)
無効:スタンバイを表示
詳細を確認すると、yumrepolistです。示されているように:
5、インストール:インストール
yum install PACKAGE_NAME
更新:アップグレード(最新バージョンに自動的にアップグレード)
update_to;指定されたバージョンにアップグレードします
削除|消去:アンインストール
info:指定されたパッケージの説明情報を照会します。rpm-qiと同等
提供| whatprovides:指定されたファイルまたは機能を生成したパッケージのインストールを表示します
grouplist:すべてのグループを一覧表示します
非表示:非表示を表示
groupwildcard:
例:php53-mysql-5.3.3-5.el5.i386.rpmをインストールする前に、正常にインストールされなかったので、yumを使用してインストールします。最初のボックスのパッケージは依存関係であり、2番目のボックスの説明はベースにあります。これがyumの利点です。
php53-mysqlが依存するパッケージからphp53-pdoをアンインストールすると、php53-mysqlもアンインストールされていることがわかります。他の2つがアンインストールされないのはなぜですか?他の2つはphp53-pdoとは何の関係もないからです。
指定されたパッケージの説明情報をクエリする方法をyumを使用する場合、infoを使用した結果は、rmpの-qiクエリと同じになります。
/ etc / inittabパッケージが生成されるパッケージを照会する場合。yumを使用すると、/ etc / inittabを使用して確認できます。
最初にすべてのグループをリストするためにgrouplistを使用し、yumgrouplist「開発ツール」を使用しますリストされています。(コンテンツが多すぎるため、画像がカットされていません)
その中には、最初にインストールする必要のあるMandotoryパッケージグループがあり、中央のデフォルトパッケージがデフォルトでインストールされ、以下のオプションパッケージがインストール用に選択されています。
パッケージphp53-mysql-5.3.3-5.el5.i386.rpmを一度インストールして、yumの利点を誰もがより明確に理解できるようにします。(コンテンツが多すぎるため、パーツを切り取りました)Redは、依存するソフトウェアパッケージをrpmで処理できないことを確認できますが、yumは使用できます。また、ここではlocalinstallローカルインストールも使用されます。このパッケージがローカルでない場合、このパッケージを確認できない場合はインターネット上のパッケージです
このパッケージがローカルでない場合はインターネット上のパッケージです。このパッケージをチェックできない場合は、この時点で使用します。nogpgcheckはgpgチェックを行いません。
6、RPMインストール
一部の機能は実際にはコンパイル時に選択されます。この機能がコンパイル時に選択されていない場合、使用できません。
rpmパッケージのバージョンは、ソースパッケージよりも遅れる、または大幅に遅れます:bind -9.8.7、bind-9.7.2
カスタムインストール:手動でコンパイルしてインストール
コンパイル環境
開発ライブラリ
共通のコンパイル環境
C、C ++
gcc:GNU c complier、C
g ++(コンパイラ):C ++
make:プロジェクト管理ツール(このツールは、複数の異なるプロジェクトファイルをプロジェクトにし、makefileと呼ばれる構成ファイルを介してこの構成ファイルを提供できます)
makefile:make(gcc、g ++)がこれらのソースプログラムファイル内のソースプログラムをコンパイルする順序を定義します
コンパイルしてインストールする3つのステップ
前提条件:開発環境(コンパイル環境)を準備する
「開発ツール」と「Deve」をインストールします
#タール
#cd
。/構成、設定
- 助けて
--prefix = / path / to / somewhere [ソフトウェアインストールへのパス]
--sysconfdir = / PATH / TO / CONFFILE_PATH
機能:1。ユーザーにコンパイル機能を選択させます:2。コンパイル環境を確認します
#make
#make install
サーバーにソフトウェアパッケージをダウンロードした場合、このソフトウェアパッケージの場所はftpの/ pub / Sources / Tengineの下にあるtengine-1.4.2.tar.gzです。これは圧縮ファイルであることがわかっているため、展開する必要があります。 tar xf tengine-1.4.2.tar.gzとファイルして、表示します(画像が大きすぎるため、一部を切り取ります)。次に、。/ configure --prefix = / usr / local / tengine-を使用します。 conf-path = / etc / tengine。#make、#make install、最後に#/ usr / local / tengine / sbin / nginxを使用すれば、完了です。
完了後、Webを使用して以下にアクセスします