Bagaimana cara menghapus garis salah bentuk dari sources.list saya?

68

Saya telah unistalled dan menginstal ulang Ubuntu Software Center sesuai info yang saya temukan di utas yang sama dan saya mendapat respons yang sama tentang jalur 91 atau sesuatu seperti itu.

Saya baru saja mencoba mengunggah tangkapan layar tetapi karena saya baru, itu tidak memungkinkan saya. Saya juga tidak tahu bagaimana cara memotong dan menempelkan sesuatu jadi saya harus mengetikkan apa yang dikatakan layar kesalahan, baik ketika saya mencoba untuk membuka pusat perangkat lunak dan tidak ada yang terjadi, ketika saya mencoba memasukkan perintah ke terminal untuk mencopot pemasangan, pasang kembali , apa pun yang saya dapatkan sebagai berikut:

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.

Bagaimana cara melaporkan bug? Apa yang bisa dilakukan tentang ini. Saya telah mencari dan semua yang dikatakan semua orang akan menuntun saya kembali ke pesan kesalahan baris yang sama.

Jadi, saya tidak tahu bagaimana mendapatkan baris 91 di daftar sumber; untuk memberi tahu Anda apa yang dikatakannya. Maaf, saya benar-benar baru dalam hal ini. Itulah yang saya butuhkan adalah mencari tahu bagaimana menuju ke sana dan memperbaiki apa yang dikatakannya. Saya benar-benar ingin TIDAK harus mempartisi hard drive saya dan mulai dari awal, jadi saya benar-benar berharap untuk menyelesaikan masalah ini. Saya harus dapat menginstal perangkat lunak baru.

eminencejae
sumber
8
Bisakah Anda menambahkan konten Anda /etc/apt/sources.listantara garis 67 dan 69 ???
Bruno Pereira
2
Edit pertanyaan Anda untuk memasukkan output dari perintah cat /etc/apt/sources.list. Dan tidak, Anda tidak perlu menghapus semuanya. Ini masalah yang sangat mudah ( dari pengalaman saya )
Anwar
Anda tidak perlu poin rep untuk memposting output. Namun, Anda perlu memformat output sebagai kode atau itu tidak akan membiarkan Anda memposting output karena Anda tidak memiliki cukup poin rep untuk memposting banyak tautan. Edit pertanyaan dan rekatkan output kemudian sorot output dan kemudian tekan CTRL + K untuk memformat output sebagai kode dan kemudian menyimpan perubahan.
mchid

Jawaban:

55

Beberapa baris rusak di sources.listfile Anda (atau *.listfile lain di sources.list.d/).

Edit file yang disebutkan dalam kesalahan untuk memperbaiki garis yang rusak.

  1. Untuk melakukan ini, jalankan perintah ini (tekan Ctrl+ Alt+ Tuntuk membuka Terminal):

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

    Atau, daripada Gedit (yang tidak dimiliki semua sistem Ubuntu), Anda mungkin lebih suka membuka file editor teks berbasis terminal:

    sudoedit /etc/apt/sources.list
    

    Jika perlu, ganti /etc/apt/sources.listdengan nama file lain, yaitu path ke beberapa file di dalamnya /etc/apt/sources.list.d/.

  2. Temukan garis-garis yang tidak diformat dengan benar (lihat kesalahan untuk nomor baris, lalu lihat di sekitar titik itu). Ini adalah contoh garis yang diformat dengan benar:

    # 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, distributiondan komponen akan berbeda. Itu tidak harus harus memiliki 3 komponen.

    Apa pun yang tidak sesuai dengan format ini tidak benar.

  3. Simpan file dan keluar dari editor teks. Kemudian jalankan perintah ini di jendela Terminal:

    sudo apt-get update
    

Dengan asumsi tidak ada kesalahan, masalahnya sekarang sudah diperbaiki. Anda harus dapat menjalankan Sofware Center.

Namun, sementara beberapa masalah dengan Pusat Perangkat Lunak dapat diselesaikan dengan menginstal ulang software-centerpaket, sebagian besar tidak bisa, jadi ada kemungkinan masalah asli Anda akan tetap ada. Jika demikian, Anda dapat memposting pertanyaan baru untuk mendapatkan bantuan.

Eliah Kagan
sumber
Saya berpikir bahwa kadang-kadang untuk distro berbasis Debian yang Anda butuhkan ./di akhir baris seperti dalam contoh
user10089632
27

Metode Cepat

Solusi untuk masalah ini dapat membangun sources.listentri dari awal.

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
  • Salin konten di atas (dalam kotak abu-abu) dan buka sources.listfile sebagai root.

    Mengetik sudo -H gedit /etc/apt/sources.listini di terminal dan memukul Enterakan melakukan pekerjaan.

  • Kemudian rekatkan konten yang disalin di sources.list- note Anda mungkin perlu mengganti precisedengan nama kode yang mewakili versi Ubuntu Anda - misalnya trustyuntuk 14,04. Kemudian simpan dan tutup gedit.

  • Kemudian lakukan sudo apt-get updatedan Anda akan melihat bahwa daftar repositori diperbarui.

Penjelasan: Di sini kita sepenuhnya mengganti konten dengan file sources.list lain dengan entri repositori dari Server Utama. Jika Anda ingin menggunakan server lokal Anda untuk sources.listmelihat metode di bawah ini.

Metode yang Direkomendasikan

Pergi ke situs generator daftar sumber Ubuntu .

  • Pilih negaramu.
  • Pilih cabang yang Anda inginkan, seperti Main, Restricted, Multiverse, Universe.
  • Pilih daftar pembaruan yang diinginkan, -
  • Pilih daftar repositori pihak ketiga mana pun jika Anda mau.
  • Klik Hasilkan daftar di bagian bawah halaman, Anda akan diberikan daftar dengan repositori.
  • Salin daftar itu dan ganti dengan sources.listfile yang Anda miliki.

Kamu selesai. (Saya harap ini akan membantu.)

Anwar
sumber
5
Aneh bahwa ini tidak diterima !! Perbaikan cepat, komentar baris bermasalah /etc/apt/sources.listdengan menambahkan ##sebagai karakter pertama di baris. Lalu coba sudo apt-get update.
Noble P. Abraham
3
Mungkin itu tidak diterima karena pengguna mungkin memiliki repo lain yang diaktifkan dan mereka akan kehilangan mereka jika mereka melakukan ini. Sebagai contoh, sebagian besar pengguna VirtualBox mendapatkannya dari repo Oracle. Juga, Oracle menggunakan nama paket yang berbeda di repo di sana daripada di Ubuntu. Oleh karena itu, jika saya menginstal VirtualBox dengan repo Oracle dan mengikuti panduan ini, saya akan duduk di versi yang sama dari VirtualBox sepanjang waktu dan tidak pernah mendapatkan pembaruan. Tidak pernah.
John Scott
@ FuzzyToothpaste mereka tidak akan kehilangan mereka jika mereka melakukan ini. Itu hanya menghapus entri duplikat. Skenario contoh Anda tidak ada hubungannya dengan masalah ini
Anwar
Saat menggunakan situs generator daftar sumber Ubuntu untuk menghasilkan file sources.list baru jangan lupa untuk memperbarui kunci GPG. Jika tidak, masalah dapat tetap ada
Tushar Goswami
6

Seperti yang Anda lihat dari kesalahan, ia mengatakan bahwa file sources.list Anda memiliki entri yang salah. Entri yang salah ini tidak dapat diuraikan Kesalahan ini tidak terkait dengan Pusat Perangkat Lunak seperti itu tetapi sebagian besar berkaitan dengan apt (Manajer paket)

Cara untuk menyelesaikan ini adalah dengan memperbaiki 91entri baris yang salah .

Jika Anda tidak dapat memahami apa yang salah dengan saluran 91, silakan kirim baris 91 dan saya akan membantu Anda

Manish Sinha
sumber
6

Harap tempelkan file /etc/apt/sources.listsehingga kami dapat memecahkan masalah ini untuk Anda. Lihat jawaban tutorial singkat ini untuk melakukannya:

Bagaimana saya bisa dengan mudah berbagi output dari perintah atau file teks dengan yang lain?


Ini kadang - kadang bisa menjadi perbaikan yang sangat mudah, tetapi Anda harus membuat cadangan sources.list terlebih dahulu karena ini adalah file penting.

  1. Buka terminal dengan Ctrl+ Alt+ T.
  2. Ketik / rekat: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup(ini membuat salinan cadangan)
  3. sudo sed -i -e '68d' /etc/apt/sources.list (ini menghapus garis yang bermasalah)
  4. sudo apt-get update (ini memperbarui database dengan file yang diharapkan diperbaiki)

Jika Anda melihat tidak ada kesalahan yang muncul ketika Anda mencoba langkah 4, masalah ini semoga dapat diatasi. Anda dapat keluar dari terminal dan kembali ke Pusat Perangkat Lunak / Pembaruan Manajer dan itu akan berfungsi.

Jika masih ada masalah, Anda dapat mengembalikan file asli dari terminal dengan sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list. Dalam hal ini, silakan tempelkan baris yang bermasalah atau bahkan seluruh file ke pastebin dan kemudian kami dapat membantu lebih lanjut.

ish
sumber
3
Menghapus garis yang menyinggung mungkin bukan ide yang baik (tetapi pujian atas saran untuk mendukung semuanya sebelum melakukan ini). Bagaimana jika itu repositori yang dibutuhkan pengguna? Juga, jika garis panjang entah bagaimana dipecah menjadi dua garis, Anda akan memiliki dua garis cacat (dan prosedur harus diulang). man sources.listmemiliki bagian dengan contoh dan mungkin berguna untuk meminta pengguna membandingkan garisnya dengan contoh, mungkin dia dapat menentukan apa yang salah dan memperbaikinya sendiri. Secara pribadi saya akan menunggu sampai dia memposting file sources.list-nya.
roadmr
@roadmr: Terima kasih, saya setuju sepenuhnya dengan semua skenario yang Anda ajukan. Saya hanya merasa bahwa pemula mungkin bahkan tidak tahu cara memposting file, apalagi baris tertentu dari file itu, kecuali disarankan bagaimana. Itu mengilhami saya untuk menulis self-QA-howto ini :-)
ish
@roadmr Saya yakin Anda akan mendapatkan pesan kesalahan tentang dua baris salah format jika satu baris panjang dibagi menjadi dua baris.
mchid
Perhatikan bahwa jika -i.backupdilewatkan ke sedbukan hanya -ikemudian sedakan membuat file backup itu sendiri.
Eliah Kagan
5

File tersebut /etc/apt/sources.listberisi URL webservers dan lokasi formulir sumber lain (mis. Cd), tempat Anda mengambil perangkat lunak dan pembaruan. Ini pada dasarnya memberitahu Ubuntu di mana mencari Perangkat Lunak baru dan pembaruan untuk program yang sudah diinstal. Pesan kesalahan yang Anda peroleh berarti, entah bagaimana file itu dapat dikompromikan. Tanpa mengetahui apa isi file Anda, sulit untuk mengetahui apa sebenarnya yang salah dengannya. Jadi, Anda harus memposting output sudo more /etc/apt/sources.listuntuk kami untuk membantu Anda lebih baik.

Jika file berantakan tidak dapat diperbaiki, Anda dapat menggunakan Generator Daftar Sumber Ubuntu untuk menghasilkan yang sources.listbaru. Tetapi Anda harus membuat cadangan yang lama Anda sebelumnya. Juga ini akan menyebabkan Anda kehilangan semua perubahan yang telah Anda buat untuk Sumber Perangkat Lunak Anda, misalnya di Sofware Center.

Cara yang lebih baik untuk memperbaikinya adalah membiarkan kami melihat apa yang salah dengan Anda sources.list

Edit setelah Anda memposting sources.list:

Saya percaya file yang Anda posting akan terlihat seperti ini (perhatikan baris terakhir dan yang hilang /etc/apt/sources.listpada akhirnya):

# /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
membingungkan
sumber
Saya akan mencoba pembuat daftar sumber setelah saya membuat cadangan file saya tetapi itu akan sangat memakan waktu. Laptop saya masih menggunakan HDD sehingga belum secepat itu. Saya menambahkan source.list saya ke pesan di atas.
Odi1215
Cukup untuk membuat cadangan hanya satu file yang dipanggil sources.list.
con-f-use
Oke, akan lakukan. Lalu saya akan mencoba generator daftar sumber?
Odi1215
Positif. Itu Ya.
con-f-use
Saya mengetikkan sudo lebih banyak /etc/apt/sources.list tetapi tidak ada yang terjadi.
Odi1215
5

Silakan coba edit sources.listfile Anda dengan menjatuhkan sudo gedit /etc/apt/sources.listterminal (kata sandi Anda mungkin diminta), setelah itu Anda akan memiliki opsi untuk mengaktifkan "Nomor Baris" di Edit Menu / Preferensi gEdit dan mengklik kotak centang "Tampilkan nomor baris", kemudian secara manual pergi ke Baris dalam kesalahan Anda misalnya 91 atau dengan menggunakan "Cari / Pergi ke baris" (Ctrl + I melakukan trik).

masukkan deskripsi gambar di sini

Pada awal Baris 91, turunkan dua simbol # ( ##) untuk mengomentari garis itu dan dengan cara ini hapus dari proses pembaruan (Anda juga dapat menghapus garis itu dengan risiko Anda sendiri, saya sarankan Anda membuat cadangan).

Setelah selesai, simpan file dan tutup. Kemudian buka terminal dan jalankan sudo apt-get updatedan lihat apakah kesalahan masih muncul. Jika tidak, coba buka pengelola pembaruan Anda.

Entah bagaimana tampaknya teks di Baris 91 sources.listfile Anda rusak atau ada beberapa jenis kesalahan, yang berarti bahwa beberapa perangkat lunak tidak dapat diinstal / diperbarui / ditingkatkan.

Dengan berkomentar / menghapus garis yang salah, perangkat lunak tidak akan diinstal (jika belum) atau tidak akan diperbarui / ditingkatkan jika itu yang Anda coba. Dari yang saya sarankan Anda untuk memeriksa dari mana garis itu berasal (perangkat lunak mana yang memerlukannya) dan melakukan modifikasi yang tepat seperti yang diperlukan agar semuanya berjalan dengan baik.

Geppettvs D'Constanzo
sumber
4

Jika Anda menghadapi kesalahan garis yang salah seperti di bawah ini, saya sangat menyarankan Anda untuk berkomentar ( menambahkan #sebelum baris ) baris daripada menghapusnya dalam /etc/apt/sources.listfile.

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

Dari kesalahan di atas, nomor baris 91dalam /etc/apt/sources.listfile rusak. Untuk mengomentari nomor baris 91, Anda harus menjalankan perintah di bawah pada terminal.

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

91dalam kode di atas mewakili nomor baris. Ganti nomor 91 dalam kode di atas dengan Anda jika Anda mendapat kesalahan garis yang salah.

Dalam beberapa kasus kesalahan garis yang salah juga akan terjadi di file daftar yang sebenarnya ada di dalam /etc/apt/sources.list.ddirektori. Sebagai contoh,

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

Dalam hal ini saya sangat menyarankan Anda untuk menghapus google.listfile dengan menjalankan sudo rm /etc/apt/sources.list.d/google.listdan kemudian menambahkan PPA yang sesuai lagi.

Akhirnya perbarui semua repositori dengan menjalankan sudo apt-get updateperintah pada terminal. Sekarang kesalahan tidak akan muncul.

Avinash Raj
sumber
3

Anda harus menghapus baris terakhir file ini (bukan file itu sendiri, tentu saja):

 /etc/apt/sources.list

sources.listFile Anda harus terlihat seperti ini:

# /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

Tentu saja, mengganti sources.listfile Anda dengan teks itu bisa menjadi hal yang sangat buruk, terutama jika itu terlihat sangat berbeda sebelumnya. Poin kuncinya adalah bahwa setiap baris dimulai dengan debatau deb-src(kecuali untuk komentar, yang dimulai dengan #).

Ratu Malika
sumber
1
@Malika Halo, saya senang masalah ini diperbaiki. Tetapi tolong coba menjawab pertanyaan tidak hanya untuk penanya, tetapi juga untuk orang-orang yang Google pertanyaan ini dan memiliki sedikit variasi masalah penanya. Ini mungkin perlu sedikit penjelasan lebih lanjut untuk menjadikannya jawaban "umum" yang bagus. :)
Jjed
@JacobJohanEdwards Saya tidak setuju dengan Anda, karena kami benar-benar tidak dapat membantu orang-orang yang menjalankan perintah sebelum membaca pertanyaan, IMO
Anwar
2
@Anwar Menurut pendapat saya, merupakan tanggung jawab penjawab untuk (a) tidak menjawab dengan cara yang hanya membantu penanya asli [yang terlalu terlokalisasi], (b) tidak tidak secara tepat memperingatkan potensi efek samping dari suatu perintah. Penafian membantu.
Jjed
1

Buka terminal menggunakan CTRL+ Alt+ Tdan jalankan perintah di bawah ini untuk menghapus baris 6, yang bukan bentuk yang benar dari baris sumber repositori, sehingga memberikan Anda kesalahan tentang baris salah bentuk.

PERINGATAN: Jangan jalankan perintah ini tanpa membaca pertanyaan terlebih dahulu, perintah ini akan menghapus baris 68 /etc/apt/sources.listfile. Periksa apakah masalah Anda serupa dan, bahkan jika itu, ganti 68dengan jumlah baris yang perlu Anda hapus .

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

Perintah ini akan menghapus baris menggunakan seddi tempat. Itu membuat cadangan dipanggil /etc/apt/sources.list.old. Jika Anda tidak ingin cadangan maka Anda dapat menggunakan polos, -ibukan -i.old.

Atau, Anda dapat menghapus garis secara manual dengan Gedit.

  • Tekan Alt+ F2dan ketik gksu gedit /etc/apt/sources.list.
    (Jika Anda tidak memiliki, gksuAnda dapat menggunakan sudo -H gedit.)
  • Temukan yang rusak /etc/apt/sources.listdan hapus.
  • Simpan dan keluar dari Gedit.

Bentuk baris sumber repositori yang benar:

Format baris sumber repositori yang benar adalah:

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

Sebagai contoh:

  deb http://archive.ubuntu.com/ubuntu precise main
  • Jenis: deb adalah jenis repo, ini menunjukkan repositori biner, bukan repositori sumber, yang bertipe deb-scr.
  • Lokasi: http://archive.ubuntu.com/ubuntu lokasi repositori
  • Dist-name: precise adalah nama distribusi rilis Ubuntu. untuk Ubuntu 12,04 precise, 11,10 adalahoneiric

  • Komponen: main menunjukkan komponen repositori. Repositori Ubuntu dibagi menjadi empat bagian.

    1. Utama - Yang berisi perangkat lunak bebas dan sumber terbuka, yang didukung secara resmi
    2. Semesta - Perangkat lunak ini tidak didukung oleh Canonical, tetapi perangkat lunak tersebut dikelola oleh komunitas.
    3. Dibatasi - Perangkat lunak ini didukung oleh Canonical, tetapi tidak gratis. Ini didukung untuk menyediakan beberapa driver penting
    4. Multiverse - Ini juga perangkat lunak tidak bebas, dan tidak didukung oleh Canonical.

Lihat halaman ini untuk informasi lebih lanjut.

Anda sekarang dapat mengerti bahwa /etc/apt/sources.listitu bukan baris sumber repositori dan karenanya apt-getmengeluhkannya.


Anwar
sumber
1
Hai, Anwar, ini adalah jawaban yang bagus, tetapi sangat berisiko hanya memiliki sudo sedperintah di atasnya. Banyak orang dengan masalah yang sama (tetapi keadaan yang sedikit berbeda) akan melihat jawaban ini dan mau tidak mau menjalankannya, dan berpotensi merusak sources.listperbaikan mereka. Dalam hal ini pendekatan yang lebih umum (dengan editor teks) mungkin dilakukan.
Jjed