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

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

Материал из Linuxformat
(перенаправлено с «LXF151:tut3»)
Перейти к: навигация, поиск


Грэм Мор­ри­сон занима­ет­ся одним из луч­ших ас­пек­тов по­пу­ляр­но­го ди­ст­ри­бу­ти­ва 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
Обновление всех установленных пакетов до последних версий.

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