Как удалить неверную строку из моего sources.list?

54

У меня есть unistalled и переустановил Ubuntu Software Center в соответствии с информацией, которую я нашел в подобном потоке, и получил тот же ответ о строке 91 или что-то в этом роде.

Я просто попытался загрузить снимок экрана, но поскольку я новичок, это не позволит мне. Я также не могу понять, как вырезать и вставить что-либо, поэтому мне нужно указать тип экрана ошибки, как при попытке открыть программный центр, так и ничего не происходит, когда я пытаюсь ввести команды в терминал для удаления, переустановите , что бы я ни получил:

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.

Как сообщить об ошибках? Что можно сделать по этому поводу. Я искал, и все, что все говорят, приводит меня обратно к тому же сообщению об ошибке линии.

Итак, я не знаю, как добраться до строки 91 в исходном списке; чтобы рассказать вам, что он говорит. Извините, я на самом деле новичок в этом. Это то, что мне нужно, это выяснить, как туда добраться и исправить то, что он говорит. Мне бы очень хотелось, чтобы НЕ переделывать мой жесткий диск и начинать с нуля, поэтому я с нетерпением жду решения этой проблемы. Мне нужно установить новое программное обеспечение.

    
задан eminencejae 13.11.2011 в 21:43
источник

9 ответов

42

Некоторые строки разбиты в файле sources.list (или другом *.list в sources.list.d/ ).

Отредактируйте файл, указанный в ошибке, чтобы исправить ломаные строки.

  1. Для этого запустите эту команду (нажмите Ctrl + Alt + T , чтобы открыть терминал):

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

    При необходимости замените /etc/apt/sources.list на другое имя файла.

  2. Найдите строки, которые некорректно отформатированы (см. ошибку для номера строки, затем просмотрите эту точку). Это примеры правильно отформатированных строк:

    # 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, distribution и компоненты будут разными. Он не обязательно должен иметь 3 компонента.

    Все, что не соответствует этому формату, неверно.

  3. Сохраните файл и закройте текстовый редактор. Затем запустите эту команду в окне терминала:

    sudo apt-get update
    

Предполагая, что ошибок нет, проблема теперь исправлена. Вы должны иметь возможность запускать Sofware Center.

Однако, хотя некоторые проблемы с Центром программного обеспечения можно решить, переустановив пакет software-center , большинство из них не могут, поэтому возможно, что проблема с оригинальной останется. Если это так, вы можете опубликовать новый вопрос, чтобы получить справку.

    
ответ дан Eliah Kagan 21.08.2012 в 15:06
25

Быстрый метод

Обходной путь для этой проблемы может заключаться в создании записи sources.list с нуля.

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
  • Скопируйте вышеуказанный контент (в сером поле) и откройте файл sources.list с правами root.

    Ввод sudo -H gedit /etc/apt/sources.list этого в терминале и нажатие Enter выполнит задание.

  • Затем вставьте скопированный контент в sources.list - note, вам, вероятно, потребуется заменить precise на кодовое имя, представляющее вашу версию Ubuntu - например. trusty за 14.04. Затем сохраните и закройте gedit.

  • Затем сделайте sudo apt-get update , и вы увидите, что список репозитория обновлен.

Объяснение: . Здесь мы полностью заменяем содержимое другим файлом sources.list с записью репозитория с основного сервера. Если вы хотите использовать локальный сервер для sources.list , см. Метод ниже.

Рекомендуемый метод

Перейдите в сайт генератора списков источников Ubuntu .

  • Выберите свою страну.
  • Выберите нужные ветви, такие как Main, Restricted, Multiverse, Universe.
  • Выберите желаемый список обновлений,
  • Выберите любой список репозитория третьей стороны, если хотите.
  • Нажмите Создать список в нижней части страницы, вам будет предоставлен список с репозиториями.
  • Скопируйте этот список и замените его на файл sources.list .

Вы закончили. (Надеюсь, это поможет.)

    
ответ дан Anwar 18.06.2012 в 07:24
6

Как вы можете видеть из этой ошибки, он говорит, что ваш файл sources.list имеет неправильную запись. Эта неправильная запись не может быть проанализирована. Эта ошибка не связана с программным центром как таковым, но в основном используется с apt (диспетчер пакетов)

Способом решения этой проблемы было бы исправить ошибку с ошибкой 91 .

Если вы не можете понять, что не так в строке 91, отправьте строку 91, и я помогу вам

    
ответ дан Manish Sinha 13.11.2011 в 21:50
6

Вставьте файл /etc/apt/sources.list , чтобы мы могли устранить эту проблему. В этом кратком учебном ответе вы узнаете, как это сделать:

  

Как я могу легко поделиться выводами команды или текстового файла с другими?

Это может быть иногда очень легкое исправление, но вы должны сначала выполнить резервное копирование sources.list , так как это критический файл.

  1. Откройте терминал с помощью Ctrl + Alt + T .
  2. Тип / вставка: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (создает резервную копию)
  3. sudo sed -i -e '68d' /etc/apt/sources.list (это удаляет проблемную строку)
  4. sudo apt-get update (это обновляет базу данных с надежным фиксированным файлом)

Если вы не видите ошибок при попытке выполнить шаг 4, проблема, надеюсь, будет исправлена. Вы можете выйти из терминала и вернуться к Software Center / Update Manager, и он должен работать.

Если проблема по-прежнему сохраняется, вы можете восстановить исходный файл из терминала с помощью sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list . В этом случае, пожалуйста, вставьте проблемные строки или даже весь файл в pastebin, а затем мы можем помочь в дальнейшем.

    
ответ дан izx 18.06.2012 в 01:50
5

Файл /etc/apt/sources.list содержит URL-адреса веб-серверов и расположение других источников (например, cds), из которых вы получаете свое программное обеспечение и обновления. В основном это говорит Ubuntu, где искать новое ПО и обновления уже установленных программ. Сообщение об ошибке, которое вы получили, означает, что каким-то образом файл был взломан. Не зная, что представляет собой содержимое вашего файла, трудно понять, что именно не так с ним. Поэтому вы должны опубликовать вывод sudo more /etc/apt/sources.list для нас, чтобы помочь вам лучше.

Если файл перепутан без ремонта, вы можете использовать Генератор списка источников Ubuntu для создания sources.list заново. Но вы должны создать резервную копию старого заранее. Кроме того, это приведет к потере всех изменений, внесенных вами для ваших источников программного обеспечения, например. в Sofware Center.

Лучший способ исправить это - позволить нам понять, что не так с вашим sources.list

Изменить после того, как вы разместили свой sources.list :

Я считаю, что файл, который вы опубликовали, должен выглядеть так (обратите внимание на последние строки и недостающие /etc/apt/sources.list в конце):

# /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
    
ответ дан con-f-use 31.07.2012 в 19:23
4

Попробуйте отредактировать файл sources.list , сбросив sudo gedit /etc/apt/sources.list в терминале (ваш пароль может быть задан), после чего у вас будут опции для включения «Номера строк» ​​в меню «Редактирование / предпочтения» gEdit и щелкнув флажок «Показать номера строк», затем вручную перейдите к строке в вашей ошибке, например 91 или с помощью «Search / Go to line» (Ctrl + I делает трюк).

В начале строки 91 отпустите два символа ( ## ), чтобы прокомментировать эту строку, и таким образом удалите ее из процесса обновления (вы также можете удалить эту строку на свой страх и риск, я предлагаю вам создать резервную копию ).

Когда вы закончите, сохраните файл и закройте его. Затем откройте терминал и запустите sudo apt-get update и посмотрите, не исчезла ли ошибка. Если нет, попробуйте открыть диспетчер обновлений.

Как-то кажется, что текст в строке 91 вашего файла sources.list поврежден или есть какая-то ошибка, а это значит, что какое-то программное обеспечение не может быть установлено / обновлено / обновлено.

Комментируя / удаляя ошибочную строку, программное обеспечение не будет установлено (если оно еще не было) или не будет обновлено / обновлено, если это то, что вы пытаетесь сделать. Из чего я предлагаю вам проверить, откуда идет эта строка (какое программное обеспечение требует этого), и вносить необходимые изменения, чтобы все было нормально.

    
ответ дан Geppettvs D'Constanzo 24.04.2013 в 18:48
3

Вы должны удалить последнюю строку этого файла (конечно, не сам файл):

 /etc/apt/sources.list

Ваш файл sources.list должен выглядеть примерно так:

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

Конечно, просто замена файла sources.list на этот текст может быть очень плохой, особенно если раньше он выглядел совсем по-другому. Ключевым моментом является то, что каждая строка начинается с deb или deb-src (кроме комментариев, которые начинаются с # ).

    
ответ дан Malika Queen 01.08.2012 в 16:07
3

Если вы столкнулись с некорректной ошибкой строки, как показано ниже, я настоятельно рекомендую вам прокомментировать ( добавление # до строки ) строки, а не удалить ее в файле /etc/apt/sources.list .

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

Из приведенной выше ошибки число строк 91 в файле /etc/apt/sources.list повреждено. Чтобы прокомментировать номер строки 91, вам нужно запустить следующую команду на терминале.

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

91 в приведенном выше коде представляет номер строки. Замените номер 91 в указанном выше коде, если у вас возникла некорректная ошибка строки.

В некоторых случаях неверная ошибка строки также встречается в файле списка, который фактически присутствовал внутри каталога /etc/apt/sources.list.d . Например,

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

В этом случае я настоятельно рекомендую удалить файл google.list , запустив sudo rm /etc/apt/sources.list.d/google.list , а затем снова добавьте соответствующий PPA.

Наконец, обновите все репозитории, выполнив команду sudo apt-get update на терминале. Теперь ошибка не появится.

    
ответ дан Avinash Raj 06.05.2014 в 10:42
1

Откройте терминал, используя CTRL + Alt + T и выполните приведенную ниже команду, чтобы удалить строку 6, что является неправильной формой репозитория source, таким образом apt дает вам ошибку о неверной строке.

ПРЕДУПРЕЖДЕНИЕ: . Не выполняйте эту команду, не прочитав сначала вопрос, эта команда удалит строку 68 файла /etc/apt/sources.list . Проверьте, соответствует ли ваша проблема , и даже если это так, замените 68 номером строки, которую нужно удалить .

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

Эта команда удалит строку, используя sed . Он создает резервную копию под названием /etc/apt/sources.list.old . Если вам не нужна резервная копия, вы можете использовать простой -i вместо -i.old .

Кроме того, вы можете вручную удалить строку с помощью Gedit.

  • Нажмите Alt + F2 и введите gksu gedit /etc/apt/sources.list .
    (Если у вас нет gksu , вы можете использовать sudo -H gedit .)
  • Найдите поврежденный /etc/apt/sources.list и удалите его.
  • Сохранить и выйти из Gedit.

Правильная форма исходной строки репозитория:

Правильный формат исходной строки репозитория:

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

Например:

  deb http://archive.ubuntu.com/ubuntu precise main
  • Тип: deb - тип репо, он указывает, что это двоичный репозиторий, а не исходный репозиторий, который имеет тип deb-scr .
  • Местоположение: http://archive.ubuntu.com/ubuntu расположения репозитория
  • Dist-name: precise - это имя распространения выпуска Ubuntu. для Ubuntu 12.04 это precise , 11.10 - oneiric

  • Компонент: main указывает компонент репозитория. Репозиторий Ubuntu разделен на части four .

    1. Главная - содержит бесплатное программное обеспечение с открытым исходным кодом, официально поддерживаемое
    2. Вселенная . Эти программные средства не поддерживаются Canonical, но они поддерживаются сообществом.
    3. Ограничено . Эти программные продукты поддерживаются Canonical, но не бесплатны. Они поддерживаются, чтобы обеспечить некоторые основные драйверы.
    4. Multiverse . Это также несвободные программы и не поддерживаются Canonical.

Подробнее см. эту страницу .

Теперь вы можете понять, что /etc/apt/sources.list не является исходной линией репозитория и, следовательно, apt-get жалуется на это.

ответ дан Anwar 01.08.2012 в 15:44