Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла "16 вариант.doc" (без форматирования) Міністерство освіти і науки України ОДЕСЬКИЙ НАЦІОНАЛЬНИЙ ПОЛІТЕХНІЧНИЙ УНІВЕРСИТЕТ Інститут радіоелектроніки і телекомунікацій Кафедра інформаційної безпеки Затверджую Зав. кафедрою ІБ Маракова I.I. (підпис) " " 2007 р. КУРСОВА РОБОТА з дисципліни "Операційні системи" Варіант №16 Розробив студент гр. РБ-051 К.К. Некрасов (підпис) " " 200_ р. Керівник роботи викл. каф. ІБ О.С. Сафронов (підпис) " " 200_ р. Одесса 2007 Реферат Курсова робота складається з 12 завдань, кожне з яких направлене на вивчення файлової структури та команд операційної системи Linux. Послідовність завдань розміщена таким чином, що поступово, з виконанням кожного наступного завдання, ми навчаємося контролювати та спостерігати за процесами, що відбуваються в середовищі операційної системи Linux. В тексті містяться приклади роботи різних команд ОС Linux, їх опис, пояснення стандартних каталогів Linux. Також приведені конфігураційні тексти файлів, з поясненням записаних у них строк і команд. У останньому завданні (12-му), наведений текст сценарію оболонки. СОДЕРЖАНИЕ Вступление……………………………………………………….....4 Команда ls………………………………………………………..…5 Команды навигации…………………………………………………6 Команды работы с файлами и каталогами…………………….……7-8 Изучение файловой системы ОС Linux……………………………………9 Команды просмотра файлов………………………………………………10 Команды работы с архивами файлов……………………………………..11 Права доступа к ресурсам в ОС Linux……………………………………12 Изучение команды монтирования устройств mount…………………….13 Процессы и сигналы в ОС Linux..……………………………………14-17 Описание команды df..……………………………………………………18 Конфигурационный файл……………………………………………..19-24 Сценарий оболочки……………………………………………………25-27 Вывод...…………………………………………………………………….28 Список использованной литературы…………………………………….29 ВСТУПЛЕНИЕ ОС Linux – это многопользовательская и многозадачная система, которая позволяет работать с компьютером сразу нескольким пользователям и выполнять одновременно разные задачи. Linux свободная ОС, исходные коды которой открыты для всеобщего просмотра и даже внесения изменений. Хотя Linux великолепно справляется с ролью домашней операционной системы, одна из главных задач, которая возлагается на эту ОС, - организация Web-серверов, где Linux справляется великолепно. Компьютеры с установленной Linux используют в различных областях науки, экономики и техники, в том числе при создании специальных эффектов для кино, музыки. Целью данной курсовой работы является базовое ознакомления с ОС Linux с целью активного использования данной ОС в дальнейшей научной и практической работе. 1. Краткое описание команды ls для ОС Linux с различными опциями и параметрами. Объяснение опций –t и –A. Результат работы этой команды вместе с опциями. Команда [ls] (произносится как “эл эс”, или list files) выводит список атрибутов файлов и директорий. С помощью этой команды можно вывести список файлов в текущей директории # ls в заданных директориях: # ls dir1 dir2 dir3 или для отдельных файлов: # ls file1 file2 file3 При рассмотрении заданных в варианте опций –A и –t, следует указать, что опции –A выводит список всех файлов, только не включая те файлы, имена которых начинаются с точки. Пример выполнения команды ls и опции -A: # ls –A /home > res1.txt konstantin В свою очередь опция –t сортирует список файлов по времени изменения. Пример выполнения команды ls опции –t: # ls –t /home/konstantin >> res1.txt kos.tar.bz2 inject.desktop www eject.desktop opera.desktop mozilla-firefox.desktop 2. Данное задание направлено на изучение команд навигации в ОС Linux Команда cd (сменить директорию) устанавливает вашу текущую рабочую директорию. Если не указать директорию, то по умолчанию команда cd сменит текущую директорию на домашнюю директорию. Отсюда следует, что команда cd выполненная без аргументов, перемещает пользователя в его домашнюю директорию. А имя директории пользователя содержит переменная HOME. Используемая вместо директории одиночная тильда воспринимается командным процессором как имя домашней директории. /usr/local/# cd ~ > res2.txt ~# Если за тильдой будет следовать имя пользователя (например ~konstantin), то командный процессор воспринимает эту строку как домашнюю директорию пользователя. [pwd] – встроенная команда, которая выводит абсолютный путь текущей рабочей директории ~/#pwd /root 3. Команды работы с файлами и каталогами 1) [mkdir] – эта команда создает одну или несколько директорий. Например: # mkdir d1 d2 d3 # mkdir –m/d1 # mkdir –p /one/two/three Может работать с такими полезными опциями: [-p] Если указать путь к директории (а не просто ее имя), то команда создает все необходимые родительские директории автоматически. [-m] Создать директорию с заданными правами доступа. 2) [rmdir] – эта команда удаляет одну или более пустых директорий, которые указывает пользователь. Чтобы удалить непустую директорию и ее содержимое, требуется использовать команду rm –r директория. Также можно использовать опции –ri и –rf для интерактивного удаления и удаления с игнорированием любых сообщения об ошибках и других уведомлений. # rmdir –p /one/two/three при использовании опции –p происходит удаление не только директории /one/two/three, но также и директории /one/two и /one если они конечно существуют. 3) [cp] – команда просто копирует файл: # cp file1 file2 или копирует несколько файлов в директорию: # cp file1 file2 file 3 dir Используя опции [–a] или [–R], можно рекурсивно копировать директории. Если целевой_файл существует и не является каталогом, его старое содержимое теряется. Режим, владелец и группа целевого_файла при этом не меняются. 4) [ln] – ссылка (link), это созданный командой ln указыватель на другой файл. Существует два вида ссылок. Символьная ссылка указывает на файл по его пути точно так же, как “ярлык” в Windows или “псевдоним” в Macintosh. Они не ссылаются на индексный дескриптор файла. А жесткая ссылка – это просто второе название физического файла на диске, индексный дескриптор; командой ln можно создать множество ссылок на один файл и все они будут иметь один дескриптор. # ln имя_файла имя_ссылки # ln 1.txt link.txt # ln –f 1.txt 2.txt – опция –f перезаписывает файл, если такой есть, без дополнительных предупреждений. 5) [mv] – эта команда может либо переименовывать файлы: # mv file1 file2 Команда mv перемещает (переименовывает) файл1 в целевой_файл. Файл1 не должен совпадать с целевым_файлом (будьте внимательны при использовании метасимволов shell'а). Если целевой_файл является каталогом, то файл1, файл2, ..., перемещаются в него под своими именами. Только в этом случае можно указывать несколько исходных файлов. # mv file1 file2 file3 file4 destination_directory 6) [rm] Команда rm служит для удаления указанных имен файлов из каталога. Если заданное имя было последней ссылкой на файл, то файл уничтожается. Для удаления пользователь должен обладать правом записи в каталог; иметь право на чтение или запись файла не обязательно. Следует заметить, что при удалении файла в Linux, он удаляется навсегда. Здесь нет возможностей вроде "мусорной корзины" в windows 95/98/NT или команды undelete в DOS. # rm file1 file 2 file3 либо рекурсивно удалять директории # rm –r dir1 dir2 4. Изучение файловой системы ОС Linux: / - основной раздел. /bin – основные исполняемые файлы. Содержит стандартные программы; /boot – содержит файлы, необходимые для загрузки системы; /dev – представления для подключенных устройств; /etc – конфигурационные системные файлы; /home – содержит домашние каталоги пользователей; /lib – библиотека ядра ОС; /mnt – здесь как правило создаются основные точки монтирования, хотя подмонтировать файловую систему можно к любому другому каталогу; /proc – с помощью файлов в /proc можно получить информацию о состоянии ядра, процессов, параметрах компьютера и т.д. /root – как правило здесь хранятся файлы главного пользователя (root-а); /sbin - исполняемые файлы главного пользователя; /tmp – временные файлы; /usr – системные файлы; /var – журналы, буферные или заблокированные файлы; 5.Команды просмотра файлов 1) cat – Команда позволяет вывести на экран содержимое указанного в качестве аргумента файла или просто просмотреть файлы целиком. Например # cat need.txt Если файл находится не в текущей директории: # cat /home/konstantin/need.txt 2) less – данная команда используется для постраничного просмотра текста. Она хорошо подходит для чтения текстовых файлов или в качестве последней команды в конвейере командного процессора с большими выходными данными. 3) more – Этот фильтр позволяет осуществлять проверку текста, выведенного на один полный экран. После каждого заполнения экрана команда делает паузу и выводит на нижней строке экрана сообщение типа: [--More-] Если при этом пользователь нажимает клавишу Enter, то на экран будет выведена следующая строка текста. Если пользователь нажимает клавишу SPACE (пробел), будет выведен следующий полный экран. 6. Команды работы с архивами файлов. Команды gzip и gunzip сжимают и разжимают файлы в формате GNU Zip. Сжатые файлы имеют суффикс .gz. Примеры команд: gzip file – сжать файл file в файл file.gz. Исходный файл удаляется; gzip –c file – вывести сжатые файлы в стандартный поток вывода; cat file | gzip – сжать данные из конвейера; gunzip file.gz – разжать файл file.gz в файл. Исходный файл file.gz удаляется; zcat file.g – разжать файлы в стандартный поток вывода; gunzip –c file.gz – разжать данные в стандартный поток вывода; 7.Права доступа к ресурсам в ОС Linux: Команда chmod устанавливает права доступа к файлам и директориям. Не каждый файл должен быть доступен для всех, и chmod – это инструмент, который позволяет решать эту задачу. Обычные права включают в себя права на чтение, запись и выполнение, и они могут относиться к владельцу файла, группе пользователей, и/или ко всем остальным пользователям. В рамках символьного способа изменения прав вызов программы chmod имеет следующий вид: # chmod права <файл | каталог> Команда для варианта 16: chmod ug-r, chmod 760 Объяснение выполнения данной команды: [u] – устанавливает право доступа для пользователя, который создал файл и является его владельцем; [g] – устанавливает права доступа для группы; [-] отменяет право доступа; [r] – право на чтение файла или каталога; Из приведенных выше опций, описывающих правила назначения прав для пользователей и группы пользователей, можно легко сделать вывод, что команда chmod ug-r – отменяет право на чтения файла или каталога пользователю и группе пользователей. Для изменения прав доступа абсолютным методом команда chmod используется следующим образом: сhmod число < файл | каталог> Число называется маской прав доступа и представляет собой число в восьмеричной системе, задающее наборы прав доступа. Рассматривая число 760, где 7 – первый разряд, 6 – второй разряд, 0 – третий разряд, следует заметить, что первый разряд задает права доступа для владельца файла, второй – для группы, третий – для остальных пользователей. Одному разряду восьмеричной системы соответствует три разряда в двоичной. 8. Изучение команды монтирования устройств mount Для монтирования ФС предназначена программа mount, для размонтирования – umount. Общий формат вызова следующий: [ mount –t fs_type device mount_point ] В качестве параметра [fs_type] программы mount указывается тип подключаемой файловой системы. Следующим параметром является устройство (device). В качестве устройства выступает носитель данных, например, /dev/hdd. Далее задается сама точка монтирования (mount_point). Примонтировать файловую систему можно к любому каталогу корневой файловой системы. Изначально рекомендовано создать подкаталог в каталоге /mnt с осмысленным именем и к нему подмонтировать нужную файловую систему. При монтировании устройств можно использовать следующие опции: [-a] монтирование всех файловых систем, указанных в файле /etc/fstab, кроме тех, для которых указан параметр noauto [-r] монтирование в режиме “только чтение” [-w] монтирование в режиме “чтение/запись” [-t тип_ФС] задает тип файловой системы Монтирование флоппи-диска и CD-ROM-а в /TEST/STUDENT: 1) Монтирование флоппи-диска # mount –t vfat /dev/fd0 /TEST/STUDENT 2) Монтирование привода CD-ROM # mount –t iso9660 /dev/hdd /TEST/STUDENT монтирование и привода CD-ROM и флоппи-диска # mount –t vfat /dev/fd0 iso9660 /dev/hdd /TEST/STUDENT Разработка команды размонтирования устройства: umount /TEST/STUDENT umount – противоположность mount. Она делает недоступным раздел диска. Перед извлечением сменных носителей из дисководов всегда нужно их размонтировать, иначе есть риск повреждения их файловой системы. [umount –a ] размонтирование всех смонтированных устройств. 9. Процессы и сигналы в ОС Linux. 1) Команда ps выводит информацию обо всех работающих процессах и, опционально, о процессах других пользователей. Команда ps имеет, по крайней мере 80 опций; поэтому рассмотрим наиболее важные и часто употребляемые. Для просмотра списка всех процессов необходимо выполнить команду # ps –ux всех процессов пользователя # ps –U имя_пользователя всех работающих экземпляров программы program_name # ps –C program_name процессов в терминале N # ps –tN конкретных процессов 1,2 и 3505 # ps –p1,2,3505 всех процессов с командными строками, урезанным шириной экрана # ps –ef всех процессов с полными командными строками # ps –efww всех процессов в виде дерева, когда дочерние процессы располагаются ниже родительских с отступом # ps –efH Ключ [-a] позволяет просмотреть все процессы. Но это еще не весь перечень, потому что отобразятся только программы своего терминала. Если требуется полный список процессов, запущенных со всех терминалов, то нужно добавить ключ [-x]. Помимо этого, можно увидеть имя пользователя, под которым работает процесс, для этого нужно добавить ключ [-u]. # ps –aux Результат выполнения введенной команды: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.2 0.1 1504 512 ? S 20:55 0:00 init [2] root 2 0.0 0.0 0 0 ? SN 20:55 0:00 [ksoftirqd/0] root 3 0.0 0.0 0 0 ? S< 20:55 0:00 [events/0] root 4 0.0 0.0 0 0 ? S< 20:55 0:00 [khelper] root 5 0.0 0.0 0 0 ? S< 20:55 0:00 [kacpid] root 33 0.0 0.0 0 0 ? S< 20:55 0:00 [kblockd/0] root 43 0.0 0.0 0 0 ? S 20:55 0:00 [pdflush] root 44 0.0 0.0 0 0 ? S 20:55 0:00 [pdflush] root 46 0.0 0.0 0 0 ? S< 20:55 0:00 [aio/0] root 45 0.0 0.0 0 0 ? S 20:55 0:00 [kswapd0] root 182 0.0 0.0 0 0 ? S 20:55 0:00 [kseriod] root 203 0.0 0.0 0 0 ? S< 20:55 0:00 [ata/0] root 297 0.0 0.0 0 0 ? S< 20:55 0:00 [reiserfs/0] root 351 0.0 0.1 1492 464 ? S root 3715 0.0 0.6 3036 1644 pts/1 Ss 20:57 0:00 /bin/bash root 3720 0.0 0.3 2620 852 pts/1 R+ 20:59 0:00 ps aux Колонка STAT показывает состояние процесса. Здесь можно встретить следующие коды: [S] – спящий, это нормальное состояние для сервисов, которые просыпаются только на редкие запросы клиентов; [R] – исполняемый в данный момент; [T] – в состоянии отладки или остановлен; [z] – зависший. Такие можно смело “убивать”; [W] – не имеет резидентных страниц; [<] – обладает высоким приоритетом; [N] – имеет низкий приоритет; Это основные состояния, которые можно увидеть у процессов во многих Linux-подобных системах. Если в колонке стоит вопросительный знак, то это означает, что процесс запущен еще на этапе загрузки системы и не принадлежит какому-либо терминалу. Команда ps выводит статическую информацию. Для наблюдения за нагрузкой системы удобнее использовать команду top. Она отображает список процессов, отсортированный по убыванию в зависимости от нагрузки. Таким образом, можно увидеть, какой сервис или программа отнимает драгоценные ресурсы и не дает нормально работать с компьютером. 2) Команда kill отправляет сигнал процессу. Он может завершить процесс, прервать его, приостановить, аварийно завершить и т.д. Для того чтобы выполнять над ним операции нужно быть владельцем процесса или суперпользователем # kill 13243 Если эта команда не будет работать – некоторые программы перехватывают сигнал и не реагируют на него – нужно добавить опцию [–KILL]: # kill –KILL 13243 которая практически гарантирует выполнение команды. Однако это некорректный выход для программы, он может оставить в системе не освобожденные ресурсы после ее завершения. Помимо программы /bin/kill в файловой системе, большинство командных процессоров имеют встроенные команды kill, но их синтаксис и поведение отличаются. Для того чтобы получить описание процесса необходимо выполнить команду man 7 signal. 10. Краткое описание команды df Эта команда позволяет определить свободное место на жестком диске или разделе. Если устройство не указано, то на экран выводится информация о смонтированных файловых системах. Пример результата выполнения команды: Filesystem lk-blocks Used Available Use% Mounted on /dev/hda 2 16002200 2275552 12913760 15% / none 127940 0 127940 0% /dev/shm Результирующая таблица состоит из следующих колонок: Filesystem – диск, файловая система которого смонтирована; lk-blocks – количество логических блоков; Used – количество использованных блоков; Available – количество доступных блоков; Use% - процент использованного дискового пространства; Mounted on – монтировка файловой системы; 11. Конфигурационный файл. Текст конфигурационного файла inittab. Его объяснение и назначение. С помощью LILO запускается программа загрузки ОС, которая настраивает все необходимое оборудование, загружает драйверы и монтирует жесткие диски. По окончанию этого процесса с винчестера запускается программа init, которая завершает загрузку. У программы init, как и у большинства других утилит Linux, есть свой конфигурационный файл, в котором можно производить определенные настройки. Этот файл называется inittab и расположен в папке /etc. Файл настройки программы inittab # # inittab This file describes how the INIT process # should set up # the system in a certain run-level # Author Miquel van Smoorenburg, # 0 – остановка ОС; 1 – текстовый однопользовательский режим, используется редко и только администраторами для выполнения критически важных изменений; 2 – текстовый многопользовательский, локальный режим (нет поддержки сети); 3 – текстовый многопользовательский, сетевой режим; 4 – не используется, но в дальнейшем может быть задействован; 5 – графический режим; 6 – перегрузка системы; Есть еще уровень S, что соответствует однопользовательскому режиму, он применяется в файлах сценариев, но иногда присутствует и в inittab. Структура файла. Каждая строка (не считая комментариев и пустых строк) выглядит следующим образом: Идентификатор:уровни:флаги:действие Строка состоит из четырех аргументов, отделенных между собой двоеточием. Рассмотрим каждый параметр в отдельности: Идентификатор – уникальный номер строки, который имеет произвольное значение. Единственное ограничение – в файле не должно быть двух строк с одинаковыми идентификаторами. Уровни – режимы, в которых будет выполняться команда. Например, если ей надлежит работать на втором и третьем уровнях, то здесь должно стоять число 23. Это просто цифры 2 и 3, которые не разделяют пробелами или какими-нибудь другими знаками. Если команду нужно выполнять на любом уровне, то этот параметр должен быть пустым. Флаги – задает поведение команды, может принимать одно из следующих значений: boot – выполняется только один раз при загрузке ОС. В этом случае параметр уровни просто игнорируется; bootwait – равносильно указанию параметров boot и wait одновременно, т.е. выполнение должно быть во время загрузки ОС, и при этом нужно дождаться завершения операции; ctrlaltdel – нажата комбинация клавиш initdefault – строка с этим параметром читается только при первом обращении к init и определяет уровень загрузки. Если в этой строке будет стоять число 5, то ОС будет сразу в графический режим. Если поставить значение параметра в цифре 3, то ОС загрузится в текстовый многопользовательский режим с поддержкой сети; off – отключить выполнение команды, что равноценно превращению строки в комментарий или даже удалению. Но если этот процесс работает, то ему передается сигнал, требующий завершения программы; once – выполнять команду только один раз; powerfail - отключение электроэнергии. powerokwait – подача электроэнергии возобновилась; powerwait – система перешла в режим ожидания восстановления питания. Предполагается, что к компьютеру подключен источник бесперебойного питания, который сообщил об ошибке (отсутствие питания); respawn – если во время выполнения произойдет ошибка, то повторить команду. Это бывает необходимо для критически важных программ, которые должны быть всегда в запущенном состоянии; sysinit – такие команды выполняются перед тем, как появится консоль (приглашение ввести пароль). При этом ОС дожидается окончания выполнения команды; wait – ожидать завершения процесса, а значит, программа init не будет выполнять других действий, пока не закончится выполнения команды указанной в этой строке; Действие – команда, которая должна быть выполнена. Самая первая строка после комментариев выглядит так: id: 5 : initdefault: Параметр initdefault определяет, как будет загружаться система. В данном случае файл init будет выполняться с 5 уровнем, т.е. в графическом режиме. Следующие строки: 10:0:wait:/etc/rc.d/rc 0 11:1:wait:/etc/rc.d/rc 1 12:2:wait:/etc/rc.d/rc 2 13:3:wait:/etc/rc.d/rc 3 14:4:wait:/etc/rc.d/rc 4 15:5:wait:/etc/rc.d/rc 5 16:6:wait:/etc/rc.d/rc 6 показывают, что для каждого уровня своя строка, и при этом запускается один и тот же файл /etc/rc.d/rc, но после имени через пробел стоит число, соответствующее текущему уровню. Этот параметр увидит программа /etc/rc.d/rc, основная задача которой – убить все текущие процессы и запустить другие, соответствующие новому режиму выполнения. Перейдя в папку /etc/rc.d/ и просмотрев содержимое, следует заметить, что здесь есть каталоги с именами rcX.d, где X- это число от 0 до 6, соответствующее уровню выполнения. В каждой папке есть файлы, имена которых начинаются с буквы “K” или “S”. При выходе с уровня выполняются все файлы первого типа, они уничтожают все запущенные на нем процессы. А при входе на уровень выполняются файлы на букву “S”, которые активизируют все необходимые процессы данного уровня. ca::ctrlaltdel:/sbin/shutdown –t3 –r now Данная строка выполняется на любом уровне, потому что второй аргумент отсутствует. Третий параметр равен ctrlaltdel. Команда shutdown с ключом [–r] - это перезагрузка. Параметр [–tX] задает время задержки, где X – количество секунд до рестарта. pf::powerfail:/sbin/shutdown –f –h +2 “Power Failure; System Shutting Down” Приведенная выше строка выполняется на любом уровне. Здесь снова участвует команда shutdown, но теперь с другими ключами: [-f] - отменяет проверку диска fsck; [-h] – указывает на необходимость выключения питания; [+2] – задает время в минутах до перезагрузки; pr:12345:powerokwait:/sbin/shutdown –c “Power Restored; Shutdown Cancelled” Команда выполняется на уровнях с 1 по 5 и отменяет перезагрузку. На 0 и 6 уровнях, когда уже начался процесс выключения системы или рестарт, аннулировать что-либо уже поздно. Отмена происходит вызовом команды shutdown с ключом [–с], после чего идет текст сообщения о том, что питание восстановилось и можно работать. Теперь посмотрим на следующие строки: 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 Здесь на шести терминалах (ttyX, где Х – это номер терминала или виртуальной консоли) выдается сообщение на вход в систему. x:5:respawn:/etc/X11/prefdm –nodaemon Эта строка выполняется на 5 уровне и запускает команду /etc/X11/prefdm, которая переводит работу в графический режим и отображает соответствующее окно входа в систему. 12. Самостоятельно написать сценарий (скрипт) оболочки. Сценарий оболочки предназначен для установки Apache и PHP, содержащий все команды, которые необходимы для конфигурирования, генерации и установки двоичных файлов. Скрипт #!/bin/ksh STARTDIR=$PWD APACHEPREFIX=/usr/local/Apache print “Installation tool for Apache and PHP” print “Configuring Apache…” cd apache CFLAGS=’-03 –march=athlon’ ./configure –prefix=$APACHEPREFIX \ print Configuring Apache cd ../php CFLAGS=-03 march=athlon ./configure prefix=$APACHEPREFIX \ --prefix=/usr/local/apache \ --with-apache=../apache \ --with-config-file-path=$APACHEPREFIX/conf \ --enable-ftp \ --enable-gd-native-ttf \ --enable-mailparse \ --enable-mbstring \ --enable-memory-limit \ --enable-sockets \ --enable-sysvsem \ --with-bcmath \ --with-bz2 \ --with-freetype-dir=/usr/include/freetype2/freetype \ --with-gd \ --with-jpeg-dir=/usr/include \ --with-pgsql=/usr/src/postgresql-7.2 \ --with-png-dir=/usr/include \ --with-system-reges \ --with-tiff-dir=/usr/include \ --with=xpm-dir=/usr/include sleep 10 print building PHP make make install print configuring and building Apache with PHP cd ../apache CFLAGS=-03 march=athlon \ ./configure -activate-module=src/modules/php4/libphp4.a \ --with-perl=/usr/bin/perl \ --enable-module=php4 make make install print copying and updating configuration cd ../php cd php.ini-dist $APACHEPREFIX/conf/php.ini v if [[ $(egrep e ^(|\t)*AddType application/x-httpd-php .php \ $APACHEPREFIX/conf/httpd.conf)=]] then print AddType not found adding configuration print AddType application/x-httpd-php .php >> \ $APACHEPREFIX/conf/httpd.conf else print AddType found no modifications necessary fi cd $STARDIR Объяснения сценария. В начале сценария определяется переменная APACHEPREFIX. Она содержит каталог, в который нужно установить Apache. Затем выполняется переход в Apache. Затем выполняется первое конфигурирование Apache – сценарий вызывает функцию configure, которая генерирует сборочные файлы, необходимые для построения двоичных файлов Apache. В этом примере эта функция вызывается с набором дополнительных необязательных параметров: CFLAGS содержит дополнительные флаги, которые компилятор С должен использовать для построения двоичных файлов. -О3 указывает GCC на необходимость использования наивысшего уровня оптимизации. –march указывает компилятору о необходимости оптимизировать двоичные файлы для компьютеров AMD Athlon. В принципе эти флаги необязательны. Но в некоторых случаях CFLAGS может способствовать некоторому повышению быстродействия. После первого выполнения функции configure можно обратиться к каталогу, содержащему исходные файлы PHP. Теперь нужно снова вызвать функцию configure. Для построения двоичных файлов, предоставляющих большие возможности, можно активизировать множество флагов. В этом сценарии активизируются многие компоненты PHP, такие как поддержка GD, PostgresQL или FreeType. После конфигурирования PHP нужно с помощью команды make запустить компилятор. Команда make строит все двоичные файлы, а make install копирует их в соответствующий каталог. Если двоичные файлы успешно сконфигурированы и установлены, Apache должен быть скомпилирован в требуемом каталоге. Если использовать PHP 4 этим файлом является php.ini-dist. И в завершении, в файл httpd.conf, содержащий параметры конфигурирования Apache, должна быть добавлена следующая строка: AddType application/x-httpd-php .php Для проверки присутствия требуемой строки в файле используется команда egrep в сочетании с простым регулярным выражением. Прежде чем запускать сценарий облочки, необходимо создать каталог apache в каталоге /usr/local. Иначе установка Apache окажется невозможной. Обязательно нужно определить право доступа: # chmod +x compile.sh Выводы Во время выполнения курсовой работы научились пользоваться основными консольными командами, которые направлены на повышение эффективности работы пользователя с системой Linux. С помощью этих команд можно легко работать с различными директориями, файлами, контролировать и управлять различными процессами в системе. Помимо полученных сведений о командах, также было исследован файл inittab, отвечающий за загрузку системы. По этому конфигурационному файлу приведено полное пояснение в задании 11. Также был приобретен опыт создания сценариев оболочки, и в задании 12 приведен скрипт отвечающий за установку веб-сервера Apache. Список использованной литературы: “Linux глазами хакера” – М.Фленов, изд-во БХВ-Петербург, 2005г. “Самоучитель Linux” – Д.Н.Колисниченко, изд-во НИТ, 2004г. |
Посетителей: 0, из них зарегестрированных: 0, гостей: 0 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.0599 сек. |