Mit mock RPM Pakete in chroot-Umgebung erstellen

Mit dem Tool mock ist es möglich RPM Pakete in einer chroot-Umgebung zu erstellen. Dadurch ist es auch mäglich Pakete für ein i386 System auf einen x86_64 System zu erstellen.

Bevor mock installiert werden, kann muss das EPEL Repository eingebunden werden. Anschließend ist die Installation des Paketes wie folgt möglich.

$ sudo yum install mock

Damit ein unprivilegierter Nutzer ein neue chroot-Umgebung und in ihr ein Paket erstellen kann, muss er in der Gruppe mock sein. Diese Zuordnung kann mit dem folgenden Befehl erledigt werden.

$ usermod -a -G mock username

Tipp: Ist der Nutzer während der Zuordnung angemeldet, muss er sich zunächst ab- und wieder anmelden, bevor die Gruppenzuordnung wirksam wird.

Anschließend kann aus einem SRPM-Paket ein RPM-Paket erstellt werden.

$ /usr/bin/mock -r epel-6-i386 --rebuild SRPMS/paket-1.2.3-4.el6.src.rpm

Mit -r wird die Konfigurationsdatei für die chroot-Umgebung angegeben. In diesem Fall wird zusätzlich zu den CentOS Repositories noch das EPEL Repository eingebunden und es werden die i386 Pakete verwendet. Die SRPM Datei, welche über den Parameter --rebuild übergeben wird, wird zum erstellen des Paketes verwendet. Wird zusätzlich noch der Parameter -v angegeben, so werden mehr Details während des Programmlaufs ausgegeben.

War der Vorgang erfolgreich liegt das bzw. die RPM-Paket(e) im Verzeichnis /var/lib/mock/epel-6-i386/result.

Weitere bereits mitgelieferte Konfigurationsdateien für möglichen chroot-Umgebungen sind im Verzeichnis /etc/mock zu finden.

Verwandte Artikel