Skip to content

Документация по BlackArch на русском языке

Инструкции, советы, новые программы

Menu
  • LocalBitcoins
  • Главная
  • Список инструментов
  • HackWare
Menu

Как установить программу из Arch User Repository (AUR) – пользовательского репозитория Arch

Posted on 31.01.201723.04.2020 by Alexey

Пользовательский репозиторий Arch (Arch User Repository, AUR) — это поддерживаемое сообществом хранилище ПО для пользователей Arch. Он содержит описания пакетов (файлы PKGBUILD), которые позволят вам скомпилировать пакет из исходников с помощью makepkg и затем установить его, используя pacman. AUR был создан, чтобы объединить и предоставить в общий доступ новые пакеты от сообщества и способствовать скорому включению популярных пакетов в репозиторий community.

Большое количество пакетов, которые включаются в официальные репозитории, начинают свой путь с AUR. В AUR пользователи могут добавлять свои собственные сборки пакетов (PKGBUILD и другие необходимые файлы). Сообществу предоставлена возможность голосовать за эти пакеты или против них. Если пакет становится популярным, распространяется под подходящей лицензией и может быть собран без дополнительных сложностей, то, вероятно, он будет перенесен в репозиторий community (непосредственно доступный при помощи утилит pacman и abs).

Поиск программ и пакетов в AUR

Для поиска пакетов в AUR можно воспользоваться веб-интерфейсом, доступным по адресу https://aur.archlinux.org/ Для дополнительного удобства, язык веб-интерфейса можно переключить на русский.

Если вам нужно получить доступ к поиску в AUR из скрипта, то подходящий интерфейс вы найдёте здесь https://aur.archlinux.org/rpc.php

Зависимости для установки из AUR

Поскольку при установке из AUR файлы компилируются из исходного кода, то должны быть установлены программы, содержащиеся в группе base-devel:

pacman -S --needed base-devel

Также у вас должен быть установлен git:

sudo pacman -S git

Загрузка исходного кода, сборка и установка из AUR

На странице каждого пакета после надписи Git Clone URL: или URL для git clone: (для русского языка) имеется ссылка на git репозиторий данного пакета. Скопируйте эту ссылку и составьте команду: git clone + URL, получится примерно так:

git clone https://aur.archlinux.org/имя_пакета.git

После окончания клонирования перейдите в директорию клонированного пакета:

cd имя_пакета

Проверьте, что именно будет делать программа установки:


less PKGBUILD

Внимание: этот файл может содержать любые команды Bash, в том числе и зловредные. makepkg никогда не должен запускаться как рут, это является некоторой защитой, но не нужно рассчитывать только на это. Если у вас есть сомнения, не собирайте пакет, а попросите помощи на форумах.

Запустите следующую команду как обычный пользователь:

makepkg -si

Она выполнить все необходимые действия, загрузит исходные коды и необходимые файлы, проведёт все нужные манипуляции (применит патчи и т.д.), на самом последнем этапе pacman спросит об установке файла, нажмите Enter для продложения.

Опции makepkg:

  • -s/--syncdeps перед сборкой автоматически разрешает и устанавливает все зависимости с pacman. Если пакет зависит от других пакетов из AUR, вам нужно сначала установить их вручную.
  • -i/--install установить пакет если он успешно собран. В качестве альтернативы собранный пакет может быть установлен с pacman -U.

Другие полезные флаги для makepkg:

  • -r/--rmdeps после завершения сборки, удаляет зависимости, нужные на время сборки, поскольку после этого они не нужны. Тем не менее, эти зависимости могут понадобиться при переустановки или обновлении этого пакета в следующий раз.
  • -c/--clean очищает временные файлы сборки после окончания сборки, поскольку они больше не нужны. Эти файлы обычно нужны только для отладки процесса сборки.

Обновление программ из AUR

Если вы не удалили клонированный репозиторий программы, то перейдите в него:

cd имя_пакета

Загрузите последние изменения:

git pull

И установите новый пакет:

makepkg -si

Чтобы узнать, были ли обновления, перейдите в клонированную директорию пакета и наберите команду:

git status

Она даст однозначный ответ только если вы очистили временные файлы, используемые при сборке (задали ключ -c для makepkg).

Если вы удалили клонированную директорию пакета, то для обновления заново пройдите все шаги, начиная с клонирования репозитория.

Близкие статьи

  • Автоматическая установка и обновление пакетов AUR (100%)
  • Как в Arch Linux (BlackArch, Manjaro) посмотреть информацию о пакете (100%)
  • Как скачать пакет без установки в Arch Linux и Manjaro. Как скачать исходный код пакета AUR (100%)
  • Ошибка «ModuleNotFoundError: No module named 'pikaur'» (РЕШЕНО) (90.9%)
  • Ошибка «TypeError: 'AURPackageInfo' does not have attribute 'submitter'» (РЕШЕНО) (90.9%)
  • Как установить 7-Zip в Arch Linux (RANDOM - 50%)

7 thoughts on “Как установить программу из Arch User Repository (AUR) – пользовательского репозитория Arch”

  1. Александр:
    27.04.2017 в 07:30

    ==> ОШИБКА: Запуск makepkg от имени суперпользователя не разрешён,
    т. к. это может причинить катастрофический вред системе.

    ==> ОШИБКА: У вас нет прав на запись для создания пакетов в '/home/arch/winusb'.
        Прерывание…

    ==> ОШИБКА: An unknown error has occurred. Exiting…

     

    Ответить
    1. Alexey:
      27.04.2017 в 07:56

      Ну и?

      Теперь мне нужно расспрашивать, что делали, какую команду вводили, использовали ли sudo или работает из-под рута? Это плохая привычка постить ошибку без комментария: почему нельзя сразу всё написать? Почему я должен тратить своё время на наводящие вопросы: что делали, как вводили и т.д. Здесь телепатов тоже нет.

      А вообще в статье есть:

      makepkg никогда не должен запускаться как рут

      Ответить
      1. Александр:
        27.04.2017 в 11:27

        su git clone https://aur.archlinux.org/winusb.git

        в каталог: cd winusb без root

        далее makepkg -si

        ==> ОШИБКА: У вас нет прав на запись для создания пакетов в '/home/arch/winusb'.
            Прерывание…

        ==> ОШИБКА: An unknown error has occurred. Exiting…

        что с правами root происходит аналогичной команды, описано выше

         

         

        Ответить
        1. Alexey:
          27.04.2017 в 11:36

          Вы перед git clone пишите su или sudo? Так никогда не нужно делать. В этом и ошибка. Даже без команды ls -dl /home/arch/winusb понятно, что директория принадлежит руту, поэтому вы, как обычный пользователь, не можете в неё писать. А makepkg нельзя запускать от рута. Поэтому и получается патовая ситуация.

          Можете убедиться в этом сами, команда выведет вашего текущего пользователя:

          whoami

          а эта команда покажет владельца директории (там будет рут):

          ls -dl /home/arch/winusb
          

          Каталог /home/arch/winusb удаляете (sudo rm -rf /home/arch/winusb) и клонируете заново от имени обычного пользователя.

          Ответить
          1. Александр:
            27.04.2017 в 11:44

            Здорово! Всё получилось, не надо было от root клонировать.

            Ответить
  2. archlinux:
    22.05.2022 в 01:03

    Здравствуйте!

    Мне нужно изменить исходный код в программе (имеется ввиду не файл PKGBUILD). Как загрузить исходные файлы и распаковать их?

    Ответить
  3. Alexey:
    22.05.2022 в 10:57

    Приветствую! Посмотрите Как скачать пакет без установки в Arch Linux и Manjaro. Как скачать исходный код пакета AUR.

    Ответить

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo


Поиск


Свежие записи

  • Ошибка «error: failed to commit transaction (invalid or corrupted package)» (РЕШЕНО)
  • Ошибка «TypeError: ‘AURPackageInfo’ does not have attribute ‘submitter’» (РЕШЕНО)
  • Ошибка phpMyAdmin «Error: Undefined constant «SODIUM_CRYPTO_SECRETBOX_KEYBYTES»» (РЕШЕНО)
  • Ошибка «error: GPGME error: No data. error: failed to synchronize all databases (unexpected error)» (РЕШЕНО)
  • Как в Arch Linux перейти к предыдущей версии ядра. Как установить и переключиться на linux-lts

Свежие комментарии

  • Vova к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Furi к записи Приложение в .AppImage не запускается в Arch Linux (РЕШЕНО)
  • Alexey к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Юрок к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Aleksandr к записи Ошибка error: failed to synchronize all databases (unable to lock database) (РЕШЕНО)




Рубрики

  • Sniffing и Spoofing
  • Архив
  • Взлом Wi-Fi сетей
  • Инструкции
  • Новости
  • Общая информация/новости
  • Разведка
  • Справка и подсказки




Яндекс.Метрика
© 2023 Документация по BlackArch на русском языке | Powered by Minimalist Blog WordPress Theme