Здесь рассматриваются различные вопросы, связанные с загрузкой и установкой программных пакетов из репозиториев Manjaro.
Ошибка «Нераспознанный формат архива»
Это происходило неоднократно, обновление выдает эти сообщения в, казалось бы, бесконечном потоке.
Pacman не смог открыть файл: синхронизировать файлы.
error: could not open file /var/lib/pacman/sync/core.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/community.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/multilib.db: Unrecognized archive format
Ошибка связана с несоответствием информации, содержащейся в файлах db в указанном месте и файлах db на первом зеркале в вашем списке зеркал. Pacman проверяет пакет в базе данных и смотрит, совпадает ли файл сигнатуры с файлом в базе данных. Если нет, то pacman сообщит, что пакет поврежден.
Хотя иногда проблему можно решить, просто удалив файлы и запустив обновление pacman, это возможно далеко не каждый раз.
Один рецепт для исправления этого
Обязательно нужно убедиться, что связки ключей актуальны. Убедившись, что ключи в актуальном состоянии, а затем заново загрузив базы данных, мы восстановим связь между ключами и пакетами.
Вы должны будете найти правильные имена, посмотрев на.
https://mirror.easyname.at/manjaro/pool/overlay/ для текущего manjaro-keyring
и
https://mirror.easyname.at/manjaro/pool/sync для текущего archlinux-keyring
Замените yyyymmdd и x на информацию, найденную по вышеуказанным ссылкам.
user $ sudo pacman -U https://mirror.easyname.at/manjaro/pool/overlay/manjaro-keyring-yyyymmdd-x-any.pkg.tar.xz COPY TO CLIPBOARD
user $ sudo pacman -U https://mirror.easyname.at/manjaro/pool/sync/archlinux-keyring-yyyymmdd-x-any.pkg.tar.xz COPY TO CLIPBOARD
Удалите неисправные базы данных
user $ sudo rm -f /var/lib/pacman/sync/* COPY TO CLIPBOARD
Загрузите базы данных и обновите систему
user $ sudo pacman -Syyu COPY TO CLIPBOARD
Ошибка «Невозможно заблокировать базу данных»
При загрузке и установке программного обеспечения из репозиториев создается специальный файл блокировки базы данных, чтобы убедиться, что текущий процесс установки является единственным, запущенным в данный момент. В противном случае попытка одновременной установки нескольких файлов из нескольких источников может привести к повреждению загруженных файлов, конфликтам файлов или, что еще хуже, к повреждению системы. После завершения установки файл блокировки будет автоматически удален. Таким образом, эта ошибка может возникнуть по двум возможным причинам:
- Другая установка все еще выполняется и еще не завершена, или
- Предыдущая попытка установки не завершилась должным образом (например, была прервана раньше времени).
Поэтому целесообразно сначала убедиться, что в момент возникновения ошибки не выполняется (или не выполнялась) другая установка. Убедившись в этом необходимо вручную удалить файл блокировки базы данных. Для этого откройте терминал и введите следующую команду:
user $ sudo rm /var/lib/pacman/db.lck COPY TO CLIPBOARD
После этого вы сможете успешно повторить попытку установки.
Ошибки ключей
У каждого из нас есть свои уникальные подписи, используемые для подтверждения подлинности нашей личности и предотвращения мошеннических или даже вредоносных действий со стороны других людей. То же самое происходит и с программными пакетами, доступными в репозиториях программного обеспечения. Все они содержат зашифрованные коды (ключи подписи), уникальные для их разработчиков, что гарантирует их подлинность и отсутствие вредоносного характера.
В процессе установки, после загрузки любых пакетов программного обеспечения, система сначала проверит их ключи подписи, чтобы убедиться в их подлинности, прежде чем приступить к установке. Если по какой-либо причине ключ подписи не может быть проверен, процесс установки будет прерван. Эта проблема обычно возникает по следующим причинам:
- один или несколько ключей подписи, содержащихся в базе данных вашей системы, отозваны, изменены, повреждены или устарели
- один или несколько пакетов программного обеспечения не были должным образом подписаны при размещении в репозитории
Если пакет не был подписан должным образом перед помещением в репозиторий, ответственность за исправление лежит на разработчике(-ах). Однако, поскольку эта проблема, скорее всего, связана с проблемой проверки ключа подписи в вашей системе, ее можно решить в три простых шага. Требуется рабочее подключение к сети. После того как вы открыли свой терминал:
Warning
Следующие команды работают только тогда, когда ваше системное время установлено правильно!
1. Удалите старые (и, возможно, сломанные) ключи, введя эту команду:
user $ sudo rm -r /etc/pacman.d/gnupg COPY TO CLIPBOARD
2. Переустановите связки ключей, включая последние ключи:
user $ sudo pacman -Sy gnupg archlinux-keyring manjaro-keyring COPY TO CLIPBOARD
3. Инициализируйте связку ключей pacman:
user $ sudo pacman-key —init COPY TO CLIPBOARD
4. Загрузите ключи подписи:
user $ sudo pacman-key —populate archlinux manjaro COPY TO CLIPBOARD
5. Обновите и актуализируйте ключи подписей(это может занять достаточно много времени):
user $ sudo pacman-key —refresh-keys COPY TO CLIPBOARD
6. Очистите пакеты программ, загруженные во время прерванной установки (необязательно):
user $ sudo pacman -Sc COPY TO CLIPBOARD
Info
Добавлена улучшенная версия, так как выше она не работает. Пакеты подписаны, и поскольку /etc/pacman.d/gnupg был удален, он не может быть установлен из-за проверки. Вместо редактирования /etc/pacman.conf и понижения SigLevel, было бы лучше установить ключи без проверки вручную, чтобы решить эту проблему.
1. Удалите старые (и, возможно, сломанные) ключи, введя эту команду:
user $ sudo rm -r /etc/pacman.d/gnupg COPY TO CLIPBOARD
2. Инициализируйте связку ключей pacman:
user $ sudo pacman-key —init COPY TO CLIPBOARD
3. Скачайте пакеты:
Информация
Ошибки проверки GPG можно игнорировать, так как загружаются только пакеты связок ключей.
Тем, кто работает на ARM, возможно, также потребуется загрузить archlinuxarm-keyring и manjaro-arm-keyring.
user $ mkdir -pv $HOME/.cache/pkg/ && sudo pacman -Syw archlinux-keyring manjaro-keyring —cachedir $HOME/.cache/pkg/ COPY TO CLIPBOARD
4. Удалите подписи:
Info
Подписи должны быть удалены во избежание автоматической проверки пакетов.
user $ rm -f $HOME/.cache/pkg/*.sig COPY TO CLIPBOARD
5. Установите загруженные пакеты вручную:
Информация
Это также запустит процесс заполнения.
user $ sudo pacman -U $HOME/.cache/pkg/*.tar.zst COPY TO CLIPBOARD
user $ sudo pacman -U $HOME/.cache/pkg/*.tar.xz COPY TO CLIPBOARD
6. Очистите пакеты программ, загруженные во время прерванной установки (необязательно):
Warning
Вышеуказанная команда полностью очищает кэш pacman и вы не сможете перейти к предыдущей версии пакета при необходимости. Вместо этого пакеты, вызывающие ошибки подписи, могут быть удалены по отдельности при обновлении
.
user $ sudo pacman -Sc COPY TO CLIPBOARD
7. Удалите каталог пользовательских пакетов: (необязательно):
user $ sudo rm -Rf $HOME/.cache/pkg/ COPY TO CLIPBOARD
После этого попробуйте запустить sudo pacman -Syu и посмотреть, были ли устранены ошибки.
Конфликтующие файлы — FILENAME exists in filesystem
Если вы не можете установить или обновить пакет из-за ошибки, подобной этой:
error: could not prepare transaction error: failed to commit transaction (conflicting files) libname: /insert/file/name/here exists in filesystem Errors occurred, no packages were upgraded.
Затем менеджер пакетов pacman обнаружил неожиданный файл, который уже существует на диске.
Почему это происходит?
По своей конструкции pacman не перезаписывает существующие файлы. Это особенность разработки, а не недостаток — менеджеры пакетов предназначены для отслеживания установленных файлов.
Обычно эта проблема возникает, когда вы вручную добавляете, копируете или создаете файл. Это также может произойти, если вы устанавливаете программное обеспечение с помощью загруженного исполняемого файла, выполняете make install или используете пакетную систему сторонних производителей, например conda. Это также происходит при установке пакета AUR, устанавливающий файлы, конфликтующие с пакетом из репозитория.
При использовании сторонней программы установки всегда указывайте альтернативное место установки, например, в вашем домашнем каталоге или в каталоге /opt или /usr/local/. Никогда не устанавливайте непосредственно в / или /usr.
Как мне это исправить?
Первый шаг — определить, какой пакет, если таковой имеется, владеет файлом. Это можно легко сделать с помощью:
user $ pacman -Qo /путь/к/файлу COPY TO CLIPBOARD
Если при этом обнаружится конфликтующий пакет, то вы можете решить удалить его с помощью команды pacman -R. Если пакет не обнаружен, вы можете удалить файл (или переместить его в резервное место).
Где можно прочитать больше?
Этот пост был вдохновлен (и адаптирован из):
Pacman — Решение проблем
В приведенном выше сообщении также есть ссылки на дальнейшее чтение.
Ошибка «Файл конфигурации…не распознан»
Менеджер пакетов Manjaro — pacman — использует файл под названием mirrorlist, сообщающий ему интернет-адреса серверов Manjaro для загрузки с них обновлений и программ. Эта ошибка возникает, если один или несколько адресов серверов, содержащихся в файле mirrorlist, не были указаны правильно, в результате чего pacman не может подключиться к ним. Еще одним признаком является то, что эта проблема также возникнет сразу после:
- Установки Manjaro и редактирования файла mirrorlist во время установки, или
- Редактирования файла mirrorlist позднее.
Смотрите руководство Переход на другой сервер загрузки для более подробной информации о том, как правильно выбрать и включить другой сервер Manjaro для загрузки.
Ошибка «GPGME error: No data»
Наиболее вероятная причина этой проблемы заключается в том, что pacman обнаружил ошибку или повреждение в одном или нескольких загружаемых пакетах программного обеспечения. Подписи и контрольные суммы пакетов используются для проверки достоверности загружаемого программного обеспечения, и если они не работают, попытка установки будет прервана для защиты вашей системы, пока проблема не будет решена.
Вариант 1: Базовое разрешение
Чтобы решить эту проблему, сначала выполните основную процедуру, приведенную ниже. Если это не сработает, можно воспользоваться более комплексной процедурой.
1. Загрузите базы данных пакетов и обновите систему:
user $ sudo pacman -Syyu COPY TO CLIPBOARD
2. Очистите пакеты программного обеспечения, загруженные во время прерванной установки, введя команду:
user $ sudo pacman -Sc COPY TO CLIPBOARD
3. Повторите попытку прерванной загрузки.
Вариант 2: Комплексное решение
Если основная процедура не приведет к решению вопроса, можно предпринять дальнейшие шаги:
1. Выполните повторную синхронизацию с серверами Manjaro, чтобы убедиться, что все данные обновлены, введя команду:
user $ sudo pacman -Syy COPY TO CLIPBOARD
2. Обновите ключи подписей, введя команду:
user $ sudo pacman-key —refresh-keys COPY TO CLIPBOARD
3. Перезагрузите ключи подписей, введя команду:
user $ sudo pacman-key —populate archlinux manjaro COPY TO CLIPBOARD
4. Очистите пакеты программного обеспечения, загруженные во время прерванной установки, введя команду:
user $ sudo pacman -Sc COPY TO CLIPBOARD
5. Повторите попытку прерванной загрузки.
Если ошибка не исчезла, то рекомендуется переход на другой сервер загрузки’.
Ошибка «keyserver refresh failed: No dirmngr»
Попробуйте выполнить следующую команду:
user $ sudo dirmngr </dev/null COPY TO CLIPBOARD
Использую линукс всего 2 месяца, а Манджаро — месяц. Не сталкивался еще с такой проблемой. Не могу обновить систему или установаить любые пакеты.
Попытка обновления:
sudo pacman -Syu
ошибка: ошибка GPGME: Нет данных
ошибка: ошибка GPGME: Нет данных
ошибка: ошибка GPGME: Нет данных
ошибка: ошибка GPGME: Нет данных
:: Обновление баз данных пакетов…
core 170,7 KiB 1657 KiB/s 00:00 [#####################################################] 100%
extra 1915,6 KiB 5,34 MiB/s 00:00 [#####################################################] 100%
community 6,7 MiB 5,46 MiB/s 00:01 [#####################################################] 100%
multilib 176,1 KiB 2,07 MiB/s 00:00 [#####################################################] 100%
ошибка: ошибка GPGME: Нет данных
ошибка: ошибка GPGME: Нет данных
ошибка: ошибка GPGME: Нет данных
ошибка: ошибка GPGME: Нет данных
ошибка: failed to synchronize all databases (неверная или поврежденная база данных(PGP-подпись))
Попытка установить пакет:
sudo pacman -S librewolf
ошибка: ошибка GPGME: Нет данных
ошибка: ошибка GPGME: Нет данных
ошибка: ошибка GPGME: Нет данных
ошибка: ошибка GPGME: Нет данных
ошибка: база данных ‘core’ недействительна или повреждена (неверная или поврежденная база данных(PGP-подпись))
ошибка: база данных ‘extra’ недействительна или повреждена (неверная или поврежденная база данных(PGP-подпись))
ошибка: база данных ‘community’ недействительна или повреждена (неверная или поврежденная база данных(PGP-подпись))
ошибка: база данных ‘multilib’ недействительна или повреждена (неверная или поврежденная база данных(PGP-подпись))
Все попытки установки через графический менеджер выдают такие же ошибки. Пытался найти решение в гугле, но найденные мной идеи не работают. Прошу любые советы для решения прроблемы
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
0
1
Есть 3 обновления. Выхлопы:
sudo pamac update
:
Внимание: Сборка пакетов от имени динамического пользователя
Внимание: Выбор каталога сборки /var/cache/pamac
Подготовка...
Синхронизация баз данных пакетов...
не удалось заблокировать базу данных
Не удалось синхронизировать базы данных
Обновление AUR...
Нет заданий.
Транзакция успешно завершена.
sudo pamac upgrade
:
Внимание: Сборка пакетов от имени динамического пользователя
Внимание: Выбор каталога сборки /var/cache/pamac
Подготовка...
Синхронизация баз данных пакетов...
не удалось заблокировать базу данных
Не удалось синхронизировать базы данных
Нет заданий.
Транзакция успешно завершена.
ЧЯДНТ?
# (отредактировано 7 лет, 1 месяц назад) |
|
Темы: 18 Сообщения: 214 Участник с: 21 октября 2015 |
вот такая фигня лезет, интернет через смартфон медленный — может это имеет значение проделал все это (надо ли было?)
больше не нашел информации |
Alain_Prost |
# |
Темы: 18 Сообщения: 214 Участник с: 21 октября 2015 |
странно, что ни кто не сталкивался с такими проблемами…приехал домой и все встало на свои места — провайдер телефонной связи (его интернет) всему причина…убрал это SigLevel = Never из конфига |
vasek |
# (отредактировано 7 лет, 1 месяц назад) |
Темы: 47 Сообщения: 11610 Участник с: 17 февраля 2013 |
Решение проблемы данной ошибки обсуждалось и на BBS и описано в pacman troubleshooting manjaro и твои действия вообщем то совпадает с приведенными решениями на BBS …. но …. имеется один топик на BBS, где все эти обшепринятые решения тоже не принесли результатов….. а причина была в другом….. привожу цитату….. Ошибки не исчезают с опытом — они просто умнеют |
Tutorial and Install Howto
Tuesday, 03 June 2014
2911 Hits
Hello Guys,
I was trying to install a package via pacman today it resulted in the error message below:
error: GPGME error: No data
From what I got to know from Manjaro Wiki: The cause of this issue is that an error or corruption has been detected by pacman in one or more software packages being downloaded. Package signatures and checksums are used to verify the validity of downloaded software, and should they fail, the installation attempt will be aborted to protect your system until the matter is resolved.
Quick Fix
To quickly fix it, I just re synced Manjaro servers:
sudo pacman -Syy
and cleared out packages downloaded earlier:
sudo pacman -Scc
After I re-run my package installation command everything worked fine. I hope yours work too, if it doesn’t fine another option here
Enjoy!.
Font size:
+
–
Report
Print
About the author
Nauseous is a developer, blogger and Linux enthusiast. Nauseous real name is John and is an expert in Hadoop, Spark and Linux performance. John has produced a new record @ 2 minutes 57 second running a terasort on Hadoop/Spark with 10 servers, 48 core, as well as Aerospike at 12.1 million packets which is the highest record today.
John is also a professional in security, application deployment, performance and web applications. Currently John has the best record for NginX and Apache performance running a single machine with 4 cores.
John manages all the server here at Linuxsecrets.com