H
H
HardcoreVGN2020-08-03 17:52:56
linux
HardcoreVGN, 2020-08-03 17:52:56

(Ubuntu Mint) Preseed, how to auto-install?

The crux of the matter, I found a file in the mint that is responsible for autoinstalling isolinux.txt
I made a separate preseed file, it works almost everything, but it still knocks out a window asking for a keyboard selection and plus a reboot request appears, can someone help remove them, already broke his whole head.
Plus, can anyone tell me how to create a second user with admin rights and with access to sudo during auto-installation, I know that there is preseed / late_command and you can put a script on the bash under chroot into it, but the script does not work out (maybe I just don’t go there put, currently located in the root (where the preseed, boot, isolinux, etc. folders are located)).

OS version: Mint 19.3 Tricia
preseed:

spoiler
# Locales
d-i debian-installer/locale string ru_RU.UTF-8

# Keyboard
d-i console-setup/ask_detect boolean false
d-i localechooser/shortlist select RU
d-i console-setup/layoutcode string ru
d-i console-setup/variant select Россия
d-i console-setup/toggle select Alt+Shift

# Network
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string PC??
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Do not configure the network at this time

# Clock
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Moscow
d-i clock-setup/ntp boolean true

# Users
d-i passwd/root-login boolean true
d-i passwd/make-user boolean true
d-i passwd/root-password-crypted password $1$oEfU93nJ$xGwMnobNa16Mq.umvyUvY.
d-i passwd/user-fullname string User
d-i passwd/username string user
d-i passwd/user-password-crypted password
d-i user-setup/allow-password-weak boolean true
d-i user-setup/encrypt-home boolean false

# Partitioning
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
partman-auto partman-auto/init_automatically_partition select Guided - use entire disk
partman-auto partman-auto/automatically_partition select
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# GRUB
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true

# APT
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true
d-i apt-setup/multiverse boolean true
d-i apt-setup/non-free boolean true
d-i mirror/ftp/proxy string
d-i mirror/http/proxy string

# At last
d-i finish-install/reboot_in_progress note

tasksel tasksel/first multiselect ubuntu-desktop

d-i preseed/late_command string chroot /target chmod +x /install/createprofile.sh; chroot /target bash /install/createprofile.sh


Head script
spoiler
<br>
#!/bin/bash<br>
<br>
#################################################<br>
 # Скрипт автоматического создания пользователя  #<br>
 # с отправной отсчета на E-mail                 #<br>
 # Написал: Клюкин Н.С.                          #<br>
 # E-mail: nik@nika-com.ru                       #<br>
 # WWW: http://www.nika-com.ru                   #<br>
 # Спецально для ООО "Компания НИКА"             #<br>
#################################################<br>
<br>
 # Задаём основные переменные<br>
PATCH=/var/calculate/user-create/<br>
<br>
 # Очищаем основное окно скрипта<br>
clear<br>
<br>
 # Секция ввода данных о пользователя (Ф.И.О.)<br>
echo "########## ВВОД ДАННЫХ О НОВОМ ПОЛЬЗОВАТЕЛЕ ##########"<br>
echo<br>
echo -e  "Фамилия И.О.: \c"<br>
read FULLNAME<br>
<br>
 # Проверка ввода данных о пользователе<br>
if [ -z "$FULLNAME" ]<br>
then<br>
    clear<br>
    echo<br>
    echo "### ВНИМАНИЕ ОШИБКА!!! ###"<br>
    echo<br>
    echo "Не введены данные о пользователе"<br>
    echo<br>
    echo "Работа зевершена"<br>
    echo<br>
    exit 1<br>
fi<br>
clear<br>
<br>
 # Секция ввода логина пользователя<br>
echo "########## ВВОД ДАННЫХ О НОВОМ ПОЛЬЗОВАТЕЛЕ ##########"<br>
echo<br>
echo -e "Логин пользователя: \c"<br>
read LOGIN<br>
<br>
 # Проверка ввода данных логина<br>
if [ -z "$LOGIN" ]<br>
then<br>
    clear<br>
    echo<br>
    echo "### ВНИМАНИЕ ОШИБКА!!! ###"<br>
    echo<br>
    echo "Не введен логин пользователя"<br>
    echo<br>
    echo "Работа зевершена"<br>
    echo<br>
    exit 1<br>
fi<br>
if [ "`echo $LOGIN | sed 's/[a-z,0-9,_,-]*//'`" = "" ];<br>
then<br>
    echo<br>
    echo "Логин корректен"<br>
else<br>
    clear<br>
    echo<br>
    echo "### ВНИМАНИЕ ОШИБКА!!! ###"<br>
    echo<br>
    echo "Логин некорректен"<br>
    exit 1<br>
fi<br>
sleep 03<br>
clear<br>
<br>
 # Запуск генератора паролей<br>
echo "########## ВВОД ДАННЫХ О НОВОМ ПОЛЬЗОВАТЕЛЕ ##########"<br>
echo<br>
echo "Генерация пароля для пользователя"<br>
echo<br>
MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"<br>
LENGTH="8"<br>
while [ "${n:=1}" -le "$LENGTH" ]<br>
do<br>
    PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"<br>
    let n+=1<br>
done<br>
printf "[%60s] 0\045\r" " "<br>
for ((i=1;i<=10;i++)) {<br>
    sleep .25<br>
    printf "[%60s] $((i*10))\045\r" " "<br>
    printf "[%$((i*6))s\r" " " | tr ' ' '#'<br>
}<br>
echo<br>
echo -e "\nДля пользователя создан пароль: "$PASS""<br>
sleep 02<br>
clear<br>
<br>
 # Секция ввода данных о дополнительных группах UNIX<br>
echo "########## ВВОД ДАННЫХ О НОВОМ ПОЛЬЗОВАТЕЛЕ ##########"<br>
echo<br>
echo "users     - Группа доступа к Network manager"<br>
echo "wheel     - Группа доступа для получения привилегии используя команду su"<br>
echo "audio     - Группа предоставляет доступ к звуковой карте"<br>
echo "cdrom     - Группа доступа к CD/DVD приводу"<br>
echo "video     - Группа доступа к TV-тюнеру"<br>
echo "cdrw      - Группа доступа запись на CD/DVD-диски"<br>
echo "usb       - Группа доступа к mp3-плеерам, флеш-накопителям"<br>
echo "plugdev   - Группа доступа монтирование USB-устройств"<br>
echo "games     - Группа доступа к играм"<br>
echo "scanner   - Группа доступа к сканеру"<br>
echo "lp        - Группа доступа к сканеру, встроенному в МФУ"<br>
echo "uucp      - Группа доступа к модему"<br>
echo<br>
echo<br>
echo -e "Введите дополнительные группы пользователя: \c"<br>
read UGROUP<br>
<br>
 # Проверка ввода данных о дополнительных группах UNIX<br>
if [ -z "$UGROUP" ]<br>
then<br>
    clear<br>
    echo<br>
    echo "### ВНИМАНИЕ ОШИБКА!!! ###"<br>
    echo<br>
    echo "Не введены данные о дополнительных группах UNIX"<br>
    echo<br>
    echo "Работа завершена"<br>
    exit 1<br>
fi<br>
clear<br>
<br>
 # Секция проверки введеных данных<br>
echo "########## ПРОВЕРКА ВВЕДЕНЫХ ВАМИ ДАННЫХ ##########"<br>
echo<br>
echo<br>
echo "Пользователь:                     $FULLNAME"<br>
echo "Логин UNIX:                       $LOGIN"<br>
echo "Допольнительные группы UNIX:      $UGROUP"<br>
echo "Пароль пользователя:              $PASS"<br>
echo<br>
echo<br>
 # Секция проверки введеных вами данных<br>
echo -e "Вы хотите продолжить? (y/n) \c"<br>
read ZAPROS<br>
while [ "$ZAPROS" = n ]<br>
do<br>
    clear<br>
    echo<br>
    echo "### ВНИМАНИЕ!!! ###"<br>
    echo<br>
    echo "Работа скрипта прервана"<br>
    echo<br>
    exit 0<br>
done<br>
clear<br>
<br>
 # Секция создания пользователя UNIX<br>
echo "########## ВЫПОЛНЕНИЕ ПОСТАВЛЕНЫХ ЗАДАЧ ##########"<br>
echo<br>
echo ">Создание пользователя UNIX"<br>
echo<br>
printf "[%60s] 0\045\r" " "<br>
for ((i=1;i<=10;i++)) {<br>
    sleep .25<br>
    printf "[%60s] $((i*10))\045\r" " "<br>
    printf "[%$((i*6))s\r" " " | tr ' ' '#'<br>
}<br>
echo -e<br>
/usr/bin/cl-useradd -G $UGROUP -c "$FULLNAME" $LOGIN unix<br>
echo -e "$PASS" | cl-usermod -P $LOGIN unix<br>
echo -e "\nГотово."<br>
sleep 02<br>
clear<br>
<br>
 # Секция создания пользователя UNIX<br>
echo "########## ВЫПОЛНЕНИЕ ПОСТАВЛЕНЫХ ЗАДАЧ ##########"<br>
echo<br>
echo ">>Создание пользователя UNIX"<br>
echo<br>
printf "[%60s] 0\045\r" " "<br>
for ((i=1;i<=10;i++)) {<br>
    sleep .25<br>
    printf "[%60s] $((i*10))\045\r" " "<br>
    printf "[%$((i*6))s\r" " " | tr ' ' '#'<br>
}<br>
echo -e<br>
/usr/bin/cl-useradd -c "$FULLNAME" -g $SGROUP $LOGIN samba<br>
echo -e "$PASS" | cl-usermod -P $LOGIN samba<br>
echo -e "\nГотово."<br>
sleep 02<br>
clear<br>
clear<br>
<br>
echo "Создание пользователя завершено: `date`"                  >$PATCH/$LOGIN.txt<br>
echo ""                                                         >>$PATCH/$LOGIN.txt<br>
echo "Пользователь:                     $FULLNAME"              >>$PATCH/$LOGIN.txt<br>
echo "Логин UNIX:                       $LOGIN"                 >>$PATCH/$LOGIN.txt<br>
echo "Допольнительные группы UNIX:      $UGROUP"                >>$PATCH/$LOGIN.txt<br>
echo "Пароль пользователя:              $PASS"                  >>$PATCH/$LOGIN.txt<br>
echo                                                            >>$PATCH/$LOGIN.txt<br>
<br>
echo "########## ВЫПОЛНЕНИЕ ПОСТАВЛЕНЫХ ЗАДАЧ ##########"<br>
echo<br>
echo ">>>>>>>Отправка письма с данными администратору"<br>
echo<br>
printf "[%60s] 0\045\r" " "<br>
for ((i=1;i<=10;i++)) {<br>
    sleep .25<br>
    printf "[%60s] $((i*10))\045\r" " "<br>
    printf "[%$((i*6))s\r" " " | tr ' ' '#'<br>
}<br>
echo<br>
sendEmail -f [email protected] -t $ADMMAIL -o message-charset=utf-8 -u "Пользователь $FULLNAME создан" -m "<br>
Создание пользователя завершено: `date`<br>
<br>
Пользователь:                   $FULLNAME<br>
Логин UNIX:                     $LOGIN<br>
Логин FTP:                      $LOGIN<br>
Адрес электронной почты:        [email protected]$DOMAIN<br>
Основная группа samba:          $SGROUP ($JGROUP)<br>
Допольнительные группы UNIX:    $UGROUP<br>
Группы Proxy:                   $PGROUP<br>
Основная группа Jabber:         $JGROUP<br>
Пользователь Jabber:            [email protected]$DOMAIN<br>
Пароль пользователя:            $PASS<br>
<br>
" -s smtp.yandex.ru -xu [email protected] -xp kolbasa -l $PATCH/send.log -a $PATCH/$LOGIN.txt<br>
sleep 02<br>
clear<br>
exit 1<br>
<br>


Quite green in these Linuxes, but I'm trying to figure it out. Thank you all in advance for your replies.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
N
neol, 2020-08-03
@neol

pops up a window asking you to select a keyboard

Try like this:
d-i debian-installer/language string en_US:en
d-i debian-installer/country string GB
d-i debian-installer/locale string en_US.UTF-8
d-i localechooser/supported-locales multiselect ru_RU.UTF-8, ru_RU.CP1251
d-i keyboard-configuration/xkb-keymap select us

Plus it asks for a reboot.

I suspect that your script is to blame for this, which ends with a non-zero return code.
Try commenting out the line with it for the sake of experiment.
Head script

Some tin. You still have to enter data there, what for is it necessary?
For this, it is better to use ansible or even manually add the user after installation.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question