Как запускать pikaur пользователем root
Подробности об pikaur смотрите в статье: Автоматическая установка и обновление пакетов AUR
Утилита makepkg и (иногда) pikaur не работают, если запускать их с правами root. Обычно это не является проблемой для большинства пользователей, но я столкнулся с ситуацией, что на безголовом сервере, где имеется только один пользователь (root), я не могу использовать pikaur, поскольку программа не запускается с правами суперпользователя и не могу переключиться на другого пользователя, поскольку пользователь только один.
При попытке установить pikaur возникает ошибка:
==> ERROR: Running makepkg as root is not allowed as it can cause permanent, catastrophic damage to your system.
Это ограничение можно обойти несколькими способами. Самый простой, на мой взгляд, следующий:
1) Создать обычного пользователя
2) Установить и запускать pikaur от имени этого обычного пользователя
Как создать обычного пользователя для запуска pikaur
Создать пользователя можно следующей командой (в этой и последующих командах замените mial на имя, которое вы выбрали для нового пользователя):
useradd -m -g users -G wheel,video -s /bin/bash mial
Установите пароль этого пользователя (если это рабочее окружение, то установите надёжный пароль):
passwd mial
Как установить pikaur пользователем root
Установите следующие зависимости:
pacman -S --needed base-devel git pyalpm python-markdown-it-py python-installer python-build python-hatchling
Если вы уже клонировали репозиторий pikaur на локальный компьютер, то удалите эту папку, поскольку вы загрузили и распаковали файлы пользователем root и он является владельцем этих файлов — у обычного пользователя нет разрешений на модификацию файлов.
Теперь перейдите в домашнюю папку пользователя, которого вы создали на предыдущем этапе (замените mial на имя вашего пользователя в этой и во всех последующих командах):
cd /home/mial/
Для клонирования репозитория pikaur используйте команду следующего вида:
sudo -u mial git clone https://github.com/actionless/pikaur
Перейдите в папку с файлами pikaur
cd pikaur/
При попытке выполнить установку я столкнулся с ошибкой, что файл CHANGELOG не найден:
==> ERROR: changelog file (CHANGELOG) does not exist or is not a regular file.
Если у вас такая же проблема, то создайте его следующей командой:
sudo -u mial touch CHANGELOG
Теперь запустите сборку пакета и установку pikaur следующей командой:
sudo -u mial makepkg -fsri
Как запускать pikaur пользователем root
После установки, pikaur в моём случае работает без ошибок даже если запущена с правами root:
pikaur -Syu pikaur -S PACKAGE pikaur -R PACKAGE
Тем не менее, если вы столкнётесь с ошибками из-за проблем запуска с правами root, вы всегда можете использовать следующие конструкции для запуска pikaur от обычного пользователя:
sudo -u mial pikaur -Syu sudo -u mial pikaur -S PACKAGE sudo -u mial pikaur -R PACKAGE
Близкие статьи
- Автоматическая установка и обновление пакетов AUR (82.9%)
- Как в Arch Linux (BlackArch, Manjaro) посмотреть информацию о пакете (82.9%)
- Как скачать пакет без установки в Arch Linux и Manjaro. Как скачать исходный код пакета AUR (82.9%)
- Ошибка «ModuleNotFoundError: No module named 'pikaur'» (РЕШЕНО) (81.1%)
- Ошибка «TypeError: 'AURPackageInfo' does not have attribute 'submitter'» (РЕШЕНО) (81.1%)
- Решение проблемы с ошибкой Pyrit «AttributeError: 'module' object has no attribute 'EAPOL'» (RANDOM - 52.1%)