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