Как вы выяснили, в dnf вам нужно указать аргумент --releaserver
.
Кроме того, если вы хотите использовать репозитории, специфичные для chroot, то вам потребуется немного больше работы.
Я считаю, что самое простое решение - создать свой собственный dnf.conf
файл внутри chroot, поместить в него конфигурации репозиториев, а затем использовать его.
Например, допустим, вы хотите создать chroot Fedora 24 в папке $(pwd)/mychroot
, используя только пакеты из репозиториев fedora и rpmfusion-free.
Вы создадите файл mychroot/etc/dnf/dnf.conf
со следующим содержимым:
[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
(посмотрите на /etc/yum.repos.d/*. repo
файлы в вашей системе и просто скопируйте-вставьте)
Важной частью является эта строка в разделе main
, которая указывает dnf не искать репозитории в любом каталоге, а только в главном конфигурационном файле, что заставит его игнорировать ваши системные репозитории:
reposdir=
Наконец, вы можете запустить dnf:
# dnf -c $(pwd)/mychroot/etc/dnf/dnf.conf install --installroot=$(pwd)/mychroot --releasever=24 gstreamer1-libav