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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.07.2013
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Теперь войдите в каталог с исходными кодами ядра и введите команду make menuconfig. Этой командой вы вызовете конфигурационное меню, использующее ncurses. После этого видно будет множество секций с конфигурациями.

Листинг 1.32. Запуск menuconfig

# cd /usr/src/linux

# make menuconfig

Активация необходимых настроек

Необходимо не забыть включить все драйвера, которые нужны для загрузки ядра на вашей системе (например, SCSI котроллеры), в само ядро, а не как модули, в противном случае система может не загрузиться.

Далее необходимо точно указать тип процессора. Пользователям архитектуры x86_64 настоятельно рекомендует включать возможности MCE функции так, чтобы они могли получать уведомления о любых аппаратных проблемах. На x86_64 ошибки выводятся не в dmesg, как на других архитектурах, а в /dev/mcelog. Для этого требуется пакет app-admin/mcelog. Так же необходимо убедиться, что включено IA32 Emulation, что бы иметь возможность выполнять 32-разрядные программы. Gentoo по умолчанию будет установлена как многобиблиотечная система (смешанная архитектура 32-bit/64-bit), поэтому этот параметр является обязательным.

Листинг 1.33. Выбор типа и возможностей процессора

Processor type and features --->

[ ] Machine Check / overheating reporting

[ ] Intel MCE Features

[ ] AMD MCE Features

Processor family (AMD-Opteron/Athlon64) --->

( ) Opteron/Athlon64/Hammer/K8

( ) Intel P4 / older Netburst based Xeon

( ) Core 2/newer Xeon

( ) Intel Atom

( ) Generic-x86-64

Executable file formats / Emulations --->

[*] IA32 Emulation

Так же необходимо выбрать нужные файловые системы, которые должны будут поддерживаться. Нельзя компилировать файловые системы как модули, потому что система может не загрузиться. Так же нужно выбрать файловые системы Virtual memory и /proc. Важно выбрать поддержку devtmpfs файловой системы для монтирования в /dev, что бы важные файлы устройств уже были доступны в начале процесса загрузки.

Листинг 1.34. Выбор необходимых файловых систем

Device Drivers --->

Generic Driver Options --->

[*] Maintain a devtmpfs filesystem to mount at /dev

[ ] Automount devtmpfs at /dev, after the kernel mounted the rootfs

File systems --->

(Select one or more of the following options as needed by your system)

<*> Second extended fs support

<*> Ext3 journalling file system support

<*> The Extended 4 (ext4) filesystem

<*> Reiserfs support

<*> JFS filesystem support

<*> XFS filesystem support

...

Pseudo Filesystems --->

[*] /proc file system support

[*] Virtual memory file system support (former shm fs)

(Enable GPT partition label support if you used that previously)

Partition Types --->

[*] Advanced partition selection

...

[*] EFI GUID Partition support

Если система, на которую устанавливается Gentoo, многопроцессорная или многоядерная, необходимо активировать функцию Symmetric multi-processing support.

Листинг 1.35. Включение поддержки Symmetric multi-processing support

Processor type and features --->

[*] Symmetric multi-processing support

В многоядерных системах каждое ядро считается как отдельный процессор.

Если в системе будут использовать USB устройства ввода (такие как мышь и клавиатура), нельзя забыть добавить их поддержку.

Листинг 1.36. Включение поддержки USB устройств ввода

Device Drivers --->

[*] HID Devices --->

<*> USB Human Interface Device (full HID) support

Компиляция и установка

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

Листинг 1.37. Компиляция ядра и модулей

# make && make modules_install

Когда ядро будет скомпилировано, образ ядра копируется в каталог /boot. Можно использовать любое имя, кажущееся наиболее подходящим для ядра и его нужно запомнить, так как оно необходимо при настройке загрузчика.

Конфигурирование модулей ядра

Если пользователь отдельно скомпилировал какие либо модули, которые должны автоматически загружаться, необходимо их перечислить в /etc/conf.d/modules. Для модулей можно добавлять дополнительные опции. Для просмотра всех доступных модулей, нужно выполнить команду find. Не забудьте заменить "<kernel version>" с версии ядра, которое вы только что собрали:

Листинг 1.38. Просмотр доступных модулей

# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less

Если необходимо автоматически подгружать модули, то их названия нужно добавить в файл /etc/conf.d/modules.

1.3.6 Конфигурирование дистрибутива Gentoo

Параметры файловых систем

В Linux все разделы, используемые системой, должны быть перечислены в /etc/fstab. В этом файле указываются точки подключения разделов (mountpoints, местоположение разделов в файловой системе), порядок подключения, а также дополнительные параметры (автоматический или ручной режим подключения, достаточность прав пользователя для подключения и т.п.).

В /etc/fstab используется специальный формат. Каждая строка состоит из шести полей, разделяемых пробелами, знаками табуляции или их сочетанием. Каждое поле имеет свое назначение:

Первое поле обозначает раздел (partition) (путь к файлу устройства).

Второе поле указывает точку подключения (mountpoint), в которую монтируется раздел.

Третье поле задает тип файловой системы (filesystem), используемой в разделе.

В четвертом поле указываются параметры подключения (mountoptions), используемые mount при подключении раздела. Поскольку для каждой файловой системы существуют свои параметры, рекомендуется прочитать страницу справки по mount (man mount), где приведен их полный перечень. При указании нескольких параметров подключения их следует разделять запятыми.

Пятое поле используется dump для определения, требуется ли резервное копирование раздела средствами dump. Обычно это поле можно просто установить в 0 (ноль).

Шестое поле используется fsck для определения порядка проверки (check) файловых систем после некорректного завершения работы системы. Для корневой файловой системы рекомендуется значение 1, а для остальных -- 2 (или 0, когда проверка файловой системы не требуется).

Вариант файла /etc/fstab по умолчанию, входящий в Gentoo, не является работоспособным. Необходимо создать свой собственный файл /etc/fstab. Параметр auto позволяет mount определять тип файловой системы автоматически (рекомендуется для съемных носителей, которые могут оказаться размечены в одной из множества существующих файловых систем), а user позволяет монтировать компакт-диски обычным пользователям.

Чтобы повысить быстродействие, большинству пользователей стоит добавить параметр noatime в параметры подключения, что приведет к ускорению, за счет отключения регистрации отметки времени доступа к файлам (обычно в ней все равно нет необходимости).

Листинг 1.39. Пример файла /etc/fstab

/dev/sda1 /boot ext2 defaults,noatime 1 2

/dev/sda2 none swap sw 0 0

/dev/sda3 / ext3 noatime 0 1

/dev/cdrom /mnt/cdrom auto noauto,user 0 0

Параметры сети

Еще один вопрос, который нужно решить пользователю -- как назвать свой компьютер. Он кажется довольно простым, но многие затрудняются дать подходящее имя для своей Linux-системы. Это имя всегда можно будет изменить. Например, вы могли бы просто назвать свою систему tux, а домен -- homenetwork. Для этого необходимо в файле /etc/conf.d/hostname присвоить значение переменной hostname="tux". Во-вторых, необходимо установить имя домена (domainname) в /etc/conf.d/net. Переменной dns_domain_lo присваивается соответствующее значение. Если имеется имя NIS домена, его так же необходимо указать в этом же файле, имя переменной - nis_domain_lo.

Теперь необходимо точно настроить параметры сети в новой системе. Для этого в файле /etc/conf.d/net необходимо указать переменные:

config_eth0 и routes_eth0 если у вас имеются данные о IP-адресе, маске сети и шлюзе

при использовании DHCP сервера в сети, необходимо использовать специфическое значение переменной config_eth0.

Листинг 1.40. Ручная настройка параметров IP для eth0

config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"

routes_eth0="default via 192.168.0.1"

Листинг 1.41. Автоматическое получение адреса IP для eth0

config_eth0="dhcp"

Если имеется несколько сетевых интерфейсов, нужно повторить эти шаги для config_eth1, config_eth2 и т.д.

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

Листинг 1.42. Добавление net.eth0 в уровень запуска default

# cd /etc/init.d

# ln -s net.lo net.eth0

# rc-update add net.eth0 default

Если имеется несколько сетевых интерфейсов, потребуется создать для них соответствующие сценарии инициализации net.eth1, net.eth2 и т.д. так же как это было сделано для net.eth0.

Имеется возможность указания сетевых узлов. Сведения в системе Linux о сети пользователя указываются в /etc/hosts, и помогают разрешению имен в IP-адреса для узлов, не обрабатываемых сервером имен. Также можно определить другие системы в сети, если вы не собираетесь устанавливать собственную систему DNS.

Листинг 1.43. Указание сведений об узлах сети

(определение текущей системы)

127.0.0.1 tux.homenetwork tux localhost

(определите другие машины в своей сети, для этого у них должен быть статический IP-адрес.)

192.168.0.5 jenny.homenetwork jenny

benny.homenetwork benny

Если у пользователя имеются карты сетевые карты PCMCIA, то необходимо установить пакет pcmciautils, выполнив команду emerge pcmciautils.

Параметры системы

После всех проделанных действий необходимо задать пароль суперпользователя в системе. Делается это командой passwd.

Для общей настройки системы пользователь обязательно должен прочитать файл /etc/rc.conf и внести необходимые изменения. Как видно, этот файл подробно прокомментирован, что поможет в настройке необходимых конфигурационных переменных. Можно настроить систему на использование unicode, а также указать редактор по умолчанию и диспетчер отображения (например, gdm или kdm).

Для управления раскладками клавиатуры в Gentoo используется /etc/conf.d/keymaps. Этот файл так же необходимо отредактировать, писав нужную раскладку клавиатуры. Необходимо быть особенно тщательны при установке переменной раскладки клавиатуры (KEYMAP): выбрав неверную раскладку, можно получить непредсказуемый результат при попытке ввода с клавиатуры.

Для настройки параметров часов в Gentoo используется /etc/conf.d/hwclock. Его нужно изменить его в соответствии с потребностями пользователя.

Если аппаратные часы системы настроены не на часовой пояс UTC (Гринвич), в файл необходимо добавить строку clock="local". В противном случае произойдет сдвиг часового пояса.

1.3.7 Установка необходимого программного обеспечения

Система журналирования

Некоторые средства отсутствуют в архиве stage3, поскольку некоторые пакеты обеспечивают ту же функциональность. Пользователь сам вправе выбирать то, что он хочет установить. Первая задача, которую нужно решить, это возможность журналирования системы. В UNIX и Linux есть отличная история возможности журналирования - при желании можете записывать все, что происходит в системе в лог-файлы. Это происходит через систему журналирования. Дистрибутив Gentoo предлагает несколько служб журналирования на выбор. Есть sysklogd, который является традиционной системой регистрации демонов, Syslog-ng, расширенная служба журналирования, и Metalog, которая имеет очень гибкими возможностями настройки журналирования. Другие могут быть доступны через Portage, количество доступных пакетов растет ежедневно. Если пользователь планируете использовать Sysklogd или Syslog-ng необходима установка logrotate, потом как в системе журналирования не предусмотрен никакой механизм с разворотом лог-файлов. Поэтому необходимо установить системный журнал на выбор пользователя и добавить в уровень запуска по умолчанию.

Листинг 1.44. Установка системы журналирования

# emerge syslog-ng

# rc-update add syslog-ng default

Демон Cron

Демон -- cron является дополнительным, и не обязателен для работы системы, будет благоразумным установить его. Демон cron выполняет команды по расписанию. Это очень удобно, когда нужно выполнять какие-либо команды регулярно (например, ежедневно, еженедельно или ежемесячно).

В Gentoo предлагаются три варианта демона cron на выбор: dcron, fcron и vixie-cron. Установка любого из них подобна установке системной службы журналирования. Однако при установке dcron или fcron для настройки требуется выполнение дополнительной команды, а именно crontab /etc/crontab. Если пользователь не знает что выбрать, выбирается vixie-cron.

При бессетевой установке, доступен только vixie-cron. Если вам нужен другой демон cron, его можно установить позже.

Листинг 1.45. Установка демона cron

# emerge vixie-cron

# rc-update add vixie-cron default

(только если выбран dcron или fcron) # crontab /etc/crontab

Индексирование файлов

В Gentoo есть возможность индексировать файлы в системе, чтобы быстро находить их с помощью locate, нужно установить sys-apps/mlocate.

Удаленный доступ

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

1.3.8 Настройка загрузчика

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

Самым сложным моментом в освоении GRUB является понимание того, как он именует жесткие диски и разделы. Пользовательский Linux раздел /dev/hda1 скорее всего будет именоваться (hd0,0) в терминологии GRUB. Необходимо обратить внимание на круглые скобки вокруг hd0,0 - они обязательны.

Жесткие диски нумеруются, начиная с "0", а не с "а". Разделы, также нумеруются, начиная с "0", а не с "1". Необходимо отметить, что под hd подразумеваются только жесткие диски, а atapi-ide устройства, такие как cdrom или пишущий cdrom не учитываются. Тоже самое, относится и к устройствам SCSI (обычно они получают номера большие, чем IDE устройства, исключая те случаи, когда BIOS настроена на загрузку с устройства SCSI). Когда настроен BIOS на загрузку с другого жесткого диска (например, второй диск на первом канале IDE) этот жесткий диск и будет назван hd0.

Предположим жесткий диск /dev/hda, cdrom /dev/hdb, пишущий cdrom /dev/hdc, второй жесткий диск /dev/hdd и в системе нет устройств SCSI, тогда раздел /dev/hdd7 будет именоваться как (hd1,6). Это может показаться несколько запутанным, но GRUB обладает механизмом автодополнения при нажатии на tab, что облегчает жизнь обладателям большого количества жестких дисков с большим количеством разделов и тем, кто чувствует себя неуверенно в схеме нумерации GRUB'ом устройств.

Настало время установить GRUB. Для этого необходимо выполнить команду emerge grub.

Несмотря на то, что GRUB установлен, все же надо подправить его файл конфигурации и установить GRUB в MBR, чтобы он автоматически загружал вновь созданное ядро. Для этого нужно создать файл /boot/grub/grub.conf.

Листинг 1.45. Пример конфигурационного файла GRUB

# Пункт меню, загружаемый по умолчанию: 0 - первый, 1 - второй и т.д.

default 0

# Время задержки (в секундах) до начала загрузки пункта меню по умолчанию.

timeout 30

# Картинка :)

# Закомментируйте эту строку, если у вас не установлена графическая видеокарта

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12

# Раздел, где находится файл образа ядра (или вся операционная система)

root (hd0,0)

kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3

# Следующие четыре строки только для тех у кого параллельно установлена Windows.

# В этом примере Windows установлена на /dev/hda6.

title=Windows XP

rootnoverify (hd0,5)

makeactive

chainloader +1

Теперь необходимо установить GRUB в MBR (Master Boot Record).

Разработчики GRUB рекомендуют использовать grub-install. Однако, если по какой-либо причине grub-install завершится с ошибкой, вы можете установить GRUB вручную.

Для установки GRUB надо выполнить команду grub-install. Однако, grub-install не заработает сама по себе, т.к. мы находимся в изолированной среде. Прежде нужно создать файл /etc/mtab, перечислив в нем все смонтированные файловые системы. К счастью, есть очень легкий способ сделать это: просто скопируйте содержимое /proc/mounts поверх /etc/mtab, за исключением строки rootfs, если не создавался отдельный загрузочный раздел. Следующая команда подойдет в обоих случаях.

Листинг 1.46. Создание файла /etc/mtab

# grep -v rootfs /proc/mounts > /etc/mtab

# grub-install /dev/hda

Перезагрузка системы

Теперь необходимо выйти из временного окружения и отмонтировать все разделы. И после этого выполнить заключительную команду установки дистрибутива Gentoo Linux reboot.

Листинг 1.47. Перезагрузка системы

# exit

cdimage ~# cd

cdimage ~# umount -l /mnt/gentoo/dev{/shm,/pts,}

cdimage ~# umount -l /mnt/gentoo{/boot,/proc,}

cdimage ~# reboot

После всех выполненных действий в результате мы получаем дистрибутив Gentoo Linux скомпилированный под данный компьютер. Данная технология позволяет получить прирост в производительности, поддерживать в идеальном порядке и под контролем операционную систему в целом. Далее, после выполненных действий пользователь может настраивать дистрибутив для каких либо конкретных целей, что бы это была рабочая станция или серверная машина.

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

2. Разработка архитектуры программы установки дистрибутива Gentoo

2.1 Назначение автоматизированной программы установки

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

Обычно, собрать ядро дистрибутива с первого раза, что бы оно запустилось, довольно затруднительная задача. Это требует много времени и знаний у администратора системы.

Но установив дистрибутив Gentoo Linux около пяти раз, среднестатистический администратор безошибочно и довольно быстро будет производить установку, при этом имея конкретную цель и представление того, что ему нужно получить в итоге.

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

Так же необходимо учесть возможность повторного выполнения того или иного этапа, в случае если пользователь изменит свое решение после того, как сделает какой-либо выбор. Совершенно логично, что такое не всегда будет возможно, в связи с обратимостью выполненных действий уже непосредственно самим дистрибутивом Gentoo.

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

Выбор языка и среды программирования

При установке Gentoo все, что необходимо для начала процесса установки это дистрибутив, который имеет консоль bash.

bash (от англ. Bourne again shell, каламбур «Born again» shell -- «Возрождённый» shell) -- усовершенствованная и модернизированная вариация командной оболочки Bourne shell. Одна из наиболее популярных современных разновидностей командной оболочки UNIX. Особенно популярна в среде Linux, где она часто используется в качестве предустановленной командной оболочки.

Bash это командный процессор, который, как правило, работает в режиме командной строки, что позволяет пользователю вводить команды вызывающие определенные действия. Bash также может читать команды из файла, который называется скриптом. Как и все Unix-оболочки, он поддерживает автодополнение регулярных выражений (в том числе и рекурентных), названий файлов и папок, подстановку вывода результата команд, переменные, контроль за порядком выполнения, и операторы ветвления и итерации.

Языки программирования могут быть реализованы как компилируемые и интерпретируемые.

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

Если программа написана на интерпретируемом языке, то интерпретатор непосредственно выполняет (интерпретирует) исходный текст без предварительного перевода. При этом программа остаётся на исходном языке и не может быть запущена без интерпретатора.

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

Скрипты bash можно писать непосредственно в командном интерпретаторе использования одну из многочисленных программ для работы с текстом. В Linux имеется множество таких программ. Так же есть текстовые редакторы более высокого уровня, которые за счет подключения дополнительных модулей и настроек превратить в целые среды разработки, в которых можно писать код, выполнять его и отлаживать. Т.е. выполнять весь цикл разработки приложения не выходя из одной программы. Такие среды обычно имеют подсветку синтаксиса и возможность автодополнения.

Одним из таких текстовых редакторов является Vim.

Vim (сокр. от Vi Improved, произносится «вим») -- свободный, режимный текстовый редактор, созданный на основе более старого vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, и созданным благодаря этому расширениям и надстройкам.

Пользовательский интерфейс Vim'а может работать в чистом текстовом (консольном) режиме.

Одна из главных особенностей редактора -- применение двух основных, вручную переключаемых, режимов ввода: командного (после запуска редактор находится в нём) и текстового (режим непосредственного редактирования текста, аналогичный большинству «обычных» редакторов). Vim не интуитивен, так что эффективная работа с редактором требует предварительного обучения.

Для удобства пользователя при выполнении некоторых шагов установки можно будет использовать библиотеку ncurses. Ncurses («new curses») -- библиотека написанная на языке Си и предназначенная для управления вводом/выводом на терминал, в том числе -- задавать экранные координаты (в знакоместах) и цвет выводимых символов. Ncurses предоставляет программисту уровень абстракции, позволяющий не беспокоиться об аппаратных различиях терминалов и писать переносимый код [6].

2.2 Основные механизмы установки дистрибутива Gentoo

Установка дистрибутива Gentoo разделяется на два основных этапа:

Подготовительный этап:

Подготовка и монтирование жесткого диска;

Установка даты и времени;

Скачивание и установка Stage3;

Скачивание и установка дерева портэжей;

Конфигурирование системы.

Заключительный этап. Этот этап проходит уже в новой среде:

Выбор профиля;

Локализация и настройка часового пояса;

Загрузка исходных кодов ядра;

Конфигурирование и сборка ядра;

Настройка монтирования разделов жесткого диска;

Настройка сетевых параметров;

Установка пароля суперпользователя;

Установка системных утилит;

Настройка и установка загрузчика.

Далее разъясняется значения терминов использованных выше.

Stage3 - подготовленная минимальная система для установки и набор базовых компонентов целевой системы. Также возможна установка из stage2 (без набора базовых компонентов целевой системы) или из stage1 (минимальная систем для установки должна быть подготовлена самим пользователем). В данный момент официально поддерживается установка только из stage3.

Дерево портэжей - набор метаданных о доступных пакетах для системы управления пакетами Portage.

Portage -- основная система управления пакетами в Gentoo Linux. Аналог системы портов FreeBSD. Представляет собой набор утилит на Python и Bash, призванных облегчить и упорядочить установку программного обеспечения из исходных кодов или бинарных пакетов, с учетом всех зависимостей.

Основной пользовательский интерфейс Portage -- консольная программа emerge, которая позволяет устанавливать новые пакеты с учетом зависимостей и с возможностью управления вариантами установки -- например с поддержкой определенных функций или без поддержки ненужных функций (управление параметрами сборки осуществляется через так называемые USE-флаги), удалять ненужные пакеты, обновлять установленные пакеты, проводить синхронизацию с деревом портэжей (по протоколу rsync) и т. д. Программа ebuild служит интерфейсом низкого уровня к Portage, а emerge -- высокоуровневая оболочка для неё.

Главный конфигурационный файл системы Portage -- /etc/make.conf. В нем настраиваются основные параметры компиляторов и дополнительные возможности их использования (например, применением ccache, distcc), установки USE-флагов, HTTP-прокси, FTP-прокси, SYNC, ACCEPT_KEYWORDS и других, необходимых для работы системы Portage.

Другие конфигурационные файлы системы находятся в /etc/portage/ и позволяют более тонко конфигурировать различные аспекты системы portage.

Профиль -- это набор конфигурационных файлов, хранимый в подкаталоге /usr/portage/profiles, описывающий сценарии ebuild системных пакетов, флаги использования (USE) по умолчанию, отображение виртуальных пакетов по умолчанию, а также архитектуру, на которой запускается система.

Используемый профиль определяется символьной ссылкой /etc/make.profile, которая указывает на подкаталог в /usr/portage/profiles, содержащий файлы профиля. К примеру, профиль x86 2005.1 по умолчанию находится в /usr/portage/profiles/default-linux/x86/2005.1. Файлы в родительских каталогах также входят в состав профиля (и, таким образом, совместно используются различными подпрофилями). Поэтому мы называем такие профили каскадными профилями.

USE-флаг -- это ключевое слово, включающее сведения о поддержке и зависимостях определенного понятия или функции. При определении какого-либо USE-флага, Portage узнает, что вам нужна поддержка соответствующей функции. Конечно, это также влияет на сведения о зависимостях пакета.

Давайте рассмотрим конкретный пример -- ключевое слово kde. Если в вашей переменной USE нет этого слова, то все пакеты, где поддержка KDE является необязательной, собираются без нее. Все пакеты, где зависимость от KDE является необязательной, устанавливаются без установки библиотек KDE (по зависимости). Если же вы определите ключевое слово kde, то эти пакеты будут собираться с поддержкой KDE, а KDE будет установлен в качестве необходимого пакета.

Есть два типа USE-флагов: глобальные и локальные.

Глобальный USE-флаг используется несколькими пакетами и является системным. Это то, что большинство видит в качестве USE-флагов.

Локальный USE-флаг используется единичным пакетом для настройки определенных параметров самого пакета.

Список доступных глобальных USE-флагов можно найти в сети или локально в /usr/portage/profiles/use.desc.

Список локальных USE-флагов находится в вашей системе в /usr/portage/profiles/use.local.desc.

2.3 Планирование структуры программы установки

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

Логичнее всего было бы разделить процесс установки на уровни. Для выполнения каждого уровня необходимо иметь определенный набор входных данных, выполнить некоторые команды, и на выходе получить конечный результат. При необходимости, логично было бы предоставить возможность повтора некоторых уровней, по мере возможности, а при выполнении необратимых действий задавать вопросы о действительном выполнении данного уровня [7-8].

В языке bash имеется возможность создавать функции, и вызывать их по мере необходимости. Так же возможно подключать другие файлы с функциями и использовать их.

Рассмотрим функции, которые необходимо реализовать:

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

Проверка даты и времени, установка правильных параметров (очень важный пункт, несмотря на то, что очень простой, неверная установка может дать в дальнейшем непредвиденные и неожиданные результаты).

Выбор нужной архитектуры компьютера, выбор зеркал, наилучших для пользователя, скачивание файлов архива stage3 и системы портэжей, их распаковка и проверка целостности.

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

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

Во второй части так же необходимо выполнить следующие функции:

Автоматическое обновление переменных окружения, обновление дерева портэжей, выбор подходящего профиля новой среды

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

Конфигурирование ядра Gentoo Linux, компилирование ядра и модулей ядра, задание имени ядра, копирование ядра в папку загрузки

Установка загрузчика на выбранный жесткий диск, редактирование конфигурации загрузчика

Выход из новой среды установки, для перезагрузки

После выполненных функций мы получаем установленный, настроенный и сконфигурированный под конкретное оборудование дистрибутив Gentoo Linux.

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

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

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

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

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

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

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

if [ "$(whoami)" != 'root' ];

then

dialog --backtitle "Welcome to Gentoo Linux Installer" \

--title "User authentication" \

--msgbox "Permission denied. Istallation can not be continue.\nStart installation from root privileges.\n" 30 100

exit 1;

else

dialog --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/" 30 100

fi

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

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

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

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

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

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

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

Рисунок 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?" 30 100

case "$?"

in

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

--title "Partitioning disks" \

--inputbox "Enter hard drive name" 30 100 2> /tmp/diskName

cfdisk `cat /tmp/diskName`

rm /tmp/diskName

;;

1 ) break

;;

esac

done

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.1.5 Выбор архитектуры и скачивание файлов установки

Выбор архитектуры компьютера является очень важным шагом в процессе установки операционной системы.

Рисунок 3.14. Выбор архитектуры операционной системы

Рисунок 3.15. Выбор зеркал из списка, загруженного с сервера

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

Указание архитектуры так же необходимо потому, что для различных архитектур используются различные версии stage3 и портэжей. Они находятся на зеркалах Gentoo в различных директориях. Поэтому архитектуру нужно знать, для того, что бы продолжить процесс скачивания и установки исходных кодов Linux.

3.1.6 Конфигурирование системы и переход в новую среду

Самая важная часть системы Gentoo, что отличает ее от всех остальных операционных систем семейства Linux, это наличие системы USE-флагов. Все USE-флаги объявляются в переменной USE.

Рисунок 3.16. Конфигурирование системы

Чтобы упростить пользователям поиск и выбор флагов, предлагается значение USE по умолчанию, которое представляют собой список USE-флагов, как кажется, наиболее часто используемых пользователями Gentoo. Это значение приведено в файле make.defaults выбранного профиля. Обычно USE-флаги находятся пользователем в интернете и добавляются к переменной USE, в файл make.conf. В программе установки предлагается графическая программа для добавления флагов в переменную. Основное преимущество данного подхода в том, что у каждого USE-флага имеется описание и пользователю будет легче ориентироваться при выборе.

Рисунок 3.17. Окно выбора USE-флагов для добавления к переменной USE

После того как пользователь выберет необходимые флаги для своей системы, то программа установки определит некоторые характеристики его компьютера, и добавит необходимые переменные в файл make.conf, и предложит пользователю при желании отредактировать файл. Так как установочная программа сама находит оптимальные параметры для данной системы, но может быть так, что пользователю необходимо что-то изменить и он полностью отдает отчет своим действиям, в противном случае можно получить результат, отличный от ожидаемого, но вероятнее всего что результата и вовсе не будет.

После выполнения данных действий, первая часть программы завершена. Дальнейшие действия необходимо проводить непосредственно в только что созданной, новой среде Linux.

Для продолжения установки необходимо копировать нужные для дальнейшей установки файлы в новую среду, в том числе, вторую часть программы установки. После этого выполняется команда chroot, которая выполняет переход в новую среду, так же у этой команды оказался ключ -rcfile, который позволяет запустить программу в новой среде и передать ей дальнейшее управление. Соответственно как параметр, подается имя файла второй части программы установки, что бы автоматически продолжить установку.

Дальнейшая установка рассматривается в следующем разделе.

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

Данный этап программы установки происходит уже в ранее подготовленной среде. И является завершающим. В результате его выполнения мы будем иметь полностью готовую операционную систему.

3.2.1 Выбор профиля

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

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

На рисунке 3.18 показан список возможных профилей для выбранной архитектуры. Выбранный по умолчанию профиль отмечен символом «*». При желании можно выбрать новый профиль, например, уточнить сервер или домашний компьютер, или конкретизировать, что домашний компьютер с рабочим окружением KDE или GNOME.

Рисунок 3.18. Список доступных профилей для данной архитектуры

3.2.2 Локализация настройка часового пояса

Для локализации системы надо вписать в файл locale нужную локаль.

Рисунок 3.19. Редактирование файла локализации

Локали вписываются в файл друг за другом. Их может быть несколько. В данной программе я привожу стандартный файл локалей, в котором указано некоторое количество различных локалей, начинающиеся с начала символом «#». Этот символ означает комментарии, соответственно, что бы активировать ту или иную локаль, необходимо просто убрать символ комментария.

Рисунок 3.20. Выбор часового пояса

На рисунке 3.20 изображен диалог выбора файла часового пояса. При дописывании пути, справа отображаются каталоги в этой директории, слева файлы в этой директории, необходимо выбрать нужный файл и нажать пробел, тогда его имя добавиться к пути, указанному в нижней строке ввода. После нажатия на кнопку ОК, указанный часовой пояс будет выбран.

3.2.3 Загрузка, конфигурирование и сборка ядра Gentoo Linux

Самой главной частью любой операционной системы, а в особенности семейства Linux, является ядро операционной системы. Gentoo основано на ядре Linux, с внесением собственных изменения и исправлений, с целью оптимизации и ускорения стандартного ядра.

Linux -- ядро операционной системы, соответствующее стандартам POSIX. Разработка была начата финским студентом Линусом Торвальдсом в 1991 году.

В основном код написан на Си с некоторыми расширениями gcc и на ассемблере (с использованием AT&T-синтаксиса GNU Assembler).

Распространяется как свободное программное обеспечение на условиях GNU General Public License, кроме несвободных элементов, особенно драйверов, которые используют прошивки, распространяемые под различными лицензиями.

Торговая марка Linux зарегистрирована на Линуса Торвальдса. Операционные системы на базе Linux являются лидерами на рынках суперкомпьютеров, серверов и мобильных операционных систем.

Для начала необходимо установить пакет, который содержит исходные коды Gentoo Linux. Этот пакет называется gentoo-sources.

Рисунок 3.21. Конфигурирование ядра Gentoo Linux

На данном этапе пользователю необходимо скорфигурировать ядро Linux. Это самая трудоемкая, длительная и не всегда успешная работа.

После того, как ядро сконфигурировано, идет процесс компиляции. Это занимает довольно долгое время и зависит от мощности компьютера. После того, как ядро скомпилировано, оно копируется в папку /boot и ему присваивается имя, заданное пользователем.

3.2.4 Конфигурирование файловых систем

В Linux все разделы, используемые системой, должны быть перечислены в /etc/fstab. В этом файле указываются точки подключения разделов (mountpoints, местоположение разделов в файловой системе), порядок подключения, а также дополнительные параметры (автоматический или ручной режим подключения, достаточность прав пользователя для подключения).

Рисунок 3.22. Редактирование файла /etc/fstab

В /etc/fstab используется специальный формат. Каждая строка состоит из шести полей, разделяемых пробелами, знаками табуляции или их сочетанием. Каждое поле имеет свое назначение:

Первое поле обозначает раздел (partition) (путь к файлу устройства).

Второе поле указывает точку подключения (mountpoint), в которую монтируется раздел.

Третье поле задает тип файловой системы (filesystem), используемой в разделе.

В четвертом поле указываются параметры подключения (mountoptions), используемые mount при подключении раздела. Поскольку для каждой файловой системы существуют свои параметры, рекомендуется прочитать страницу справки по mount (man mount), где приведен их полный перечень. При указании нескольких параметров подключения их следует разделять запятыми.

Пятое поле используется dump для определения, требуется ли резервное копирование раздела средствами dump. Обычно это поле можно просто установить в 0 (ноль).

Шестое поле используется fsck для определения порядка проверки (check) файловых систем после некорректного завершения работы системы. Для корневой файловой системы рекомендуется значение 1, а для остальных -- 2 (или 0, когда проверка файловой системы не требуется).

Параметр auto позволяет mount определять тип файловой системы автоматически (рекомендуется для съемных носителей, которые могут оказаться размечены в одной из множества существующих файловых систем), а user позволяет монтировать компакт-диски обычным пользователям.

Чтобы повысить быстродействие, большинству пользователей стоит добавить параметр noatime в параметры подключения, что приведет к ускорению за счет отключения регистрации отметки времени доступа к файлам (обычно в ней все равно нет необходимости).

3.2.5 Настройка системы

Для окончания установки осталось указать некоторые важные параметры. На рисунке 3.23. изображено окно указания имени компьютера. Имя компьютера можно будет поменять в любой момент отредактировав файл /etc/conf.d/hostname.

Рисунок 3.23. Настройка имени машины

Так же необходимо указать имя домена, в котором находится компьютер. После введения всех данных, пользователю будет предоставлена возможность отконфигурировать файл /etc/conf.d/net для указания различных настроек сети. Запуск сетевого интерфейса будет добавлен в уровень автозагрузки по умолчанию. Пример редактирования настроек интернета указан на рисунке 3.24.

Одним из самых важных настроек системы является установка пароля суперпользователя. Для этого используется стандартная команда passwd без создания диалогового окна с помощью ncurses.

Для общей настройки системы в Gentoo используется /etc/rc.conf. Этот файл так же должен быть отредактирован пользователем для своих нужд. Хотя, с Gentoo поставляется уже настроенный по умолчанию, но все же пользователю предоставляется возможность отредактировать его.

Рисунок 3.24. Редактирование настроек интернета

3.2.6 Настройка и установка загрузчика

Завершающей стадией установки операционной системы является редактирование настроек загрузчика и его установка.

Для этого пользователю необходимо вручную отредактировать файл /boot/grub/grub.conf.

В нем необходимо прописать пути к ранее скомпилированному ядру и указать опции его загрузки.

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

Рисунок 3.25. Редактирование настроек GRUB

3.2.7 Завершение установки

После всех действий, выполняется команда exit, которая позволяет выйти из среды и вернуться в первую часть установки операционной системы, после чего будет выполнена последняя команда exit в первой части программы установки.

Установка операционной системы Gentoo Linux успешно завершена.

4. Тестирование реализованной программы автоматизированной установки Gentoo с использованием разработанной справочной подсистемы

4.1 Тестирование программы установки на различных архитектурах

Операционная система Gentoo является мета-дистрибутивом. Мета-дистрибутивы - это операционные системы на базе которых можно создавать свои операционные системы.

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

Для установки данной операционной системы используется способ, описанный в справочном руководстве [1]. Для различных архитектур компьютерных систем имеются различные справочные руководства. Практически все они написаны на базе архитектуры x86 с различными добавления и исправлениями.

Процесс установки Gentoo обычно занимает от нескольких часов до нескольких дней.

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

Программа установки, была реализована, опираясь на две версии справочных руководств: x86 и amd64.


Подобные документы

  • Анализ технических возможностей операционной системы Mandriva Linux - дистрибутива GNU/Linux, разрабатываемого французской компанией Mandriva, выпускающей свободные, коммерческие и корпоративные версии своего дистрибутива. Этапы установки оболочки Linux.

    презентация [26,2 M], добавлен 23.05.2010

  • Понятие и структура дистрибутивов операционной системы Linux, история их возникновения и основные разработчики. Классификация дистрибутивов по характеру сборки и установки, доработка их готовых версий. Описание способов создания собственного дистрибутива.

    курсовая работа [551,0 K], добавлен 02.04.2014

  • Рассмотрение различных дистрибутивов операционной системы. Изучение протоколов обмена данными и форматов физического хранения данных. Разработка дистрибутива на основе операционной системы Linux для функционирования в составе сетевого хранилища StarNAS.

    курсовая работа [1,6 M], добавлен 05.11.2015

  • Понятие браузера, его виды и их особенности, достоинства и недостатки для применения в корпоративных сетях. Групповые политики и расширения. Дополнительные настройки с использованием псевдо-протокола about. Разработка дистрибутива Mozilla FireFox.

    дипломная работа [486,8 K], добавлен 11.07.2015

  • Проектирование модульной структуры программы сетевого мессенджера, назначение модуля "frmMsg". Разработка главной формы и интерфейса пользователя программы. Проектирование модуля формы "About". Разработка методики тестирования и отладка программы.

    курсовая работа [606,7 K], добавлен 19.01.2012

  • Использование дистрибутива GNU/Linux Mandriva, который по праву считается одним из наиболее легких для освоения начинающими пользователями, для взаимодействия с командным интерпретатором GNU/Linux. Информация о формате и основных ключах команды cal.

    лабораторная работа [2,4 M], добавлен 28.12.2012

  • Компоновка и конфигурирование Linux сервера. Общая информация об ALT Linux Server 5, его подвиды и основные функциональные возможности. Установка дистрибутива ALT Linux 5.0 "Ковчег" и Apache2+php+MySQL. Пример настройки работы сайта на web-сервере.

    курсовая работа [6,0 M], добавлен 24.10.2012

  • Разработка концептуальной модели базы данных. Реализация алгоритмов и разработка управляющей программы. Разработка структуры системы управления данными. Методика проведения и результаты тестирования. Функционирование разработанного программного модуля.

    курсовая работа [550,5 K], добавлен 08.06.2023

  • Разработка функциональной и структурной схемы программного средства. Реализация основного модуля программы. Реализация модуля печати и модуля обновлений. Изучение взаимодействия информационных технологий, методов их интеграции и обмена данными.

    дипломная работа [3,2 M], добавлен 27.10.2017

  • Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.

    курсовая работа [1,5 M], добавлен 17.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.