インターネットに接続していないホストのネットワークストレージを作成しました。したがって、環境には1つのストレージサーバーと1つのクライアントがあります。 (現在ベータ版なので、両方のホストがインターネットにアクセスできます)。ファイルシステムを作成し、/ AllRepositories / Centos7パスにマウントしました。ここからrpmパッケージをダウンロードしてみました。また、必要なステップcreaterepo / createrepo --updateも実行しました。問題は、クライアントホストがこのホストからパッケージをインストールできないことです。
サーバー構成
createrepo /var/www/html/AllRepositories/Centos7
このコマンドを使用してすべてのパッケージをダウンロードします。
repoquery -a | xargs repotrack -a x86_64 -p .
データベースを更新します。
createrepo --update /var/www/html/AllRepositories/Centos7
私のクライアントの.repo設定は次のとおりです。
[RemoteRepoDisk]
name=Remote Repository Disk
baseurl=http://<ip address>/AllRepositories/Centos7/
enabled=1
gpgcheck=0
したがって、クライアントからダウンロードしようとしたときに最初に「yum repolist all」と入力すると、クライアントはリポジトリがアクティブで、9911の利用可能なパッケージがあることを確認します。たとえば、「yum install nano」と入力すると、パッケージのダウンロードページが表示されます。
Total download size: 440 k
Installed size: 1.6 M
Is this ok [y/d/N]:
yと入力するとこうなります。
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
nano-2.3.1-10.el7.x86_64.rpm FAILED
http://<<ip address>>/AllRepositories/Centos7/nano-2.3.1-10.el7.x86_64.rpm: [Errno 14] HTTP Error 403 - Forbidden0 B --:--:-- ETA
Trying other mirror.
Error downloading packages:
nano-2.3.1-10.el7.x86_64: [Errno 256] No more mirrors to try.
ただし、サーバーからrpmパッケージを通常のディレクトリ(マウントされたパスではない)にダウンロードしようとすると、クライアントはパッケージを表示してダウンロードできます。インストールパスからクライアントからデータパッケージをダウンロードするには?
修正する:
httpdのエラーログから:
(13)Permission denied: [client 10.0.6.180:52939] AH00035: access to /AllRepositories/centos7/nano-2.3.1-10.el7.x86_64.rpm denied (filesystem path '/var/www/html/AllRepositories/centos7/nano-2.3.1-10.el7.x86_64.rpm') because search permissions are missing on a component of the path
私の検索権限が失われたと言います。エラー13について調べてみました。これはファイルシステム権限の問題を示します。そのため、/var/www/htmlディレクトリに755をchmodしてhttpdを再起動しましたが、まだ同じエラーが発生します。
答え1
setenforce 0を使用してディレクトリ権限を付与した後、selinuxをオフにして機能しました。