kickstart 安装中的 chown 命令问题
我尝试在文件中chown myuser:myuser
该部分的末尾运行。chown 之前的所有内容均成功运行。%post
ks.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 myuser
:myuser : 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 之后,我能够毫无问题地完成所有事情。