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

Я удалил и переустановил 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 в списке источников; сказать вам, что он говорит. Извините, я действительно новичок в этом. Вот что мне нужно, это выяснить, как туда добраться и исправить то, что там написано. Мне бы очень хотелось, чтобы мне НЕ пришлось перезаписывать мой жесткий диск и начинать с нуля, поэтому я очень жду решения этой проблемы. Мне нужно иметь возможность устанавливать новое программное обеспечение.

82
задан 9 June 2014 в 19:10

9 ответов

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

ПРЕДУПРЕЖДЕНИЕ: Не выполняйте эту команду, не прочитав сначала вопрос, эта команда удалит строку 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 является типом repo, он указывает на то, что это двоичный репозиторий, а не репозиторий исходного текста, который имеет тип deb-scr.

  • Location: http://archive.ubuntu.com/ubuntu location of the repository

  • Dist-name: precise is the distribution name of Ubuntu release. для Ubuntu 12.04 is precise, 11.10 is oneiric

  • Component: main is indication the component of repository. Репозиторий Ubuntu разделен на четыре части.

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

Смотрите на этой странице для получения более подробной информации.

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


1
ответ дан 9 June 2014 в 19:10

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

enter image description here

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

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

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

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

5
ответ дан 9 June 2014 в 19:10

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

Обходным решением этой проблемы может быть создание записи 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 this в терминале и нажав введите выполнит свою работу.

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

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

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

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

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

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

Готово. (Надеюсь, это поможет.)

28
ответ дан 9 June 2014 в 19:10

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

. Решить эту проблему можно, исправив некорректную запись строки 91 .

не могу понять, что не так со строкой 91, отправьте строку 91, и я помогу вам

6
ответ дан 9 June 2014 в 19:10

Вставьте файл /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- получить обновление (это обновляет базу данных с помощью файла, который, как мы надеемся, исправлен)

Если вы не видите никаких ошибок при попытке выполнить шаг 4, проблема, надеюсь, решена. Вы можете выйти из терминала и вернуться в Центр программного обеспечения / Диспетчер обновлений, и он должен работать.

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

6
ответ дан 9 June 2014 в 19:10

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

 /etc/apt/sources.list

Ваши исходники. Файл 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

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

3
ответ дан 9 June 2014 в 19:10

Некоторые строки прерываются в Ваших исходных текстах. list (или другой файл *.list в источниках sources.list.d/).

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

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

Или, вместо Gedit (который есть не во всех системах Ubuntu), вы можете предпочесть открыть файл в терминальном текстовом редакторе:

sudoedit /etc/apt/sources.list.

При необходимости замените /etc/apt/sources.list на другое имя файла, т.е. путь к какому-либо файлу внутри /etc/apt/sources.list.d/.

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

    # Comment, помеченных строкой, начинающейся с '#'.
    deb http://site.example.com/debian дистрибутив компонент1 компонент2 компонент3
    deb-src http://site.example.com/debian дистрибутив компонент1 компонент2 компонент3
    

    URL, распределение и компоненты будут разными. Не обязательно, чтобы в нем было 3 компонента.

    Все, что не подходит к этому формату, неправильно.

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

    sudo apt-get update
    
  • Если предположить, что ошибок нет, проблема теперь исправлена. Однако, несмотря на то, что некоторые проблемы с центром программного обеспечения можно решить переустановкой пакета Software-center, большинство из них не могут быть решены, так что, возможно, проблема с оригинальной остается нерешенной. Если это так, вы можете задать новый вопрос, чтобы получить помощь с ним.

    63
    ответ дан 9 June 2014 в 19:10

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

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

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

    Edit after you posted your sources.list. 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
    
    5
    ответ дан 9 June 2014 в 19:10

    Если вы столкнетесь с какой-либо ошибкой неверной строки, как показано ниже, я настоятельно рекомендую вам закомментировать ( добавление # перед строка ) вместо удаления ее в файле /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/\(.*\)/#\1/' /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 на терминале. Теперь ошибка не появляется.

    4
    ответ дан 9 June 2014 в 19:10

    Другие вопросы по тегам:

    Похожие вопросы: