
Al crear un instalador USB personalizado para Centos6.6 (no es fácil), descubrí quesila sección %post del archivo kickstart tiene comillas invertidas
- Anaconda se completa, pero sale inmediatamente a una pantalla en blanco (sin salida de video). Normalmente sale con un mensaje que dice que Anaconda terminó, etc. y
- Tanto anaconda-ks.log como el archivo de registro %post existen pero no tienen longitud.
Esto funciona
%pre --log=/root/postLog.log
echo "This is the post"
ls
%end
esto no funciona
%pre --log=/root/postLog.log
echo "This is the post"
echo `ls`
%end
Esto tampoco funciona
%pre --log=/root/postLog.log
echo "This is the post"
echo $(ls)
%end
¿Por qué? Tengo muchas cosas que debo hacer en %post y no tener soporte de sustitución de comandos/marca atrás lo hará más difícil.
¿Alguna solución?
Editar: ¿Y por qué necesito comillas invertidas?
El instalador es para un producto de dispositivo, por lo que debe instalar el sistema operativo base, los rpm del sistema operativo personalizados y los rpm del producto.
Entonces, en la sección %post, algo como este patrón es muy común:
cd $ApplicationPackageDir
RPMLIST=`ls *.rpm`
RPMCOUNT=`ls *.rpm | /usr/bin/wc -l`
for theRpm in $RPMLIST
do
echo /bin/rpm --quiet --upgrade --nodeps --force $theRpm
done
Patrón similar para hacer genéricamente algo conlo queLos archivos existen en un directorio particular.
Todo el concepto no funciona si anaconda vomita al tener una comilla invertida en el archivo.
Además, la comilla invertida es un operador bash válido, en el que kickstart parece tener problemas.
Son comillas invertidas de bashsupuestopara trabajar en kickstart?
Edición II:Se agregó $(ls) al ejemplo.