Como você descobriu, com dnf você precisa especificar o argumento --releaserver
.
Além disso, se você quiser usar repositórios específicos para o chroot, você precisará de um pouco mais de trabalho.
Acho que a solução mais fácil é criar seu próprio arquivo dnf.conf
dentro do chroot, colocar as configurações do repositório dentro dele e depois usá-lo.
Por exemplo, digamos que você queira criar um chroot do Fedora 24 na pasta $(pwd)/mychroot
, usando apenas pacotes dos repositórios fedora e rpmfusion.
Você criaria o arquivo mychroot/etc/dnf/dnf.conf
, com o seguinte conteúdo:
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
reposdir=
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[updates]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[rpmfusion-free]
name=RPM Fusion for Fedora $releasever - Free
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=14d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever
(veja os arquivos /etc/yum.repos.d/*.repo
em seu sistema e apenas copie e cole)
A parte importante é essa linha na seção main
, que diz ao dnf para não procurar repositórios em nenhum diretório, mas apenas no arquivo de configuração principal, o que fará com que ele ignore os repositórios do sistema:
reposdir=
Finalmente, você pode executar o dnf:
# dnf -c $(pwd)/mychroot/etc/dnf/dnf.conf install --installroot=$(pwd)/mychroot --releasever=24 gstreamer1-libav