dnfを使用してchroot刑務所を作成するには?

dnfを使用してchroot刑務所を作成するには?

私はyum

5年が過ぎて、私はFedora 23で簡単なchroot Jailを作りたいと思います。しかし、dnf簡単ではありません。以前は、/etc/yum.repo.d/Jailディレクトリにファイルを生成しますyum --installrootdnf

dnfOR以外の/etc/dnf/dnf.confconfファイルを使用できますか/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 ...

関連情報