Yaourt (Русский)

From ArchWiki
Revision as of 14:52, 10 October 2015 by Kycok (talk | contribs) (linked first instance)
Jump to navigation Jump to search

zh-cn:Yaourt zh-tw:Yaourt

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

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

Установка

Сначала установите пакет package-queryAUR являющийся зависимостью, а затем сам пакет yaourtAUR. Поскольку оба эти пакета доступны из AUR, вам придётся установить их официальным способом установки неподдерживаемых пакетов, который подробно описан в статье AUR. Важно, чтобы вы поняли, что на самом деле подразумевается под "неподдерживаемым пакетом". Это даст вам возможность узнать, какие операции автоматически проделывают AUR помощники, такие как yaourt. Также вы можете добавить (неподписанный) репозиторий archlinuxfr, как описано на странице yaourt.

Использование 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 зависает или не может продолжать из-за нехватки места на девайсе

Yaourt использует /tmp (примонтированную как tmpfs, ограниченную до 50% RAM) для компиляции пакетов, что может быть проблематично для систем с маленькой RAM или ограниченным пространством swap. Измените расположение в /etc/yaourtrc, раскомментировав и изменив переменную TMPDIR.

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

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

yaourt --pkg foo -S foo

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