Difference between revisions of "Pacman troubleshooting/ru"

Updating to match new version of source page
(Created page with "sudo pacman-key --populate archlinux manjaro")
(Updating to match new version of source page)
Line 10: Line 10:
[https://forum.manjaro.org/t/pacman-could-not-open-file-sync-files/20046 Pacman не смог открыть файл: синхронизировать файлы].
[https://forum.manjaro.org/t/pacman-could-not-open-file-sync-files/20046 Pacman не смог открыть файл: синхронизировать файлы].


error: could not open file /var/lib/pacman/sync/core.db: Unrecognized archive format
<div class="mw-translate-fuzzy">
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/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/community.db: Unrecognized archive format
  error: could not open file /var/lib/pacman/sync/multilib.db: Unrecognized archive format
  error: could not open file /var/lib/pacman/sync/multilib.db: Unrecognized archive format
</div>


Ошибка связана с несоответствием информации, содержащейся в файлах db в указанном месте и файлах db на первом зеркале в вашем списке зеркал. Pacman проверяет пакет в базе данных и смотрит, совпадает ли файл сигнатуры с файлом в базе данных. Если нет, то pacman сообщит, что пакет поврежден.
Ошибка связана с несоответствием информации, содержащейся в файлах db в указанном месте и файлах db на первом зеркале в вашем списке зеркал. Pacman проверяет пакет в базе данных и смотрит, совпадает ли файл сигнатуры с файлом в базе данных. Если нет, то pacman сообщит, что пакет поврежден.
Line 23: Line 25:
Обязательно нужно убедиться, что связки ключей актуальны. Убедившись, что ключи в актуальном состоянии, а затем заново загрузив базы данных, мы восстановим связь между ключами и пакетами.
Обязательно нужно убедиться, что связки ключей актуальны. Убедившись, что ключи в актуальном состоянии, а затем заново загрузив базы данных, мы восстановим связь между ключами и пакетами.


 
<div class="mw-translate-fuzzy">
'''Вам придется найти правильные имена, посмотрев'''.
'''Вам придется найти правильные имена, посмотрев'''.
  Просмотрите [https://mirror.netzspielplatz.de/manjaro/packages/pool/overlay https://mirror.netzspielplatz.de/manjaro/packages/pool/overlay] для текущего manjaro-keyring
  Просмотрите [https://mirror.netzspielplatz.de/manjaro/packages/pool/overlay https://mirror.netzspielplatz.de/manjaro/packages/pool/overlay] для текущего manjaro-keyring
и
и
  Просмотрите [https://mirror.netzspielplatz.de/manjaro/packages/pool/sync https://mirror.netzspielplatz.de/manjaro/packages/pool/sync] для текущего archlinux-keyring
  Просмотрите [https://mirror.netzspielplatz.de/manjaro/packages/pool/sync https://mirror.netzspielplatz.de/manjaro/packages/pool/sync] для текущего archlinux-keyring
</div>


'''Замените yyyymmdd и x на информацию, найденную по вышеуказанным ссылкам'''.
'''Замените yyyymmdd и x на информацию, найденную по вышеуказанным ссылкам'''.


sudo pacman -U https://mirror.netzspielplatz.de/manjaro/packages/pool/overlay/manjaro-keyring-yyyymmdd-x-any.pkg.tar.xz
<div class="mw-translate-fuzzy">
sudo pacman -U https://mirror.netzspielplatz.de/manjaro/packages/pool/overlay/manjaro-keyring-yyyymmdd-x-any.pkg.tar.xz
  sudo pacman -U https://mirror.netzspielplatz.de/manjaro/packages/pool/sync/archlinux-keyring-yyyymmdd-x-any.pkg.tar.xz
  sudo pacman -U https://mirror.netzspielplatz.de/manjaro/packages/pool/sync/archlinux-keyring-yyyymmdd-x-any.pkg.tar.xz
</div>


<div class="mw-translate-fuzzy">
'''Удалите неисправные базы данных'''
'''Удалите неисправные базы данных'''
  sudo rm -f /var/lib/pacman/sync/*
  sudo rm -f /var/lib/pacman/sync/*
'''Загрузите базы данных и обновите систему'''
'''Загрузите базы данных и обновите систему'''
  sudo pacman -Syyu
  sudo pacman -Syyu
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
'''Download the databases and update the system'''
{{UserCmd|command=sudo pacman -Syyu}}
</div>


== Ошибка "Невозможно заблокировать базу данных" ==
== Ошибка "Невозможно заблокировать базу данных" ==
Line 46: Line 58:
* Предыдущая попытка установки не завершилась должным образом (например, была прервана раньше времени).
* Предыдущая попытка установки не завершилась должным образом (например, была прервана раньше времени).


<div class="mw-translate-fuzzy">
Поэтому целесообразно сначала убедиться, что в момент возникновения ошибки не выполняется (или не выполнялась) другая установка. Убедившись что это не так, можно вручную удалить файл блокировки базы данных. Для этого откройте терминал и введите следующую команду:
Поэтому целесообразно сначала убедиться, что в момент возникновения ошибки не выполняется (или не выполнялась) другая установка. Убедившись что это не так, можно вручную удалить файл блокировки базы данных. Для этого откройте терминал и введите следующую команду:
 
</div>
sudo rm /var/lib/pacman/db.lck


После этого вы сможете успешно повторить попытку установки.
После этого вы сможете успешно повторить попытку установки.


== Ошибки ключей ==
== Ошибки ключей ==
Line 66: Line 77:
{{Warning|Следующие команды работают только тогда, когда ваше системное время установлено правильно!}}
{{Warning|Следующие команды работают только тогда, когда ваше системное время установлено правильно!}}


<div class="mw-translate-fuzzy">
<s>'''1. Удалите старые (и, возможно, сломанные) ключи''', введя эту команду:
<s>'''1. Удалите старые (и, возможно, сломанные) ключи''', введя эту команду:
   
   
  sudo rm -r /etc/pacman.d/gnupg  
  sudo rm -r /etc/pacman.d/gnupg
</div>


<div class="mw-translate-fuzzy">
'''2. Переустановите связки ключей, включая последние ключи''':
'''2. Переустановите связки ключей, включая последние ключи''':
</div>


sudo pacman -Sy gnupg archlinux-keyring manjaro-keyring
<div class="mw-translate-fuzzy">
 
'''3. Инициализируйте связку ключей pacman''':
'''3. Инициализируйте связку ключей pacman''':
</div>


sudo pacman-key --init
<div class="mw-translate-fuzzy">
 
'''4. Загрузите ключи подписи''':
'''4. Загрузите ключи подписи''':
</div>


sudo pacman-key --populate archlinux manjaro
<div class="mw-translate-fuzzy">
 
'''5. Обновите и актуализируйте ключи подписей''':
'''5. Обновите и актуализируйте ключи подписей''':  
</div>
 
sudo pacman-key --refresh-keys
 
'''6. Очистите пакеты программ, загруженные во время прерванной установки''' (необязательно):


sudo pacman -Sc</s>
<div class="mw-translate-fuzzy">
'''6. Очистите пакеты программ, загруженные во время прерванной установки''' (необязательно):
</div>


{{BoxInfo|Info|Добавлена улучшенная версия, так как выше она не работает. Пакеты подписаны, и поскольку '''/etc/pacman.d/gnupg''' был удален, он не может быть установлен из-за проверки. Вместо редактирования '''/etc/pacman.conf''' и понижения SigLevel, было бы лучше установить ключи без проверки вручную, чтобы решить эту проблему.}}
{{BoxInfo|Info|Добавлена улучшенная версия, так как выше она не работает. Пакеты подписаны, и поскольку '''/etc/pacman.d/gnupg''' был удален, он не может быть установлен из-за проверки. Вместо редактирования '''/etc/pacman.conf''' и понижения SigLevel, было бы лучше установить ключи без проверки вручную, чтобы решить эту проблему.}}


<div class="mw-translate-fuzzy">
'''1. Удалите старые (и, возможно, сломанные) ключи''', введя эту команду:
'''1. Удалите старые (и, возможно, сломанные) ключи''', введя эту команду:
   
   
  sudo rm -r /etc/pacman.d/gnupg  
  sudo rm -r /etc/pacman.d/gnupg
</div>


<div class="mw-translate-fuzzy">
'''2. Инициализируйте связку ключей pacman''':
'''2. Инициализируйте связку ключей pacman''':
   
   
  sudo pacman-key --init  
  sudo pacman-key --init
</div>


<div class="mw-translate-fuzzy">
'''3. Скачайте пакеты:'''
'''3. Скачайте пакеты:'''
{{BoxInfo|Info| Ошибки проверки GPG можно игнорировать, так как загружаются только пакеты связок ключей.}}
{{BoxInfo|Info| Ошибки проверки GPG можно игнорировать, так как загружаются только пакеты связок ключей.}}
   
   
  mkdir -pv $HOME/.cache/pkg/ && sudo pacman -Syw archlinux-keyring manjaro-keyring --cachedir $HOME/.cache/pkg/
  mkdir -pv $HOME/.cache/pkg/ && sudo pacman -Syw archlinux-keyring manjaro-keyring --cachedir $HOME/.cache/pkg/
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Those running ARM may also need to download archlinuxarm-keyring and manjaro-arm-keyring.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
}}
{{UserCmd|command=mkdir -pv $HOME/.cache/pkg/ && sudo pacman -Syw archlinux-keyring manjaro-keyring --cachedir $HOME/.cache/pkg/}}
</div>
<div class="mw-translate-fuzzy">
'''4. Удалите подписи:'''
'''4. Удалите подписи:'''
{{BoxInfo|Info| Подписи должны быть удалены во избежание автоматической проверки пакетов.}}
{{BoxInfo|Info| Подписи должны быть удалены во избежание автоматической проверки пакетов.}}
   
   
  rm -f $HOME/.cache/pkg/*.sig
  rm -f $HOME/.cache/pkg/*.sig
</div>


<div class="mw-translate-fuzzy">
'''5. Установите загруженные пакеты вручную:
'''5. Установите загруженные пакеты вручную:
{{Это также запустит процесс добавления.}}
{{Это также запустит процесс добавления.}}
  sudo pacman -U $HOME/.cache/pkg/*.tar.zst
  sudo pacman -U $HOME/.cache/pkg/*.tar.zst
</div>


<div class="mw-translate-fuzzy">
'''6. Очистите пакеты программ, загруженные во время прерванной установки''' (необязательно):  
'''6. Очистите пакеты программ, загруженные во время прерванной установки''' (необязательно):  
{{warning|Вышеуказанная команда полностью очищает кэш pacman и вы не сможете перейти к предыдущей версии пакета при необходимости. Вместо этого пакеты, вызывающие ошибки подписи, могут быть удалены по отдельности при обновлении}}.
{{warning|Вышеуказанная команда полностью очищает кэш pacman и вы не сможете перейти к предыдущей версии пакета при необходимости. Вместо этого пакеты, вызывающие ошибки подписи, могут быть удалены по отдельности при обновлении}}.
Line 122: Line 155:
   
   
  sudo rm -Rf $HOME/.cache/pkg/
  sudo rm -Rf $HOME/.cache/pkg/
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
'''7. Remove the custom package folder:''' (optional):
{{UserCmd|command=sudo rm -Rf $HOME/.cache/pkg/}}
</div>


После этого попробуйте запустить '''sudo pacman -Syu''' и посмотреть, были ли устранены ошибки.
После этого попробуйте запустить '''sudo pacman -Syu''' и посмотреть, были ли устранены ошибки.
Line 130: Line 168:
''' Если вы не можете установить или обновить пакет из-за ошибки, подобной этой:'''
''' Если вы не можете установить или обновить пакет из-за ошибки, подобной этой:'''


error: could not prepare transaction
<div class="mw-translate-fuzzy">
error: could not prepare transaction
  error: failed to commit transaction (conflicting files)
  error: failed to commit transaction (conflicting files)
  libname: /insert/file/name/here exists in filesystem
  libname: /insert/file/name/here exists in filesystem
  Errors occurred, no packages were upgraded.
  Errors occurred, no packages were upgraded.
</div>


Затем менеджер пакетов pacman обнаружил неожиданный файл, который уже существует на диске.
Затем менеджер пакетов pacman обнаружил неожиданный файл, который уже существует на диске.
Line 149: Line 189:
Первый шаг - определить, какой пакет, если таковой имеется, владеет файлом. Это можно легко сделать с помощью:
Первый шаг - определить, какой пакет, если таковой имеется, владеет файлом. Это можно легко сделать с помощью:


pacman -Qo /путь/к/файлу
<div class="mw-translate-fuzzy">
pacman -Qo /путь/к/файлу
</div>


Если при этом обнаружится конфликтующий пакет, то вы можете решить удалить его с помощью команды pacman -R. Если пакет не обнаружен, вы можете удалить файл (или переместить его в резервное место).
Если при этом обнаружится конфликтующий пакет, то вы можете решить удалить его с помощью команды pacman -R. Если пакет не обнаружен, вы можете удалить файл (или переместить его в резервное место).
Line 183: Line 225:
1. Загрузите базы данных пакетов и обновите систему:
1. Загрузите базы данных пакетов и обновите систему:


  sudo pacman -Syyu
  <div class="mw-translate-fuzzy">
sudo pacman -Syyu
</div>


2. Очистите пакеты программного обеспечения, загруженные во время прерванной установки, введя команду:  
2. Очистите пакеты программного обеспечения, загруженные во время прерванной установки, введя команду:  


  sudo pacman -Sc
  <div class="mw-translate-fuzzy">
sudo pacman -Sc
</div>


3. Повторите попытку прерванной загрузки.
3. Повторите попытку прерванной загрузки.
Line 195: Line 241:
Если основная процедура не приведет к решению вопроса, можно предпринять дальнейшие шаги:
Если основная процедура не приведет к решению вопроса, можно предпринять дальнейшие шаги:


<div lang="en" dir="ltr" class="mw-content-ltr">
1. Resynchronise with the Manjaro servers to ensure that everything is up to date by entering the command:
{{UserCmd|command=sudo pacman -Syy}}
</div>


1. Выполните повторную синхронизацию с серверами Manjaro, чтобы убедиться, что все данные обновлены, введя команду:
<div class="mw-translate-fuzzy">
 
sudo pacman -Syy
 
2. Обновите ключи подписей, введя команду:
2. Обновите ключи подписей, введя команду:
</div>


sudo pacman-key --refresh-keys
<div class="mw-translate-fuzzy">
 
3. Перезагрузите ключи подписей, введя команду:
3. Перезагрузите ключи подписей, введя команду:
</div>


sudo pacman-key --populate archlinux manjaro
<div class="mw-translate-fuzzy">
 
4. Очистите пакеты программного обеспечения, загруженные во время прерванной установки, введя команду:
4. Очистите пакеты программного обеспечения, загруженные во время прерванной установки, введя команду:  
</div>
 
sudo pacman -Sc


5. Повторите попытку прерванной загрузки.
5. Повторите попытку прерванной загрузки.


 
<div class="mw-translate-fuzzy">
Если ошибка не исчезла, то рекомендуется '''[[Change to a Different Download Server|переход на другой сервер загрузки]]''''.
Если ошибка не исчезла, то рекомендуется '''[[Change to a Different Download Server|переход на другой сервер загрузки]]''''.
</div>




== Ошибка "keyserver refresh failed: No dirmngr" ==
== Ошибка "keyserver refresh failed: No dirmngr" ==


<div class="mw-translate-fuzzy">
Попробуйте выполнить следующую команду:
Попробуйте выполнить следующую команду:
 
</div>
sudo dirmngr </dev/null
 


= Смотрите также =
= Смотрите также =


<div class="mw-translate-fuzzy">
* '''[[Change to a Different Download Server|Переход на другой сервер загрузки]]'''
* '''[[Change to a Different Download Server|Переход на другой сервер загрузки]]'''
* '''[[Pacman-mirrors|Справочное руководство по pacman-mirrors]]'''
* '''[[Pacman-mirrors|Справочное руководство по pacman-mirrors]]'''
* '''[https://wiki.archlinux.org/index.php/Pacman#Troubleshooting Arch wiki для более полного устранения неполадок]'''
* '''[https://wiki.archlinux.org/index.php/Pacman#Troubleshooting Arch wiki для более полного устранения неполадок]'''
</div>
[[Category:Contents Page{{#translation:}}]]
[[Category:Contents Page{{#translation:}}]]
8,560

edits