Debian プリシード交換タグ

Debian プリシード交換タグ

Debian のインストールを正常にプロビジョニングしましたが、問題があります。swapパーティションにラベルを付けたいのですが、インストーラはそのlabel { }要素を無視します。パーティションが作成され、1つがありますが、UUIDラベル(Windowsなどのマルチシステム環境)を介してインストールしたいと思います。他のタグの生成に問題はありません。

Debian Stretchをプロビジョニングしています。

d-i partman/early_command \
        string sfdisk --wipe-partitions always --delete /dev/sda 2 3 4
d-i partman-auto/disk string /dev/sda
d-i partman-auto/init_automatically_partition select biggest_free

d-i partman-auto/expert_recipe string                       \
    lk-part ::                                              \
            2000 2000 2000 linux-swap                       \
                    $primary{ }                             \
                    method{ swap }                          \
                    format{ }                               \
                    label{ SWAPPART }                       \
            .                                               \
            50000 50000 50000 xfs                           \
                    $primary{ }                             \
                    method{ format }                        \
                    format{ }                               \
                    use_filesystem{ }                       \
                    filesystem{ xfs }                       \
                    mountpoint{ / }                         \
                    label{ LKLINUX }                        \
            .                                               \
            40000 40100 -1 xfs                              \
                    $primary{ }                             \
                    method{ format }                        \
                    format{ }                               \
                    use_filesystem{ }                       \
                    filesystem{ xfs }                       \
                    mountpoint{ /tmp }                      \
                    label{ TEMPFS }                         \
            .
d-i partman/mount_style select label

上記のタグがなぜswap無視されるのかご存知ですか?

インストール後に手動で次の操作を行います。

swapoff /dev/sda2
mkswap --label SWAPPART /dev/sda2
swapon /dev/sda2

ラベルが存在し、次のように表示されますblkid

安否挨拶
カミール

ベストアンサー1

私はこの質問がかなり古くなっていることを知っていますが、誰かが偶然この質問を見つけた場合に備えて、答えは次のようになります。

スワップタグが無視される理由は、インストーラがタグを設定できないbusyboxのmkswapを使用するためです。 [これを確認するには、ネットワークブートインストーラで起動し、2番目のコンソール(Alt + F2)に切り替えてmkswapバイナリを確認します。 ]

回避策として、インストール時に(プレインストールスクリプトを介して)スワップパーティションを再フォーマットし、UUIDを保持し、swap、swap1、swap2などのラベルを設定し、fstabエントリを変更するDebianパッケージluh-label-swapを作成しましたです。 。

私たちのリポジトリでパッケージを見つけることができます:http://ubuntu.repo.uni-hannover.de/ubuntu/pool/pub/l/luh-label-swap/下記の関連コードをご覧ください。

これは非常にエレガントなソリューションではありませんが、私たちにとって効果的です。 :)

ありがとう、ロバート

関連部分は次のとおりです。

Debian/ポストインスト

#!/bin/sh
# postinst script for luh-label-swap

set -e

# [..]

case "$1" in
    configure)
            cp -a /etc/fstab /etc/fstab.dpkg-old
            /usr/lib/luh-label-swap/label-swap
            echo "modified /etc/fstab; old version saved as /etc/fstab.dpkg-old."
    ;;
    abort-upgrade|abort-remove|abort-deconfigure)
    ;;
    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0

/usr/lib/luh-ラベル-スワッピング/ラベル-スワッピング

#!/bin/bash
# /usr/lib/luh-label-swap/label-swap
#

FSTAB="/etc/fstab"

IAM="$(basename $0)"
unset NO
swapoff -a
for UUID in $(egrep '^UUID=[0-9a-f-]+\s+[[:alpha:]]+\s+swap' "$FSTAB" \
                | sed 's/^UUID=\([0-9a-f-]*\).*/\1/'); do
        echo "$IAM: found swap with UUID=$UUID"
        DEVICE="$(blkid -U "$UUID")"
        if [ -n "$DEVICE" ]; then
                LABEL="swap$NO"
                test -v $NO && NO+=1 || declare -i NO=1
                echo $IAM: mkswap --label "$LABEL" --uuid "$UUID" "$DEVICE"
                mkswap --label "$LABEL" --uuid "$UUID" "$DEVICE"  >/dev/null 2>&1
                echo $IAM: sed -i "s/^UID=$UUID/LABEL=$LABEL/" "$FSTAB"
                sed -i "s/^UUID=$UUID/LABEL=$LABEL/" "$FSTAB"
        fi
done
swapon -a

おすすめ記事