Вопрос или проблема
Я застрял с обновлением моего ubuntu 24.04, перед тем как я попытался добавить pgp ключ, все работало, и после многих изменений я попытался сбросить все настройки на значения по умолчанию, но теперь у меня есть проблема с apt update, я вставляю ошибки и свою конфигурацию ниже! Помогите мне 😐
➜ sources.list.d pwd
/etc/apt/sources.list.d
➜ sources.list.d ll
всего 4.0K
-rw-r--r-- 1 root root 343 Dec 17 00:38 ubuntu.sources
➜ sources.list.d cat ubuntu.sources
deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-backports main universe restricted multiverse
➜ sources.list.d sudo apt update
E: Неправильно сформированная секция 1 в списке источников /etc/apt/sources.list.d/ubuntu.sources (тип)
E: Список источников не может быть прочитан.
➜ sources.list.d
apt
ожидает файл с ФОРМАТОМ STYLES DEB822
, если файл имеет расширение .sources
.
Ваш файл использует ФОРМАТ ONE-LINE-STYLE
, который должен иметь расширение .list
Либо переименуйте ваш файл с помощью
sudo mv /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.list
либо используйте ФОРМАТ STYLES DEB822
, вот пример для noble:
Типы: deb
URIs: http://archive.ubuntu.com/ubuntu/
Составы: noble noble-updates
Компоненты: main restricted universe multiverse
Подписано-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Типы: deb
URIs: http://security.ubuntu.com/ubuntu/
Составы: noble-security
Компоненты: main restricted universe multiverse
Подписано-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Смотрите также man sources.list
.
Если у вас такая же проблема, просто выполните эти 3 шага, и это будет исправлено
-
Первое: вы должны знать тип вашего ubuntu с помощью этой команды
lsb_release -cs
-
Второе: обновите ваш ubuntu.sources на основе lsb_release -cs, в моем случае это noble
sudo nano /etc/apt/sources.list.d/ubuntu.sources
Типы: deb
URIs: http://archive.ubuntu.com/ubuntu
Составы: noble
Компоненты: main restricted universe multiverse
Подписано-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Типы: deb
URIs: http://archive.ubuntu.com/ubuntu
Составы: noble-updates
Компоненты: main restricted universe multiverse
Подписано-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Типы: deb
URIs: http://archive.ubuntu.com/ubuntu
Составы: noble-security
Компоненты: main restricted universe multiverse
Подписано-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Типы: deb
URIs: http://archive.ubuntu.com/ubuntu
Составы: noble-backports
Компоненты: main restricted universe multiverse
Подписано-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
- Третье: вы можете обновить свой /usr/share/keyrings/ubuntu-archive-keyring.gpg с помощью этой команды:
curl -fsSL https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C | gpg --dearmor | sudo tee /usr/share/keyrings/ubuntu-archive-keyring.gpg > /dev/null
.
Ответ или решение
Исправление ошибки "Malformed stanza" в Ubuntu 24.04
Введение
Ошибка "Malformed stanza" в Ubuntu возникает, когда APT (Advanced Package Tool) не может корректно обработать файл источников. Эта проблема часто связана с неправильным форматом файла, используемого для указания репозиториев. В версии Ubuntu 24.04 и выше, вам нужно быть особенно внимательным к формату файлов с расширением .sources
.
Причина проблемы
В вашем случае вы получили следующее сообщение об ошибке:
E: Malformed stanza 1 in source list /etc/apt/sources.list.d/ubuntu.sources (type)
E: The list of sources could not be read.
Это говорит о том, что в файле /etc/apt/sources.list.d/ubuntu.sources
неверно указаны данные. APT ожидает файл в формате DEB822, однако вы используете формат ONE-LINE. Файлы с расширением .sources
должны следовать строгим правилам форматирования DEB822, тогда как файлы с расширением .list
могут использовать более простой стиль.
Шаги для исправления
Чтобы устранить эту ошибку, выполните следующие действия:
1. Переименование файла
Первый и самый простой способ — это переименовать ваш файл .sources
в файл .list
. Для этого выполните следующую команду:
sudo mv /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.list
2. Проверка и редактирование файла
Если вы предпочитаете оставить формат DEB822, вам нужно будет отредактировать файл так, чтобы он соответствовал этому формату. Узнайте кодовое имя вашей версии Ubuntu, выполнив команду:
lsb_release -cs
Предположим, что ваш вывод — noble
. В таком случае отредактируйте файл следующим образом:
sudo nano /etc/apt/sources.list.d/ubuntu.sources
И введите следующее:
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-updates
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
3. Обновление ключей
Также полезно обновить ключи репозитория, чтобы избежать потенциальных проблем с безопасностью:
curl -fsSL https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C | gpg --dearmor | sudo tee /usr/share/keyrings/ubuntu-archive-keyring.gpg > /dev/null
Заключение
Следуя приведенным выше шагам, вы сможете успешно устранить ошибку "Malformed stanza" и корректно настроить свои источники в Ubuntu 24.04. Не забывайте, что правильное форматирование файлов настроек имеет критическое значение для обеспечения бесперебойной работы системы. Если вы сталкиваетесь с дополнительными проблемами или у вас есть вопросы, рекомендуем обратиться к сообществу Ubuntu или официальной документации.