序文
- Linuxオペレーティングシステムがホストにインストールされた後、ソフトウェアサービス、ネットワークサービス、およびその他の機能を提供するための基礎があります。
- ただし、結局のところ、オペレーティングシステムとともにインストールされるソフトウェアパッケージはごくわずかであり、実装される機能は比較的制限されています。
- ホストにより多くの機能を提供する必要がある場合、新しいアプリケーションのインストールは避けられない仕事と呼ばれます
1.RPMとYUMの違い
- RPMパッケージは、さまざまなLinuxディストリビューションで最も広く使用されているソフトウェアパッケージの1つです。
- RPMソフトウェアパッケージ管理メカニズムは、Red Hatによって最初に提案されました。その後、バージョンがアップグレードされるにつれて、より優れた機能が徐々に統合されました。これは、多くのLinuxディストリビューションで認められているソフトウェアパッケージ管理標準と呼ばれます。
- RPMを使用すると、ソフトウェアのインストール、クエリ、アンインストール、およびアップグレードを簡単に行うことができますが、RPMソフトウェアパッケージ間の依存関係は、特にソフトウェアが複数のRPMパッケージで構成されている場合、面倒なことがよくあります。
- Yum(フルネームYellow dog Updater、Modified)は、Fedora、RedHat、CentOSのシェルフロントエンドパッケージマネージャーです。
- RPMパッケージ管理に基づいて、指定されたサーバーからRPMパッケージを自動的にダウンロードしてインストールし、依存関係を自動的に処理し、依存するすべてのソフトウェアパッケージを一度にインストールできます。面倒なダウンロードとインストールを何度も繰り返す必要はありません。
2つ目は、ローカルのyumソースウェアハウスを構成することです。
- 以前、CentOS7の学習資料を含む詳細な紹介を含むブログがありました。
リンク:https://blog.csdn.net/weixin_51486343/article/details/109815397 - 以前は、仮想VMware仮想環境をセットアップするときに、CentOSイメージファイルが追加されていたため、仮想マシン設定の[接続済み]オプションを確認する必要があります。
- このとき、デスクトップに「CentOS7x86_64」のようなものが表示されます。
- ターミナルに入り、次のステップを開始します
- mount / dev / cdrom / mnt /
## CDを/ mntディレクトリにマウントします - cd /etc/yum.repos.d/
## / etcの下にyum.repos.dディレクトリを入力します - mkdir repos.bak
## repos.bakという名前の新しいディレクトリを作成します - mv * .repo repos.bak
##。repoを含むすべてのファイルをrepos.bakディレクトリに移動します
- mount / dev / cdrom / mnt /
- 次のようにyumソースウェアハウスを作成します
- cd /etc/yum.repos.d/
- vim local.repo
- 内部には何もありません。編集する必要があります。「i」を押して編集モードに入り、1行ずつ編集を開始します。
- また、yumキャッシュを削除して更新する必要があります
- さて、
成功を確認するために別のファイルをインストールしましょう
3つ目は、オンラインのyumソースウェアハウスを構成する
- ネットワークyumソースには、ミラーyumよりも新しく完全なパッケージがあります
- また、インストールは非常に簡単です。ネットワーク環境での使用をお勧めします。
- 以下はAlibabaCloudyumです
- まず、最初のステップは、オンラインのyumソース構成ファイルをローカルにダウンロードすることです(直接コピーして貼り付ける、少し長い)
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
--2020-12-11 14:57:15-- https://mirrors.aliyun.com/repo/Centos-7.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 117.91.177.244, 58.223.210.227, 58.216.4.238, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|117.91.177.244|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2523 (2.5K) [application/octet-stream]
正在保存至: “/etc/yum.repos.d/CentOS-Base.repo”
100%[====================================>] 2,523 --.-K/s 用时 0s
2020-12-11 14:57:16 (802 MB/s) - 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])
[root@localhost ~]#
- 次に、ダウンロードしたばかりのオンラインをシステムが読み取れるように、前のローカルyumソース構成ファイルを移動する必要があります。
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo local.repo repos.bak ##这里可以看到多了一个“CentOS-Base.repo,就它”
[root@localhost yum.repos.d]# mv local.repo repos.bak/
- 最後のステップは、前のyumキャッシュをクリアしてから、新しいAlibaba Cloud yumキャッシュを作成することです(しばらく待つ必要があります)
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base extras updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache
已加载插件:fastestmirror, langpacks
base | 3.6 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
base/7/x86_64/primary_db FAILED
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/repodata/6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88bad5ef-primary.sqlite.bz2: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Name or service not known"
正在尝试其它镜像。
(1/10): base/7/x86_64/group_gz | 153 kB 00:00
(2/10): extras/7/x86_64/other_db | 134 kB 00:00
(3/10): extras/7/x86_64/filelists_db | 224 kB 00:00
(4/10): base/7/x86_64/other_db | 2.6 MB 00:00
(5/10): updates/7/x86_64/filelists_db | 2.1 MB 00:00
(6/10): updates/7/x86_64/other_db | 226 kB 00:00
(7/10): base/7/x86_64/primary_db | 6.1 MB 00:00
base/7/x86_64/filelists_db FAILED
http://mirrors.aliyuncs.com/centos/7/os/x86_64/repodata/d6d94c7d406fe7ad4902a97104b39a0d8299451832a97f31d71653ba982c955b-filelists.sqlite.bz2: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
extras/7/x86_64/primary_db FAILED
http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/6de1755ab3e4e9bd0ee8ff31b6c979fe8a2e132b66629bf4b659b0a7878fe70f-primary.sqlite.bz2: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
updates/7/x86_64/primary_db FAILED
http://mirrors.aliyuncs.com/centos/7/updates/x86_64/repodata/21d17a17af2a9bb0da67c098868bc431078c8dfc5ed7e36ee9b25300d6913b72-primary.sqlite.bz2: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
(8/10): extras/7/x86_64/primary_db | 222 kB 00:00
(9/10): base/7/x86_64/filelists_db | 7.2 MB 00:00
(10/10): updates/7/x86_64/primary_db | 3.7 MB 00:00
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
元数据缓存已建立
[root@localhost yum.repos.d]#
- 最後に、確認しましょう
[root@localhost yum.repos.d]# yum -y install dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-58.el7.centos 将被 升级
---> 软件包 dhcp.x86_64.12.4.2.5-82.el7.centos 将被 更新
--> 正在处理依赖关系 dhcp-libs(x86-64) = 12:4.2.5-82.el7.centos,它被软件包 12:dhcp-4.2.5-82.el7.centos.x86_64 需要
--> 正在处理依赖关系 dhcp-common = 12:4.2.5-82.el7.centos,它被软件包 12:dhcp-4.2.5-82.el7.centos.x86_64 需要
--> 正在处理依赖关系 libisc-export.so.169()(64bit),它被软件包 12:dhcp-4.2.5-82.el7.centos.x86_64 需要
--> 正在处理依赖关系 libdns-export.so.1102()(64bit),它被软件包 12:dhcp-4.2.5-82.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 bind-export-libs.x86_64.32.9.11.4-26.P2.el7_9.2 将被 安装
---> 软件包 dhcp-common.x86_64.12.4.2.5-58.el7.centos 将被 升级
--> 正在处理依赖关系 dhcp-common = 12:4.2.5-58.el7.centos,它被软件包 12:dhclient-4.2.5-58.el7.centos.x86_64 需要
---> 软件包 dhcp-common.x86_64.12.4.2.5-82.el7.centos 将被 更新
---> 软件包 dhcp-libs.x86_64.12.4.2.5-58.el7.centos 将被 升级
---> 软件包 dhcp-libs.x86_64.12.4.2.5-82.el7.centos 将被 更新
--> 正在检查事务
---> 软件包 dhclient.x86_64.12.4.2.5-58.el7.centos 将被 升级
---> 软件包 dhclient.x86_64.12.4.2.5-82.el7.centos 将被 更新
--> 解决依赖关系完成
依赖关系解决
===========================================================================================================================================================================================
Package 架构 版本 源 大小
===========================================================================================================================================================================================
正在更新:
dhcp x86_64 12:4.2.5-82.el7.centos base 515 k
为依赖而安装:
bind-export-libs x86_64 32:9.11.4-26.P2.el7_9.2 updates 1.1 M
为依赖而更新:
dhclient x86_64 12:4.2.5-82.el7.centos base 286 k
dhcp-common x86_64 12:4.2.5-82.el7.centos base 176 k
dhcp-libs x86_64 12:4.2.5-82.el7.centos base 133 k
事务概要
===========================================================================================================================================================================================
安装 ( 1 依赖软件包)
升级 1 软件包 (+3 依赖软件包)
总下载量:2.2 M
Downloading packages:
No Presto metadata available for base
警告:/var/cache/yum/x86_64/7/base/packages/dhcp-4.2.5-82.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
dhcp-4.2.5-82.el7.centos.x86_64.rpm 的公钥尚未安装
(1/5): dhcp-4.2.5-82.el7.centos.x86_64.rpm | 515 kB 00:00:00
(2/5): dhclient-4.2.5-82.el7.centos.x86_64.rpm | 286 kB 00:00:00
(3/5): dhcp-libs-4.2.5-82.el7.centos.x86_64.rpm | 133 kB 00:00:00
(4/5): dhcp-common-4.2.5-82.el7.centos.x86_64.rpm | 176 kB 00:00:00
bind-export-libs-9.11.4-26.P2.el7_9.2.x86_64.rpm 的公钥尚未安装
(5/5): bind-export-libs-9.11.4-26.P2.el7_9.2.x86_64.rpm | 1.1 MB 00:00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 5.1 MB/s | 2.2 MB 00:00:00
从 http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
用户ID : "CentOS-7 Key (CentOS 7 Official Signing Key) <[email protected]>"
指纹 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
来自 : http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : 12:dhcp-libs-4.2.5-82.el7.centos.x86_64 1/9
正在更新 : 12:dhcp-common-4.2.5-82.el7.centos.x86_64 2/9
正在安装 : 32:bind-export-libs-9.11.4-26.P2.el7_9.2.x86_64 3/9
正在更新 : 12:dhclient-4.2.5-82.el7.centos.x86_64 4/9
正在更新 : 12:dhcp-4.2.5-82.el7.centos.x86_64 5/9
清理 : 12:dhcp-4.2.5-58.el7.centos.x86_64 6/9
清理 : 12:dhclient-4.2.5-58.el7.centos.x86_64 7/9
清理 : 12:dhcp-common-4.2.5-58.el7.centos.x86_64 8/9
清理 : 12:dhcp-libs-4.2.5-58.el7.centos.x86_64 9/9
验证中 : 12:dhcp-common-4.2.5-82.el7.centos.x86_64 1/9
验证中 : 32:bind-export-libs-9.11.4-26.P2.el7_9.2.x86_64 2/9
验证中 : 12:dhclient-4.2.5-82.el7.centos.x86_64 3/9
验证中 : 12:dhcp-libs-4.2.5-82.el7.centos.x86_64 4/9
验证中 : 12:dhcp-4.2.5-82.el7.centos.x86_64 5/9
验证中 : 12:dhcp-common-4.2.5-58.el7.centos.x86_64 6/9
验证中 : 12:dhcp-4.2.5-58.el7.centos.x86_64 7/9
验证中 : 12:dhcp-libs-4.2.5-58.el7.centos.x86_64 8/9
验证中 : 12:dhclient-4.2.5-58.el7.centos.x86_64 9/9
作为依赖被安装:
bind-export-libs.x86_64 32:9.11.4-26.P2.el7_9.2
更新完毕:
dhcp.x86_64 12:4.2.5-82.el7.centos
作为依赖被升级:
dhclient.x86_64 12:4.2.5-82.el7.centos dhcp-common.x86_64 12:4.2.5-82.el7.centos dhcp-libs.x86_64 12:4.2.5-82.el7.centos
完毕!
[root@localhost yum.repos.d]#