ホームページ php教程 PHP开发 YUM は RPM パッケージのインストール依存関係を解決し、ローカル ソースの構成方法を詳細に説明する yum ツールを導入します。

YUM は RPM パッケージのインストール依存関係を解決し、ローカル ソースの構成方法を詳細に説明する yum ツールを導入します。

Jan 07, 2017 pm 01:53 PM

1. 背景の概要

実際の運用環境では、Linux システムに rpm パッケージをインストールする際に 2 つの主な実際的な問題があります

1) rpm パッケージのインストールプロセス中に、依存関係の問題が引き続き発生し、次のことが必要になります。ヒントや情報については、手動でさらにパッケージをインストールしてください

2) 内部ネットワークと外部ネットワークが分離されているため、外部ネットワークの yum ソースに接続できません

上記を考慮して、この記事では yum について詳しく紹介しますツールとローカル yum ソースの設定方法

2. yum ツールの紹介

• yum ツールは、rpm パッケージのソフトウェアマネージャーとして、rpm パッケージのインストール、アップグレード、削除などの日常的な管理作業を実行できます。 rpm パッケージ間の依存関係を自動的に分析できるため、rpm パッケージの保守コストが大幅に削減されます。

•yum ツールの設定は、主に 2 つのファイルによって制御されます: /etc/yum.conf および /etc/yum.repos.d/filename.repo •/etc/yum.conf ファイルについて: 主に次の役割を果たします。グローバル設定 [メイン]、さらに、ここでソフトウェア リポジトリ (リポジトリ) を設定することもできます

•/etc/yum.repos.d/filename.repo について: 主に特定のソフトウェア リポジトリの設定を担当します (ソフトウェア リポジトリは上記の yum.conf で設定されていますが、ここで設定しないことも選択できます)、ファイル名は自分で定義できます。

3. /etc/yum.conf ファイルの主要パラメータの詳細説明

このファイルは主にグローバル設定を担当します。このファイルでリポジトリを設定しない場合、通常は変更を加える必要はありません。

以下は、システム yum yum.conf 設定のデフォルト バージョンです。具体的な説明は次のとおりです:

[root@sunny yum.repos.d]# cat /etc/yum.conf 
[main] --main定义全局属性,只能有一个 
cachedir=/var/cache/yum --定义yum缓存目录,用于储存下载存储的rpm包等
keepcache=0 --成功安装后,缓存数据是否保存。0:不保存,1:保存 
debuglevel=2 --调试级别(0-10),默认为2
logfile=/var/log/yum.log --定义yum日志目录
distroverpkg=redhat-release --通过指定针对系统发行版的rpm包,判断当前系统的版本。默认值为redhat-release
tolerant=1 --定义是否容忍命令行发生与软件包有关的错误。0:不容忍,1:容忍
exactarch=1 --定义当更新rpm包时,yum是否仅仅升级当前架构的包。 --当设置为1,不会发生i386包升级到i686
obsoletes=1
gpgcheck=1 --定义是否对rpm包进行GPG校验。0:不校验,1:校验
plugins=1 --定义是否使用插件。0:不允许,1:允许 
# Default.
# installonly_limit = 3
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
ログイン後にコピー

上記のパラメータに加えて、使用できる主なパラメータは次のとおりです:
exclude: このパラメータは次のとおりです。主に、更新したくない RPM パッケージをブロックするために使用されます。ワイルドカードと複数の RPM を使用してパッケージを区切ることができます。

4. /etc/yum.repos.d/filename.repo ファイルの主なパラメーターの詳細説明

このファイルは、/etc/ で構成されている場合、主に特定のソフトウェア ウェアハウスの構成を担当します。 yum.conf ファイルでは、「未構成」を選択できます。

以下は、システム yum のデフォルトのソフトウェア ウェアハウス構成ファイルです:

[root@sunny yum.repos.d]# cat rhel-debuginfo.repo 
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
ログイン後にコピー

パラメーターは次のように説明されています:

[rhel-debuginfo]: 異なるリポジトリを区別するために使用されます。 filename.repo ファイルでは、次のことができます。または複数のリポジトリを定義します

name: リポジトリを説明するために使用されます

baseurl: rpm パッケージを取得するソースの場所を指定するために使用され、http://、ftp://、file:// プロトコルをサポートします。

enabled: このソフトウェア リポジトリが利用可能かどうかを定義するために使用されます。 0: 利用不可、1: 利用可能

gpgcheck: rpm パッケージに対して GPG 検証を実行するかどうかを定義します。

gpgkey: 検証の定義に使用される gpg キー ファイルの場所。

5. 一般的なコマンドの紹介

以下はyum管理の一般的なコマンドです

yum repolist: 利用可能なソフトウェアリポジトリ情報を表示します

yum list rpm package: rpmパッケージのインストールステータスを表示します、ワイルドカードをサポートします* , インストールされている場合は、利用可能なソフトウェアリポジトリが表示されます

yum list installs | grep rpm package: rpm パッケージがインストールされているか確認します

yum info rpm package: rpm パッケージの詳細を確認します

yum check-update : 利用可能かどうかを確認します rpm パッケージが更新されました

yum install rpm package: rpm パッケージをインストールし、ワイルドカード * をサポートします

yum delete rpm package: rpm パッケージを削除します

yum clean Packages: rpm パッケージのキャッシュをクリアします

yum clean headers: rpm ヘッダー ファイル キャッシュをクリアします

yum clean all: rpm ヘッダー ファイルとパッケージ キャッシュをクリアします

6. ローカル yum ソースを設定する具体的な例

この例で使用されているシステムは redhat 5.8 64 です。具体的なプロセスと手順は次のとおりです:

--安装gcc-c++包,提示因为依赖关系缺少包而无法安装--若采用手工安装,在安装提示的rpm包过程中,可能还存在其他需要的依赖关系包[root@sunny Desktop]# rpm -ivh gcc-c++-4.1.2-52.el5.x86_64.rpm 
warning: gcc-c++-4.1.2-52.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
gcc = 4.1.2-52.el5 is needed by gcc-c++-4.1.2-52.el5.x86_64
libstdc++-devel = 4.1.2-52.el5 is needed by gcc-c++-4.1.2-52.el5.x86_64
--下面开始通过配置本地源yum的方法从镜像光盘安装--查看文件系统,此时未挂载cdrom
[root@sunny ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
16G 6.1G 8.7G 42% /
/dev/sda1 99M 13M 81M 14% /boot
tmpfs 1004M 0 1004M 0% /dev/shm
--创建cdrom的挂载点目录--挂载点目录名随意,此处作者创建目录名为cdrom的目录作为挂载点
[root@sunny ~]# mkdir /cdrom
--挂载cdrom,并查看挂载情况
[root@sunny ~]# mount /dev/cdrom /cdrom
[root@sunny ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
16G 6.1G 8.7G 42% /
/dev/sda1 99M 13M 81M 14% /boot
tmpfs 1004M 0 1004M 0% /dev/shm
/dev/sr0 3.9G 3.9G 0 100% /cdrom
--进入cdrom目录,确定rpm包的位置--需要注意,rpm包所在的目录绝对路径将作为后面yum的url源路径
[root@sunny Server]# pwd
/cdrom/Server
--创建filename.repo文件,此处作者定义filename.repo名为newyum.repo--需要注意,由于是baseurl以及gpgkey均是本地位置,因此采用file://协议--需要注意,file://后面是文件所在的绝对路径,因此file://后面会以/开头,因此是file:///(三个/)
[root@sunny yum.repos.d]# vi /etc/yum.repos.d/newyum.repo 
[redhatcdrom]
name=local resource 
baseurl=fill:///cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
--查询此时可用的软件仓库,显示刚刚配置的库可用
[root@sunny yum.repos.d]# yum repolist
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
redhatcdrom | 1.5 kB 00:00 
redhatcdrom/primary | 920 kB 00:00 
redhatcdrom 3285/3285
repo id repo name status
redhatcdrom local resource 3,285
repolist: 3,285
--利用yum安装刚才的gcc-c++包--可以看到,安装过程中,yum处理了依赖关系,并将相应的包进行了安装
[root@sunny yum.repos.d]# yum install gcc-c++ -y
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
redhatcdrom | 1.5 kB 00:00 
redhatcdrom/primary | 920 kB 00:00 
redhatcdrom 3285/3285
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gcc-c++.x86_64 0:4.1.2-52.el5 set to be updated
--> Processing Dependency: libstdc++-devel = 4.1.2-52.el5 for package: gcc-c++
--> Processing Dependency: gcc = 4.1.2-52.el5 for package: gcc-c++
--> Running transaction check
---> Package gcc.x86_64 0:4.1.2-52.el5 set to be updated
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc
---> Package libstdc++-devel.x86_64 0:4.1.2-52.el5 set to be updated
redhatcdrom/filelists | 2.8 MB 00:00 
--> Running transaction check
---> Package glibc-devel.x86_64 0:2.5-81 set to be updated
--> Processing Dependency: glibc-headers = 2.5-81 for package: glibc-devel
--> Processing Dependency: glibc-headers for package: glibc-devel
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.5-81 set to be updated
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers
--> Processing Dependency: kernel-headers for package: glibc-headers
--> Running transaction check
---> Package kernel-headers.x86_64 0:2.6.18-308.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================
Package Arch Version Repository Size
======================================================================================
Installing:
gcc-c++ x86_64 4.1.2-52.el5 redhatcdrom 3.8 M
Installing for dependencies:
gcc x86_64 4.1.2-52.el5 redhatcdrom 5.3 M
glibc-devel x86_64 2.5-81 redhatcdrom 2.4 M
glibc-headers x86_64 2.5-81 redhatcdrom 596 k
kernel-headers x86_64 2.6.18-308.el5 redhatcdrom 1.4 M
libstdc++-devel x86_64 4.1.2-52.el5 redhatcdrom 2.8 M
Transaction Summary
======================================================================================
Install 6 Package(s)
Upgrade 0 Package(s)
Total download size: 16 M
Is this ok [y/N]: 
Exiting on user Command
Complete!
--查询安装结果,确定安装完成。
[root@sunny yum.repos.d]# yum list gcc-c*
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Installed Packages
gcc-c++.x86_64 4.1.2-52.el5 installed
ログイン後にコピー

以上は、RPM パッケージのインストール依存関係を解決するための編集者による YUM の紹介と、yum ツールによって導入されるローカル ソースの構成方法の詳細な説明になると思います。ご質問がございましたら、メッセージを残してください。編集者が全員にすぐに返信します。また、PHP 中国語 Web サイトをサポートしていただきありがとうございます。

RPM パッケージのインストールの依存関係に対する YUM ソリューションの詳細や、ローカル ソースの構成方法に対する yum ツールの紹介については、PHP 中国語 Web サイトの関連記事に注目してください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)