Администрирование FreeBSD, Linux, ... snap permission denied error Wed, November 13 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


snap permission denied error Печать
Добавил(а) microsin   

На Ubuntu 22.04 столкнулся с традиционным багом snap: установленная через пакеты snap утилита cmake 3.24 отказалась работать с ошибкой "cannot create user data directory: /home/user/snap/cmake/1234: Permission denied".

Решить проблему помог альтернативный репозиторий apt от Kitware. Он в настоящее время поддерживает Ubuntu 20.04 и 22.04 для архитектур x86 (только 64 бита) и ARM (32 и 64 бита).

Процесс установки по шагам:

1. Если вы используете минимальный образ Ubuntu (например в среде WSL) или образ Docker, то вам возможно понадобится установить следующие пакеты:

$ sudo apt-get update
$ sudo apt-get install ca-certificates gpg wget

2. Если ранее не был установлен пакет kitware-archive-keyring, то вручную закачайте копию ключа подписи:

$ test -f /usr/share/doc/kitware-archive-keyring/copyright ||
 wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | \
 gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null

3. Добавьте репозиторий в ваш список исходников и выполните обновление apt. Для Ubuntu Jammy Jellyfish (22.04) выполните команду:

$ echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ \
 jammy main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
$ sudo apt-get update

Для Ubuntu Focal Fossa (20.04):

$ echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ \
 focal main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
$ sudo apt-get update

4. Если ранее не был установлен пакет kitware-archive-keyring, то удалите полученный вручную ключ подписи, чтобы выделить место для пакета:

$ test -f /usr/share/doc/kitware-archive-keyring/copyright ||
 sudo rm /usr/share/keyrings/kitware-archive-keyring.gpg

5. Установите пакет kitware-archive-keyring package, чтобы применить свежий ключ, потому что keyring-и от Kitware периодически обновляются:

$ sudo apt-get install kitware-archive-keyring

6. В качестве дополнительного шага, если вы хотите подписаться на release candidates в дополнение к production releases, то вы можете добавить репозиторий Kitware release candidate в свои источники.

Для Ubuntu Jammy Jellyfish (22.04):

$ echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ \
 jammy-rc main' | sudo tee -a /etc/apt/sources.list.d/kitware.list >/dev/null
$ sudo apt-get update

Для Ubuntu Focal Fossa (20.04):

$ echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ \
 focal-rc main' | sudo tee -a /etc/apt/sources.list.d/kitware.list >/dev/null
$ sudo apt-get update

Обратите внимание, что если вы добавите репозиторий release candidate, то вам также понадобится добавить главный репозиторий, поскольку сам по себе репозиторий release candidate не предоставляет production-релизы.

Теперь вы можете установить любой пакет из APT-репозитория от Kitware. Например, можно установить приложение, которое ранее устанавливалось только через snap. Вот так я установил себе cmake 3.29:

$ sudo apt-get install cmake
$ cmake --version
cmake version 3.29.4

[Ссылки]

1. Permission denied error when running apps installed as snap packages site:askubuntu.com.
2. Kitware APT Repository site:kitware.com.
3. Запуск Linux на Windows помощью WSL.

 

Добавить комментарий


Защитный код
Обновить

Top of Page