Компиляция пакетов из AUR под Ubuntu

Компиляция пакетов из AUR под Ubuntu

Компиляция пакетов из AUR под Ubuntu.


Часть 1 — Подготовка…

Устанавливаем LXC и перезагружаем ПК!
sudo apt-get install lxc lxctl lxc-templates 

Создаем «контейнер» с базовыми файлами Arch Linux
sudo lxc-create -n arch -t download --dir ~/arch_lxc -- -d archlinux -r current -a amd64

Запускаем созданный контейнер arch
sudo lxc-start -n arch

Входим в контейнер arch
sudo lxc-attach -n arch --clear-env -v TERM=xterm

Редактируем pacman.conf
nano /etc/pacman.conf
Удаляем, или закоментируем строку
SigLevel = Required DatabaseOptional
Находим строки
#[multilib]
#Include = /etc/pacman.d/mirrorlist
раскоментируем их (удаляем символы #) и добавляем в конец этого же файла:
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
Теперь можно сохранить изменения (Ctrl+O) и закрыть редактор (Ctrl+X)

Обновляем систему и устанавливаем основные необходимые пакеты для компиляции:
pacman -Syu base-devel yaourt

Настраиваем многопаточную компиляцию (вместо 5 ставим число с вашим количеством ядер + 1)
echo 'MAKEFLAGS="-j5"' >> /etc/makepkg.conf

Всё готово для сборки пакетов из AUR, но yaourt работает только от имени обычного пользователя, а root на экране говорит что мы сейчас супер-пользователь. Исправляем…
useradd -m -g users -G wheel -s /bin/bash arch

Придумываем пароль и добавляем его
passwd arch

Теперь надо добавить пользователя в файл sudoers
nano /etc/sudoers
Находим строчку
root ALL=(ALL) ALL
и добавляем после неё нашего пользователя
arch ALL=(ALL) ALL
Теперь можно сохранить и выйти из текстового редактора

 

Подготовка закончена, выходим по желанию из контейнера и останавливаем его
exit
sudo lxc-stop -n arch

 


Если во время компиляции у вас ошибка
unknown public key "ТУТ_ДЛИННЫЙ_КЛЮЧ"
то жмем N и добавляем этот ключ с помощью команды
gpg --recv-keys "ТОТ_ДЛИННЫЙ_КЛЮЧ" (Без ковычек)
и перезапускаем сборку пакета.


Часть 2 — Компиляция… (в процессе написания)

Запускаем и входим в контейнер arch
sudo lxc-start -n arch && sudo lxc-attach -n arch --clear-env -v TERM=xterm
Запускаем пользователя arch
su -- arch

Собираем пакет (с параметром пропускающим проверку ключа)
yaourt НАЗВАНИЕ_ПАКЕТА

sudo mkdir /build
sudo mv /tmp/* /build

 

exit
exit
sudo lxc-stop -n arch


Часть 3 — Удаление контейнера…

sudo lxc-stop -n arch
sudo lxc-destroy -n arch

Войти с помощью: 
avatar
5000