Yaourt (Русский) - ArchWiki

# Yaourt (Русский)

Ссылки по теме

- AUR Helpers (Русский)
- AUR (Русский)
- Pacman (Русский)

Состояние перевода: На этой странице представлен перевод статьи Yaourt. Дата последней синхронизации: 2014-12-15. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Важно: Yaourt это неофициальный, неподдерживаемый разработчиками ArchLinux сторонний скрипт.
Обратите внимание: Пожалуйста, сообщайте об ошибках в багтрекер archlinux.fr.

Yaourt (Yet AnOther User Repository Tool - ещё одна утилита для пользовательских репозиториев; по французски 'Йогурт') - это поддерживаемая сообществом обёртка для pacman, которая предоставляет прямой доступ к AUR, позволяя автоматически собирать и устанавливать пакеты, выбираемые вами из тысяч PKGBUILD'ов из AUR, а также многих тысяч доступных бинарных пакетов Arch Linux. Yaourt использует тот же синтаксис, что и pacman, что избавляет вас от необходимости изучения нового способа поддержки системы, а так же добавляет новые возможности. Yaourt расширяет мощность и простоту pacman, добавляя еще больше полезных функций и предоставляя приятный, цветной вывод, интерактивный режим поиска, и многое другое.

## Установка

Сначала вы должны установить пакет package-query являющийся зависимостью, а затем сам пакет yaourt. Поскольку оба эти пакета доступны из AUR, вам придётся установить их официальным способом установки неподдерживаемых пакетов, который подробно описан в статье AUR. Важно, чтобы вы поняли, что на самом деле подразумевается под "неподдерживаемым пакетом". Это даст вам возможность узнать, какие операции автоматически проделывают AUR помощники, такие как yaourt. Вам может понадобиться установить `base-devel` группу, так как некоторым пакетам требуется `GNU autotools`.

Также вы можете добавить (неподписанный) репозиторий archlinuxfr, как описано на странице yaourt.

## Настройка прокси

Если доступ в интернет осуществляется через HTTP-прокси, то в файле `~/.bashrc` нужно установить переменные окружения `http_proxy` и `https_proxy` (если установить только переменную `http_proxy`, вы не сможете скачивать пакеты из AUR):

    $ export http_proxy='http://proxy.hostname.com:port'
    $ export https_proxy='https://proxy.hostname.com:port'

Для более подробных сведений вы можете обратится к справочной странице `curl`.

sudo не подхватывает такие переменные окружения, как `http_proxy`, поэтому если вы используете sudo, добавьте с помощью команды `visudo` следующие строки в файл `/etc/sudoers`:

    Defaults env_keep += "http_proxy"
    Defaults env_keep += "https_proxy"
    Defaults env_keep += "ftp_proxy"

## Использование yaourt

Вы можете устанавливать пакеты (в том числе пакеты из AUR) командой:

    $ yaourt название_пакета

или

    $ yaourt -Sa название_пакета

Вы можете обновлять систему вместе с пакетами из AUR командой:

    $ yaourt -Syua

Смотрите страницу руководства по yaourt для дополнительной информации.

## Примеры

Поиск и установка пакета:

    $ yaourt поисковый запрос

Синхрониазация базы данных, обновление пакетов, поиск обновлений для пакетов из AUR и версий для разработчиков (все пакеты, основанные на cvs, svn, git, bzr(...)-версиях):

    $ yaourt -Syua --devel

Сборка пакета из исходных кодов:

    $ yaourt -Sb пакет

Проверить, редактировать, объединить или удалить *.pac* файлы:

    $ yaourt -C

Получить PKGBUILD (поддерживает отдельный пакет):

    $ yaourt -G пакет

Собрать пакет и сохранить его в нужной директории:

    $ yaourt -Sb --export директория пакет

Создать резервную копию базы данных:

    $ yaourt -B

Восстановить backup файл:

    $ yaourt -Q --backupfile файл

Смотрите также: pacman (Русский) и Pacman Tips (Русский).

## Хранение исходных кодов

По умолчанию, yaourt скачивает удалённые репозитории для сборки в /tmp. Чтобы избежать повторного выкачивания всех репозиториев при обновлении AUR пакетов, вы можете изменить эту директорию, раскомментировав и установив `DEVELSRCDIR` в yaourtrc на любое расположение, куда вы хотите положить исходные коды. Обратите внимание, что это касается только пакетов для разработчиков (обычно у них есть суффикс -git или -svn).

    /etc/yaourtrc

    DEVELSRCDIR="/var/abs/local/yaourtbuild"

## Хранение собранных пакетов

Yaourt по умолчанию не сохраняет собранные при установке tarball пакеты. Чтобы сохранять пакеты, собранные из AUR в папке по умолчанию для pacman `/var/cache/pacman/pkg`, отредактируйте `/etc/yaourtrc`, установив:

    # Build
    EXPORT=2

Либо же вы можете задать отдельную папку для Yaourt пакетов, если пропишете следующие строки:

    # Build
    EXPORT=1
    EXPORTDIR="/var/cache/pacman/pkg-local"

## Решение проблем

### Yaourt дважды запрашивает пароль

Если в файле `/etc/sudoers` для `sudo` отключить тайм-аут на введенный пароль, отредактировав:

    Defaults timestamp_timeout=0

то yaourt будет запрашивать пароль при каждом действии, требующем привилегий root. Во избежание этого добавьте:

    SUDONOVERIF=1

в файлы `/etc/yaourtrc` или `~/.yaourtrc`

### Yaourt зависает / система сильно тормозит

Чаще всего наблюдается на системах с небольшим объемом RAM или с недостаточным размером swap. По умолчанию, yaourt использует /tmp для сборки пакетов. По умолчанию эта директория полностью расположена в RAM так как является tmpfs. Измените каталог сборки в файле `/etc/yaourtrc` (раскоментируйте строку `TMPDIR =`) на какой-нибудь другой, чтобы не замедлять систему.

### Yaourt устанавливает нежелательные дополнительные пакеты (отдельный PKGBUILD)

В описании проблемы #50 в апстиме сказано, что во время цикла установки/обновления yaourt передаёт pacman'у директорию, в которой были собраны пакеты, а не конкретное имя отдельно взятого пакета. Это приводит к тому, что любой пакет (например, дополнительные пакеты, собранные автоматически) в этой директории добавляется в список установки с вашем желаемым пакетом; чтобы обойти данный баг, воспользуйтесь `--pkg` следующим образом:

    yaourt --pkg foo -S foo

Это предотвратит сборку или установку дополнительных пакетов (foo-bar, foo-baz и т.д.), если они не являются требуемой зависимостью. Однако, так не получится сделать при полном обновлении системы (`-Syua`); вместо этого сначала обновляйте ваши AUR пакеты вручную, до тех пор, пока ошибку не исправят в апстриме.

Categories:

- Package management (Русский)
- Arch User Repository (Русский)
- Русский