Kaynaklardan oluşan hatalı bir satırı nasıl kaldırırım?


68

Benzer bir başlıkta bulduğum bilgilere göre Ubuntu Yazılım Merkezi'ni unistalled ve yeniden kurdum ve 91. satır ya da buna benzer bir cevap için aynı cevabı aldım.

Sadece bir ekran görüntüsü yüklemeye çalıştım, fakat yeni olduğum için izin vermiyor. Ayrıca hiçbir şeyi nasıl kesip yapıştıracağımı da bulamıyorum, bu yüzden hem yazılım merkezini açmaya çalıştığımda hem de hiçbir şey olmadığında hata ekranının ne dediğini el ile yazmalıyım. , aynı şeyi aşağıdaki şekilde alırsam:

COULD NOT INTITIALIZE THE PACKAGE INFORMATION
An unresolvable problem occured while initializing the package information
Please report t:his bug against the 'update-manager' package and include the
following error message:
'E: Malformed line 91 in source list/etc/apt/sources.list (dist parse) 
E: The list of sources could not be read., 
E: The package list of status file could not be parsed or opened.

Hataları nasıl rapor ederim? Bu konuda ne yapılabilir? Ben araştırdım ve herkesin yaptığı her şey beni aynı hata mesajına götürüyor.

Bu yüzden kaynak listesindeki 91 numaralı çizgiye nasıl ulaşacağımı bilmiyorum; sana ne yazdığını söylemek için. Üzgünüm, bu konuda gerçekten yeniyim. İhtiyacım olan bu, oraya nasıl gidileceğini bulmak ve söylediklerini düzeltmek. Gerçekten sabit diskimi yeniden bölümlendirmek ve sıfırdan başlamak zorunda OLMAMAK İSTİYORUM, bu yüzden bu sorunun çözülmesini dört gözle bekliyorum. Yeni yazılım yükleyebilmem gerekiyor.


8
/etc/apt/sources.list67 ve 69 numaralı satırların içeriğini ekleyebilir misiniz ???
Bruno Pereira

2
Komutun çıktısını eklemek için sorunuzu düzenleyin cat /etc/apt/sources.list. Ve hayır, her şeyi silmenize gerek yok. Bu çok kolay bir sorun ( benim tecrübemden )
Anwar

Çıktıyı göndermek için rep puanlarına ihtiyacınız yoktur. Ancak, çıkışı kod olarak biçimlendirmeniz gerekir, aksi halde birden fazla bağlantı göndermek için yeterli tekrar noktasına sahip olmadığınız için çıktıyı göndermenize izin vermez. Soruyu düzenleyin ve çıktıyı yapıştırın, ardından çıktıyı vurgulayın ve çıktıyı kod olarak biçimlendirmek ve sonra değişiklikleri kaydetmek için CTRL + K tuşlarına basın.
mchid

Yanıtlar:


55

sources.listDosyanızda bazı çizgiler var (veya içinde başka bir *.listdosya var sources.list.d/).

Kırık çizgileri düzeltmek için hatada belirtilen dosyayı düzenleyin.

  1. Bunu yapmak için bu komutu çalıştırın ( bir Terminal açmak için Ctrl+ Alt+ tuşlarına basın T):

    sudo -H gedit /etc/apt/sources.list
    

    Veya Gedit (tüm Ubuntu sistemlerinin bulunmadığı) yerine, dosyayı terminal tabanlı bir metin editöründe açmayı tercih edebilirsiniz:

    sudoedit /etc/apt/sources.list
    

    Gerekirse, /etc/apt/sources.listbaşka bir dosya adıyla, yani içindeki bir dosyanın yoluyla değiştirin /etc/apt/sources.list.d/.

  2. Yanlış biçimlendirilmiş satırları bulun (satır numarası için hataya bakın, sonra o noktaya bakın). Bunlar doğru biçimlendirilmiş satırlara örnektir:

    # Comment, marked by a line starting with '#'
    deb http://site.example.com/debian distribution component1 component2 component3
    deb-src http://site.example.com/debian distribution component1 component2 component3
    

    URL distributionve bileşenler farklı olacaktır. Mutlaka 3 bileşene sahip olması gerekmez.

    Bu formata uymayan herhangi bir şey yanlış.

  3. Dosyayı kaydedin ve metin düzenleyiciden çıkın. Sonra bu komutu bir Terminal penceresinde çalıştırın:

    sudo apt-get update
    

Hata olmadığını varsayarsak, sorun şimdi giderildi. Sofware Center'ı çalıştırabilmelisiniz.

Bununla birlikte, Yazılım Merkezi ile ilgili bazı sorunlar software-centerpaketi yeniden yükleyerek çözülebilirken , çoğu yapamaz, bu nedenle asıl sorunun devam etmesi olasıdır . Bu durumda, yardım almak için yeni bir soru gönderebilirsiniz.


Bazen Debian tabanlı dağıtımlar için ihtiyacınız olduğunu düşünüyorum ./bu gibi satırın sonunda örnek
user10089632

27

Hızlı yöntem

Bu sorun için bir geçici çözüm sources.listgirişi sıfırdan oluşturuyor olabilir.

deb http://archive.ubuntu.com/ubuntu precise main universe restricted multiverse
deb-src http://archive.ubuntu.com/ubuntu precise universe main multiverse restricted

deb http://security.ubuntu.com/ubuntu/ precise-security universe main multiverse restricted
deb http://archive.ubuntu.com/ubuntu precise-updates universe main multiverse restricted
deb http://archive.ubuntu.com/ubuntu precise-backports universe main multiverse restricted

# deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner

# deb http://extras.ubuntu.com/ubuntu precise main
# deb-src http://extras.ubuntu.com/ubuntu precise main
  • Yukarıdaki içeriği kopyalayın (gri kutuda) ve sources.listdosyayı kök olarak açın .

    Yazma sudo -H gedit /etc/apt/sources.listbir terminal ve isabet eder bu Enterişi yapacağız.

  • Ardından kopyalanan içeriği sources.list- notuna yapıştırın, muhtemelen preciseUbuntu sürümünüzü temsil eden kod adıyla değiştirmeniz gerekecektir - örneğin trusty14.04. Ardından gedit'i kaydedin ve kapatın.

  • Sonra yapın sudo apt-get updateve depo listesinin güncellendiğini göreceksiniz.

Açıklama: Burada, içeriği tamamen başka bir sunucudan alıyoruz. Main Server'dan depo girişi. Yerel sunucunuzu kullanmak için sources.listaşağıdaki yöntemi kullanın .

Önerilen yöntem

Git Ubuntu kaynaklar listesi jeneratör sitesinde .

  • Ülkeni seç.
  • Main, Restricted, Multiverse, Universe gibi istediğiniz dalları seçin.
  • İstediğiniz güncelleme listesini seçin, -
  • İsterseniz herhangi bir üçüncü taraf depo listesini seçin.
  • Sayfanın altındaki Liste oluştur seçeneğine tıkladığınızda size havuzları olan bir liste verilir.
  • Bu listeyi kopyalayın ve sahip olduğunuz sources.listdosyayla değiştirin .

Bitirdiniz. (Umarım bu yardımcı olacak.)


5
Bu kabul edilmedi garip! Hızlı bir düzeltme, satırdaki ilk karakterleri /etc/apt/sources.listekleyerek sorunlu satırı yorumlayın ##. O zaman dene sudo apt-get update.
Noble P. Abraham

3
Belki kabul edilmedi çünkü kullanıcı başka repoları etkinleştirilmiş olabilir ve bunu yaparlarsa kaybedeceklerdir. Örneğin, çoğu VirtualBox kullanıcısı bunu Oracle'ın deposundan alır. Ayrıca, Oracle orada depolarda Ubuntu’nunkinden farklı paket adları kullanır. Bu nedenle, eğer Oracle'ın deposuyla VirtualBox'u kurup bu kılavuzu izlersem, her zaman VirtualBox'ın aynı sürümünde oturur ve hiçbir zaman bir güncelleme almazdım. Asla.
John Scott,

@FuzzyToothpaste bunu yaparlarsa kaybedemezler. Yalnızca yinelenen girişleri kaldırır. Örnek senaryonuzun bu sorunla ilgisi yok
Anwar

Yeni kaynak oluşturmak için Ubuntu kaynak listesi jeneratör sitesini kullanırken. GPG anahtarlarını güncellemeyi unutmayın. Aksi halde sorun devam edebilir
Tushar Goswami

6

Hatadan görebileceğiniz gibi, sources.list dosyanızın yanlış bir girişi olduğunu söylüyor. Bu yanlış giriş ayrıştırılamadı. Bu hata, Yazılım Merkezi ile ilgili değildir, ancak çoğunlukla apt ile ilgilidir (Paket yöneticisi).

Bunu çözmenin yolu hatalı biçimlendirilmiş hat 91girişini düzeltmek olacaktır .

Satır 91’de neyin yanlış olduğunu anlayamıyorsanız, lütfen satır 91’i gönderin, size yardımcı olacağım


6

Lütfen dosyayı yapıştırın, /etc/apt/sources.listböylece bu sorunu sizin için çözebiliriz. Bunun nasıl yapılacağı hakkında bu kısa öğretici cevaba bakınız:

Bir komutun veya bir metin dosyasının çıktısını başkalarıyla kolayca nasıl paylaşabilirim?


Bu bazen çok kolay bir düzeltme olabilir, ancak kritik bir dosya olduğundan ilk önce yedeklemelisiniz sources.list .

  1. Terminali Ctrl+ Alt+ ile açın T.
  2. Yaz / yapıştır: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup(bu bir yedek kopya oluşturur)
  3. sudo sed -i -e '68d' /etc/apt/sources.list (bu problemli çizgiyi siler)
  4. sudo apt-get update (bu veritabanını ümitle sabitlenmiş dosyayla günceller)

4. adımı denediğinizde hiçbir hata görünmüyorsa, sorun muhtemelen çözülür. Terminalden çıkıp Software Center / Update Manager'a geri dönebilirsiniz; çalışması gerekir.

Hala bir sorun varsa, orijinal dosyayı ile terminalden geri yükleyebilirsiniz sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list. Bu durumda, lütfen sorunlu satırları veya tüm dosyayı bir pastebin üzerine yapıştırın ve daha sonra size yardımcı olabiliriz.


3
Suçlu çizgiyi silmek iyi bir fikir olmayabilir (ancak bunu yapmadan önce işleri telafi etmek için tavsiyelerde bulunulur). Ya kullanıcının ihtiyaç duyduğu bir depo ise? Ayrıca, uzun bir çizgi bir şekilde iki çizgiye bölünmüşse, iki hatalı biçimlendirilmiş çizginiz olur (ve prosedürün tekrarlanması gerekir). man sources.listörnekler içeren bir bölüme sahiptir ve kullanıcıdan satırlarını örneklerle karşılaştırmasını istemek yararlı olabilir, belki de neyin yanlış olduğunu belirleyebilir ve kendisi düzeltebilir. Şahsen, sources.list dosyasını gönderene kadar beklerdim.
roadmr, haziran

@roadmr: Teşekkürler, gönderdiğiniz tüm senaryolara tamamen katılıyorum. Yeni başlayanların, nasıl bir dosya yayınlayacağını bile bilmiyor olabilirler, nasıl yapılacağı belirtilmediği sürece, bu dosyadaki belirli satırları bırak. Bu, kendimi-QA-howto'yu yazmam için bana ilham verdi :-)
ish

@roadmr Bir uzun satır iki satıra bölünmüşse iki hatalı biçimlendirilmiş satır hakkında bir hata mesajı alacağınıza inanıyorum .
mchid

Eğer unutmayın -i.backupgeçirilir sedyerine sadece -io sedyedek dosyasını kendisi yapacaktır.
Eliah Kagan

5

Dosya /etc/apt/sources.list, web sunucularının URL'lerini ve yazılımınızı ve güncellemelerinizi aldığınız diğer kaynak formunun (örn. Cd) konumunu içerir. Temelde Ubuntu'ya yeni Yazılımın nerede arayacağını ve daha önce kurulmuş programların güncellemelerini söyler. Aldığınız hata mesajı, bir şekilde dosyanın ele alındığını gösterir. Dosyanızın içeriğinin ne olduğunu bilmeden, tam olarak neyin yanlış olduğunu bilmek zordur. Bu yüzden size sudo more /etc/apt/sources.listdaha iyi yardım edebilmemiz için bize çıktılarını göndermelisiniz .

Dosya onarılamayacak kadar karmaşıksa, yenisini oluşturmak için Ubuntu Kaynak Listesi Oluşturucu kullanabilirsiniz sources.list. Ama eski olanı önceden yedeklemelisin . Ayrıca bu, Yazılım Kaynaklarınız için, örneğin Sofware Center'da yaptığınız tüm değişiklikleri kaybetmenize neden olacaktır.

Bunu düzeltmenin daha iyi yolu, senin sorununda ne olduğunu görmemize izin vermek. sources.list

Mesajınızı gönderdikten sonra düzenle sources.list:

Gönderdiğiniz dosyanın şöyle görünmesi gerektiğine inanıyorum (satırdaki son satırları ve /etc/apt/sources.listsonundaki eksikleri not edin ):

# /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse 
deb http://security.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.canonical.com/ubuntu partner
deb-src http://archive.canonical.com/ubuntu partner

Dosyalarımı yedekledikten sonra kaynak listesi üreticisini deneyeceğim ancak bu işlem biraz zaman alacak. Dizüstü bilgisayarım hala HDD’de, bu yüzden henüz hızlı değil. Source.list'imi yukarıdaki mesaja ekledim.
Odi1215

Sadece bir dosyayı aramak için yeterlidir sources.list.
con-f-

Tamam yapacağım. O zaman kaynak listesi üretecini deneyeceğim?
Odi1215

Pozitif. Bu bir evettir.
con-f kullanımı

Daha fazla /etc/apt/sources.list sudo yazdım ama hiçbir şey olmadı.
Odi1215,

5

Lütfen sources.listdosyanızı sudo gedit /etc/apt/sources.listbir terminale bırakarak düzenlemeye çalışın (şifreniz sorulabilir), ardından gEdit'in Menü Düzenleme / Tercihlerinde "Satır Numaraları" nı etkinleştirme ve "Satır numaralarını göster" onay kutusunu tıklatma seçeneklerine sahip olacaksınız. Daha sonra, manuel olarak sizin hatasında Satır'a gidiniz, örneğin 91 veya "Ara / Satıra git" seçeneğini kullanarak (Ctrl + Ben hile yapıyorum).

görüntü tanımını buraya girin

Satırın (91) başında, bu satır hakkında ##yorum yapmak için iki # sembolü ( ) bırakın ve bu şekilde güncelleme işleminden kaldırın (ayrıca bu satırı kendi sorumluluğunuzda silebilirsiniz, size bir yedekleme öneririm).

İşiniz bittiğinde dosyayı kaydedin ve kapatın. Ardından bir terminal açın ve çalıştırın sudo apt-get updateve hatanın hala görünüp görünmediğine bakın. Değilse, güncelleme yöneticinizi açmayı deneyin.

Her nasılsa, sources.listDosyanızın 91. satırındaki metin bozuk görünüyor ya da bir tür hata var, bu da bazı yazılımların yüklenemediğini / güncellendiğini / yükseltilemediği anlamına geliyor.

Hatalı satırı yorumlayarak / kaldırarak yazılım kurulmaz (zaten değilse) ya da denediyseniz güncellenmez / yükseltilmez. Hangi satırın nereden geldiğini (hangi yazılımın gerektirdiğini) kontrol etmenizi ve her şeyin yolunda gitmesini sağlamak için gerektiği şekilde doğru değişiklikleri yapmanızı öneririm.


4

Aşağıdaki gibi hatalı biçimlendirilmiş herhangi bir satır hatasıyla karşılaşırsanız , dosyayı silmek yerine satırı yorumlamanızı ( satırdan önce ekleyerek# ) şiddetle tavsiye ederim /etc/apt/sources.list.

E: Malformed line 91 in source list /etc/apt/sources.list (dist parse)

Yukarıdaki hata itibaren satır numarası 91içinde /etc/apt/sources.listdosyanın bozuk. 91 numaralı satırı yorumlamak için terminaldeki aşağıdaki komutu çalıştırmanız gerekir.

sudo sed -i '91s/\(.*\)/#\1/' /etc/apt/sources.list

91Yukarıdaki kodda satır numarasını gösterir. Hatalı biçimlendirilmiş hat hatası varsa, yukarıdaki koddaki 91 rakamını ile değiştirin.

Bazı durumlarda hatalı biçimlendirilmiş satır hatası, /etc/apt/sources.list.ddizinde gerçekten var olan bir liste dosyasında da ortaya çıkar . Örneğin,

E: Malformed line 1 in source list /etc/apt/sources.list.d/google.list (dist parse)

Bu durumda google.listdosyayı çalıştırarak silmenizi sudo rm /etc/apt/sources.list.d/google.listve ilgili PPA'yı tekrar eklemenizi şiddetle tavsiye ederim .

Sonunda sudo apt-get updateterminaldeki komutu çalıştırarak tüm depoları güncelleyin . Şimdi hata görünmüyor.


3

Bu dosyanın son satırını silmelisiniz (elbette dosyanın kendisi değil):

 /etc/apt/sources.list

Kişisel sources.listdosya böyle bir şey görünmek zorunda:

# /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse 
deb http://security.ubuntu.com/ubuntu/ precise-security main restricted universe   multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.canonical.com/ partner
deb-src http://archive.canonical.com/ partner

Elbette, sources.listdosyanızı yalnızca bu metinle değiştirmek , özellikle daha önce çok farklı görünüyorsa çok kötü bir şey olabilir. Kilit nokta, her satırın debveya ile başlamasıdır deb-src(yorumlarla başlayanlar hariç #).


1
@Malika Merhaba, Bu sorunu çözdü sevindim. Ancak lütfen soruları yalnızca soru sahibi için değil, Google’ı bu soruyu soran ve sorunun sorununun biraz farklı olduğu kişiler için de yanıtlamaya çalışın. Bunun muhtemelen iyi bir "genel" cevap vermesi için biraz daha açıklamaya ihtiyacı var. :)
Jjed

@JacobJohanEdwards Sizinle aynı fikirde değilim, çünkü soruyu okumadan önce komutları uygulayan insanlara yardım edemiyoruz, IMO
Enver

2
@Anwar Benim düşünceme göre, (a) yalnızca asıl soruya [çok yerelleştirilmiş] yardım edecek şekilde cevap vermeme sorumluluğu (a) ' nın (b) sorumluluğunun yanlıştır. komut. Bir feragatname yardımcı olur.
Jjed

1

CTRL+ Alt+ Tuşlarını kullanarak bir terminal açın Tve doğru veri havuzu biçiminde olmayan satır 6'yı kaldırmak için aşağıdaki komutu uygulayın, böylece hatalı biçimlendirilmiş satır hakkında bir hata verir.

UYARI: Bu komutu ilk önce soruyu okumadan yürütmeyin, bu komut /etc/apt/sources.listdosyanın satırını 68 silecektir . Sorununuzun benzer olup olmadığını kontrol edin ve olsa bile, 68silmeniz gereken satırın numarasıyla değiştirin .

sudo sed -i.old '68d' /etc/apt/sources.list

Bu komut, sedyerinde kullanarak hattı siler . Adı verilen bir yedekleme yapar /etc/apt/sources.list.old. Yedeklemeyi istemiyorsanız, -ibunun yerine düz kullanabilirsiniz -i.old.

Alternatif olarak, Gedit ile satırı manuel olarak silebilirsiniz.

  • Alt+ Tuşlarına basın F2ve yazın gksu gedit /etc/apt/sources.list.
    (Eğer sahip gksudeğilseniz, kullanabilirsiniz sudo -H gedit.)
  • Bozuk bulun /etc/apt/sources.listve kaldırın.
  • Kaydet ve Gedit'ten çık.

Depo kaynak hattının doğru formu:

Depo kaynak satırının doğru formatı şudur:

<type of repository> <location i.e URI>  <dist-name> <components i.e main, universe>

Örneğin:

  deb http://archive.ubuntu.com/ubuntu precise main
  • Tür: deb repo türüdür, türüne sahip bir kaynak deposu değil, ikili bir depo olduğunu belirtir deb-scr.
  • Yer: http://archive.ubuntu.com/ubuntu havuzun yeri
  • Dist-name: precise Ubuntu sürümünün dağıtım adıdır. Ubuntu 12.04 için precise, 11.10oneiric

  • Bileşen: main havuzun bileşenini gösterir. Ubuntu deposu dört bölüme ayrılmıştır .

    1. Ana - Ücretsiz ve açık kaynaklı yazılım içeren, resmen desteklenir
    2. Evren - Bu yazılımlar Canonical tarafından desteklenmiyor, bunlar topluluk tarafından korunuyor.
    3. Sınırlı - Bu yazılımlar Canonical tarafından desteklenir, ancak ücretsiz değildir. Bunlar bazı temel sürücüler sağlamak için desteklenir
    4. Multiverse - Bunlar aynı zamanda özgür olmayan yazılımlardır ve Canonical tarafından desteklenmez.

Daha fazla bilgi için bu sayfaya bakın .

Artık /etc/apt/sources.listbunun bir depo kaynak hattı olmadığını ve bundan apt-getşikayetçi olduğunu anlayabilirsiniz .



1
Merhaba, Anwar, bu iyi bir cevap, ama sadece üstünde bir emir olması çok riskli sudo sed. Aynı problemi olan (ancak biraz farklı şartlarda) birçok kişi bu cevabı görecek ve nezaketle onu çalıştıracak ve potansiyel olarak sources.listtamir edilemeyeceklerini yıkacaktır. Bu durumda daha genel bir yaklaşım (bir metin editörüyle) sırayla olabilir.
Jjed
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.