Tüm Ürünler
Search
Belge Merkezi

Server Migration Center:"A YUM/DNF repository defined multiple times" error during migration

Son Güncelleme:Oct 06, 2026

Server Migration Center (SMC), /etc/yum.repos.d/ dizinindeki birden fazla .repo dosyası aynı depo tanımlayıcısını (repo ID) paylaştığında "A YUM/DNF repository defined multiple times" hatasını bildirir. Yinelenen repo ID'leri paket yöneticisinin hangi depoyu kullanacağını belirlemesini engeller ve geçiş işlerinin başarısız olmasına neden olur.

Arka Plan

/etc/yum.repos.d/ dizinindeki her bir .repo dosyası bir veya daha fazla YUM ya da DNF deposu tanımlar. Repo ID'si, her depo bölümünün başındaki köşeli parantezler içindeki etikettir; örneğin [base], [extras] veya [updates]. Repo ID'leri tüm .repo dosyaları arasında benzersiz olmalıdır. İki veya daha fazla dosya aynı repo ID'sini tanımlarsa paket yöneticisi hangi depoyu kullanacağını çözümleyemez ve SMC bu hatayı raporlar.

Çözüm

1. Adım: Örneğe bağlanın

İşletim sistemini geçirmek istediğiniz Elastic Compute Service (ECS) örneğine bağlanın. Ayrıntılar için bkz. Parola veya anahtar kullanarak Linux örneğine bağlanma.

2. Adım: Yinelenen repo ID'lerini bulun

Tüm .repo dosyalarındaki yinelenen repo ID'lerini listelemek için aşağıdaki komutu çalıştırın:

grep -h '^\[' /etc/yum.repos.d/*.repo | sort | uniq -d

Bu komut, her bir .repo dosyasındaki tüm repo ID'lerini ([ ile başlayan satırlar) ayıklar, sıralar ve yalnızca yinelemeleri yazdırır.

Belirli bir yinelenen repo ID'sini hangi dosyaların içerdiğini belirlemek için aşağıdaki komutu çalıştırın ve [base] ifadesini ilgili yinelenen repo ID'siyle değiştirin:

grep "\[base\]" /etc/yum.repos.d/*.repo

Örnek çıktı:

/etc/yum.repos.d/CentOS-7.repo:[base]
/etc/yum.repos.d/CentOS-Base.repo:[base]

Bu örnekte hem CentOS-7.repo hem de CentOS-Base.repo dosyaları [base] repo ID'sini tanımlamaktadır.

3. Adım: Yinelemeleri kaldırın

Her bir yinelenen öğe için durumunuza uygun seçeneği belirleyin.

Seçenek A: Gereksiz dosyayı kaldırın (önerilir)

Bir .repo dosyası güncel değilse veya gereksizse yedekleyip kaldırın:

mv /etc/yum.repos.d/CentOS-7.repo /etc/yum.repos.d/CentOS-7.repo.bak

Seçenek B: Repo ID'sini yeniden adlandırın

Her iki depoya da ihtiyaç duyuluyorsa bir dosyadaki repo ID'sini yeniden adlandırarak her deponun benzersiz bir tanımlayıcıya sahip olmasını sağlayın:

# Before
[base]

# After
[base-alt]
Birden fazla repo ID'si yineleniyorsa (örneğin [base] , [extras] ve [updates] ), her birini çözün. 2. Adımdaki komutu yeniden çalıştırarak yinelenen öğe kalmadığını doğrulayın.

4. Adım: Geçiş işlemini yeniden deneyin

Tüm yinelemeleri çözdükten sonra SMC istemcisini çalıştırın ve geçiş işini yeniden deneyin. Ayrıntılar için bkz. SMC istemcisini çalıştırma.