linux:chroot
Ez a dokumentum egy előző változata!
Tartalomjegyzék
Chroot környezetek kialakítása
SLES15
Telepítő média csatlakoztatása
# mkdir /mnt/sles15sp5 # mount -o ro,loop SLE-15-SP5-Full-x86_64-GM-Media1.iso /mnt/sles15sp5
Átmeneti DNF konfiguráció készítése
ISO=/mnt/sles15sp5
WORK=/var/tmp/sles15-dnf
mkdir -p "$WORK/repos" "$WORK/cache"
for repo in "$ISO"/*; do
[ -f "$repo/repodata/repomd.xml" ] || continue
name=${repo##*/}
cat > "$WORK/repos/${name}.repo" <<EOF
[$name]
name=SLES 15 SP5 - $name
baseurl=file://$repo
enabled=1
gpgcheck=0
metadata_expire=-1
EOF
done
Telepítési környezet előkészítése
ROOT=/var/lib/machines/sles15sp5
WORK=/var/tmp/sles15-dnf
mkdir -p "$ROOT"/{dev,proc,sys,run,etc/rpm,usr/lib/sysimage/rpm}
[ -e "$ROOT/dev/null" ] ||
mknod -m 666 "$ROOT/dev/null" c 1 3
cat > "$ROOT/etc/rpm/macros" <<'EOF'
%_db_backend ndb
%_dbpath /usr/lib/sysimage/rpm
EOF
mountpoint -q "$ROOT/proc" ||
mount -t proc proc "$ROOT/proc"
[ -L "$ROOT/dev/fd" ] ||
ln -s /proc/self/fd "$ROOT/dev/fd"
RPM adatbázis inicializálása (NDB backend használatával)
if [ ! -f "$ROOT/usr/lib/sysimage/rpm/Packages.db" ]; then
rpm --root "$ROOT" \
--define '_db_backend ndb' \
--initdb
fi
Minimális alaprendszer telepítése
dnf --installroot="$ROOT" \
--setopt=reposdir="$WORK/repos" \
--setopt=cachedir="$WORK/cache" \
--setopt=module_platform_id=platform:sle-15 \
--setopt=install_weak_deps=False \
--releasever=15.5 \
install \
filesystem system-user-root \
bash coreutils glibc \
rpm rpm-config-SUSE zypper
Telepítés ellenőrzése
rpm --root "$ROOT" -qa | wc -l chroot "$ROOT" /usr/bin/rpm -qa | wc -l chroot "$ROOT" /usr/bin/rpm --verifydb && echo OK || echo FAILED chroot "$ROOT" /usr/bin/rpm -Va && echo OK || echo FAILED
Zypper csomagtelepítő beállítása
Telepítő média csatlakoztatása:
ROOT=/var/lib/machines/sles15sp5
ISO=/mnt/sles15sp5
mkdir -p "$ROOT/mnt/iso"
mountpoint -q "$ROOT/mnt/iso" ||
mount --bind "$ISO" "$ROOT/mnt/iso"
Zypper repok beállítása:
mkdir -p "$ROOT/etc/zypp/repos.d"
for repo in "$ISO"/*; do
[ -f "$repo/repodata/repomd.xml" ] || continue
name=${repo##*/}
cat > "$ROOT/etc/zypp/repos.d/${name}.repo" <<EOF
[$name]
name=SLES 15 SP5 - $name
enabled=1
autorefresh=0
baseurl=file:///mnt/iso/$name
type=rpm-md
gpgcheck=0
EOF
done
Repo ellenőrzése:
chroot "$ROOT" /usr/bin/zypper repos -u
Metaadatok frissítése:
chroot "$ROOT" /usr/bin/zypper \
--non-interactive refresh
Kiegészítő csomagok telepítése:
chroot "$ROOT" zypper --non-interactive install \
--no-recommends \
sles-release \
ca-certificates \
curl \
tar \
gzip \
python3
linux/chroot.1792146053.txt.gz · legutóbbi módosítás: – Szerkesztő: riba.zoltan
