Создание высокопроизводительного вычислительного кластера на Linux

Автор работы: Пользователь скрыл имя, 28 Января 2014 в 18:04, лабораторная работа

Краткое описание

Все объекты в UNIX делятся на два типа: файлы и процессы.
Все данные хранятся в файлах, доступ к периферийным устройствам осуществляется через специальные файлы.
Вся функциональность операционной системы определяется выполнением различных процессов.
Важнейшим пользовательским процессом является основной командный интерпретатор (login shell). login, password

Прикрепленные файлы: 1 файл

LINUX.doc

— 173.50 Кб (Скачать документ)

Информационные  технологии (лаб.). ММ. Неделя 2.

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

LINUX – один из наиболее известных свободно распространяемых диалектов UNIX.

Все объекты  в UNIX делятся на два типа: файлы и процессы.

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

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

Важнейшим пользовательским процессом является основной командный интерпретатор (login shell). login, password

passwd – смена пароля пароль должен хорошо запоминаться и быть трудным для подбора!

exit – выход из системы

man – получение справки о командах: man man

Идентификатор пользователя (UID), идентификаторы групп (GID).

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

Информация  о пользователях и группах  обычно хранится в системных файлах /etc/passwd, /etc/shadow и /etc/group

Файловая  система, каталоги.

/ - корневой каталог

/home/asa/myfile.txt

. – текущий каталог

.. – каталог на единицу более высокого уровня

 

С каждым пользователем  ассоциируется его домашний каталог.

Атрибуты  файлов. ls –l

-rwxr-xr-- 1 asa  group  3422  Feb 28 13:30  test

- – обычный файл; d – каталог,  l – ссылка и др.

 

Права доступа к файлу:

- – отсутствие права доступа, r – право на чтение, w – право на запись или удаление, x – право на выполнение файла.

 

Владелец-пользователь, владелец-группа и все остальные  пользователи

Смена прав доступа  к файлу:

chmod [u g o a][+ - =][r w x] file1…

 

u – смена права доступа для пользователя,

g – для группы, o – для других пользователей,

a – для всех трех категорий.

+ – добавление соответствующего права,

- – удаление, а = – присвоение

chmod g+w test

chown и chgrp – смена владельца-пользователя и владельца-группы файла

cd [dir] – переход в каталог dir. Если каталог не указан, то переход осуществляется в домашний каталог пользователя.

cp file1 file2 – копирование файла

mv file1 file2 – перемещение (изменение имени) файла

rm file1… – удаление файлов

rmdir dir1… – удаление каталогов

mkdir dir1… – создание каталога

pwd – вывести имя текущего каталога

cat file, more file, less file – утилиты просмотра содержимого файла

find dir – поиск в файловой системе, начиная с каталога dir

grep <рег_выражение> file1… – поиск в файлах вхождений регулярного выражения рег_выражение

Процесс - программа в стадии ее выполнения.

ps – список выполняющихся процессов

Уникальный  идентификатор процесса (PID).

Сигналы.

Завершить выполнение процесса:

kill –9 PID

Список процессов, занимающих наибольшее количество процессорного  времени или системных ресурсов:

top

Потоки ввода/вывода: стандартный ввод, стандартный вывод и стандартный вывод ошибок. Для перенаправления стандартного ввода можно использовать символ <, для стандартного вывода – > или >> (с добавлением), для потока ошибок – 2>

program > file.log

Конвейер команд:

program1 | program2 | program3…

Фоновый режим:

program &

who – список пользователей, работающих в данный момент в системе

uname – некоторые сведения о системе

Редактирование  файлов: vi, joe и др., встроенный редактор файлового менеджера   Midnight Commander (mc), удаленное редактирование.

Компиляторы с  языка Си cc (CC для Си++), компилятор с языка Фортран – f77 (f90 для Фортрана 90).

time program – время работы программы

Таблица 3.1. Простейшие команды Linux

Команда

Краткое описание

whoami

Сообщает имя, с которым вы вошли в систему в данном сеансе работы

w или who

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

pwd

Сообщает имя  текущего каталога

ls -l

Выдает список файлов и подкаталогов текущего каталога

cd <имя_каталога>

Осуществляет  смену текущего каталога

ps ax

Выдает список выполняющихся процессов


 

Таблица 4.1. Структура  каталогов 

Каталог

Подкаталоги

Назначение

/bin

 

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

/boot

 

Содержит основные постоянные файлы для загрузки системы, в частности загружаемое ядро. Файлы из этого каталога нужны только во время загрузки системы

/dev

 

Каталог специальных  файлов или файлов устройств. О них  мы поговорим чуть подробнее в  одном из следующих подразделов. Можете также заглянуть в man mknod(1)

/etc

 

Этот каталог  и его подкаталоги содержат большинство данных, необходимых для начальной загрузки системы и основные конфигурационные файлы. В /etc находятся, например, файл inittab, определяющий загружаемую конфигурацию, и файл паролей пользователей passwd. Часть конфигурационных файлов может находиться и в /usr/etc. Каталог /etc не должен содержать двоичных файлов (их следует перенести в /bin или /sbin). Ниже приводится назначение основных (но далеко не всех!) подкаталогов каталога /etc

 

/etc/rc.d

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

 

/etc/skel

Когда создается  новый пользователь и account для него, то файлы из этого каталога копируются во вновь созданный домашний каталог  пользователя

 

/etc/sysconfig

Каталог, содержащий некоторые (но не все) конфигурационные файлы системы

 

/etc/X11

Каталог для  конфигурационных файлов подсистемы X11 (например, XF86Config)

/home

 

Обычно в  этом каталоге находятся домашние каталоги пользователей

/lib

 

Этот каталог  содержит разделяемые библиотеки функций, необходимых компилятору языка C и модули (драйверы устройств). Даже если в системе не установлен компилятор языка C, разделяемые библиотеки необходимы, поскольку они используются многими прикладными программами. Они загружаются в память по мере необходимости выполнения каких-то функций, что позволяет уменьшить объем кода программ - в противном случае один и тот же код многократно повторялся бы в различных программах

/lost+found

 

Этот каталог  используется при восстановлении файловой системы командой fsck. Если fsck обнаруживает файл, родительский каталог которого определить невозможно, она помещает такой файл в каталог /lost+found. Поскольку родительский каталог потерян, то таким файлам присваиваются имена, совпадающие с номерами их индексных дескрипторов

/mnt

 

Это точка монтирования для временно монтируемых файловых систем. Если на компьютере запускается  поочередно Linux и MS DOS, то этот каталог  обычно используется, чтобы монтировать  файловую систему MS DOS. Если вы имеете привычку монтировать несколько дополнительных носителей, например, дискеты, CD-ROM, дополнительный жесткий диск и т. д., то можно создать в нем соответственно дополнительные подкаталоги для каждого носителя

/proc

 

Это точка монтирования для файловой системы proc, которая  обеспечивает информацию о выполняющихся процессах, ядре, оборудовании вычислительной установки и т. д. Это псевдо-файловая система, подробности о которой можно узнать по команде man 5 proc. Специальные файлы из этого каталога используются для получения и передачи данных ядру

/root

 

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

/sbin

 

Подобно каталогу /bin содержит в основном исполняемые  файлы - программы и утилиты ОС, используемые в процессе загрузки и запускаемые системным администратором. В стандарте FHS говорится, что в этот каталог надо помещать те исполняемые файлы, которые используются после успешного подключения файловой системы /usr. Минимальное содержимое этого каталога включает программы clock, getty, init, update, mkswap, swapon, swapoff, halt, reboot, shutdown, fdisk, fsck.*, mkfs.*, lilo, arp, ifconfig, route

/tmp

 

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

/usr

 

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

 

/usr/bin

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

/usr/bin/X11 - Обычное  место для расположения готовых к исполнению программ из X-Window в Linux. Часто это символическая ссылка на /usr/X11R6/bin

 

/usr/dict

Этот каталог  содержит файлы со словарным запасом  для программ проверки корректности написания слов

 

/usr/etc

Здесь содержатся конфигурационные файлы для группы машин. Однако, команды и программы должны смотреть в каталог /etc, в котором должны быть линки к файлам в каталоге /usr/etc

 

/usr/include

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

 

/usr/lib

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

  • /usr/lib/X11 - Обычное место для помещения файлов связанных с X-Window, а также конфигурационных файлов самой системы X-Window. В Linux это обычно символическая ссылка на каталог /usr/X11R6/lib/X11.
  • /usr/lib/gcc-lib - Содержит готовые к исполнению программы и файлы типа include для компилятора GNU C (gcc).
  • /usr/lib/groff - Файлы для системы форматирования текстов groff.
  • /usr/lib/uucp - Файлы для UUCP.
  • usr/lib/zoneinfo - Файлы для определения временной зоны. Смотрите также страницы руководств named-xfer (8), tzfile (5), tzselect (8), zdump (8), zic (8)
 

/usr/local

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

  • /usr/local/bin - Обычно здесь помещают готовые к исполнению программы, которые являются локальными (уникальными) для данной машины.
  • /usr/local/doc - Здесь располагается документация ко всем установленным на Вашем компьютере пакетам прикладного ПО.
  • /usr/local/etc - Конфигурационные файлы для локально установленных программ.
  • /usr/local/lib - Библиотеки и файлы для локально установленных программ и систем.
  • /usr/local/info - Страницы описаний, которые просматриваются посредством программы info, для локально установленных программ.
  • /usr/local/man - Страницы описаний, которые просматриваются посредством программы man, для локально установленных программ.
  • /usr/local/sbin - Локальные программы системного администратора.
  • /usr/local/src - Исходные тексты программ, установленных на данной машине
 

/usr/man

Страницы интерактивного руководства man в исходном формате (не подготовленные для просмотра)./usr/man/<locale>/man[1-9] - Эти каталоги содержат страницы руководств на различных языках (в зависимости от значения locale). Системы, которые используют один язык и один кодовый набор, могут не использовать подстроку <locale>

 

/usr/sbin

Этот каталог  содержит готовые к исполнению программы  для системного администрирования, которые не используются во время  загрузки

 

/usr/src

Исходные тексты для различных частей Linux. /usr/src/linux - исходные тексты для ядра Linux

 

/usr/tmp

Еще одно место  для хранения временных файлов. Обычно это символическая ссылка на каталог /var/tmp

 

/usr/X11R6

Файлы относящиеся  к системе X-Window (версии 11, релиз 6).

  • usr/X11R6/bin - Готовые к исполнению программы системы X-Window
  • /usr/X11R6/lib - Файлы и библиотеки, связанные с системой X-Window

/var

 

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

 

/var/adm

Содержит учетную  и диагностическую информацию, необходимую  системному администратору

 

/var/backups

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

 

/var/catman/cat[1-9]

Этот каталог  используется, чтобы хранить уже сформированные страницы руководств в соответствии с номером главы

 

/var/lock

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

 

/var/log

Различные файлы протоколов (логи)

 

/var/run

Переменные  файлы времени выполнения различных  программ. Они содержат идентификаторы процессов (PIDs) и записывают текущую  информацию (utmp). Файлы в этом каталоге обычно очищаются во время загрузки системы

 

/var/spool

Файлы различных программ, поставленные в очередь на обслуживание.

  • /var/spool/at - Файлы заданий, запущенных посредством команды at.
  • /var/spool/cron - Файлы системы cron.
  • /var/spool/lpd - Файлы, ожидающие вывода на печать.
  • /var/spool/mail - Пользовательские почтовые ящики.
  • /var/spool/news - Файлы системы news.
  • /var/spool/uucp - Файлы системы uucp
 

/var/tmp

Временные файлы


 

 

 

 

 

 

 

 

 

 

 

 

 

Команды chown и chgrp

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

[root]# chown vasja имя-файла

[root]# chgrp usersgrp имя-файла

 

Команда mkdir

Команда mkdir позволяет  создать подкаталог в текущем  каталоге. В качестве аргумента этой команде надо дать имя создаваемого каталога. Во вновь созданном каталоге автоматически создаются две записи: . (ссылка на этот самый каталог) и .. (ссылка на родительский каталог). Чтобы создать подкаталог, вы должны иметь в текущем каталоге право записи. Можно создать подкаталог не в текущем, а в каком-то другом каталоге, но тогда необходимо указать путь к создаваемому каталогу:

[user]$ mkdir /home/kos/book/glava5/part1

Команда mkdir может  использоваться со следующими опциями:

  • -m mode - задает режим доступа для нового каталога (например, -m 755);
  • -p - создавать указанные промежуточные каталоги (если они не существуют).

 

Команда cat

Команда cat часто  используется для создания файлов (хотя можно воспользоваться и командой touch). По команде cat на стандартный вывод (т. е. на экран) выводится содержимое указанного файла (или нескольких файлов, если их имена последовательно задать в качестве аргументов команды). Если вывод команды cat перенаправить в файл, то можно получить копию какого-то файла:

[user]$ cat file1 > file2

Собственно, первоначальное предназначение команды cat как раз  и предполагало перенаправление  вывода, так как эта команда создана для конкатенации, т. е. объединения нескольких файлов в один:

[user]$ cat file1 file2 ... fileN > new-file

Именно возможности  перенаправления ввода и вывода этой команды и используются для  создания новых файлов. Для этого  на вход команды cat направляют данные со стандартного ввода (т. е. с клавиатуры), а вывод команды - в новый файл:

[user]$ cat > newfile

После того, как  вы напечатаете все, что хотите, нажмите  комбинацию клавиш <Ctrl>+<D> или <Ctrl>+<C>, и все, что вы ввели, будет записано в newfile. Конечно, таким образом создаются, в основном, короткие текстовые файлы.

 

Команда cp

Хотя для  копирования файлов иногда пользуются командой cat, но в Linux существует для  этого специальная команда cp. Ее можно применять в одной из двух форм:

[user]$ cp [options] source destination

[user]$ cp [options] source_directory new_directory

В первом случае файл или каталог source копируется, соответственно, в файл или каталог destination, а во втором случае файлы, содержащиеся в  каталоге source_directory копируются в каталог new_directory. Для копирования надо иметь права на чтение файлов, которые копируются, и права на запись в каталог, в который производится копирование.

Если в качестве целевого указывается существующий файл, то его содержимое будет затерто, поэтому при копировании надо соблюдать осторожность. Впрочем, можно использовать команду cp с опцией -i, тогда перед перезаписью существующего файла будет запрашиваться подтверждение (очень рекомендую вам всегда использовать эту опцию!).

У команды cp имеется еще несколько полезных опций.

 

Таблица 4.3. Основные опции команды cp

Опция

Значение

-p

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

-R или -r

Если source - каталог, то копируется как он, так и все  входящие в него подкаталоги, т. е. сохраняется  исходная форма дерева каталогов

-d

Если задать эту опцию, то символические ссылки будут оставаться ссылками (а иначе  вместо ссылки копируется файл, на который дается ссылка)

-f

Перезаписывать  файлы при копировании (если такие  уже есть) без дополнительных предупреждений


Команда mv

Если вам  необходимо не скопировать, а переместить  файл из одного каталога в другой, вы можете воспользоваться командой mv. Синтаксис этой команды аналогичен синтаксису команды cp. Более того, она сначала копирует файл (или каталог), а только потом удаляет исходный файл (каталог). И опции у нее такие же, как у cp.

Команда mv может  использоваться не только для перемещения, но и для переименования файлов и каталогов (т. е. перемещения их внутри одного каталога). Для этого надо просто задать в качестве аргументов старое и новое имя файла:

[user]$ mv oldname newname

Но учтите, что  команда mv не позволяет переименовать сразу несколько файлов (используя шаблон имени), так что команда mv *.xxx *.yyy не будет работать.

При использовании  команды mv, также как и при использовании cp, не забывайте применять опцию -i для того, чтобы получить предупреждение, когда файл будет перезаписываться.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Команды архивирования  файлов

При работе с Linux вы, может быть, еще  не скоро встретитесь с необходимостью работать с большинством консольных команд, поскольку имеются такие  оболочки, как Midnight Commander или графические оболочки типа KDE. Но с командами архивирования (точнее, разархивирования) вам работать придется обязательно, хотя бы потому, что вы будете часто встречать архивированные файлы в Интернете.

Основным средством архивирования  в UNIX (а, следовательно, и в Linux) является комплекс из двух программ - tar и gzip. Хотя никто не запрещает пользоваться arj, pkzip, lha, rar и т. д. - версии этих программ для Linux общедоступны. Просто уж исторически сложилось, что пользователи Unix чаще применяют именно tar и gzip, и именно в таком формате распространяется большая часть программного обеспечения для Unix. Поэтому овладеть работой с tar и gzip - дело чести любого пользователя Linux.

Программа tar

У читателя, привыкшего к архиваторам  типа arj, которые собирают файлы в единый архив и сразу "сжимают" их, может возникнуть вопрос "А зачем использовать две программы?" Все дело в том, что tar расшифровывается как Tape ARchiver, он не сжимает данные, а лишь объединяет их в единый файл с последовательным доступом для последующей записи на ленту. По умолчанию этот архивный файл создается на ленточном накопителе, точнее на устройстве /dev/rmt0. Если вы хотите создать архивный файл на диске, то необходимо использовать команду tar с опцией f, после которой указывается имя архивного файла.

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

Таблица 4.5. Основные опции программы tar

Опция

Значение

-A, --catenate, --concatenate

Добавляет файлы  в существующий архив

-c, --create

Создает новый  архив

-d, --diff, --compare

Найти различия между архивом и файловой системой

--delete

Удалить из архива (не может использоваться с магнитной лентой!)

-r, --append

Дописывает  файлы в конец архива

-t, --list

Выводит список файлов архива

-u, --update

Добавляет только файлы, которые новее, чем имеющаяся  в архиве копия

-x, --extract, --get

Извлечь файлы  из архива

Информация о работе Создание высокопроизводительного вычислительного кластера на Linux