パッケージをyumをインストールできません

パッケージをyumをインストールできません

どのパッケージをインストールしようとしても、Yumは[Errno 5] [Errno 2] No such file or directory error各パッケージ/依存関係に対して1つずつ返します。

以下はいくつかのサンプル出力です。

# yum -y install vim
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ocf.berkeley.edu
 * extras: mirror.tocici.com
 * updates: mirror.sesp.northwestern.edu
Resolving Dependencies
--> Running transaction check
---> Package vim-enhanced.x86_64 2:7.4.160-1.el7_3.1 will be installed
--> Processing Dependency: vim-common = 2:7.4.160-1.el7_3.1 for package: 2:vim-enhanced-7.4.160-1.el7_3.1.x86_64
--> Processing Dependency: libgpm.so.2()(64bit) for package: 2:vim-enhanced-7.4.160-1.el7_3.1.x86_64
--> Running transaction check
---> Package gpm-libs.x86_64 0:1.20.7-5.el7 will be installed
---> Package vim-common.x86_64 2:7.4.160-1.el7_3.1 will be installed
--> Processing Dependency: vim-filesystem for package: 2:vim-common-7.4.160-1.el7_3.1.x86_64
--> Running transaction check
---> Package vim-filesystem.x86_64 2:7.4.160-1.el7_3.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================================================================================================
 Package                                                     Arch                                                Version                                                           Repository                                            Size
==============================================================================================================================================================================================================================================
Installing:
 vim-enhanced                                                x86_64                                              2:7.4.160-1.el7_3.1                                               updates                                              1.0 M
Installing for dependencies:
 gpm-libs                                                    x86_64                                              1.20.7-5.el7                                                      base                                                  32 k
 vim-common                                                  x86_64                                              2:7.4.160-1.el7_3.1                                               updates                                              5.9 M
 vim-filesystem                                              x86_64                                              2:7.4.160-1.el7_3.1                                               updates                                              9.7 k

Transaction Summary
==============================================================================================================================================================================================================================================
Install  1 Package (+3 Dependent packages)

Total download size: 7.0 M
Installed size: 23 M
Downloading packages:


Error downloading packages:
  gpm-libs-1.20.7-5.el7.x86_64: [Errno 5] [Errno 2] No such file or directory
  2:vim-filesystem-7.4.160-1.el7_3.1.x86_64: [Errno 5] [Errno 2] No such file or directory
  2:vim-enhanced-7.4.160-1.el7_3.1.x86_64: [Errno 5] [Errno 2] No such file or directory
  2:vim-common-7.4.160-1.el7_3.1.x86_64: [Errno 5] [Errno 2] No such file or directory

リポジトリに接続して必要なパッケージ/依存関係を確認できるように見えますが、ダウンロード時に失敗します。 reposとyumの管理についてはよくわかりませんが、ローカルシステムで問題になる可能性がありますか?

DistroはAWSのCentOS Linuxバージョン7.2.1511(コア)です。

答え1

サーバー/usr/libexec/urlgrabber-ext-downの1つのファイルの上部に次の内容が見つかりました。 #! /usr/bin/python
しかし、Pythonシンボリックリンクが破損しています。入力すると、python2.7を指すpythonへのシンボリックリンクを作成しましたpython --versionというエラーが発生し、問題が解決します。command not found

答え2

君は大丈夫だろう

ln -s /usr/libexec/urlgrabber-ext-down-2.7 /usr/libexec/urlgrabber-ext-down

答え3

yumとurlgrabberのソースコードを読むと、次のようになります。

yumはPythonモジュールを使用してurlgrabberrpmパッケージをダウンロードし、高度な非同期APIはparallel_waitパッケージの内部クラスに関連付けられます_ExternalDownloader

urlgrabber-ext-downディレクトリはハードコード授業に_ExternalDownloader書いた/usr/libexec/urlgrabber-ext-down2075号線urlgrabber/grabber.py

def __init__(self):
    self.popen = subprocess.Popen(
        '/usr/libexec/urlgrabber-ext-down',
        stdin = subprocess.PIPE,
        stdout = subprocess.PIPE,
    )
    self.stdin  = self.popen.stdin.fileno()
    self.stdout = self.popen.stdout.fileno()
    self.running = {}
    self.cnt = 0

urlgrabber-ext-downだからあなたのものを確認するか、コードを書き直してください2075号線

答え4

これは私のために問題を解決しました。https://blog.51cto.com/chaichuan/2083574。デフォルトでは、リンクに記載されている2つのファイルのPythonバージョンを2.7に変更する必要があります。

関連情報