Журнал LinuxFormat - перейти на главную

LXF151:Arch: Освоим репозиторий

Материал из Linuxformat
Перейти к: навигация, поиск

Arch Linux // Коп­ни­те в AUR и най­ди­те уй­му по­лез­ных па­ке­тов // Arch Linux Учебник

Содержание

Arch: Ос­во­им ре­по­зи­то­рий

Грэм Мор­ри­сон занима­ет­ся одним из луч­ших ас­пек­тов по­пу­ляр­но­го ди­ст­ри­бу­ти­ва Arch – уста­нов­кой све­же­го про­грамм­но­го обес­пе­чения.

Arch снимает стереотипы современного дистрибутива Linux. В отличие от почти автоматических установщиков, как в случае с Ubuntu и OpenSUSE, установка Arch на вашей машине может быть сложнее и требует вовлечения ручного труда, чтобы довести его до совершенства.

Но практическое рукоделие доставляет и немало удовольствия. Вы получите максимальный контроль над установкой и многое узнаете о том, как в этом процессе работает система в целом. Эти элементы нигде не реализованы лучше, чем в разметке упаковщика Arch, благодаря превосходному pacman. Она проще в использовании и обслуживании, чем схемы других дистрибутивов, но все же достаточно гибкая, чтобы быть основой философии скользящих релизов Arch. Обновления можно делать на месте, пакеты – игнорировать, и даже при необходимости сделать откат к снимку системы.

Его лучшей особенностью, однако, является то, что не так сложно построить собственные пакеты, и многие члены сообщества так и сделали, создав репозиторий Arch User Repository (AUR). Это, вероятно, лучший источник нетипичных, свежих или редких программ для любого дистрибутива, и, конечно, одной из наиболее весомых причин для использования Arch.

В отличие от официальных репозиториев pacman, при установке пакета AUR самостоятельно требуется немного больше усилий, и с этой проблемой мы и разберемся. Но сперва – обычная оговорка: пакеты AUR отнюдь не пуленепробиваемые. Здесь они испытываются на популярность и стабильность, прежде чем претендовать на место в репозитории сообщества. А значит, могут возникать проблемы; и по этой причине мы не рекомендуем их установку на критически важных системах. Хотя мы еще не встречали проблемы, не решаемой путем удаления пакета.

Постройте свои пакеты

«Вероятно, это лучший источник свежих и редких программ.» Главный вопрос в том, что без установки помощника, графического или из командной строки, нельзя просто одним щелчком мыши установить пакеты AUR. Это потому, что они имеются в разных формах и размерах. Одни, типа Spotify, Dropbox и Crossover Office, перед сборкой устанавливаемого пакета используют скрипт установки для загрузки проприетарных кусков с интернет-портала каждого сервиса.

Другие, такие как отличная игра TripleA из HotPicks этого номера, скачивают последнюю версию исходного кода из SourceForce и автоматически вставляют его в конец пакета. Результат обоих методов одинаковый: команду pacman -U package.tar.tz, используемую для обновления официального пакета, можно применить для установки результатов, обеспечив рабочую установку со всеми преимуществами удаления/обновления настоящего релиза.

Ключ к этой операции – PKGBUILD. Этот файл на самом деле сценарий, который точно описывает все необходимые действия по созданию пакета AUR, будь то скачивание бинарника с сайта Dropbox или компиляция исходного кода из репозитория Git. Обеспечение доступа к этим файлам является основной целью сайта AUR (http://aur.archlinux.org), так как он позволяет искать эти файлы из библиотеки, загруженной сообществом. Задайте, например, поиск ‘Dropbox’, и вы получите перечень поддерживаемых сообществом пакетов, и нажатие на любой из них приведет вас на главную страницу пакета. Это место, где сообщество обсуждает популярность проекта, а также сообщает о любых проблемах с существующими пакетами и предлагает решения. На странице также будет список зависимостей и две ссылки для скачивания – одна ведет прямо к файлу PKGBUILD, а другая встраивает этот файл, а также любые другие файлы, необходимые для установки, в архив tar.gz.

Чтобы установить пакет AUR, вам необходимо скачать любой из них. Мы рекомендуем архив, который затем нужно распаковать (tar xvf *.tar.gz). В этой папке вы найдете PKGBUILD, и независимо от того, загрузили ли вы это непосредственно или через архив, следующий шаг будет набрать
(thumbnail)
Даже когда контрольные суммы MD5 включены в скрипт установки, пакеты AUR все еще рискованны по безопасности.
makepkg внутри папки, и скрипт волшебным образом осуществится. Вот, например, что вы получите на выходе при установке одного из пакетов браузера Chrome:
TTP request sent, awaiting response... 200 OK
Length: 40869182 (39M) [application/zip]
Saving to: `chrome-linux.zip’
40,869,182 662K/s in 55s
2011-09-13 16:20:57 (730 KB/s) -chrome-linux.zip’ saved [40869182/40869182]
-> Extracting Binaries...
-> Creating missing symlinks...
-> Patching script ‘chrome-wrapper’...
-> Making it nice...
==> Tidying install...
-> Purging other files...
-> Compressing man and info pages...
==> Creating package...
-> Generating .PKGINFO file...
-> Adding install file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: chromium-browser-bin 100441-1

В этом логе вы видите, что данные загружаются и формируются в пакет, который сочетает в себе локальные файлы и данные конфигурации с бинарниками, и все это идет в новый пакет. Его можно найти в каталоге, названном по имени пакета, с добавлением номера версии релиза, архитектуры CPU и расширения .tar.gz. Установите его с помощью команды sudo pacman -U package.tar.gz.

Предыдущий шаг был сравнительно легким, особенно если вы использовали Gentoo для сборки пакетов исходного кода, но это еще не так удобно, как pacman. К счастью, есть решение получше: инструмент под названием packer. Он делает для AUR то же, что pacman делает для официального репозитория пакетов (а вообще-то делает и то, и другое), позволяя вам устанавливать и обновлять пакеты AUR с помощью одной команды, не беспокоясь о поиске на вики или скачивании каких-либо файлов вручную. Лучший способ получить последнюю версию packer – добыть его из AUR, как описано выше, и, надеюсь, это будет последнее использование данного способа. После установки выполните поиск, набрав packer -Ss package, и установите с помощью команды packer -S, так же, как и при работе с pacman. Все остальное должно быть обработано автоматически. Что еще более впечатляет – упаковщик отслеживает, какие пакеты AUR установлены, и позволяет модернизировать их все с помощью одной команды – packer -U. Все обновления обнаружатся, загрузятся, скомпилируются (если необходимо) и установлятся, и это прекрасно. Если пакет вам больше не нужен, удалите его при помощи pacman, а не packer, поскольку в конечном итоге пакеты AUR устанавливает именно pacman.

(thumbnail)
236956.png AppSet-Qt — лучший из найденных нами GUI для доступа и к официальным, и к пользовательским репозиториям пакетов.

Гра­фи­че­­ские обо­лоч­ки па­ке­тов

Безусловно, с дистрибутивом, установленным через интенсивную работу в командной строке, трудно уйти от консоли и когда все работает. Но есть несколько отличных графических альтернатив и pacman, и packer в командной строке, если вы предпочли бы управлять пакетами с рабочего стола. Для KDE и Gnome имеются графические интерфейсы на базе PackageKit, но лучшее, что мы нашли для обоих рабочих столов, называется AppSet-Qt. Он достаточно стабилен для каждодневного использования, а также выдает лучшие результаты поиска и пользовательского интерфейса из доступных графических интерфейсов. AppSet-Qt следует установливать из AUR, с помощью packer либо вручную, а после запуска из рабочего стола он будет запускаться автоматически при входе в систему. Использовать приложение легко. В главном окне вы найдете иконки категорий для новых пакетов, а через поле поиска уточните свои запросы. Пакеты AUR можно найти, перейдя на вкладку AUR в нижней части главного экрана, и как хранилища, так и пакеты можно автоматически обновлять из приложения. Проблемы у нас возникали только с пакетами AUR, которые не удалось построить, но это не вина AppSet.

Скорая помощь

Когда вы имеете дело с пакетами AUR, ответственность по проверке пакетов перед их установкой возлагается на вас. Поэтому вам и дана возможность изучить скрипты установки еще до запуска.

Крат­кая справ­ка по Pacman

pacman -S package
Установить пакет и его зависимости.

pacman -U URL
Установить локальный или удаленный автономный пакет.

pacman -U /var/cache/pacman/pkg/old_version
Возврат к старой версии пакета.

pacman -R package
Удалить пакет и его зависимости.

pacman -Ss string
Поиск string в хранилище.

pacman –Syu
Обновление всех установленных пакетов до последних версий.

Персональные инструменты
купить
подписаться
Яндекс.Метрика