私はシステム管理者の経験はありませんが、何らかの理由により、以下に説明するようなタスクを実行する必要があります。
yum
RHEL 7.x OS の「yum」を使用して、4~5 ノードの RHEL にいくつかのパッケージをインストールする必要があります。そのために、、、 .repo
など のさまざまな用語に遭遇しました.rpm
。
使用すればソフトウェアをインストールできることはある程度理解できましたが、インターネットからソフトウェアを取得するyum
方法がわかりません。yum
以下の点について理解するのを手伝ってくれる人はいますか?
1)yum
ソフトウェアのインストールを行うプログラムですか?
2) とは何ですか.rpm
?.rpm
実際にインストールされるソフトウェアがありますか?.rpm
と似ていますか.tar
?
3)yum
インターネットからソフトウェアを入手/ダウンロードするにはどうすればいいですか?.repo
ファイルを参照しますか?
4) を書き込むときyum - y install some_program
、最初にインターネットからバイナリをダウンロードしてインストールしますか、それとも何か行う必要がありますかrsync
。
混乱しています。オンラインで答えを探してみましたが、疑問は残っています。誰か簡単な言葉で教えてくれませんか?
答え1
RPM はパッケージです。いくつかのソフトウェアのパッケージです。CPIO アーカイブ (tar に似ていますが、形式が異なります) 内のファイルといくつかの情報 (必要な他のパッケージなど)、およびパッケージがインストール/アップグレード/削除されるときに実行する必要があるスクリプト (/usr/bin/rpm によって自動的に実行されます) が含まれています。
ほとんどの Linux ソフトウェアは動的にリンクされています。たとえば、Firefox パッケージには libnss パッケージ (およびその他多数) が必要です。これには、バグやセキュリティ上の問題が発生した場合に、このライブラリの管理者がそのライブラリのみを更新し、それを使用するすべてのプログラム (数百に及ぶ可能性があります) を再コンパイルする必要がないという利点があります。
典型的なディストリビューション (RHEL) は、数千の RPM パッケージで構成されています。これらは、リポジトリと呼ばれる 1 つのディレクトリにグループ化されています。Red Hat はいくつかの基本リポジトリを提供しています。次に、いくつかの製品 (OpenStack や Satellite などに必要なすべてのパッケージなど) を含む他のリポジトリがあります。最もよく知られているリポジトリの 1 つは EPEL です。https://fedoraproject.org/wiki/EPELRHEL 用のパッケージが含まれています。RHEL に欠けているソフトウェアを提供し、コミュニティによってサポートされています (つまり、保証はありません)。
RPM パッケージを手動でダウンロードしてインストールすることもできますが、必要な
/usr/bin/rpm -Uvh somepackage.rpm
エラーが発生する可能性が非常に高くなりますsomelibrary
。そのパッケージをダウンロードしてインストールしようとすると、必要なエラーが発生しますsomeotherlibrary
。これは依存関係チェーンと呼ばれます。この依存関係は循環的になることもあり、1 つずつインストールすることはできません。ソフトウェアをインストールする場合、数十または数百の依存関係が必要になることはよくあります。手動でインストールすると、非常に時間がかかります。YUM は依存関係を自動的に解決し、それらの依存関係を満たす最適なパッケージをリポジトリから選択するプログラムです。そのため、一部のソフトウェアのアップグレードやインストールも簡単な作業です。例
yum install firefox
:Yum はパッケージをダウンロードできます。必要なのは、それらのリポジトリの URL だけです (システムには 1 つ以上のリポジトリを構成できることを覚えておいてください)。URL は
.repo
ファイルに保存されます。それらは にあります/etc/yum.repos.d/
。これはプレーン テキスト ファイル (INI 形式) で、URL とその他の情報 (パッケージが GPG 署名されているかどうかなど) が含まれています。リポジトリ ファイルを正しく設定すると、YUM はそれらのリポジトリからソフトウェアを簡単にインストールできます。実行すると、/usr/bin/yum install firefox
構成されたすべてのリポジトリから情報がダウンロードされ、Firefox とその他の依存関係がインストールされることが通知されます。確認すると、それらのパッケージがダウンロードされてからインストールされます。rsync を実行する必要はありません。