yum 업데이트가 작동하지 않습니다(저장소 문제)

yum 업데이트가 작동하지 않습니다(저장소 문제)
# yum update -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Update Process
Determining fastest mirrors
YumRepo Error: All mirror URLs are not using ft, http[s] or file.
Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/×86 64/6/base/mirrorli st.txt
Error: Cannot find a valid baseurl for repo: base [root@localhost Desktop]# cd/etc/yum. repos.d/ bash: cd/etc/yum.repos.d/: No such file or directory [root@localhost Desktop]# cd /etc/yum. repos. d/ [root@localhost yum. repos.d]# ll total 32
- M-Г--г=
- Пу-Г--г-.
1 root root 1991 May 19 2016 CentOS-Base.repo
1 root root 1991 May
9 14:14 Cent0S-base. repo.old
1 root root
647 May 19 2016 CentOs-Debuginfo.repo
1 root root
289 May 19
2016 Cent0S-fasttrack.repo
- M-r--г.
1 root root 630 May 19 2016 CentOS-Media.repo
- [/-Г-- Г-
. 1 root root 6259 May 19
2016 CentOS-Vault. repo
-rw-r--r--. 1 root root 259 Sep 30 2015 virtualbox. repo [root@localhost yum. repos.d]# cp Centos-Base. repo CentOs-Base.repo.old [rootalocalhost yum. repos.d]# ll total 36
- T-T---- . 1 root root 1991 May 19
2016 Cent0S-Base. repo
1 root root 1991 May
9 14:14 CentOS-base.repo.old
- To re
1 root root 1991 May
9 14:22 Centos -Base. repo.old
1 root root
647 May 19 2016 CentOS -Debuginfo.repo
- П-Г-
1 root root
289 May 19 2016 CentOS-fasttrack.repo
-rw-r--r--, 1 root root 630 May 19 2016 CentOS-Media. repo
-rw-r--r--. 1 root root 6259 May 19 2016 Cents-Vault. repo
-rw-r--r--. 1 root root 259 Sep 30 2015 virtualbox. repo [root@localhost yum. repos.d]# vi CentOs- Base. repo [root@localhost yum. repos.d]# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit, security
Error: File contains no section headers.
file: file:///etc/yum.repos.d/CentOS-Base.repo, line: 4
'update status of each mirror to pick mirrors that are updated to and\n' [root@localhost yum. repos.d]#

답변1

파일은 /etc/yum.repos.d/CentOS-Base.repo다음과 같아야 합니다(예를 들어 CentOS 7을 사용하면 버전은 다를 수 있지만 구조는 유사해야 함).

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-7 - Base
mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/7/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates 
[updates]
name=CentOS-7 - Updates
mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-7 - Extras
mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-7 - Plus
mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

대괄호( [base], [updates], [extras]) 안의 줄은 다음과 같습니다.섹션 제목, 각 설정 블록은 다음 섹션 헤더 줄(또는 파일 끝)이 될 때까지 섹션 헤더로 시작합니다.부분. 각 섹션은 패키지를 다운로드할 수 있는 저장소를 정의합니다.

이 줄이 저장소 섹션에서 사용되는 경우 먼저 지정된 URL에서 저장소 미러 URL 목록을 다운로드한 다음 이러한 미러 중 하나를 사용하라는 mirrorlist=메시지가 표시됩니다 . 이 섹션에서 yumbaseurl=줄을 사용하는 경우 패키지 저장소의 URL을 직접 지정합니다.

보안 수준이 높은 방화벽 환경에서는 mirrorlist=미러 목록이 시간이 지남에 따라 변경될 수 있고 다음을 포함할 수 있기 때문에 시스템이 연결할 수 있는 패키지 저장소의 IP 주소를 미리 확인할 수 없기 때문에 이러한 라인은 문제를 일으킬 수 있습니다.콘텐츠 전달 네트워크예를 들어 Akamai는 인터넷 전체에 존재합니다. 이로 인해 방화벽 액세스 목록이 길어지고 관리가 어려워집니다.

mirrorlist=따라서 해당 줄을 주석 처리하고 해당 줄의 주석 처리를 제거하는 것이 일반적 baseurl=이며, 상당히 가까운 곳에 있는 신뢰할 수 있는 미러 사이트를 참조하는 사용자 정의 저장소 URL을 지정하거나 심지어 보안 수준이 높은 조직의 경우에도 마찬가지입니다. 그러면 방화벽 관리자는 방화벽 액세스 목록의 길이를 최소화할 수 있어 보안 감사자가 만족할 것입니다.

에러 메시지

Error: File contains no section headers.
file: file:///etc/yum.repos.d/CentOS-Base.repo, line: 4
'update status of each mirror to pick mirrors that are updated to and\n'

파일의 4번째 줄에 yum이해할 수 없는 내용이 있음을 나타냅니다 CentOS-Base.repo. 행의 내용도 표시됩니다.

#예제와 비교하면 누군가 가 줄 시작 부분에서 주석 기호(문자)를 제거한 것처럼 보입니다 . 나머지 줄은 사람이 읽을 수 있는 자유 형식의 텍스트이므로 당연히 yum이해할 방법이 없습니다.

누군가가 자동화된 도구를 사용하여 파일을 수정하려고 시도했지만 도구가 의도하지 않은 위치에서 주석 기호를 제거하는 실수를 저질렀습니까?

/etc/yum.repos.d/CentOS-Base.repo파일의 내용을 보고 무슨 일이 일어나고 있는지 알아내려고 노력해야 합니다. 파일 시작 부분의 텍스트 줄에 주석 표시가 누락된 경우 해당 줄을 바꾸거나 자유 형식 텍스트 줄을 삭제해야 합니다.

구성 섹션(각각 괄호로 묶인 섹션 헤더 줄로 시작)만 실제 의미를 가집니다 yum. 이러한 파일이 없거나 손상된 경우 백업이나 Google에서 손상되지 않은 파일 복사본을 찾아 특정 CentOS 버전에 대한 파일의 예를 가져와 파일을 복구하는 데 사용해야 할 수 있습니다. 기본적으로 인터넷을 통한 HTTP 서버로의 나가는 연결을 허용하지 않는 높은 보안 시스템을 사용하는 경우 시스템이 어떻게 업데이트를 받아야 하는지 알아야 합니다(특정 미러를 사용해야 합니까? 내부 미러)? 인터넷 프록시? ) 그에 따라 재구성 구성을 조정하십시오.

관련 정보