Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo

Программная реализация первой части программы установки

Рассмотрим основные механизмы функционирования первой части программы установки.

Для создания диалоговых окон была использована библиотека ncurses. Далее рассмотрены основные шаги программы установки.

Проверка прав пользователя

Для произведения установки операционной системы Gentoo необходимо обладать правами суперпользователя, так как во время установки используются команды, которые требуют дополнительных привилегий. Для этого была использована следующая функция:

Листинг 3.1. Функция проверки прав суперпользователя

if[ "$(whoami)" != 'root' ];thendialog --backtitle "Welcome to Gentoo Linux Installer" \ --title "User authentication" \ --msgbox "Permission denied. Istallation can not be continue.\nStart installation from root privileges.\n"30100exit1;elsedialog --backtitle "Welcome to Gentoo Linux Installer" \ --title "User authentication" \--msgbox "Welcome to the installation of Gentoo Linux. \ To properly install the product, you must correctly answer all the questions, \and follow the instructions of the program. More information can be found in \the official guide at Gentoo http://www.gentoo.org/doc/en/handbook/"30100fi

Если программу установки запустит обычный пользователь, то программа установки прекратит выполнение и выведет окно, изображенное на рисунке 3.1., с предупреждающим сообщением.

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.1. Вывод сообщения о нехватке прав пользователя

В случае запуска программы установки от имени суперпользователя будет выведено окно приветствия, изображенное на рисунке 3.2.

При нажатии по кнопке Ок будет продолжен процесс установки.

Работа с жесткими дисками

На следующем шаге пользователю будет предоставлена возможность разметить жесткие диски. При нажатии на кнопку Нет, будет осуществлен переход к следующему шагу, при нажатии на кнопку Да, будет выведено окно, изображенное на рисунке 3.4. В поле ввода необходимо указать имя желаемого жесткого диска для разметки. Имя задается в формате /dev/sda, где sda – это первый SATAжесткий диск по порядку подключения. При неправильном вводе имени жесткого диска, программа cfdisk– используется для работы с дисками,выдаст ошибку, которая будет выведена на экран, и вновь будет задан вопрос о желании разметить жесткие диски. Данная возможность обеспечивается выполнением функции в бесконечном цикле while, который прерывается пользователем по нажатию по кнопке Да.

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.2. Окно приветствия в начале процесса установки

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.3. Окно предложения разметки жесткого диска

После указания правильного устройства жесткого диска, будет вызвана программа cfdisk для разметки диска.

Листинг 3.2. Функция вызова программы cfdisk

while :

do

dialog --backtitle "Level 1. Creating Filesystems" \

--title "Partitioning disks" \

--yesno "Do you want to partition your disks?"30100

case"$?"

in

0 ) dialog --backtitle "Level 1. Creating Filesystems" \

--title "Partitioning disks" \

--inputbox "Enter hard drive name"301002> /tmp/diskName

cfdisk`cat /tmp/diskName`

rm /tmp/diskName

;;

1 )break

;;

esac

done

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.4. Окно ввода имени устройства жесткого диска

Используя программу cfdiskнеобходимо разбить жесткий диск, для примера используется разбиение на 2 раздела. Один раздел /dev/sdb1 будет использоваться как файл подкачки. Раздел /dev/sdb1 используется как корневой раздел, так же он является загрузочным, потому что в дальнейшем на него будет установлен загрузчик операционной системы.

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.5. Пример работы с программой cfdiskдля разбиения диска

Размещение файловых систем

После того, как разделы жесткого диска созданы, на них необходимо разместить файловые системы. Для удобства пользователя был создан список файловых систем, из которых можно выбрать подходящую файловую систему. У каждой файловой системы имеются свои преимущества и недостатки. Описание файловых систем имеется в первой главе данной работы.

Обычно самой распространенной файловой системой для Linuxсчитается ext4. Она является журналируемой, стабильной и надежной файловой системой. В большинстве бинарных дистрибутивах используется именно эта файловая система. В связи с этим и на рисунке 3.10. изображен выбор именной этой ФС для раздела /dev/sdb2.

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.6. Окно выбора размещения файловой системы на разделе

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.7. Окно указания названия жесткого диска для размещения ФС

При неверном указании имени, будет выведено соответствующее предупреждение, о том, что такого раздела не существует, после чего он будет возвращен на шаг выбора размещения файловой системы (рисунок 3.6.).

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.8. Выбор файловой системы swapдля раздела /dev/sdb1, который будет файлом подкачки

Раздел файла подкачки можно не указывать при размере оперативной более 4 Гб. При использовании компьютера как домашнего, желательно указывать размер файла подкачки в два раза больше, чем размер оперативной памяти, в связи с тем, что компьютер будет помещаться в режим сна, и требуется место для хранения дампа оперативной памяти перед сном, для дальнейшей его загрузки обратно в оперативную память при старте системы.

Если компьютер будет использоваться в качестве сервера, то желательно сделать довольно большой размер файла подкачки, что бы сервер не падал при переполнении оперативной памяти, если на ресурс, размещенный на сервере данного компьютера, большая нагрузка.

При желании, пользователь может разметить другие разделы, и примонтировать их как папки в корневом разделе Linux системы. Это удобно делать, например, если в системе зарегистрировано множество пользователей, поэтому хранить папку homeбыло бы выгоднее на другом разделе, монтируя ее при старте системы.

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.9. Окно указания имени раздела жесткого диска для /dev/sdb2, который будет корневым разделом файловой системы

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.10. Выбор файловой системы ext4 для раздела /dev/sdb2

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.11. Вывод на экран сообщений о размещении файловой системыext4 на разделе

Настройка даты и времени

На рисунке 3.12. Изображено текущие дата и время, установленные в системы, если они не верны, то можно изменить их, нажав на соответствующую кнопку. Если время и дата настроены не верно, то можно в дальнейшем получить непредвиденные результаты. Дата и время указывается в формате День Месяц Часы Минуты Год (ДДММччммГГГГ). Дата и время выставляются по UTC. В дальнейшем при выборе часового пояса, время установиться с учетом локали пользователя.

Выбор часовых поясов и локализации пользователя будет осуществляться во второй части программы установки, так как это необходимо выполнять уже в новой среде. Применение этих настроек на данном этапе, дало бы эффект в liveCD операционной системы, с которого запущен процесс установки операционной системы Gentoo.

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.12. Окно проверки даты и времени

Глава 3. Реализация автоматизированной программы установки дистрибутива Gentoo - student2.ru

Рисунок 3.13. Окно изменения настроек даты и времени

Наши рекомендации