Debian Live DVD的个性化定制
【导言】通过将config.conf放置在DVD媒体的live目录中,可以更改以下参数。
由于用户密码/sshd访问限制是固定在系统中的,因此需要准备用户shell并进行更改。
还需要更改smb密码。
master@debian-live:~$ ls -l /lib/live/mount/medium/live/
合計 2269015
-rw-r--r-- 1 root root 83 3月 27 01:37 System.map-5.10.0-13-amd64
-rw-r--r-- 1 root root 236106 3月 27 01:37 config-5.10.0-13-amd64
-rw-r--r-- 1 root root 4892 5月 15 12:17 config.conf
-rw-r--r-- 1 root root 2267701248 3月 27 01:37 filesystem.squashfs
-rw-r--r-- 1 root root 48686650 3月 27 01:37 initrd.img-5.10.0-13-amd64
-rw-r--r-- 1 root root 6840768 3月 27 01:37 vmlinuz-5.10.0-13-amd64
master@debian-live:~$
【参数】
変数名パラメータ設定内容LIVE_CONFIG_CMDLINEパラメータ1 パラメータ2 … パラメータnこの変数はブートローダのコマンドラインに相当します。LIVE_CONFIG_COMPONENTS構成要素1,構成要素2, … 構成要素nこの変数は「live-config.components | 構成要素1,構成要素2, … 構成要素n」パラメータに相当します。LIVE_CONFIG_NOCOMPONENTS構成要素1,構成要素2, … 構成要素nこの変数は「live-config.nocomponents | 構成要素1,構成要素2, … 構成要素n」パラメータに相当します。LIVE_DEBCONF_PRESEEDfilesystem|medium|URL1|URL2| … |URLnこの変数は「live-config.debconf-preseed | filesystem|medium|URL1|URL2| … |URLn」パラメータに相当します。LIVE_HOSTNAMEホスト名この変数は「live-config.hostname | ホスト名」パラメータに相当します。LIVE_USERNAMEユーザ名この変数は「live-config.username | ユーザ名」パラメータに相当します。LIVE_USER_DEFAULT_GROUPSグループ1,グループ2 … グループnこの変数は「live-config.user-default-groups | “グループ1,グループ2 … グループn”」パラメータに相当します。LIVE_USER_FULLNAME”ユーザのフルネーム”この変数は「live-config.user-fullname | “ユーザのフルネーム”」パラメータに相当します。LIVE_LOCALESロケール1,ロケール2 … ロケールnこの変数は「live-config.locales | ロケール1,ロケール2 … ロケールn」パラメータに相当します。LIVE_TIMEZONEタイムゾーンこの変数は「live-config.timezone | タイムゾーン」パラメータに相当します。LIVE_KEYBOARD_MODELキーボードの種類この変数は「live-config.keyboard-model | キーボードの種類」パラメータに相当します。LIVE_KEYBOARD_LAYOUTSキーボードレイアウト1,キーボードレイアウト2 … キーボードレイアウトnこの変数は「live-config.keyboard-layouts | キーボードレイアウト1,キーボードレイアウト2… キーボードレイアウトn」パラメータに相当します。LIVE_KEYBOARD_VARIANTSキーボード配列1,キーボード配列2 … キーボード配列nこの変数は「live-config.keyboard-variants | キーボード配列1,キーボード配列2 … キーボード配列n」パラメータに相当します。LIVE_KEYBOARD_OPTIONSキーボードオプションこの変数は「live-config.keyboard-options | キーボードオプション」パラメータに相当します。LIVE_SYSV_RCサービス1,サービス2 … サービスnこの変数は「live-config.sysv-rc | サービス1,サービス2 … サービスn」パラメータに相当します。LIVE_UTCyes|noこの変数は「live-config.utc | yes|no」パラメータに相当します。LIVE_X_SESSION_MANAGERXセッションマネージャこの変数は「live-config.x-session-manager | Xセッションマネージャ」パラメータに相当します。LIVE_XORG_DRIVERXORGドライバこの変数は「live-config.xorg-driver | XORGドライバ」パラメータに相当します。LIVE_XORG_RESOLUTIONXORG解像度この変数は「live-config.xorg-resolution | XORG解像度」パラメータに相当します。LIVE_WLAN_DRIVERWLANドライバこの変数は「live-config.wlan-driver | WLANドライバ」パラメータに相当します。LIVE_HOOKSfilesystem|medium|URL1|URL2| … |URLnこの変数は「live-config.hooks | filesystem|medium|URL1|URL2| … |URLn」パラメータに相当します。LIVE_CONFIG_DEBUGtrue|falseこの変数は「live-config.debug」パラメータに相当します。LIVE_CONFIG_NOAUTOLOGINtrue|
LIVE_CONFIG_NOROOTtrue|
LIVE_CONFIG_NOX11AUTOLOGINtrue|
LIVE_SESSIONplasma.desktop|lxqt.desktop固定値来自Debian Manpages live-config-doc。
【调试输出时的config.conf】
# *****************************************************************************
#set -e
#set -o allexport
set +o | tee
# === Fix Parameters [ /lib/live/init-config.sh ] =============================
#LIVE_HOSTNAME="debian"
#LIVE_USERNAME="user"
#LIVE_USER_FULLNAME="Debian Live user"
#LIVE_USER_DEFAULT_GROUPS="audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor"
# === Fix Parameters [ /lib/live/config/0030-live-debconfig_passwd ] ==========
#_PASSWORD="8Ab05sVQ4LLps" # '/bin/echo "live" | mkpasswd -s'
# === Fix Parameters [ /lib/live/config/0030-user-setup ] =====================
#_PASSWORD="8Ab05sVQ4LLps" # '/bin/echo "live" | mkpasswd -s'
# === User parameters =========================================================
LIVE_HOSTNAME="debian-live"
# -----------------------------------------------------------------------------
LIVE_USER_FULLNAME="Master" # full name
LIVE_USERNAME="master" # user name
LIVE_PASSWORD="master" # password
#LIVE_CRYPTPWD='8Ab05sVQ4LLps'
# -----------------------------------------------------------------------------
LIVE_LOCALES="ja_JP.UTF-8"
LIVE_KEYBOARD_MODEL="pc105"
LIVE_KEYBOARD_LAYOUTS="jp"
LIVE_KEYBOARD_VARIANTS="OADG109A"
LIVE_TIMEZONE="Asia/Tokyo"
LIVE_UTC="yes"
# -----------------------------------------------------------------------------
set | grep -e "^LIVE_" | tee
# === Change hostname =========================================================
if [ -n "${LIVE_HOSTNAME}" ]; then
/bin/echo "${LIVE_HOSTNAME}" > /etc/hostname
fi
# === Output to shell files ===================================================
cat <<- '_EOT_SH_' | sed 's/^ //g' > /lib/live/config/9999-user-setting
#!/bin/sh
/bin/echo ""
/bin/echo "Start 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::"
#. /lib/live/config.sh
#set -e
Cmdline ()
{
:
}
Init ()
{
:
}
Config ()
{
# === Change user password ================================================
if [ -n "${LIVE_USERNAME}" ] && [ -n "${LIVE_PASSWORD}" ]; then
/bin/echo ""
/bin/echo "Change user password ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
# useradd ${LIVE_USERNAME}
/bin/echo -e "${LIVE_PASSWORD}\n${LIVE_PASSWORD}" | passwd ${LIVE_USERNAME}
fi
# === Change smb password =================================================
if [ -n "`which smbpasswd 2> /dev/null`" ] && [ -n "${LIVE_USERNAME}" ] && [ -n "${LIVE_PASSWORD}" ]; then
/bin/echo ""
/bin/echo "Change smb password :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
smbpasswd -a ${LIVE_USERNAME} -n
/bin/echo -e "${LIVE_PASSWORD}\n${LIVE_PASSWORD}" | smbpasswd ${LIVE_USERNAME}
fi
# === Change sshd configure ===============================================
if [ -f /etc/ssh/sshd_config ]; then
/bin/echo ""
/bin/echo "Change sshd configure :::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
sed -i /etc/ssh/sshd_config \
-e 's/^#*[ \t]*\(PasswordAuthentication\)[ \t]*.*$/\1 yes/g'
fi
# --- Creating state file -------------------------------------------------
/bin/echo "Creating state file :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
touch /var/lib/live/config/user-setting
}
Debug ()
{
# === Display of parameters ===============================================
/bin/echo ""
/bin/echo "Display of parameters :::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
/bin/echo "LIVE_USER_FULLNAME =${LIVE_USER_FULLNAME}"
/bin/echo "LIVE_USERNAME =${LIVE_USERNAME}"
/bin/echo "LIVE_PASSWORD =${LIVE_PASSWORD}"
/bin/echo "LIVE_CRYPTPWD =${LIVE_CRYPTPWD}"
/bin/echo "LIVE_LOCALES =${LIVE_LOCALES}"
/bin/echo "LIVE_KEYBOARD_MODEL =${LIVE_KEYBOARD_MODEL}"
/bin/echo "LIVE_KEYBOARD_LAYOUTS =${LIVE_KEYBOARD_LAYOUTS}"
/bin/echo "LIVE_KEYBOARD_VARIANTS=${LIVE_KEYBOARD_VARIANTS}"
/bin/echo "LIVE_TIMEZONE =${LIVE_TIMEZONE}"
/bin/echo "LIVE_UTC =${LIVE_UTC}"
}
Cmdline
Init
Config
#Debug
/bin/echo ""
/bin/echo "End 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
_EOT_SH_
chmod +x /lib/live/config/9999-user-setting
# -----------------------------------------------------------------------------
set | grep -e "^LIVE_" | tee
# === Creating state file =====================================================
touch /var/lib/live/config/config-conf
# =============================================================================
#set +e
# === Memo ====================================================================
# /lib/live/init-config.sh
# /lib/live/config/0020-hostname
# /lib/live/config/0030-live-debconfig_passwd
# /lib/live/config/0030-user-setup
# /lib/live/config/1160-openssh-server
# *****************************************************************************
【调试输出时的syslog】
master@debian-live:~$ sudo grep live-config /var/log/syslog
May 15 12:21:05 localhost systemd[1]: Starting live-config contains the components that configure a live system during the boot process (late userspace)....
May 15 12:21:05 localhost live-config[603]: set +o errexit
May 15 12:21:05 localhost live-config[603]: set +o noglob
May 15 12:21:05 localhost live-config[603]: set +o ignoreeof
May 15 12:21:05 localhost live-config[603]: set +o interactive
May 15 12:21:05 localhost live-config[603]: set +o monitor
May 15 12:21:05 localhost live-config[603]: set +o noexec
May 15 12:21:05 localhost live-config[603]: set +o stdin
May 15 12:21:05 localhost live-config[603]: set +o xtrace
May 15 12:21:05 localhost live-config[603]: set +o verbose
May 15 12:21:05 localhost live-config[603]: set +o vi
May 15 12:21:05 localhost live-config[603]: set +o emacs
May 15 12:21:05 localhost live-config[603]: set +o noclobber
May 15 12:21:05 localhost live-config[603]: set -o allexport
May 15 12:21:05 localhost live-config[603]: set +o notify
May 15 12:21:05 localhost live-config[603]: set +o nounset
May 15 12:21:05 localhost live-config[603]: set +o privileged
May 15 12:21:05 localhost live-config[603]: set +o nolog
May 15 12:21:05 localhost live-config[603]: set +o debug
May 15 12:21:05 localhost live-config[607]: LIVE_HOSTNAME='debian-live'
May 15 12:21:05 localhost live-config[607]: LIVE_KEYBOARD_LAYOUTS='jp'
May 15 12:21:05 localhost live-config[607]: LIVE_KEYBOARD_MODEL='pc105'
May 15 12:21:05 localhost live-config[607]: LIVE_KEYBOARD_VARIANTS='OADG109A'
May 15 12:21:05 localhost live-config[607]: LIVE_LOCALES='ja_JP.UTF-8'
May 15 12:21:05 localhost live-config[607]: LIVE_PASSWORD='master'
May 15 12:21:05 localhost live-config[607]: LIVE_TIMEZONE='Asia/Tokyo'
May 15 12:21:05 localhost live-config[607]: LIVE_USERNAME='master'
May 15 12:21:05 localhost live-config[607]: LIVE_USER_DEFAULT_GROUPS='audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor'
May 15 12:21:05 localhost live-config[607]: LIVE_USER_FULLNAME='Master'
May 15 12:21:05 localhost live-config[607]: LIVE_UTC='yes'
May 15 12:21:05 localhost live-config[618]: LIVE_HOSTNAME='debian-live'
May 15 12:21:05 localhost live-config[618]: LIVE_KEYBOARD_LAYOUTS='jp'
May 15 12:21:05 localhost live-config[618]: LIVE_KEYBOARD_MODEL='pc105'
May 15 12:21:05 localhost live-config[618]: LIVE_KEYBOARD_VARIANTS='OADG109A'
May 15 12:21:05 localhost live-config[618]: LIVE_LOCALES='ja_JP.UTF-8'
May 15 12:21:05 localhost live-config[618]: LIVE_PASSWORD='master'
May 15 12:21:05 localhost live-config[618]: LIVE_TIMEZONE='Asia/Tokyo'
May 15 12:21:05 localhost live-config[618]: LIVE_USERNAME='master'
May 15 12:21:05 localhost live-config[618]: LIVE_USER_DEFAULT_GROUPS='audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor'
May 15 12:21:05 localhost live-config[618]: LIVE_USER_FULLNAME='Master'
May 15 12:21:05 localhost live-config[618]: LIVE_UTC='yes'
May 15 12:21:05 localhost live-config[643]: live-config: debconf hostname user-setup sudo locales tzdata
May 15 12:21:05 localhost live-config[643]: Current default time zone: 'Asia/Tokyo'
May 15 12:21:05 localhost live-config[643]: Local time is now: Sun May 15 12:21:03 JST 2022.
May 15 12:21:05 localhost live-config[643]: Universal Time is now: Sun May 15 03:21:03 UTC 2022.
May 15 12:21:05 localhost live-config[643]: lightdm keyboard-configuration policykit ssl-cert anacron util-linux login xserver-xorg xscreensaver
May 15 12:21:05 localhost live-config[643]: Start 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: Change user password ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: New password: Retype new password: passwd: password updated successfully
May 15 12:21:05 localhost live-config[643]: Creating state file :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: End 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: .
May 15 12:21:05 localhost systemd[1]: Finished live-config contains the components that configure a live system during the boot process (late userspace)..
master@debian-live:~$
【尾声】
原因を見つけるまでにはかなりの時間がかかりましたが、シェル内の物が使用されているときには、以下のコマンドに”-e”も出力されるため、/bin/echoに変更することで問題が解決しました。
echo -e "${LIVE_PASSWORD}\n${LIVE_PASSWORD}" | passwd ${LIVE_USERNAME}
【自动创建Shell】
以下是一个可能的中文翻译:【参考】
・在Qiita上介绍了用于Debian/Ubuntu/CentOS/Fedora/OpenSUSE的无人安装和Knoppix日语化的媒体创建shell脚本。
・在github.com上的office-itou/Linux/installer项目也有相关内容。
master@debian-live:~$ ls -l /lib/live/mount/medium/live/
合計 2269015
-rw-r--r-- 1 root root 83 3月 27 01:37 System.map-5.10.0-13-amd64
-rw-r--r-- 1 root root 236106 3月 27 01:37 config-5.10.0-13-amd64
-rw-r--r-- 1 root root 4892 5月 15 12:17 config.conf
-rw-r--r-- 1 root root 2267701248 3月 27 01:37 filesystem.squashfs
-rw-r--r-- 1 root root 48686650 3月 27 01:37 initrd.img-5.10.0-13-amd64
-rw-r--r-- 1 root root 6840768 3月 27 01:37 vmlinuz-5.10.0-13-amd64
master@debian-live:~$
変数名パラメータ設定内容LIVE_CONFIG_CMDLINEパラメータ1 パラメータ2 … パラメータnこの変数はブートローダのコマンドラインに相当します。LIVE_CONFIG_COMPONENTS構成要素1,構成要素2, … 構成要素nこの変数は「live-config.components | 構成要素1,構成要素2, … 構成要素n」パラメータに相当します。LIVE_CONFIG_NOCOMPONENTS構成要素1,構成要素2, … 構成要素nこの変数は「live-config.nocomponents | 構成要素1,構成要素2, … 構成要素n」パラメータに相当します。LIVE_DEBCONF_PRESEEDfilesystem|medium|URL1|URL2| … |URLnこの変数は「live-config.debconf-preseed | filesystem|medium|URL1|URL2| … |URLn」パラメータに相当します。LIVE_HOSTNAMEホスト名この変数は「live-config.hostname | ホスト名」パラメータに相当します。LIVE_USERNAMEユーザ名この変数は「live-config.username | ユーザ名」パラメータに相当します。LIVE_USER_DEFAULT_GROUPSグループ1,グループ2 … グループnこの変数は「live-config.user-default-groups | “グループ1,グループ2 … グループn”」パラメータに相当します。LIVE_USER_FULLNAME”ユーザのフルネーム”この変数は「live-config.user-fullname | “ユーザのフルネーム”」パラメータに相当します。LIVE_LOCALESロケール1,ロケール2 … ロケールnこの変数は「live-config.locales | ロケール1,ロケール2 … ロケールn」パラメータに相当します。LIVE_TIMEZONEタイムゾーンこの変数は「live-config.timezone | タイムゾーン」パラメータに相当します。LIVE_KEYBOARD_MODELキーボードの種類この変数は「live-config.keyboard-model | キーボードの種類」パラメータに相当します。LIVE_KEYBOARD_LAYOUTSキーボードレイアウト1,キーボードレイアウト2 … キーボードレイアウトnこの変数は「live-config.keyboard-layouts | キーボードレイアウト1,キーボードレイアウト2… キーボードレイアウトn」パラメータに相当します。LIVE_KEYBOARD_VARIANTSキーボード配列1,キーボード配列2 … キーボード配列nこの変数は「live-config.keyboard-variants | キーボード配列1,キーボード配列2 … キーボード配列n」パラメータに相当します。LIVE_KEYBOARD_OPTIONSキーボードオプションこの変数は「live-config.keyboard-options | キーボードオプション」パラメータに相当します。LIVE_SYSV_RCサービス1,サービス2 … サービスnこの変数は「live-config.sysv-rc | サービス1,サービス2 … サービスn」パラメータに相当します。LIVE_UTCyes|noこの変数は「live-config.utc | yes|no」パラメータに相当します。LIVE_X_SESSION_MANAGERXセッションマネージャこの変数は「live-config.x-session-manager | Xセッションマネージャ」パラメータに相当します。LIVE_XORG_DRIVERXORGドライバこの変数は「live-config.xorg-driver | XORGドライバ」パラメータに相当します。LIVE_XORG_RESOLUTIONXORG解像度この変数は「live-config.xorg-resolution | XORG解像度」パラメータに相当します。LIVE_WLAN_DRIVERWLANドライバこの変数は「live-config.wlan-driver | WLANドライバ」パラメータに相当します。LIVE_HOOKSfilesystem|medium|URL1|URL2| … |URLnこの変数は「live-config.hooks | filesystem|medium|URL1|URL2| … |URLn」パラメータに相当します。LIVE_CONFIG_DEBUGtrue|falseこの変数は「live-config.debug」パラメータに相当します。LIVE_CONFIG_NOAUTOLOGINtrue|
LIVE_CONFIG_NOROOTtrue|
LIVE_CONFIG_NOX11AUTOLOGINtrue|
LIVE_SESSIONplasma.desktop|lxqt.desktop固定値来自Debian Manpages live-config-doc。【调试输出时的config.conf】
LIVE_CONFIG_NOROOTtrue|
LIVE_CONFIG_NOX11AUTOLOGINtrue|
LIVE_SESSIONplasma.desktop|lxqt.desktop固定値来自Debian Manpages live-config-doc。
【调试输出时的config.conf】
# *****************************************************************************
#set -e
#set -o allexport
set +o | tee
# === Fix Parameters [ /lib/live/init-config.sh ] =============================
#LIVE_HOSTNAME="debian"
#LIVE_USERNAME="user"
#LIVE_USER_FULLNAME="Debian Live user"
#LIVE_USER_DEFAULT_GROUPS="audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor"
# === Fix Parameters [ /lib/live/config/0030-live-debconfig_passwd ] ==========
#_PASSWORD="8Ab05sVQ4LLps" # '/bin/echo "live" | mkpasswd -s'
# === Fix Parameters [ /lib/live/config/0030-user-setup ] =====================
#_PASSWORD="8Ab05sVQ4LLps" # '/bin/echo "live" | mkpasswd -s'
# === User parameters =========================================================
LIVE_HOSTNAME="debian-live"
# -----------------------------------------------------------------------------
LIVE_USER_FULLNAME="Master" # full name
LIVE_USERNAME="master" # user name
LIVE_PASSWORD="master" # password
#LIVE_CRYPTPWD='8Ab05sVQ4LLps'
# -----------------------------------------------------------------------------
LIVE_LOCALES="ja_JP.UTF-8"
LIVE_KEYBOARD_MODEL="pc105"
LIVE_KEYBOARD_LAYOUTS="jp"
LIVE_KEYBOARD_VARIANTS="OADG109A"
LIVE_TIMEZONE="Asia/Tokyo"
LIVE_UTC="yes"
# -----------------------------------------------------------------------------
set | grep -e "^LIVE_" | tee
# === Change hostname =========================================================
if [ -n "${LIVE_HOSTNAME}" ]; then
/bin/echo "${LIVE_HOSTNAME}" > /etc/hostname
fi
# === Output to shell files ===================================================
cat <<- '_EOT_SH_' | sed 's/^ //g' > /lib/live/config/9999-user-setting
#!/bin/sh
/bin/echo ""
/bin/echo "Start 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::"
#. /lib/live/config.sh
#set -e
Cmdline ()
{
:
}
Init ()
{
:
}
Config ()
{
# === Change user password ================================================
if [ -n "${LIVE_USERNAME}" ] && [ -n "${LIVE_PASSWORD}" ]; then
/bin/echo ""
/bin/echo "Change user password ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
# useradd ${LIVE_USERNAME}
/bin/echo -e "${LIVE_PASSWORD}\n${LIVE_PASSWORD}" | passwd ${LIVE_USERNAME}
fi
# === Change smb password =================================================
if [ -n "`which smbpasswd 2> /dev/null`" ] && [ -n "${LIVE_USERNAME}" ] && [ -n "${LIVE_PASSWORD}" ]; then
/bin/echo ""
/bin/echo "Change smb password :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
smbpasswd -a ${LIVE_USERNAME} -n
/bin/echo -e "${LIVE_PASSWORD}\n${LIVE_PASSWORD}" | smbpasswd ${LIVE_USERNAME}
fi
# === Change sshd configure ===============================================
if [ -f /etc/ssh/sshd_config ]; then
/bin/echo ""
/bin/echo "Change sshd configure :::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
sed -i /etc/ssh/sshd_config \
-e 's/^#*[ \t]*\(PasswordAuthentication\)[ \t]*.*$/\1 yes/g'
fi
# --- Creating state file -------------------------------------------------
/bin/echo "Creating state file :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
touch /var/lib/live/config/user-setting
}
Debug ()
{
# === Display of parameters ===============================================
/bin/echo ""
/bin/echo "Display of parameters :::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
/bin/echo "LIVE_USER_FULLNAME =${LIVE_USER_FULLNAME}"
/bin/echo "LIVE_USERNAME =${LIVE_USERNAME}"
/bin/echo "LIVE_PASSWORD =${LIVE_PASSWORD}"
/bin/echo "LIVE_CRYPTPWD =${LIVE_CRYPTPWD}"
/bin/echo "LIVE_LOCALES =${LIVE_LOCALES}"
/bin/echo "LIVE_KEYBOARD_MODEL =${LIVE_KEYBOARD_MODEL}"
/bin/echo "LIVE_KEYBOARD_LAYOUTS =${LIVE_KEYBOARD_LAYOUTS}"
/bin/echo "LIVE_KEYBOARD_VARIANTS=${LIVE_KEYBOARD_VARIANTS}"
/bin/echo "LIVE_TIMEZONE =${LIVE_TIMEZONE}"
/bin/echo "LIVE_UTC =${LIVE_UTC}"
}
Cmdline
Init
Config
#Debug
/bin/echo ""
/bin/echo "End 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
_EOT_SH_
chmod +x /lib/live/config/9999-user-setting
# -----------------------------------------------------------------------------
set | grep -e "^LIVE_" | tee
# === Creating state file =====================================================
touch /var/lib/live/config/config-conf
# =============================================================================
#set +e
# === Memo ====================================================================
# /lib/live/init-config.sh
# /lib/live/config/0020-hostname
# /lib/live/config/0030-live-debconfig_passwd
# /lib/live/config/0030-user-setup
# /lib/live/config/1160-openssh-server
# *****************************************************************************
【调试输出时的syslog】
master@debian-live:~$ sudo grep live-config /var/log/syslog
May 15 12:21:05 localhost systemd[1]: Starting live-config contains the components that configure a live system during the boot process (late userspace)....
May 15 12:21:05 localhost live-config[603]: set +o errexit
May 15 12:21:05 localhost live-config[603]: set +o noglob
May 15 12:21:05 localhost live-config[603]: set +o ignoreeof
May 15 12:21:05 localhost live-config[603]: set +o interactive
May 15 12:21:05 localhost live-config[603]: set +o monitor
May 15 12:21:05 localhost live-config[603]: set +o noexec
May 15 12:21:05 localhost live-config[603]: set +o stdin
May 15 12:21:05 localhost live-config[603]: set +o xtrace
May 15 12:21:05 localhost live-config[603]: set +o verbose
May 15 12:21:05 localhost live-config[603]: set +o vi
May 15 12:21:05 localhost live-config[603]: set +o emacs
May 15 12:21:05 localhost live-config[603]: set +o noclobber
May 15 12:21:05 localhost live-config[603]: set -o allexport
May 15 12:21:05 localhost live-config[603]: set +o notify
May 15 12:21:05 localhost live-config[603]: set +o nounset
May 15 12:21:05 localhost live-config[603]: set +o privileged
May 15 12:21:05 localhost live-config[603]: set +o nolog
May 15 12:21:05 localhost live-config[603]: set +o debug
May 15 12:21:05 localhost live-config[607]: LIVE_HOSTNAME='debian-live'
May 15 12:21:05 localhost live-config[607]: LIVE_KEYBOARD_LAYOUTS='jp'
May 15 12:21:05 localhost live-config[607]: LIVE_KEYBOARD_MODEL='pc105'
May 15 12:21:05 localhost live-config[607]: LIVE_KEYBOARD_VARIANTS='OADG109A'
May 15 12:21:05 localhost live-config[607]: LIVE_LOCALES='ja_JP.UTF-8'
May 15 12:21:05 localhost live-config[607]: LIVE_PASSWORD='master'
May 15 12:21:05 localhost live-config[607]: LIVE_TIMEZONE='Asia/Tokyo'
May 15 12:21:05 localhost live-config[607]: LIVE_USERNAME='master'
May 15 12:21:05 localhost live-config[607]: LIVE_USER_DEFAULT_GROUPS='audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor'
May 15 12:21:05 localhost live-config[607]: LIVE_USER_FULLNAME='Master'
May 15 12:21:05 localhost live-config[607]: LIVE_UTC='yes'
May 15 12:21:05 localhost live-config[618]: LIVE_HOSTNAME='debian-live'
May 15 12:21:05 localhost live-config[618]: LIVE_KEYBOARD_LAYOUTS='jp'
May 15 12:21:05 localhost live-config[618]: LIVE_KEYBOARD_MODEL='pc105'
May 15 12:21:05 localhost live-config[618]: LIVE_KEYBOARD_VARIANTS='OADG109A'
May 15 12:21:05 localhost live-config[618]: LIVE_LOCALES='ja_JP.UTF-8'
May 15 12:21:05 localhost live-config[618]: LIVE_PASSWORD='master'
May 15 12:21:05 localhost live-config[618]: LIVE_TIMEZONE='Asia/Tokyo'
May 15 12:21:05 localhost live-config[618]: LIVE_USERNAME='master'
May 15 12:21:05 localhost live-config[618]: LIVE_USER_DEFAULT_GROUPS='audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor'
May 15 12:21:05 localhost live-config[618]: LIVE_USER_FULLNAME='Master'
May 15 12:21:05 localhost live-config[618]: LIVE_UTC='yes'
May 15 12:21:05 localhost live-config[643]: live-config: debconf hostname user-setup sudo locales tzdata
May 15 12:21:05 localhost live-config[643]: Current default time zone: 'Asia/Tokyo'
May 15 12:21:05 localhost live-config[643]: Local time is now: Sun May 15 12:21:03 JST 2022.
May 15 12:21:05 localhost live-config[643]: Universal Time is now: Sun May 15 03:21:03 UTC 2022.
May 15 12:21:05 localhost live-config[643]: lightdm keyboard-configuration policykit ssl-cert anacron util-linux login xserver-xorg xscreensaver
May 15 12:21:05 localhost live-config[643]: Start 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: Change user password ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: New password: Retype new password: passwd: password updated successfully
May 15 12:21:05 localhost live-config[643]: Creating state file :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: End 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: .
May 15 12:21:05 localhost systemd[1]: Finished live-config contains the components that configure a live system during the boot process (late userspace)..
master@debian-live:~$
【尾声】
原因を見つけるまでにはかなりの時間がかかりましたが、シェル内の物が使用されているときには、以下のコマンドに”-e”も出力されるため、/bin/echoに変更することで問題が解決しました。
echo -e "${LIVE_PASSWORD}\n${LIVE_PASSWORD}" | passwd ${LIVE_USERNAME}
【自动创建Shell】
以下是一个可能的中文翻译:【参考】
・在Qiita上介绍了用于Debian/Ubuntu/CentOS/Fedora/OpenSUSE的无人安装和Knoppix日语化的媒体创建shell脚本。
・在github.com上的office-itou/Linux/installer项目也有相关内容。
# *****************************************************************************
#set -e
#set -o allexport
set +o | tee
# === Fix Parameters [ /lib/live/init-config.sh ] =============================
#LIVE_HOSTNAME="debian"
#LIVE_USERNAME="user"
#LIVE_USER_FULLNAME="Debian Live user"
#LIVE_USER_DEFAULT_GROUPS="audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor"
# === Fix Parameters [ /lib/live/config/0030-live-debconfig_passwd ] ==========
#_PASSWORD="8Ab05sVQ4LLps" # '/bin/echo "live" | mkpasswd -s'
# === Fix Parameters [ /lib/live/config/0030-user-setup ] =====================
#_PASSWORD="8Ab05sVQ4LLps" # '/bin/echo "live" | mkpasswd -s'
# === User parameters =========================================================
LIVE_HOSTNAME="debian-live"
# -----------------------------------------------------------------------------
LIVE_USER_FULLNAME="Master" # full name
LIVE_USERNAME="master" # user name
LIVE_PASSWORD="master" # password
#LIVE_CRYPTPWD='8Ab05sVQ4LLps'
# -----------------------------------------------------------------------------
LIVE_LOCALES="ja_JP.UTF-8"
LIVE_KEYBOARD_MODEL="pc105"
LIVE_KEYBOARD_LAYOUTS="jp"
LIVE_KEYBOARD_VARIANTS="OADG109A"
LIVE_TIMEZONE="Asia/Tokyo"
LIVE_UTC="yes"
# -----------------------------------------------------------------------------
set | grep -e "^LIVE_" | tee
# === Change hostname =========================================================
if [ -n "${LIVE_HOSTNAME}" ]; then
/bin/echo "${LIVE_HOSTNAME}" > /etc/hostname
fi
# === Output to shell files ===================================================
cat <<- '_EOT_SH_' | sed 's/^ //g' > /lib/live/config/9999-user-setting
#!/bin/sh
/bin/echo ""
/bin/echo "Start 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::"
#. /lib/live/config.sh
#set -e
Cmdline ()
{
:
}
Init ()
{
:
}
Config ()
{
# === Change user password ================================================
if [ -n "${LIVE_USERNAME}" ] && [ -n "${LIVE_PASSWORD}" ]; then
/bin/echo ""
/bin/echo "Change user password ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
# useradd ${LIVE_USERNAME}
/bin/echo -e "${LIVE_PASSWORD}\n${LIVE_PASSWORD}" | passwd ${LIVE_USERNAME}
fi
# === Change smb password =================================================
if [ -n "`which smbpasswd 2> /dev/null`" ] && [ -n "${LIVE_USERNAME}" ] && [ -n "${LIVE_PASSWORD}" ]; then
/bin/echo ""
/bin/echo "Change smb password :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
smbpasswd -a ${LIVE_USERNAME} -n
/bin/echo -e "${LIVE_PASSWORD}\n${LIVE_PASSWORD}" | smbpasswd ${LIVE_USERNAME}
fi
# === Change sshd configure ===============================================
if [ -f /etc/ssh/sshd_config ]; then
/bin/echo ""
/bin/echo "Change sshd configure :::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
sed -i /etc/ssh/sshd_config \
-e 's/^#*[ \t]*\(PasswordAuthentication\)[ \t]*.*$/\1 yes/g'
fi
# --- Creating state file -------------------------------------------------
/bin/echo "Creating state file :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
touch /var/lib/live/config/user-setting
}
Debug ()
{
# === Display of parameters ===============================================
/bin/echo ""
/bin/echo "Display of parameters :::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
/bin/echo "LIVE_USER_FULLNAME =${LIVE_USER_FULLNAME}"
/bin/echo "LIVE_USERNAME =${LIVE_USERNAME}"
/bin/echo "LIVE_PASSWORD =${LIVE_PASSWORD}"
/bin/echo "LIVE_CRYPTPWD =${LIVE_CRYPTPWD}"
/bin/echo "LIVE_LOCALES =${LIVE_LOCALES}"
/bin/echo "LIVE_KEYBOARD_MODEL =${LIVE_KEYBOARD_MODEL}"
/bin/echo "LIVE_KEYBOARD_LAYOUTS =${LIVE_KEYBOARD_LAYOUTS}"
/bin/echo "LIVE_KEYBOARD_VARIANTS=${LIVE_KEYBOARD_VARIANTS}"
/bin/echo "LIVE_TIMEZONE =${LIVE_TIMEZONE}"
/bin/echo "LIVE_UTC =${LIVE_UTC}"
}
Cmdline
Init
Config
#Debug
/bin/echo ""
/bin/echo "End 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
_EOT_SH_
chmod +x /lib/live/config/9999-user-setting
# -----------------------------------------------------------------------------
set | grep -e "^LIVE_" | tee
# === Creating state file =====================================================
touch /var/lib/live/config/config-conf
# =============================================================================
#set +e
# === Memo ====================================================================
# /lib/live/init-config.sh
# /lib/live/config/0020-hostname
# /lib/live/config/0030-live-debconfig_passwd
# /lib/live/config/0030-user-setup
# /lib/live/config/1160-openssh-server
# *****************************************************************************
master@debian-live:~$ sudo grep live-config /var/log/syslog
May 15 12:21:05 localhost systemd[1]: Starting live-config contains the components that configure a live system during the boot process (late userspace)....
May 15 12:21:05 localhost live-config[603]: set +o errexit
May 15 12:21:05 localhost live-config[603]: set +o noglob
May 15 12:21:05 localhost live-config[603]: set +o ignoreeof
May 15 12:21:05 localhost live-config[603]: set +o interactive
May 15 12:21:05 localhost live-config[603]: set +o monitor
May 15 12:21:05 localhost live-config[603]: set +o noexec
May 15 12:21:05 localhost live-config[603]: set +o stdin
May 15 12:21:05 localhost live-config[603]: set +o xtrace
May 15 12:21:05 localhost live-config[603]: set +o verbose
May 15 12:21:05 localhost live-config[603]: set +o vi
May 15 12:21:05 localhost live-config[603]: set +o emacs
May 15 12:21:05 localhost live-config[603]: set +o noclobber
May 15 12:21:05 localhost live-config[603]: set -o allexport
May 15 12:21:05 localhost live-config[603]: set +o notify
May 15 12:21:05 localhost live-config[603]: set +o nounset
May 15 12:21:05 localhost live-config[603]: set +o privileged
May 15 12:21:05 localhost live-config[603]: set +o nolog
May 15 12:21:05 localhost live-config[603]: set +o debug
May 15 12:21:05 localhost live-config[607]: LIVE_HOSTNAME='debian-live'
May 15 12:21:05 localhost live-config[607]: LIVE_KEYBOARD_LAYOUTS='jp'
May 15 12:21:05 localhost live-config[607]: LIVE_KEYBOARD_MODEL='pc105'
May 15 12:21:05 localhost live-config[607]: LIVE_KEYBOARD_VARIANTS='OADG109A'
May 15 12:21:05 localhost live-config[607]: LIVE_LOCALES='ja_JP.UTF-8'
May 15 12:21:05 localhost live-config[607]: LIVE_PASSWORD='master'
May 15 12:21:05 localhost live-config[607]: LIVE_TIMEZONE='Asia/Tokyo'
May 15 12:21:05 localhost live-config[607]: LIVE_USERNAME='master'
May 15 12:21:05 localhost live-config[607]: LIVE_USER_DEFAULT_GROUPS='audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor'
May 15 12:21:05 localhost live-config[607]: LIVE_USER_FULLNAME='Master'
May 15 12:21:05 localhost live-config[607]: LIVE_UTC='yes'
May 15 12:21:05 localhost live-config[618]: LIVE_HOSTNAME='debian-live'
May 15 12:21:05 localhost live-config[618]: LIVE_KEYBOARD_LAYOUTS='jp'
May 15 12:21:05 localhost live-config[618]: LIVE_KEYBOARD_MODEL='pc105'
May 15 12:21:05 localhost live-config[618]: LIVE_KEYBOARD_VARIANTS='OADG109A'
May 15 12:21:05 localhost live-config[618]: LIVE_LOCALES='ja_JP.UTF-8'
May 15 12:21:05 localhost live-config[618]: LIVE_PASSWORD='master'
May 15 12:21:05 localhost live-config[618]: LIVE_TIMEZONE='Asia/Tokyo'
May 15 12:21:05 localhost live-config[618]: LIVE_USERNAME='master'
May 15 12:21:05 localhost live-config[618]: LIVE_USER_DEFAULT_GROUPS='audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth debian-tor'
May 15 12:21:05 localhost live-config[618]: LIVE_USER_FULLNAME='Master'
May 15 12:21:05 localhost live-config[618]: LIVE_UTC='yes'
May 15 12:21:05 localhost live-config[643]: live-config: debconf hostname user-setup sudo locales tzdata
May 15 12:21:05 localhost live-config[643]: Current default time zone: 'Asia/Tokyo'
May 15 12:21:05 localhost live-config[643]: Local time is now: Sun May 15 12:21:03 JST 2022.
May 15 12:21:05 localhost live-config[643]: Universal Time is now: Sun May 15 03:21:03 UTC 2022.
May 15 12:21:05 localhost live-config[643]: lightdm keyboard-configuration policykit ssl-cert anacron util-linux login xserver-xorg xscreensaver
May 15 12:21:05 localhost live-config[643]: Start 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: Change user password ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: New password: Retype new password: passwd: password updated successfully
May 15 12:21:05 localhost live-config[643]: Creating state file :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: End 9999-user-setting :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
May 15 12:21:05 localhost live-config[643]: .
May 15 12:21:05 localhost systemd[1]: Finished live-config contains the components that configure a live system during the boot process (late userspace)..
master@debian-live:~$
【尾声】
原因を見つけるまでにはかなりの時間がかかりましたが、シェル内の物が使用されているときには、以下のコマンドに”-e”も出力されるため、/bin/echoに変更することで問題が解決しました。
echo -e "${LIVE_PASSWORD}\n${LIVE_PASSWORD}" | passwd ${LIVE_USERNAME}
【自动创建Shell】
以下是一个可能的中文翻译:【参考】
・在Qiita上介绍了用于Debian/Ubuntu/CentOS/Fedora/OpenSUSE的无人安装和Knoppix日语化的媒体创建shell脚本。
・在github.com上的office-itou/Linux/installer项目也有相关内容。
echo -e "${LIVE_PASSWORD}\n${LIVE_PASSWORD}" | passwd ${LIVE_USERNAME}

以下是一个可能的中文翻译:【参考】
・在Qiita上介绍了用于Debian/Ubuntu/CentOS/Fedora/OpenSUSE的无人安装和Knoppix日语化的媒体创建shell脚本。
・在github.com上的office-itou/Linux/installer项目也有相关内容。