Antergos и управление пакетами: утилита yaourt

Antergos и управление пакетами: утилита yaourt

Едва успел я похвастаться тем, что в Antergos’е манипуляции с пакетами можно выполнять из GUI, ни на какой CLI не оглядываясь, как появился повод в очередной раз припомнить слова, которые не устаёт повторять мне кот Мануал: «Не зарекайся, Лёха!» Ибо появилась у меня непреодолимая потребность установить Tor Browser. Почему — вопрос не ко времени, и не к месту (скорее к Блогосайту, и уж точно не сейчас). Но решения он требовал срочного. К чему, казалось бы, никаких препон не было.

Действительно, Tor Browser без проблем скачивается с официального сайта проекта в виде простого тарбалла для Linux’а, который можно установить в (почти?) любой дистрибутив. Я попробовал — по крайней мере, в Antergos’е это прошло без вопросов.

Но это показалось мне не спортивным, и я решил установить Tor Browser штатными средствами своего дистрибутива. Точнее, Arch’а — соответствующий пакет легко обнаружился Pamac’ом в AUR’е, и даже в варианте tor-browser-ru. Однако при попытке установить его через Pamac случился облом — в виде жалобы на невозможность проверить подпись GPG: видимо, для конспирации PKDBUILD подписан не был вообще (как в старом советском анекдоте: если пишешь — не подписывайся, если пишешь и подписываешься — не обижайся).

Тут-то и настало время вспомнить о поминавшейся ранее утилите yaourt, с которой я имел дело более десяти лет назад. И которая вроде как позволяла обойти эту заковыку.

Утилита yaourt обнаружилась Pamac’ом даже не в AUR’е, а в репозитории antergos, откуда и была установлена. Её тётя Маня рассказала через man yaourt, как с ней обращаться. Сначала — выполнить синхронизацию:

$ yaourt -Syu --aur

А затем — всё почти точно, как в pacman‘е. В частности, для установки пакета из AUR’а нужно дать такую команду:

$ yaourt -S tor-browser-ru

Однако и здесь была засада, и на том же самом месте — при проверке подписи. Обойти её удалось только командой makeokg, данной из промежуточного каталога:

$ /tmp/yaourt-tmp-alv/aur-tor-browser-ru
$ makepkg --skippgpcheck

Даже настолько не знающему английский, как я, легко было смекнуть, что смысл опции — в пропуске проверки GPG-подписи. Без чего процесс пошёл полным ходом:

==> Сборка пакета tor-browser-ru 8.0.3-1 (Вт 04 дек 2018 12:14:28)
==> Проверка зависимостей для запуска...
==> Проверка зависимостей для сборки...
==> Получение исходных файлов...

И завершился сообщением об успехе этого предприятия:

-> Сжатие пакета...
==> Выход из окружения fakeroot.
==> Завершена сборка пакета tor-browser-ru 8.0.3-1 (Вт 04 дек 2018 12:14:29)

Хотя оно продолжало казаться безнадёжным — вопреки всему прочитанному в сети, ни малейшего файла вида *.pkp.tar.xz внутри временного каталога не оказалось, имел место быть только tor-browser-ru-8.0.3-1-x86_64.pkg.tar. И, соответственно, Pamac при попытке Установить локальные пакеты в этом каталоге не видел ничего.

Однако смекалка офицера бывшего запаса бывшей армии подсказала, что некомпрессированный tar-архив не может иметь объём почти такой же, что и лежащий там же рядом тарбалл исходников. Да и время создания файлов (благо, Nemo из Cinnamon 4.0 нынче позволяет его определить) подсказывало, что перед нами и был вожделенный пакет. В котором отсутствие суффикса xz определялось соображениями конспирации. И действительно, лобовая команда

$ sudo pacman -U ./tor-browser-ru-8.0.3-1-x86_64.pkg.tar

после ввода пароля предложила приступить к установке. Которая завершилась сообщением об успехе. И появлением в секции Интернет главного меню Cinnamon пункта Tor Browser (ru):

А после переименования указанного файла в tor-browser-ru-8.0.3-1-x86_64.pkg.tar.xz его можно было увидеть и в Pamac’е (и, разумеется, установить его посредством).

Antergos и управление пакетами: утилита yaourt: 4 комментария

  1. торжествующе: вот поэтому я — узколобый консольщик.
    Хотя, давайте сразу к сути проблемы: любой пакет AUR — это визитная карточка пакета, доступная для обозрения всем — это его веб-страница, где такие же как я, узколобые консольщики, ищут ответ на вопрос: чего эта хрень не работает-то (если не работает, что иногда бывает — это нельзя не признать)?!
    Для любого пакета AUR вы можете порыться на его официальной страничке (это если проблемы возникли, если нет — ну и забудьте). Для tor-browser-ru это вот эта вот страница, где о проблеме с ключами знают, для чего английским по белому пишут:

    Before running makepkg, you must do this:
    $ gpg --keyserver hkp://pgp.mit.edu:11371 --recv-keys 0x4E2C6E8793298290

    Т.е., добавляете ключ в систему (ну, если для вас приемлем такой вариант — добавить какой-то ключ. Вариант выше по тексту более безопасен, если безопасен источник скачивания исходников). После этого сборка проходит штатно, средствами установленных в системе пакетов.
    Если же вы установили уже себе yaourt, то вот команда, которая позволяет обновлять базу данных установленных пакетов как из официальных репозиториев, так и из AUR, а также обновлять их после этого (для понимания: это команда глобального обновления всей системы со всеми пакетами в ней, включая сторонние — что типично для систем с плавающим релизом):yaourt -Syyua
    Арч зачастую подкидывает нетривиальные задачи. Плюс его в том, что ответы на них могут быть уже давно и хорошо документированы: https://wiki.archlinux.org, https://bbs.archlinux.org, https://aur.archlinux.org/

  2. Дмитрий, спасибо за напоминание про добавку ключей. Конечно, по ихнему я плохо читаю. И потому не люблю. Но мог бы смекнуть и без чтения. Вместо этого вспомнил опыт более чем 10-летней давности, когда проверку ключей приходилось пропускать довольно часто 🙂

  3. В принципе, сами пользователи, поддерживающие пакеты, не брезгуют явно указывать параметр skip в инструкциях PKGBUILD, если нужно проверять контрольную сумму скачанных файлов по md5 или добавлять/проверять ключи. Оставим это на их совести, важнее, думаю, что есть, получается, даже несколько выходов из ситуации.

  4. > есть, получается, даже несколько выходов из ситуации.
    Ага. А если их бы не было — мы бы нашли, верно? Даже если бы их не было теоретически 🙂

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