<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Сервер онлайн-тестирования. Образовательный портал WebTeach.ru &#187; UNIX</title>
	<atom:link href="http://webteach.ru/category/web-programmirovanie/unix/feed" rel="self" type="application/rss+xml" />
	<link>http://webteach.ru</link>
	<description>Уроки и статьи по информатике, биологии, литературе, астрономии, химии... Сервис онлайн-тестирования.</description>
	<lastBuildDate>Mon, 07 May 2012 18:43:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Определение логов сервера и их свойств</title>
		<link>http://webteach.ru/web-programmirovanie/unix/opredelenie-logov-servera-i-ix-svojstv</link>
		<comments>http://webteach.ru/web-programmirovanie/unix/opredelenie-logov-servera-i-ix-svojstv#comments</comments>
		<pubDate>Sun, 24 Jan 2010 15:14:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=488</guid>
		<description><![CDATA[Во время работы сервера все события (речь идет главным образом о запросах и ответах) регистрируются. Они могут записываться в текстовых файлах, называемых логами сервера. Сбор такой информации является в принципе обязанностью администратора сервера, поскольку в случае попыток неавторизованного доступа к ресурсам сервера (или, говоря обычным языком, &#8211; вторжения на чей-то счет) логии могут представлять собой [...]]]></description>
			<content:encoded><![CDATA[<p>Во время работы сервера все события (речь идет главным образом о запросах и ответах) регистрируются. Они могут записываться в текстовых файлах, называемых логами сервера. Сбор такой информации является в принципе обязанностью администратора сервера, поскольку в случае попыток неавторизованного доступа к ресурсам сервера (или, говоря обычным языком, &#8211; вторжения на чей-то счет) логии могут представлять собой материал, позволяющий выявить исполнителя подобного действия. </p>
<p>Анализ информации, собранной в логах, также позволяет установить причины ошибок в работе сервера. Из них можно узнать, какие файлы были получены от сервера, какие из них не были найдены, какие скрипты не выполнились правильно и т.д. Ручной анализ записей в этих дневниках имеет смысл в принципе только в случае поиска причины ошибок сервера. Статистический анализ, состоящий в наблюдении за распределением нагрузки сервера в определенные промежутки времени, и генерирование рапортов использования сервера и его ресурсов производятся автоматически аналитическими программами домена. </p>
<p>Имеющиеся по умолчанию установки дневников сервера HTTP и FTP (Xitami пригоден и для выполнения функций сервера FTP) можно изменить, выбирая на административной панели команду Logging. Администратор сервера может изменить как локализацию (расположение), так и тип генерируемого файла дневника, а также так называемую цикличность, то есть время, по истечении которого лог закрывается, и дальнейшая запись продолжает вестись в новом дневнике.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/unix/opredelenie-logov-servera-i-ix-svojstv/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка FTP сервера на базе pure-ftpd+openssl</title>
		<link>http://webteach.ru/web-programmirovanie/unix/ustanovka-ftp-servera</link>
		<comments>http://webteach.ru/web-programmirovanie/unix/ustanovka-ftp-servera#comments</comments>
		<pubDate>Sun, 09 Aug 2009 15:40:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=428</guid>
		<description><![CDATA[Доброго дня дорогие читатели. В этой статье я вам поведаю как правильно поставить ftp сервер. Что для этого нам нужно: pure-ftpd &#8211; Pure-FTPd FTP server openssl &#8211; Secure Socket Layer (SSL) binary and related cryptographic tools libssl-dev &#8211; SSL development libraries, header files and documentation Установка Для начала мы все это установим. Так как имеющиеся [...]]]></description>
			<content:encoded><![CDATA[<p>Доброго дня дорогие читатели. В этой статье я вам поведаю как правильно поставить ftp сервер.<br />
  Что для этого нам нужно:</p>
<ul>
<li><strong>pure-ftpd</strong> &#8211; Pure-FTPd FTP server</li>
<li><strong>openssl</strong> &#8211; Secure Socket Layer (SSL) binary and related cryptographic tools</li>
<li><strong>libssl-dev</strong> &#8211; SSL development libraries, header files and documentation </li>
</ul>
<p><strong>Установка</strong></p>
<p>Для начала мы все это установим. Так как имеющиеся сборка pure-ftpd в репозитариях Debian нам не подходит (нет поддержки openssl), будем устанавливать его из исходников.</p>
<blockquote>
<p># sudo aptitude source pure-ftpd </p>
</blockquote>
<p>Исходные коды получены, но перед тем как перейти в каталог, поставим дополнительные пакеты, такие как OpenSSL и библиотеки к нему.</p>
<blockquote>
<p># sudo aptitude install openssl<br />
    # sudo aptitude install libssl-dev</p>
</blockquote>
<p>Cоздадим самоподписывающиеся цифровой сертификат по алгоритну RSA c 1024-битным ключем:</p>
<blockquote>
<p>sudo openssl req -x509 -nodes -newkey rsa:1024 -keyout <br />
    /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem</p>
</blockquote>
<p>Теперь перейдем в каталог с исходными кодами Pure-FTPd и запустим конфигуратор с нужными для нас ключами:</p>
<blockquote>
<p>./configure &#8211;with-rfc2640 &#8211;with-puredb &#8211;with-tls <br />
    &#8211;with-certfile=/etc/ssl/private/pure-ftpd.pem &#8211;with-ftpwho &#8211;with-altlog</p>
</blockquote>
<p>Теперь расмотрим каждый параметр. Кто за что отвечает:</p>
<ul>
<li><strong>&#8211;with-rfc2640</strong> &#8211; использовать спецификацию rfc2640 для работы &quot;кодировки на лету&quot;</li>
<li><strong>&#8211;with-puredb</strong> &#8211; для аутентификации и авторизации использовать свою БД (puredb)</li>
<li><strong>&#8211;with-tls</strong> &#8211; включаем поддерку SSL/TLS</li>
<li><strong>&#8211;with-certfile</strong> &#8211; использовать сертификат с указанного места</li>
<li><strong>&#8211;with-ftpwho</strong> &#8211; опция необходимая для утилиты мониторинга ftpwho</li>
<li><strong>&#8211;with-altlog</strong> &#8211; используем журналирование</li>
</ul>
<p>И откомпилируем пакеты командами:</p>
<blockquote>
<p># make &amp;&amp; make install</p>
</blockquote>
<p><strong>Настройка Pure-ftpd</strong></p>
<p>Итак начнем настройку. Цифровые сертефикаты мы уже сделали, теперь займемся puredb, создадим ее и наполним пользовательскими учетными записями.</p>
<p>Для начала нам нужна отдельная группа</p>
<blockquote>
<p># groupadd ftpgroup</p>
</blockquote>
<p>Создадим реального системного пользователя, под правами которого будут работать наши виртуальные пользователи ftp.</p>
<blockquote>
<p># useradd -m -g ftpgroup -d /dev/null -s /etc ftpuser</p>
</blockquote>
<ul>
<li>-m &#8211; автоматически создавать папку пользователя;</li>
<li>-g &#8211; использовать gid (group indentificator). У нас ftpgroup;</li>
<li>-d &#8211; указывает домашнюю папку пользователя. В нашемслучаии в некуда (/dev/null);</li>
<li>-s &#8211; указывает на используемую оболочку (shell); </li>
</ul>
<p>И последнее, конечно же, указываем имя пользователя <em><strong>ftpuser</strong></em></p>
<p>Проверим, создан ли пользователь</p>
<blockquote>
<p># getent passwd ftpuser<br />
    ftpuser:x:1003:1005::/dev/null:/etc</p>
</blockquote>
<p>Создадим виртуального пользователя</p>
<blockquote>
<p># sudo pure-pw useradd valek -u ftpuser -d /home/ftpusers/valek</p>
</blockquote>
<ul>
<li>useradd &#8211; имя пользователя, например valek;</li>
<li>-u &#8211; uid реального системного пользователя ftpuser</li>
<li>-d &#8211; домашний каталог </li>
</ul>
<p>Проверим это дело</p>
<blockquote>
<p># sudo cat /etc/pureftpd.passwd <br />
    valek:$1$v5nQVd80$11quL9FgRbL37knEcxIK80:1003:1005::/home/ftpusers/valek/./::::::::::::</p>
<p># sudo pure-pw show valek</p>
</blockquote>
<p><em>Login : valek<br />
  Password : $1$v5nQVd80$11quL9FgRbL37knEcxIK80<br />
  UID : 1003 (ftpuser)<br />
  GID : 1005 (ftpgroup)<br />
  Directory : /home/ftpusers/valek/./<br />
  Full name : <br />
  Download bandwidth : 0 Kb (unlimited)<br />
  Upload bandwidth : 0 Kb (unlimited)<br />
  Max files : 0 (unlimited)<br />
  Max size : 0 Mb (unlimited)<br />
  Ratio : 0:0 (unlimited:unlimited)<br />
  Allowed local IPs : <br />
  Denied local IPs : <br />
  Allowed client IPs : <br />
  Denied client IPs : <br />
  Time restrictions : 0000-0000 (unlimited)<br />
  Max sim sessions : 0 (unlimited)</em></p>
<p>И создаем базу данных</p>
<blockquote>
<p># sudo pure-pw mkdb</p>
</blockquote>
<p>На этом мы закончили. Осталось только запустить pure-ftpd в режиме демона.</p>
<blockquote>
<p>sudo ./pure-ftpd -4 -A -B -j -U 022:022 -l puredb:/etc/pureftpd.pdb</p>
</blockquote>
<p>Как вы заметили сборка проходила с поддержкой OpenSSL, это я делал с заделом на будующее. Для запуска FTP сервера с зашифрованным каналом нужно добавить пару ключей, но это уже совсем другая история <img src='http://webteach.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/unix/ustanovka-ftp-servera/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Особенности загрузки современного персонального компьютера</title>
		<link>http://webteach.ru/web-programmirovanie/unix/osobennosti-zagruzki-sovremennogo-personalnogo-kompyutera</link>
		<comments>http://webteach.ru/web-programmirovanie/unix/osobennosti-zagruzki-sovremennogo-personalnogo-kompyutera#comments</comments>
		<pubDate>Thu, 05 Feb 2009 15:29:12 +0000</pubDate>
		<dc:creator>ILYA</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=364</guid>
		<description><![CDATA[В предыдущих статьях мы попытались дать общее описание схемы начальной загрузки ОС Linux. Настало время рассмотреть подробнее наиболее сложные ступени загрузки, проведя анализ особенностей функционирования ПК. Как уже стало ясно, загрузка системы – это процесс сложный, состоящий из целого ряда этапов. Как только мы включаем персональный компьютер, код, записанный в постоянном запоминающем устройстве, начинает выполняться. [...]]]></description>
			<content:encoded><![CDATA[<p>В предыдущих статьях мы попытались дать общее описание схемы начальной загрузки <strong>ОС Linux</strong>. Настало время рассмотреть подробнее наиболее сложные ступени загрузки, проведя анализ особенностей функционирования ПК.<br />
  Как уже стало ясно, загрузка системы – это процесс сложный, состоящий из целого ряда этапов. Как только мы включаем персональный компьютер, код, записанный в постоянном запоминающем устройстве, начинает выполняться. Его расположение и строение зависят от параметров оборудования. Так, в машинах, разработанных для UNIX и прочих ОС коммерческого толка, код записывается разработчиком. Именно он создает алгоритм подключения разных устройств, распознавания файловых систем локального свойства и базовой инициализации сети. Такой подход упрощает работу системного администратора. Ему нужно только ввести название нового файла ядра. Код постоянного запоминающего устройства находит и читает данный файл автоматически.<br />
Код начальной загрузки, свойственный ПК, представлен как BIOS – базовая подсистема ввода-вывода (или Basic Input/Output System). Эта подсистема очень проста по сравнению с кодом UNIX-станций. На самом деле, в ней имеется более трех уровней кода. Первый – для компьютера, второй – для видеоплаты, третий – для SCSI-адаптера (при его наличии). Коды имеют и периферийные устройства.</p>
<p>Например, <strong>сетевая плата</strong>.<br />
  Встроенный код Basic Input/Output System знает обо всех устройствах, которые располагаются на материнке. Например, о жестких дисках, контроллере IDE, контроллере клавиатуры, портах (параллельных и последовательных), плате сетевого адаптера. SCSI-адаптеры, в свою очередь, знают лишь о тех устройствах, которые подключены напрямую к ним. Справедливости ради стоит отметить, что за последние годы необходимость вмешательства оператора сошла до минимума, поскольку сложные взаимодействия, лежащие между устройствами при их совместной работе, были упорядочены и стандартизированы.<br />
  Если сравнивать разные поколения ПК, то можно заметить, что код BIOS становится все более интеллектуальным. Ведь современные машины позволяют входить в режим конфигурирования уже на старте загрузки. Для этого достаточно нажать на пару клавиш. Их названия чаще всего видны на экране. Делается это для избавления от копания в документации.<br />
Режим конфигурирования позволяет выбирать устройство, с которого произойдет загрузка. Несмотря на то, что выбор этот нельзя назвать большим. Как правило, последовательность загрузки такова – дисковод для гибких дисков – для CD-ROM дисков – для жесткого диска. Но в некоторых BIOS загрузку нельзя начать с первого жесткого диска IDE или дисковода для CD-ROM. SCSI-адаптеры также могут быть распознанными.</p>
<p>После того как персональный компьютер определился с выбором устройства для загрузки, происходит считывание первых пятисот двенадцати байтов с диска. Данная часть диска имеет название ГЗЗ, или главной загрузочной записи. Она содержит ту программу, которая оповещает ПК о местонахождении программы вторичной загрузки на том или ином разделе диска.<br />
Находящаяся в главной загрузочной записи стандартная программа дает машине указание – вычленить загрузчик операционной системы из первого дискового раздела.</p>
<p>В свою очередь, в ОС Линукс поддерживаются программы более высокого уровня сложности. Они совместимы со многими ядрами и системами.</p>
<p>Отыскав раздел, с которого загрузка система будет осуществлена, программа начинает запуск загрузочной программы, которая имеет отношение к данному разделу. При положительном исходе данная программа получает возможность производить дальнейшую загрузку ядра.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/unix/osobennosti-zagruzki-sovremennogo-personalnogo-kompyutera/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux. Процесс загрузки (часть 2)</title>
		<link>http://webteach.ru/web-programmirovanie/unix/linux-process-zagruzki-chast-2</link>
		<comments>http://webteach.ru/web-programmirovanie/unix/linux-process-zagruzki-chast-2#comments</comments>
		<pubDate>Thu, 05 Feb 2009 15:25:11 +0000</pubDate>
		<dc:creator>ILYA</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=362</guid>
		<description><![CDATA[Пришло время рассмотреть действия пользователя в случае ручной загрузки системы. Для того чтобы запустить ОС в режиме одного пользователя, необходимо в консольном режиме установить параметр загрузки ядра -s (single). Ядро при создании процесса с идентификатором № 1 (init) передает ему этот параметр, а уже init передает информацию дальше специальной утилите sulogin, являющейся аналогом команды авторизации [...]]]></description>
			<content:encoded><![CDATA[<p>Пришло время рассмотреть действия пользователя в случае ручной загрузки системы.<br />
Для того чтобы запустить ОС в режиме одного пользователя, необходимо в консольном режиме установить параметр загрузки ядра <strong>-s (single)</strong>. Ядро при создании процесса с идентификатором № 1 (init) передает ему этот параметр, а уже init передает информацию дальше специальной утилите sulogin, являющейся аналогом команды авторизации пользователей login, только для суперадминистратора. </p>
<p>В ряде дистрибутивов вход пользователя root в графическом режиме запрещен, поэтому войти в систему суперпользователем можно только в консоли. Впрочем, как в однопользовательском, так и в многопользовательском режимах. Подчеркнем, что использование системы в режиме суперпользователя является потенциально опасной процедурой и должно производиться только при крайней необходимости. В остальных случаях следует пользоваться командой su, позволяющей обычному пользователю повысить свои привилегии.</p>
<p>Но мы отвлеклись. Команды <strong>sulogin</strong> требует ввода пароля суперпользователя. В случае успешной идентификации система запускает командную оболочку, определенную в переменной PATH для root (в большинстве дистрибутивов это оболочка Борна — bash (Borne Again Shell) или sh). Если вы не хотите производить авторизацию суперадминистратором, нажмите сочетание клавиш Ctrl+D, и система продолжит процесс загрузки в многопользовательском режиме.</p>
<p>В режиме single user система отвечает на команды практически таким же образом, что и в обычном, многопользовательском, режиме. Но есть и отличия. В частности, в дистрибутивах, основанных на <strong>Debian</strong>, в <strong>Mandriva</strong> и в <strong>SuSE</strong> в однопользовательском режиме по умолчанию монтируется только корневой раздел, а остальные пользователю предлагается подключить самостоятельно. <br />
Однопользовательский режим очень удобен для восстановления работоспособности упавшей системы, но в то же время это и огромная уязвимость любой ОС Linux, поскольку до сих пор в большинстве дистрибутивов для входа в систему в режиме single user по умолчанию не требуется ввода пароля. Соответственно, злоумышленник, получивший доступ к локальной машине, может легко загрузиться в режиме наивысших привилегий и сделать с системой все, что захочет. Поэтому следует сразу же после установки системы запрещать любой вход в нее без ввода пароля. Справедливости ради стоит заметить, что если злоумышленник получает доступ в помещение с машиной, то от ОС уже мало что зависит. Снять жесткий диск и загрузиться с Live-CD/LiveUSB на другом компьютере, ему уже ничто не помешает. Но облегчать ему работу не стоит.</p>
<p>Ряд дистрибутивов в режиме одного пользователя монтирует системный каталог только в режиме чтения. В этом есть определенное неудобство: часть программ, записывающих свои временные данные в каталог /tmp, не сможет полноценно функционировать. Поэтому для запуска, к примеру, текстового редактора vim, необходимо в ручном режиме размонтировать и снова смонтировать в режиме чтения и записи системный каталог. Для этого нужно в однопользовательском режиме набрать команду mount -о rw, remount /.<br />
В дистрибутивах семейства Red Hat (RHEL, Fedora, CentOS и других) при загрузке в single user режиме перед приглашением к авторизации процесс init попытается примонтировать все файловые системы в компьютере. Данное решение, с одной стороны, является достаточно привлекательным, однако с другой, при каких-либо ошибках в архитектуре файловой системы может стать источником проблем. </p>
<p>В ходе автоматической загрузки ОС запускает команду fsck, которая служит для проверки корректности состояния файловой системы и, при необходимости, автоматического восстановления ее до непротиворечивого состояния. В single-режиме данная команда автоматически не запускается, поэтому для коррекции файловых систем команду придется вводить самостоятельно.<br />
  После завершения работы командой оболочки однопользовательского режима ОС продолжает загрузку, меняя режим на многопользовательский.<br />
  Следующий шаг загрузки — выполнение rc-сценариев запуска. На этом этапе систему уже можно считать загруженной. Сценарии — это обыкновенные скрипты, которые запускаются демоном init в зависимости от настроек системы.<br />
  После того, как init запустит все сценарии, и они отработают, выполнив все записанные в них команды, загрузку системы можно считать законченной. Однако войти в систему все еще невозможно. Для того чтобы операционка предложила пользователю авторизоваться в системе, необходим запуск процесса getty, который будет следить за командами в терминале.<br />
При запуске системы в графическом режиме кроме getty процесс init запускает процессы регистрации пользователей: xdm, gdm или kdm.</p>
<p>Также заметим, что и после полной загрузки системы процесс под номером 1 не прекращает свою работу. Он обладает несколькими уровнями выполнения, допускающими пользовательские процессы к тем или иным местам системы. Но об этом будет идти речь в следующих статьях.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/unix/linux-process-zagruzki-chast-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux. Процесс загрузки (часть первая)</title>
		<link>http://webteach.ru/web-programmirovanie/unix/linux-process-zagruzki-chast-pervaya</link>
		<comments>http://webteach.ru/web-programmirovanie/unix/linux-process-zagruzki-chast-pervaya#comments</comments>
		<pubDate>Wed, 04 Feb 2009 06:15:33 +0000</pubDate>
		<dc:creator>ILYA</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=332</guid>
		<description><![CDATA[Операционная система Линукс довольно сложна, поэтому процесс ее загрузки и остановки некорректно сводить лишь к нажатию кнопки Power. Если вы хотите стать администратором Linux или просто хорошо разбираться в этой ОС, вам нужно представлять себе, что происходит во время загрузки и выгрузки системы. В то время, когда разработчики операционных систем писали свою Ось под конкретное [...]]]></description>
			<content:encoded><![CDATA[<p>Операционная система Линукс довольно сложна, поэтому процесс ее загрузки и остановки некорректно сводить лишь к нажатию кнопки Power. Если вы хотите стать <strong>администратором Linux</strong> или просто хорошо разбираться в этой ОС, вам нужно представлять себе, что происходит во время загрузки и выгрузки системы.<br />
В то время, когда разработчики операционных систем писали свою Ось под конкретное аппаратное обеспечение, процесс загрузки был достаточно простым. Сегодня же, когда ОС Линукс устанавливается на множество различных конфигураций и аппаратных платформ персональных компьютеров и серверов, процесс инициализации системы должен выполняться по правилам, устанавливаемым компьютером. При этом система должна уметь загружаться на любой конфигурации одинаково хорошо.</p>
<p><strong>Особенности начальной загрузки системы</strong></p>
<p>Начальная загрузка — это период запуска ОС сразу после нажатия кнопки питания. На данном этапе вся власть принадлежит BIOS компьютера, а значит, ОС должна получить «толчок» для того, чтобы загрузить сама себя. В процессе начальной инициализации специальная программа-загрузчик (чаще всего LILO или GRUB) выгружает в оперативную память ядро ОС и активизирует его. Ядро выполняет определенный ряд действий, последним из которых является запуск программы login, результатом чего становится появление диалога авторизации в системе на терминале пользователя. (Под терминалом пользователя мы будем разуметь консоль или графическое приглашение, отображающееся на мониторе).</p>
<p>Период начальной загрузки — это время наибольшей уязвимости вашей ОС. Помехами, делающими невозможным полноценное функционирование системы, могут быть как аппаратные проблемы (отсутствие оборудования, сбои в его работе), так и ошибки в настроечных файлах или ядре. Поэтому настройка процесса загрузки ОС — первая задача, стоящая перед администратором Linux. Ситуация осложняется еще и тем, что для правильной и корректной настройки необходимо хорошо разбираться в принципах функционирования самого Linux.</p>
<p>После включения питания выполняется специальный загрузочный код, хранящийся в постоянном запоминающем устройстве. Этот код запускает ядро системы. Ядро проверяет состояние аппаратных компонентов, после чего запускает демон с идентификатором № 1, носящий название init.</p>
<p>Между запуском init и появлением приглашения к авторизации в системе проходит период, во время которого происходит проверка и монтирование существующих файловых систем и запуск демонов системы. Данные задачи выполняются посредством сценариев интерпретатора команд. Эти сценарии по порядку обрабатываются демоном init. Часто в литературе можно встретить именование сценариев rc-файлами &#8211; по имени их префикса. История префикса, являющегося аббревиатурой словосочетания «run command» уходит в далекие шестидесятые годы XX века, к операционной системе CTSS. В настоящее время это название является пережитком и оставлено только по традиции. Содержание и структура сценариев интерактивной загрузки зависит от конкретной системы. В дальнейших статьях мы планируем рассмотреть сценарии загрузки подробнее.<br />
  Операционные системы семейства Линукс обладают одним важным свойством, касающимся загрузки — она может выполняться как в автоматическом режиме, так и вручную (пользователем машины).</p>
<p>В автоматическом режиме участия человека не требуется: ядро проводит все процессы загрузки самостоятельно. В ручном режиме инициализация проходит автоматически до определенного этапа, после чего управление передается пользователю. Данный этап носит название «однопользовательского режима» (single user). В данном режиме большая часть демонов (системных процессов) еще не начали работу, и авторизоваться другим пользователям системы нельзя. <br />
  В обычном режиме система загружается в полностью автоматическом режиме. Пользователю системы необходимо просто нажать на кнопку питания и ждать, когда Linux пригласит его ввести имя и пароль. Тем не менее, если вы хотите разбираться в системе, вам нужно не только знать, что происходит во время обычной загрузки, но и при необходимости загрузить Linux вручную. Ручная загрузка требуется в том случае, если в системе возникают неполадки, мешающие автоматической инициализации. В таком случае, система передает управление оператору (человеку сидящему за терминалом). Подобное может произойти, например, при нарушении целостности файловой системы или при ошибках в конфигурации сетевого адаптера.</p>
<p><strong>Шаги загрузки</strong></p>
<p>Как правило, процесс загрузки систем на основе Linux состоит из шести основных шагов, среди которых:</p>
<ul>
<li>загрузка ядра;</li>
<li>поиск и настройка устройств компьютера;</li>
<li>создание ядерных процессов;</li>
<li>(опционально, при загрузке вручную) действия оператора системы;</li>
<li>выполнение rc-команд;</li>
<li>переход в многопользовательский режим.</li>
</ul>
<p>Процессом загрузки системы можно управлять посредством редактирования сценариев запуска (rc-команд).<br />
  Рассмотрим каждый шаг загрузки. Первый из них — загрузка и инициализация ядра. <br />
  <strong>Ядро ОС Линукс</strong> &#8211; это программа, и первый шаг загрузки заключается в записи этой программы в оперативную память компьютера для последующего выполнения. Файл ядра (kernel) обычно имеет название <em><strong>/boot/vmlinuz или /vmlinuz</strong></em>.<br />
  Следует заметить, что процесс загрузки ядра происходит в два этапа. Первый — в оперативную память с помощью BIOS записывается небольшая программка-загрузчик, которой передаются права. Именно она на втором этапе загружает собственно ядро и передает ему управление.</p>
<p>После получения управления ядро проводит тесты, позволяющие выяснить размер оперативной памяти, имеющийся в системе. Некоторые внутренние модули ядра имеют константную величину, поэтому часть памяти сразу резервируется под их нужды. Данный участок памяти оказывается недоступным пользователю. На терминал ядро выдает информацию о размере памяти, имеющейся в системе и размере, доступном оператору.</p>
<p>Следующий шаг — настройка аппаратных средств компьютера. Если вы приняли решение скомпилировать ядро для конкретного компьютера, вы можете собрать указать ему те устройства, наличие которых требуется проверять. В процессе инициализации ядро находит и проверяет все устройства, о которых оно было проинформировано. Главная информация о каждом найденном устройстве выводится на терминал пользователя. Большинство современных дистрибутивов Linux имеют в своем составе ядро, способное без дополнительной перекомпиляции работать на подавляющем большинстве конфигураций ПК.<br />
  Тем не менее, информация, которую производитель дистрибутива заложил в ядро, может оказаться неполной. В таком случае, kernel (ядро) подключается к системной шине и собирает необходимую информацию у драйверов устройств, подключенных к ней. Драйвера устройств, которые не отвечают на сигнал ядра или вообще отсутствуют, выключаются. Если устройство добавляется в аппаратную конфигурацию в ходе работы, администратор системы обладает инструментами для включения драйвера ядра.</p>
<p>Третий шаг загрузки — создание процессов ядра. После того, как ядро опросит все аппаратные составляющие, приходит черед создания процессов. Создание данных процессов происходит независимо от fork (стандартного вызова системы). Подробнее о fork будет рассказано в следующих статьях. <br />
  Создание таких процессов, являющихся «самовыполняемыми», характерно для всех систем семейства UNIX, но их количество и функции отличаются. Например, в Linux к таким процессам относится демон init, а также обработчики сигналов kernel. Для того чтобы выяснить, какие процессы относятся к «самовыполняемым», можно в консоли набрать команду ps. Идентификаторы этих процессов будут стоять в самом начале, а их названия должны быть в квадратных скобках. В ряде дистрибутивов квадратные скобки убраны.</p>
<p><strong>Пример.</strong></p>
<blockquote>
<p>[ilya@localhost ~]$ ps -e<br />
    PID TTY          TIME CMD<br />
    1 ?        00:00:00 init<br />
    2 ?        00:00:00 kthreadd<br />
    3 ?        00:00:00 migration/0<br />
    4 ?        00:00:16 ksoftirqd/0<br />
    5 ?        00:00:01 events/0 <br />
    6 ?        00:00:00 khelper <br />
    47 ?        00:00:00 kintegrityd/0<br />
    48 ?        00:00:00 kblockd/0 <br />
    50 ?        00:00:00 kacpid <br />
    51 ?        00:00:00 kacpi_notify <br />
    132 ?        00:00:00 kseriod <br />
    172 ?        00:00:01 pdflush <br />
    174 ?        00:00:05 kswapd0 <br />
    217 ?        00:00:00 aio/0 <br />
    371 ?        00:00:00 kpsmoused <br />
    384 ?        00:00:00 ksuspend_usbd<br />
    385 ?        00:00:00 khubd </p>
</blockquote>
<p>Как вы видите, часть процессов получает в конце название символ косой черты (слэш) и цифру. Данная цифра обозначает процессор, на котором работает данный демон, что необходимо при конфигурировании многопроцессорных систем. <br />
  Из процессов, появляющихся на данном этапе загрузки, только первый, init, можно назвать полноценным процессом. Другие представляют собой модули ядра, которые организованы как системные процессы по соображениям строения системы.<br />
  После того, как ядро создаст данные процессы, оно уступает им управление. На следующем этапе главный процесс такой &#8211; демон init займется созданием процессов-потомков, отвечающих за базовые операции. </p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/unix/linux-process-zagruzki-chast-pervaya/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Где и как получить информацию по Linux (часть вторая)</title>
		<link>http://webteach.ru/web-programmirovanie/unix/gde-i-kak-poluchit-informaciyu-po-linux-chast-vtoraya</link>
		<comments>http://webteach.ru/web-programmirovanie/unix/gde-i-kak-poluchit-informaciyu-po-linux-chast-vtoraya#comments</comments>
		<pubDate>Wed, 04 Feb 2009 06:10:25 +0000</pubDate>
		<dc:creator>ILYA</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=330</guid>
		<description><![CDATA[Особенностью документации, посвященной свободным операционным системам, является то, что большинство актуальной информации распространяется в Интернете только на английском языке. На этом же языке написаны и руководства man и info. Поэтому крайне желательно владеть английским языком хотя бы на школьном уровне. Без базовых знаний английского вы не сможете адекватно реагировать на сообщения системы, а разбор комментариев [...]]]></description>
			<content:encoded><![CDATA[<p>Особенностью документации, посвященной свободным операционным системам, является то, что большинство актуальной информации распространяется в Интернете только на английском языке. На этом же языке написаны и руководства <strong>man</strong> и <strong>info</strong>. Поэтому крайне желательно владеть английским языком хотя бы на школьном уровне. Без базовых знаний английского вы не сможете адекватно реагировать на сообщения системы, а разбор комментариев в конфигурационных файлах может стать невозможным. Конечно, существует возможность использования русского перевода системы интерактивного руководства man, расположенной по адресу <em>http://ln.com.ua/~openxs/projects/man/</em>. </p>
<p>Однако следует учесть, что русские переводы не учитывают специфики конкретного дистрибутива и очень часто запаздывают по сравнению с английской справкой. Так что сведения, изложенные в русских man-страницах, могут быть устаревшими и даже не соответствующими действительности.</p>
<p>Сделаем небольшой обзор документации, расположенной в сети Интернет.
</p>
<p><strong>Документы HOW-TO</strong> — небольшие статьи по какому-то конкретному вопросу настройки &#8211; готовятся в рамках проекта Linux <strong>Documentation Project (LDP)</strong>. Их можно найти на странице <em>tldp.org</em>, которая выполняет функцию хранилища разнородных данных о Linux, а также документацию на большом количестве языков. Такие руководства, как, например, Linux System Administration Made Easy или Advanced Bash-Scripting Guide будут полезны для системных администраторов. Большая часть документов Linux Documentation Project не обновляется, то есть устаревает достаточно быстро. Поэтому на дату появления этого документа на сайте нужно обращать внимание. Только она может рассказать о степени актуальности данных, содержащихся в документе.<br />
  Самые главные компоненты ОС Linux находят поддержку у таких организаций, как ASF, объединяющей разработчиков ПО для веб-сервера Apache, или ISC – консорциума разработчиков ПО для Сети. Они также предоставляют к пакетам документацию. В отличие от ряда поставщиков, не прилагающих ее к дистрибутиву.<br />
Документы серии Request for comments (сокращенно &#8211; RFC) – тоже кладезь информации о пакетах Linux. В них содержатся описания протоколов и ПО интернет.</p>
<p>Такие документы должны быть в свободном доступе на FTP-серверах, содержащих архивы данной ОС. Если выхода по FTP нет, данные можно поискать на серверах CompuServe или BBS. При наличии доступа к электронной почте возможно использование сервиса ftpmail. Он также позволяет получать такие документы.<br />
Ресурсы, освещающие UNIX, тоже интересны. Ведь доля информации об этой системе применима к Линукс. В частности, сведения по системному администрированию. Их можно найти в разных видах в поисковиках Yahoo!, Yandex, Google.</p>
<p><strong>Список русскоязычных сайтов и форумов с документацией по Linux: </strong></p>
<ul>
<li><em>http://www.linux.org.ru</em> — ресурс с довольно агрессивным, но грамотным сообществом. На сайте есть разделы с документацией и wiki. </li>
<li><em>http://www.opennet.ru/</em> &#8211; большой и активный ресурс, посвященный свободному программному обеспечению. </li>
<li><em>http://linuxforum.ru/</em>- самый активный *nix-форум. </li>
<li><em>http://posix.ru/sitemap.shtml</em> — сайт с достаточно устаревшей документацией. </li>
<li><em>http://rus-linux.net/</em> &#8211; виртуальная энциклопедия «Linux по-русски». 
  </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/unix/gde-i-kak-poluchit-informaciyu-po-linux-chast-vtoraya/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Взаимоотношения Linux и UNIX</title>
		<link>http://webteach.ru/web-programmirovanie/unix/vzaimootnosheniya-linux-i-unix</link>
		<comments>http://webteach.ru/web-programmirovanie/unix/vzaimootnosheniya-linux-i-unix#comments</comments>
		<pubDate>Mon, 02 Feb 2009 18:05:35 +0000</pubDate>
		<dc:creator>ILYA</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=320</guid>
		<description><![CDATA[Linux и UNIX – это названия, которые могут употребляться вместе лишь условно. Ведь Linux – это реализация ОС UNIX, улучшенная и дополненная. Она совпадает со стандартом POSIX, совместима с большей частью приложений этого операционной системы, работает на разных машинах. От прочих вариантов, отпочковавшихся от UNIX, Linux отличается своей свободной лицензией. Ее код открыт, потому над [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Linux</strong> и <strong>UNIX</strong> – это названия, которые могут употребляться вместе лишь условно. Ведь Linux – это реализация ОС UNIX, улучшенная и дополненная. Она совпадает со стандартом <strong>POSIX</strong>, совместима с большей частью приложений этого операционной системы, работает на разных машинах. От прочих вариантов, отпочковавшихся от UNIX, Linux отличается своей свободной лицензией. Ее код открыт, потому над разработкой этой ОС трудятся не только организации, но и отдельные личности, не ждущие взамен материальных благ. Однако Линукс имеет набор технических усовершенствований, которые не характерны для первых версий Юникса. Поэтому называть Linux клоном Юникса неверно. Это нечто большее. А значит, Линукс можно называть самостоятельным продуктом.</p>
<p>Однако Линукс не является единственной ОС, которая доступна и генетически связана с UNIX. Операционные системы <strong>NetBSD</strong>, <strong>OpenBSD</strong> и <strong>FreeBSD</strong> являются прямыми потомками версии <strong>UNIX</strong>, разрабатываемой в университете Беркли. Эти системы сравнимы с Линукс по функционалу, но менее популярны. Их меньшая популярность во многом обусловлена историческими причинами. В начале разработки этих систем они находились под угрозой патентного преследования со стороны производителей коммерческий версий UNIX. Для того чтобы избежать проблемы, разработчики *BSD-системы были вынуждены тратить силы на переписывание заимствованного кода. А в это время Linux развивался и набирал все большую популярность.</p>
<p>Программное обеспечение, разрабатываемое под ОС Linux, являются POSIX-программами. Это означает, что любые программы, написанные по этому стандарту, могут быть запущены на любой POSIX-совместимой системе путем перекомпиляции исходного кода. <br />
  Еще одним фактором популярности Linux является то, что проект GNU выбрал данную ОС для своих программных компонентов. Глава Free Software Fondation, <strong>Ричард Столлманн</strong>, автор проекта GNU, считает, что правильнее называть ОС GNU/Linux, поскольку все основные утилиты написаны именно в рамках его проекта.<br />
  Благодаря стандарту POSIX, Linux, *BSD и различные коммерческие инкарнации UNIX имеют большое количество приложений, способных работать в любой их этих систем.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/unix/vzaimootnosheniya-linux-i-unix/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Где и как получить информацию по Linux</title>
		<link>http://webteach.ru/web-programmirovanie/unix/gde-i-kak-poluchit-informaciyu-po-linux</link>
		<comments>http://webteach.ru/web-programmirovanie/unix/gde-i-kak-poluchit-informaciyu-po-linux#comments</comments>
		<pubDate>Mon, 02 Feb 2009 18:03:08 +0000</pubDate>
		<dc:creator>ILYA</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=318</guid>
		<description><![CDATA[Документации по Линукс очень много. В этом ее сила и ее слабость. На любом ресурсе в Интернете вы найдете раздел со статьями и справочными материалами. В самой системе также много информации по различным командам. Именно в этом слабость справочной системы Linux: для того чтобы что-то найти, нужно обладать умением искать. Можно выделить несколько основных типов [...]]]></description>
			<content:encoded><![CDATA[<p>Документации по Линукс очень много. В этом ее сила и ее слабость. На любом ресурсе в Интернете вы найдете раздел со статьями и справочными материалами. В самой системе также много информации по различным командам. Именно в этом слабость справочной системы Linux: для того чтобы что-то найти, нужно обладать умением искать.</p>
<p><strong>Можно выделить несколько основных типов документации:</strong></p>
<ul>
<li>man-страницы. Это информация по конкретным командам, которую можно получить с помощью команды: man имя_команды.</li>
<li>страницы Texinfo, гипертекстовая система справочной документации. Вызывается одноименной командой.</li>
<li>статьи в сети Интернет посвященные той или иной проблеме и путям ее решения (HOW-TO).</li>
<li>серии статей, посвященных тому или иному разделу;</li>
<li>руководства дистрибутивов.</li>
</ul>
<p>Поговорим теперь о каждом из типов подробнее. </p>
<p>Первый и главный тип документации — <strong>man-страницы</strong>. Они есть в любой системе Linux, так что, даже если у вас нет Интернета, вы не останетесь без справки. Man-страница — это первое место, куда нужно обращаться за помощью.</p>
<p>В ОС Linux страницы интерактивного справочного руководства man делятся на 9 основных разделов:</p>
<ol>
<li>Справка по командам уровня пользователя и приложений;</li>
<li>Расшифровка кодов ядерных ошибок и системные вызовы;</li>
<li>Функции библиотек.</li>
<li>Справка по сетевым протоколам и драйверам устройств;</li>
<li>Стандартные для любой системы форматы файлов;</li>
<li>Справка по игровым программам и демо-версиям;</li>
<li>Другие файлы и документы.</li>
<li>Справка по командам администрирования системы.</li>
<li>Информация ядру и внутренним модулям.</li>
</ol>
<p>Разделы могут быть разделены на подразделы. Подразделы обозначаются цифрой главного раздела и буквой латинского алфавита, связанного с тематикой раздела (раздел 3M, таким образом, содержит информацию о математических функциях одной из библиотек системы). Шестой и девятый разделы, как правило, пусты и являются резервными. Некоторые дистрибутивы Linux включают в себя еще два раздела:</p>
<p>l — для дистроспецифичных man-страниц;<br />
  n — для описания команд отдельных программных оболочек (например, bash, sh и zsh).</p>
<p>Информация, отображаемая командой <strong>man</strong>, как правило, хранится в папке <em>/usr/share/man/manN</em>, где N — номер или буква раздела. Информация хранится в архивах, которые созданы с помощью сжимающей утилиты gzip. Перед выводом информации команда man запускает утилиту разархивирования, результат которой в форматированном виде поступает на вывод.<br />
  Команда man кэширует наиболее часто вызываемые страницы. Для этого ей необходим доступ на запись в каталог <em>/var/cache/man/catN</em> (N, здесь также соответствует букве или номеру раздела). man производит форматирование во время отображения на экране.<br />
  Утилита man происходит поиск страниц в нескольких каталогах, которые можно узнать с помощью команды manpath. Вывод команды manpath в дистрибутиве Mandriva Linux выглядит так:</p>
<blockquote>
<p>[ilya@localhost ~]$ manpath<br />
    /usr/share/man/ru:/usr/share/man:/usr/local/share/man</p>
</blockquote>
<p>Настройка того, в каких каталогах искать страницы справки, содержится в переменной <strong>MANPATH</strong>. Если нужно, содержимое переменной можно изменить. <br />
  Команда man производит форматирование страницы справочного руководства и выводит ее в консоль пользователя с помощью команды less или другой утилиты, предназначенной для разбивки на страницы и заданной в переменной PAGER. <br />
  Аргументом команды man является название утилиты, имя команды, файл или устройство, по которому требуется справка. Команда производится поиск по разделам интерактивного справочного руководства по возрастанию номеров. Правда, разделы, в которых описываются утилиты (1, 6 и <img src='http://webteach.ru/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> просматриваются с самого начала.<br />
Команда man раздел имя_утилиты формирует страницу справки из данного раздела. Например, команда </p>
<p><strong>man tty </strong></p>
<p>выдает на консоль информацию из первого раздела, то есть справку по самой команде tty, а команда</p>
<p><strong>man 4 tty</strong></p>
<p>выведет в терминал страницу интерактивного руководства, посвященную драйверу управляющей консоли.<br />
  Команда man -k ключ выдает в консоль наименования страниц, в описаниях к которым имеется данный ключ.</p>
<p><strong>Пример:</strong></p>
<blockquote>
<p>[ilya@localhost ~]$ man -k urpmi<br />
    proxy.cfg [proxy]  (5) &#8211; urpmi proxy configuration file format<br />
    rurpmi        (8) &#8211; restricted urpmi<br />
    urpm         (3pm) &#8211; Mandriva perl tools to handle the urpmi database<br />
    urpm::cfg      (3pm) &#8211; routines to handle the urpmi configuration files<br />
    urpmi        (8) &#8211; rpm downloader, installer and dependency solver<br />
    urpmi.addmedia [urpmi] (8) &#8211; adds a new rpm media to be used by urpmi<br />
    urpmi.cfg [urpmi]  (5) &#8211; urpmi option and media configuration file format<br />
    urpmi.files [urpmi] (5) &#8211; files used by the urpmi tools<br />
    urpmihowto      (8) &#8211; urpmi Advanced How-To<br />
    urpmi.removemedia [urpmi] (8) &#8211; remove a rpm media from the known media of urpmi<br />
    urpmi.update [urpmi] (8) &#8211; Updates package lists for specified media<br />
    urpmq        (8) &#8211; urpmi database query tool<br />
    urpm::sys      (3pm) &#8211; OS-related routines for urpmi<br />
    urpm::util      (3pm) &#8211; Misc. utilities subs for urpmi</p>
</blockquote>
<p>В данном примере мы запросили названия всех страниц справки, в описаниях которой употребляется команда управления пакетами urpmi в Mandriva Linux.<br />
  Для того чтобы получить справку по самой команде man необходимо в консоли набрать команду:</p>
<p><strong>man man</strong></p>
<p>Следующим типом документации являются страницы руководства <strong>Texinfo</strong>. Данная справочная система так же, в большинстве случае, устанавливается вместе с дистрибутивом. Новые программы, инсталлируемые в систему, тоже вносят свои страницы справки в интерактивное руководство. Страница руководства Texinfo содержат конкретные сведения об утилитах, командах, форматах файлов, драйверах и библиотеках. Зачастую данная система дублирует информацию, содержащуюся на страницах руководства man. </p>
<p>Система руководства Texinfo была разработана в рамках проекта GNU как замена man, которая появилась в коммерческих UNIX и была несвободная для использования. В частности, для обработки страниц по мере вывода на терминал пользователя man использовала команду nroff, являющуюся собственностью автора UNIX, компании AT&amp;T. <br />
В настоящее время команда nroff заменена командой groff, поэтому данный факт потерял свое значение. Однако до сих пор ряд программ (большинство из них разработано проектом GNU) нуждаются в том, чтобы справочная информация для них распространялась в формате Texinfo.</p>
<p>Фактически, на сегодняшний момент система интерактивного руководства Texinfo совершенно избыточна. Следует заметить, что пользование ей достаточно затруднено самой гипертекстовой природой системы. Если вы все же хотите использовать данную систему документации, мы советуем вам направить вывод команды<br />
  info имя_утилиты<br />
  с помощью команды <strong>less</strong>. Это позволит вам использовать поисковые возможности команды less,одновременно заблокировав навигацию справочной системы Texinfo.<br />
  При всех отрицательных сторонах данной справочной системы есть один положительный момент: при установке программного обеспечения, как правило, в страницы руководства man инсталлируются страницы-маячки, сообщающие, что справку по данной программе можно найти в info. Следовательно, вы вполне можете продолжать использовать систему man, обращаясь к Texinfo в том случае, если это действительно необходимо.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/unix/gde-i-kak-poluchit-informaciyu-po-linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Краткая история Linux</title>
		<link>http://webteach.ru/web-programmirovanie/unix/kratkaya-istoriya-linux</link>
		<comments>http://webteach.ru/web-programmirovanie/unix/kratkaya-istoriya-linux#comments</comments>
		<pubDate>Mon, 02 Feb 2009 17:58:10 +0000</pubDate>
		<dc:creator>ILYA</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=316</guid>
		<description><![CDATA[Linux – это операционная система, появившаяся на свет в 1991 году как проект одного человека. Им явился Линус Торвальдс, тогда еще аспирант одного финского высшего учебного заведения. Изначально Линус не думал о том, что это будет полноценная ОС. В его планы входила лишь модернизация системы Эндрю Таненбаума под названием Minix. Но проект получил огромную армию [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Linux</strong> – это операционная система, появившаяся на свет в 1991 году как проект одного человека. Им явился Линус Торвальдс, тогда еще аспирант одного финского высшего учебного заведения. Изначально Линус не думал о том, что это будет полноценная ОС. В его планы входила лишь модернизация системы Эндрю Таненбаума под названием Minix. Но проект получил огромную армию почитателей, вызвав интерес не только в Финляндии. Итогом стало то, что ядро Linux стало жить полноценной жизнью. К тому же появилось сообщество разработчиков, которые совместными усилиями сделали то, что называется эволюцией системы.<br />
  Ядро Linux версии 1.0 появилось в 1994 году. А осенью 2006 года последняя стабильная версия значилась уже под номером 2.6.17.<br />
Данная ОС многое взяла у предшествующих программ. В частности, у различных вариантов UNIX. Поэтому говорить о том, что 1991 год – это заря эпохи Linux, не совсем верно.</p>
<p>Ведь история UNIX стартовала в 1969 году на базе исследовательского проекта, проводимого лабораторией Bell Labs, принадлежащей корпорации AT&amp;T. Через семь лет, в 1976 году, данная система начала распространяться среди студентов абсолютно бесплатно. Именно поэтому диссертации, посвященные рассмотрению операционных систем, а также различные образовательные курсы по этой теме стали такими популярными.</p>
<p>В 1977 году увидела свет система Berkeley UNIX. Именно в том году группа исследователей из Калифорнийского университета, расположенного в Беркли, заинтересованная в вычислительных системах, приобрела лицензию у AT&amp;T на код системы. Все версии, авторами которых были участники данной группы, получали название BSD – аббревиатура от Berkeley Software Distribution. Первой такой версией стала 1BSD, подходящая для компьютера PDP-11. В 1993 году появилась версия 4.4BSD, ставшая кульминационной.<br />
Исходный код UNIX становился все дороже по мере того, как система завоевывала коммерческое признание. В итоге сотрудники университета решили убрать из BSD код, принадлежащий корпорации AT&amp;T. Эта работа обещала быть долгой, тщательной и сложной. К тому же перед самым финалом работы университет, находящийся в Беркли, оказался без финансовой поддержки, ранее направляемой на исследование ОС. Поэтому группа исследователей распалась. Но до расформирования группа успела явить миру 4.4BSD-Lile – версию, в которой не было этого кода. Именно от этого пакета начинают свою историю такие версии BSD UNIX, как <strong>NetBSD Mac OS X2, FreeBSD, OpenBSD</strong> и прочие современные.</p>
<p>А такие версии, как Solaris или HP-UX – потомки ОС, основанных на AT&amp;T.<br />
  Linux, в свою очередь, имеет ряд отличий как от кода BSD, так и от кода UNIX AT&amp;T. Но при этом находится где-то между (с позиции функциональных возможностей).</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/unix/kratkaya-istoriya-linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LINUX. Как устанавливать программы?</title>
		<link>http://webteach.ru/web-programmirovanie/unix/linux-kak-ustanavlivat-programmy</link>
		<comments>http://webteach.ru/web-programmirovanie/unix/linux-kak-ustanavlivat-programmy#comments</comments>
		<pubDate>Mon, 02 Feb 2009 07:55:23 +0000</pubDate>
		<dc:creator>ILYA</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://webteach.ru/?p=287</guid>
		<description><![CDATA[Пришедшие в Linux бывшие пользователи ОС Windows пытаются использовать свои старые привычки. В том числе, и в установке программного обеспечения. Часто новички задаются вопрос о том, как запустить в Linux .exe файл, чтобы установить любимый Photoshop. Между тем, установка ПО в операционных системах семейства *nix достаточно сильно отличается. Поговорим об этом. В *nix-системах программное обеспечение [...]]]></description>
			<content:encoded><![CDATA[<p>Пришедшие в Linux бывшие пользователи ОС Windows пытаются использовать свои старые привычки. В том числе, и в установке программного обеспечения. Часто новички задаются вопрос о том, как запустить в Linux .exe файл, чтобы установить любимый Photoshop. Между тем, установка ПО в операционных системах семейства *nix достаточно сильно отличается. Поговорим об этом.<br />
  В *nix-системах программное обеспечение распространяется в так называемых пакетах, которые могут быть установлены отдельно друг от друга. Инсталлируя на компьютер новую ОС, пользователь обладает возможностью выбора групп пакетов, которые с самого начала будут установлены в системе.</p>
<p>Подобный подход упрощает администрирование и является одним их конкурентных преимуществ систем *nix не только перед Microsoft Windows, но и перед рядом систем UNIX-семейства.<br />
  Этот же подход порождает неразбериху в деле описания дистрибутивов. В данном случае, совершенно непонятно, что считать, а что не считать частью той или иной операционной системы. Например, пакет java присутствует на установочном диске, но не ставится по умолчанию. Входит ли он в дистрибутив? А если этот пакет можно скачать после установки из репозитария?<br />
  Оговоримся, что мы будем рассматривать тот или иной дистрибутив в его стандартной инсталляции. Но если мы будем говорить, что такой-то пакет не устанавливается по умолчанию, это не значит, что его вообще нет.<br />
  Для того чтобы узнать, есть ли необходимый пакет в системе, в первую очередь, следует использовать команду which, которая помогает выяснить, указана ли нужная команда в переменной среды PATH. </p>
<p><strong>Пример.</strong></p>
<p><em><strong>Пакет установлен:</strong></em></p>
<blockquote>
<p>[ilya@localhost ~]$ which firefox<br />
    /usr/bin/firefox</p>
</blockquote>
<p><em><strong>Пакет не установлен:</strong></em></p>
<blockquote>
<p>[ilya@localhost ~]$ which flick<br />
    which: no flick in (/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin/:/usr/games:/usr/lib/qt4/bin:/usr/bin:/opt/kde3/bin:/home/ilya/bin)</p>
</blockquote>
<p>Если данная команда which не нашла утилиты, это еще не означает, что ее вообще нет в системе. Можно воспользоваться командой whereis, которая ищет нужные файлы во всех системных каталогах. В ряде дистрибутивов эта команда не находит файлы, не помеченные как исполняемые.</p>
<blockquote>
<p>[ilya@localhost ~]$ whereis ppp<br />
    ppp: /etc/ppp<br />
    [ilya@localhost ~]$ whereis pptp<br />
    pptp: /usr/sbin/pptp /etc/pptp.d</p>
</blockquote>
<p>Можно воспользоваться не менее эффективной командой <strong>locate</strong>, которая проводит поиск в специально собранном файле-индексе файловой системы в соответствии с маской, заданной пользователем дистрибутива. Она способна проводить поиск не только утилит или пакетов, но и файлы практически любых других типов, находящихся в системе.<br />
Например, вы хотите узнать, где находится файл rc.local, но не хотите перебирать все папки в системном разделе. Тогда команда будет выглядеть так:</p>
<blockquote>
<p>[ilya@localhost ~]$ locate rc.local<br />
    /etc/rc.local<br />
    /etc/rc.d/rc.local</p>
</blockquote>
<p>Как видите, система нашла целых два файла с таким названием. <br />
  Недостаток команды locate вытекает из ее достоинства: она проводит поиск по базе, которая пересоздается ночью командой <strong>updatdb</strong>, приводимую в действие демоном <strong>cron</strong>. Поэтому новые файлы не могут быть найдены, пока база не будет пересоздана. Если вы точно знаете, что файлы в системе есть — ничто не мешает вам регенерировать базу командой udatedb вручную. Команда должна запускаться от имени суперпользователя (root).<br />
  Если имя искомого пакета известна, вы можете воспользоваться инструментами более высокого уровня: системами управления пакетами. В дистрибутивах, основанных на <strong>rpm</strong> (Red Hat, Fedora, OpenSuSE, Mandriva, CentOS и других), наличие пакета можно проверить одноименной командой:</p>
<blockquote>
<p>[ilya@localhost ~]$ rpm -q kppp<br />
    kppp-4.1.3-1.1mdv2009.0<br />
    [ilya@localhost ~]$ rpm -q java<br />
    пакет java не установлен</p>
</blockquote>
<p>Если пакет не установлен, его можно найти в репозитарии дистрибутива. Для этого необходимо воспользоваться системой управления пакетами. Все разработанные системы могут установить и обновить пакеты из репозитария дистрибутива, но наиболее распространенными и развитыми являются три системы: yum, APT и urpmi.<br />
  Для того чтобы установить java в дистрибутиве Debian GNU/Linux, необходимо в консоли под root набрать следующую команду:</p>
<blockquote>
<p>[root@localhost ~]# apt-get install java</p>
</blockquote>
<p>В <strong>Mandriva</strong> аналогом APT является urpmi:</p>
<blockquote>
<p>[root@localhost ilya]# urpmi java</p>
</blockquote>
<p>Программы, разрабатываемые под свободными лицензиями, как правило, распространяются в виде исходных кодов. Дистростроители, собирающие весь массив программ в единую операционную систему, компилируют программы с необходимыми ключами и интегрируют полученные пакеты в свой дистрибутив. Пользователю, таким образом, не нужно искать исходные коды нужной ему программы, а достаточно лишь будет воспользоваться собранными пакетами из репозитария. Стоит учесть, что скорость сборки пакетов может быть невысокой, и в репозитарии вы сможете найти выпуск программы на пару релизов, отстающей от текущего.</p>
<p>Если вам крайне необходим функционал, отсутствующий в версии, находящейся в репозитарии, придется самостоятельно собирать программное обеспечение из исходных кодов. Такая необходимость возникает достаточно редко, но вероятность ее возникновения отлична от нуля, а значит, научиться собирать пакеты необходимо. </p>
<p>Процесс сборки пакетов будет описан в следующих статьях цикла.<br />
  Стоит сделать еще одно замечание: даже если разные дистрибутивы используют пакеты rpm, это не означает, что пакеты из одной системы подойдут к другой. Инсталлируя пакеты, к примеру, принадлежащие OpenSuSE в Mandriva, вы рискуете получить неработоспособную систему, потому что иерархия их файловых систем неодинакова и зависимости пакетов различаются.<br />
  Пакеты, отсутствующие в репозитариях, можно попробовать поискать в различных интернет-хранилищах. Таких, например, как rpmfind.net, или воспользоваться сервисом Google для поиска информации, связанной с Linux: <em>http://wwwgoogle.com/linux</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://webteach.ru/web-programmirovanie/unix/linux-kak-ustanavlivat-programmy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

