Linux 저장소 오류

Linux 저장소 오류

인터넷에 연결되지 않은 호스트에 대한 네트워크 저장소를 만들었습니다. 따라서 환경에는 저장소 서버 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를 끄고 작동했습니다.

관련 정보