sources.list에 실제로 중복 된 항목이 있습니다.
먼저 올바른 형태의 저장소 라인 또는 소스 라인을 보자.
저장소 소스 라인의 올바른 형식은
<type of repository> <location> <dist-name> <components>
예를 들어, repo 라인은 이와 같을 수 있습니다
deb http://archive.ubuntu.com/ubuntu precise main
즉,이 저장소는 바이너리 패키지 용이며,이 패키지는 http://archive.ubuntu.com/ubuntu 에서 호스팅 되며이 저장소는 Ubuntu 정확한 (12.04) 용이며이 저장소에는 기본적으로 지원되는 소프트웨어 (기본적으로 지원되는 소프트웨어)가 포함됩니다. 정식) 구성 요소.
유형 : 유형은 deb
및 일 수 있습니다 deb-src
. 소스 저장소를 deb
의미하는 이진 저장소를 deb-src
의미합니다.
위치 : http://archive.ubuntu.com/ubuntu
저장소의 위치
Dist-name : Ubuntu 릴리스의 배포 이름입니다. Ubuntu 12.04의 경우 precise
11.10의 경우입니다 oneiric
.
Ubuntu Wiki를 방문하여 업데이트 된 Ubuntu 릴리스 및 해당 코드 이름 목록 을 볼 수 있습니다 .
구성 요소 : 그것은 할 수있다 main
, universe
, multiverse
와 restricted
. 이 단어는 패키지에 대한 지원 수준과 라이센스 상태를 나타냅니다.
자세한 내용은 이 페이지 를 참조하십시오.
한 줄에 하나 이상의 구성 요소를 추가 할 수 있으므로 "main", "universe", "restricted"및 "multiverse"는 한 줄에있을 수 있습니다. 또한 한 줄에 둘 이상의 구성 요소를 추가하더라도 APT 시스템은 해당 구성 요소를 하나의 구성 요소 만 포함하는 별도의 줄로 간주합니다.
그래서, 당신 sources.list
이 이런 줄을 가지고 있다면
deb http://archive.ubuntu.com/ubuntu precise universe
그런 다음 아래와 같은 다른 줄을 가질 수 없습니다 (파일에 있음)
deb http://archive.ubuntu.com/ubuntu precise main universe
이 두 줄과 같습니다
deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe
유니버스를 두 번 복제 하므로 해당 복제본에 오류가 발생합니다. 발견 된 각 중복에 대해 오류가 발생합니다.
해결책:
sources.list
파일을 분석 한 결과 기본적으로 Ubuntu에서 제공하는 기본 파일입니다. 절차에 따라 기본 파일을 빌드 할 수 있습니다.
터미널을 열고 먼저 기존 sources.list
파일의 이름을 파일로 바꿉니다 sources.list.bak
. (우리는 안전하게 제거 할 수 있지만주의는 좋습니다).
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
그런 다음 열어 software-properties-gtk
새로운 것을 만듭니다. Alt+ 를 눌러 터미널 또는 대시 명령 프롬프트에 아래 명령을 입력하십시오.F2
software-properties-gtk
Ubuntu 버전 11.10 gksu
이전의 경우 software-properties-gtk
명령 전에 사용해야 합니다.
창문이 열리면
- 우분투 소프트웨어 탭 에서 네 가지 범주를 모두 선택 하십시오
- 선택 정확한 보안 , 정확한-업데이트 및 정밀 - 백 포트의 카테고리 업데이트 탭을 선택합니다.
- 기타 소프트웨어 탭 에서 표준 파트너 및 독립 카테고리를 선택 하십시오.
그게 다야. 이제 sources.list
오류없는 기본 파일이 있습니다. 원하는 경우이 파일을 이전 파일과 비교하십시오.
sources.list.d
dir의 파일 을 처리하도록 업데이트
때로는 중복 항목이 /etc/apt/sources.list.d
디렉토리 의 파일에있을 수 있으며 APT에서도 사용됩니다. 따라서 해당 디렉토리를보고 해당 파일에 중복이 있는지 확인해야합니다. 중복이 동일한 파일에있을 필요는 없습니다.
사례 예 :
수행하는 동안 사용자에게이 오류 메시지가 표시되었습니다 sudo apt-get update
.
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main i386 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
그러나 http://dl.google.com
주 /etc/apt/sources.list
파일 에는 항목이 없습니다 . /etc/apt/sources.list.d/
디렉토리를 살펴보면 다음 파일을 발견했습니다.
출력 ls /etc/apt/sources.list.d/
:
aims-sagemath-precise.list
aims-sagemath-precise.list.save
dropbox.list
dropbox.list.save
fossfreedom-packagefixes-precise.list
fossfreedom-packagefixes-precise.list.save
google-chrome.list
google-chrome.list.save
google.list
google.list.save
sagemath-monolithic-precise.list
sagemath-monolithic-precise.list.save
파일 google-chrome.list
과 google.list
중복을 포함하기에 좋은 후보였습니다. 따라서 두 파일의 내용을 확인해야했습니다.
출력 cat /etc/apt/sources.list.d/google-chrome.list
:
deb http://dl.google.com/linux/chrome/deb/ stable main
그리고 cat /etc/apt/sources.list.d/google.list
deb http://dl.google.com/linux/chrome/deb/ stable main
따라서 Apt 소스에 중복 된 항목이있었습니다. 때문에 google-chrome.list
단 하나의 적절한 라인을 포함하고 그것은 또한에 나열 된 google.list
파일 우리는 안전하게 명령으로이 파일을 제거 할 수 있습니다
sudo rm /etc/apt/sources.list.d/google-chrome.list
그런 다음 문제가 해결되었습니다.