私は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 ...