Kickstart Ubuntu 16.04 安装后 Chown

Kickstart Ubuntu 16.04 安装后 Chown

kickstart 安装中的 chown 命令问题

我尝试在文件中chown myuser:myuser该部分的末尾运行。chown 之前的所有内容均成功运行。%postks.cfg

ks配置文件

#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T

#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone America/Denver
#Root password
rootpw --disabled
#Initial user
user myuser --fullname "" --iscrypted --password ##############################/
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use hard drive installation media
# harddrive --dir=/ks.cfg --partition=4005-3596
cdrom 
#System authorization infomation
auth  --useshadow  --enablemd5
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled
#Do not configure the X Window System
skipx

%packages
@ ubuntu-server
openssh-server
build-essential

%post --log=/root/ks-post.log
exec < /dev/tty6 > /dev/tty6 2> /dev/tty6
chvt 6
#mount the cd (ISO in my case) to copy files from it
#since this is chrooted environment
mount /dev/cdrom /mnt
# Make directories
echo "***Making Directories***"
mkdir -p /home/myuser/bcfiles
mkdir -p /home/myuser/bin
# Copy bcsetup files
echo "***Copying bcsetup Files***"
cp -r /mnt/postfiles/bcsetup /home/myuser/bin
cp -r /mnt/postfiles/bcsetup-dev /home/myuser/bin
# Copy bcfiles directory
echo "***Copying bcfiles Directory***"
cp -r /mnt/postfiles/bcfiles /home/myuser/
# Copy myuser Profile Configuration Files
echo "***Copying myuser Profile Configuration Files***"
cp -r /mnt/postfiles/.bash_logout /home/myuser/
cp -r /mnt/postfiles/.bashrc /home/myuser/
cp -r /mnt/postfiles/.profile /home/myuser/
# Applying permissions
echo "***Applying Permissions***"
chown myuser /home/myuser/.bashrc

ks.cfg 使用 --nochroot 进行测试

%post --nochroot --log=/root/ks-post.log
# Make directories
echo "***Making Directories***"
mkdir -p /target/home/myuser/bcfiles
mkdir -p /target/home/myuser/bin
# Copy bcsetup files
echo "***Copying bcsetup Files***"
cp -r /cdrom/postfiles/bcsetup /target/home/myuser/bin
cp -r /cdrom/postfiles/bcsetup-dev /target/home/myuser/bin
# Copy bcfiles directory
echo "***Copying bcfiles Directory***"
cp -r /cdrom/postfiles/bcfiles /target/home/myuser/
# Copy myuser Profile Configuration Files
echo "***Copying myuser Profile Configuration Files***"
cp -r /cdrom/postfiles/.bash_logout /target/home/myuser/
cp -r /cdrom/postfiles/.bashrc /target/home/myuser/
cp -r /cdrom/postfiles/.profile /target/home/myuser/
# Applying permissions
echo "***Applying Permissions***"
chown myuser:myuser -R /target/home/myuser/


安装后cat /var/log/installer/syslog | grep kickseed显示:

kickseed: chown: unknown user myuser:myuser


后记

到目前为止,我尝试了几种不同的方法。如果我--nochroot从 中排除,也会发生同样的事情%post。我见过使用 的其他 ks.cfg 配置,chown myuser.myuser但也没有奏效。还尝试了chown中的单个文件/home/myuser/

任何建议都将不胜感激。

更新

/etc/passwd/etc/group两个列表myuser。输出groups myusermyuser : myuser adm cdrom sudo dip plugdev lpadmin sambashare

思考

此时我正在考虑将脚本移到/home/myuser/bin不需要/usr/local/bin依赖的地方chown

答案1

我最近遇到了这个问题,当我通过谷歌搜索时,我发现这是第一个结果之一,所以我将与您分享解决方案:

您可以看到您的用户列在 /etc/passwd 中,但是,它是在执行 %post 部分后创建的。因此,在 %post 脚本运行时,您的用户尚未创建。检查 /var/log/installer 中的日志并搜索 post

答案2

我最初选择使用 Preseed+Kickstart,因为我认为功能更多。然而,在只使用 preseed 之后,我能够毫无问题地完成所有事情。

相关内容