저는 yum
.
5년이 빨리 지나서 저는 Fedora 23에 간단한 chroot Jail을 만들고 싶습니다. 그러나 dnf
쉽지 않습니다. 예전 에는 /etc/yum.repo.d/
Jail 디렉토리에 파일을 생성 하고 yum --installroot
.dnf
dnf
OR이 아닌 /etc/dnf/dnf.conf
conf 파일을 사용할 수 있습니까 /etc/yum.repos.d/
?
답변1
발견한 대로 dnf를 사용하면 매개변수를 지정해야 합니다 --releaserver
.
또한 chroot 특정 저장소를 사용하려면 약간의 작업이 더 필요합니다.
dnf.conf
내가 찾은 가장 쉬운 해결책은 chroot에 자신만의 파일을 만들고 그 안에 저장소 구성을 넣은 다음 사용하는 것입니다.
$(pwd)/mychroot
예를 들어, fedora 및 rpmfusion-free 리포지토리의 패키지만 사용하여 폴더에 Fedora 24 chroot를 생성 한다고 가정합니다 .
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
답변2
2016~10년경부터 Dnf는기본값을 변경했습니다. 이는 다음과 같은 명령을 실행할 때를 의미합니다.
# dnf --installroot=/mnt/new-root --releasever=26 \
group install custom-environment
지하 감옥이제 먼저 찾아보세요 etc/dnf/dnf.conf
기본적으로 etc/yum.repo.d
아래에 있습니다 /mnt/new-root
.
이 기본값은 다음을 지정하여 변경할 수 있습니다.
--setopt=reposdir=/other/path --config /other/location/dnf.conf
답변3
dnf를 사용하면 명령줄에서 모든 구성 옵션을 설정할 수 있습니다 reposdir
. 다음과 같은 명령을 사용할 수 있습니다.
ROOT=/path/to/my/chroot
dnf --installroot="$ROOT" \
-c "$ROOT"/etc/dnf/dnf.conf \
--setopt=reposdir="$ROOT"/etc/yum.repos.d \
install ...