32-разрядная архитектура процессоров всё ещё используется и будет использоваться до тех пор, пока будет выпускаться и использоваться эта аппаратура. Если у вас старый компьютер под управлением ОС Arch Linux и вам всё-таки хочется пользоваться репозиторием AUR, эта статья для вас. Мы расскажем максимально коротко и понятно о том, как установить репозиторий AUR в 32-разрядной Arch Linux.
Официально для этой ОС поддерживается лишь архитектура x64, однако существует таки проект энтузиастов, делающих её 32-разрядные сборки.
Установка репозитория AUR в 32-разрядной ОС Arch Linux
Что у нас имеется для демонстрации? Запущенный на виртуальной машине 32-разрядный Arch Linux без графической оболочки с установленными neofetch и sudo, а так же предоставленными обычному пользователю правами суперпользователя root.
Важно: для выполнения поставленной нами задачи не требуется авторизация в системе с правами root. Авторизуемся в системе как обычный пользователь.
Процесс скачивания репозитория AUR особо не отличается от привычного пользователям, проблемы возникают позже, уже при установке. Даже если у вас уже установлена графическая оболочка, рекомендуем использовать терминал.
Нам нужна группа пакетов base-devel, поэтому устанавливаем эту группу, если она ещё не установлена:
sudo pacman -S --needed base-devel
Установим также git для дальнейшего клонирования репозитория:
sudo pacman -S git
Далее создаём папку в домашней директории:
mkdir .folder
Название папки может быть любым, точка в начале имени означает, что эта папка будет скрытой. Переходим в эту нашу папку:
cd .folder
В ней будет собран наш репозиторий AUR. Клонируем архив в эту папку:
git clone https://aur.archlinux.org/foo.git
Переходим в эту клонированную с GitHub папку:
cd foo
Для того, чтобы собрать репозиторий AUR, вводим команду:
makepkg -sri
Увы, в процессе будет сгенерирована такая ошибка:
Сообщение о "пентиуме четвёртом", мягко говоря, устарело в наше время. Речь идёт, естественно, о неподдерживаемой архитектуре процессора. Дело в том, что AUR — пользовательский репозиторий для ОС Arch Linux, официально поддерживающей только архитектуру x64. Фиксится эта проблема довольно просто — нужно всего лишь сообщить нашему билду, что он может быть собранным с использованием любого процессора. В папке foo находится файл PKGBUILD, содержащий инструкцию о том, как и что следует сделать. Открываем файл в редакторе, например, в nano:
nano PKGBUILD
Видим это:
Всё, что требуется, это заменить строку arch=('all') на arch=('any'). То есть, изменить слово "все" на "любые". Закрываем файл, сохранив изменения. Повторяем вводимую ранее команду:
makepkg -sri
Подтверждаем, нажимая клавишу Y (от слова Yes). С помощью makepkg создаётся файл в нашем каталоге с расширением .pkg.tar.xz. Проверим это. Вводим команду ls и видим:
Теперь этот файл foo-1.0.0-1-any.pkg.tar.xz нужно установить с помощью pacman:
sudo pacman -U foo-1.0.0-1-any.pkg.tar.xz
Соглашаемся с выполнением операции. Далее можем покинуть текущую папку, введя команду сd.
Выводы
Может показаться, что статья бесполезна, так как никто не захочет пользоваться 32-разрядной ОС и уж точно не этой неофициальной Arch Linux. Однако, есть и такие пользователи. Да и наличие самого такого неофициального проекта — 32-разрядного Arch Linux — уже тоже свидетельствует о том, что эта ОС тоже востребована — для использования со старыми компьютерами.
На форумах по этому вопросу практически нет статей, а те, что есть, явно не для новичков. Постараемся в дальнейшем облегчить читателям понимание подобных редко используемых тематик.
Статья бред! makepkg --help не глянуть. Вот там явно написано, что есть опция -A при использований, которой игнорируется переменная arch при сборке пакета.
по-моему название статьи немного некорректно, более понятно было бы "Установка/сборка пакетов из AUR в Arch Linux 32-bit", ведь в систему ставится не репозиторий, а пакет.
И еще makepkg -sri сразу же и выполняет установку, поэтому sudo pacman -U foo-1.0.0-1-any.pkg.tar.xz лишнее.
выборка из makepkg -h
-i, --install Установить пакет после сборки
-r, --rmdeps Удалить установленные зависимости после сборки
-s, --syncdeps Установить недостающие зависимости с помощью 'pacman'