О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

29.07.2008

Кандминимум-2, или где искать информацию по Linux и Unix

Фонд открытого программного обеспечения производит ПО хорошего качества, которое способно решать задачи. Если Вы хотите его использовать, предполагается, что Вы выделите некоторое время на то, чтобы научиться им пользоваться.
Доминик Хамфрис, FSF

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

Должен сразу заметить, динамика эта - не утешительна. С одной стороны, абсолютное число участников форумов по тематике Linux и Unix растет - и довольно быстрыми темпами. Соответственно, растет и количество задаваемых вопросов. Однако и по форме, и по содержанию они часто просто изумляют: подчас ответы на них содержатся прямо в соседнем топике той же темы. Или в тематических материалах, наличествующих на том же самом (или родственном) ресурсе. Не говоря уже о штатной документации...

Поэтому мне и показалось целесообразным сочинить настоящий текст. Его, с одной стороны, можно рассматривать в качестве приложения к ранее опубликованному Кандидатскому минимуму начинающего линуксоида. С другой, по содержанию он тесно перекликается со статьей о судьбе Linux-ресурсов Рунета. С третьей же - он имеет самостоятельное значение, которое я выразил бы так: что нужно знать, прежде чем задать свой первый вопрос на любом форуме.

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

Новопользователи Linux (говоря Linux, я подразумеваю все открытые и свободные Unix-подобные системы), прихобщавшиеся к нему во второй половине 90-х годов. И, как правило, имели опыт работы в DOS. DOS-программы же долгое время не имели стандартизированных интерфейсов. Что само по себе, может, и плохо. Но волей-неволей заставляло пользователей, как минимум, обращаться к встроенной помощи. А то и чтению документации. Каковой навык (вместе с навыком работы в командной строке, представлении о batch-айлах и тому подобных материях) оказывался очень востребованным при переходе на Linux.

Далее, поколение 90-х, по крайней мере, знало о существовании иных операционных систем, таких, как OS/2, о различных надстройках над DOS, таких, как GEM, QuaterDesk, Geoworks - а подчас даже пробовали их использовать в реале. И потому не меряли все, что видели в Linux'е, "подоконным" аршином.

Что же мы видим ныне? Ныне в Linux приходят пользователи, которые не только не видели ничего, кроме Windows, но, до приобщения к Linux, и не слышали о других операционках. Отсюда - сремление найти в новой и незнакомой среде знакомых интерфейсных элементов: история про поиск в консоли кнопки Пуск, конечно, анекдотична, но ведь в каждой шутке есть лишь доля шутки...

Далее, большинство пользователей Windows не имеют привычки к чтению документации. Что, в общем-то, понятно: на элементарном уровне им это не требуется, на более глубоком - легко доступной документации (Windows Help) недостаточно. А та, которой было бы достаточно - весьма трудно доступна (в первую очередь - финансово).

И, наконец, последнее: пользователи Windows, приходящие в Linux иже с ним, очень часто не имеют самых элементарных навыков поиска нужной информации. Даже в том случае, если она лежит на поверхности. Что, в сущности, вытекает из предыдущего пункта: за каким таким зеленым ее искать, если она или не поможет, или не доступна?

Разобравшись с исконно русским вопросом - "кто виноват?" (хотя в данном случае правильнее было бы спросить - "что виновато?"), постараемся прояснить второй, столь же традиционный, вопрос - "что делать?"

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

Первое, и самое главное: помните, что Unix'у - более 35 лет, BSD-системам - примерно четверть века, Lunux'у - скоро стукнет 15, а русскоязычное Linux-коммьюнити благополучно развивается более десятилетия. И большинство вопросов, которые встают перед вами, точно также вставали и перед многими и многими поколениями пользователей. А поскольку большинство из них остаются пользователями по сей день, значит, ответы они нашли. И, более того, скорее всего, ими поделились, дабы облегчить жизнь последователям. Вполне возможно, что даже и на русском языке - в оригинале ли, или в переводе, не важно.

Второе: большую часть ответов на любые вопросы уже дали сами разработчики систем и приложений - во встроенной системе документации, именуемой man-страницами (man-pages). И потому всегда должно помнить бессмертные слова, которыми обменялись бы неизвестный молодой человек и Беня Крик, если бы в те времена уже существовал Unix:

- Вы знаете тётю Маню?
- Я знаю тётю Маню.
- Вы верите тёте Мане?
- Я верю тёте Мане. Передайте тёте Мане - Беня знает за man-pages.
(с) почти Бабель

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

Как легко догадаться, все man-страницы пишутся на международном языке IT-индустрии, сиречь английском. Однако целый ряд людей (и в этом ряду следует выделить Виктора Вислобокова и Алексея Махоткина) не поленились переводить их на язык родных осин - и немало в этом преуспели. Наиболее полная (и, что немаловажно, актуальная с точки зрения версий) коллекция в данный момент на сайте Виктора и лежит: http://linuxshare.ru/. Именно эти переводы по большей части и включаются в "хорошо русифицированные" дистрибутивы.

Впрочем, к переводным man-страницам целесообразно обращаться только на начальном этапе знакомства с Linux. Потому что это - тот самый случай, когда предпочтителен английский вариант, даже при слабом владении означенным языком. Во-первых, русские переводы не успевают за оригиналами с точки зрения версионности - по вполне понятным причинам. А во-вторых, именно в справочниках такого типа важен буквализм - хорошо просматриваемый в оригинале, но подчас теряющийся в переводе (не потому, что перевод плох, а потому, что русский язык столь богат и могуч). И поверьте - английский язык man-страниц очень простой, тем паче что многие из них написаны вовсе не англичанами, и не с оксфордским образованием.

Теперь - третье. Тётя Маня - дама строгая, и любит, когда её спрашивают правильно, а правильность постановки вопроса приходит со временем. Для тех, кто пока ещё этого не умеет, существуют документы типа How-To - да и хорошим знакомым тети Мани к ним оращаться не грех. Это - более подробные и менее формализованные описания конкретных действий, необходимых для выполнения той или иной операции. Они сочиняются энтузиастами, которые некогда также были новичками, искали ответы на свои вопросы, нашли и не поленились описать свои решения. А другие энтузиасты не поленились многие из описаний перевести на русский язык. Третьи же - собрали их воедино в виде коллекций на своих сайтах.

Таких коллекций переводной документации существует великое множество - чуть не на каждом сайте Linux-тематики имеется соответствующий раздел. Однако наиболее полные из известных мне - следующие:

  • http://www.linuxshare.ru Виктора Вислобокова - как мне кажется, самая полная и регулярно обновляемая;
  • http://linux.yaroslavl.ru, созданная когда-то Александром Благиным; правда, она не обновляется года с 2004-го, но благодаря содействию (или попустительству) администрации, существующая по сей день; всё, что было до того по-русски, там есть;
  • http://www.opennet.ru - сайт Максима Чиркова; он обычно воспринимается как новостной портал, но там есть очень много документации, причём не только по Linux, но и по BSD и Unix вообще;
  • http://www.citforum.ru - хотя это преимущественно сайт с авторскими материалами (о чем скажу чуть позже), но документации там тоже много, причем кое-какая - уникальна.

Если вы не нашли ответов на man-страницах и в прочих, официальных и полуофициальных, документах, следует обратиться к материалам авторским - то есть специально описывающим те или иные вопросы в виде статей и заметок (обычно на основе личного опыта авторов). Таких тоже немало на разных сайтах, в том числе и на упомянутых выше http://www.citforum.ru и http://www.opennet.ru. Кроме того, существует чисто авторский сайт (пожалуй, чуть не единственный в Рунете) - http://www.posix.ru, созданный и поддерживаемый одноимённой командой, в которой состоит и ваш покорный слуга.

Нельзя объять необъятное, и возможно, что какие-то важные вопросы останутся неохваченными в перечисленных выше источниках. Тут впору поискать нужное среди коллекций ссылок на другие ресурсы. Наиболее полная из них: http://rus-linux.net, уже много лет (с 1999 года) поддерживаемая Виктора Костромина. В ней содержатся ссылки на практически все русскоязычные материалы, относящиеся к Linux и Unix; кстати, собственные материалы автора и коллекции документов там тоже представлены.

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

Решив всё же задать вопрос на форуме, для начала определитесь - на каком? От конкретных рекомендаций воздержусь - это вопрос не просто личный, а, я бы сказал, интимный. Форумов Linux-тематики в Рунете без счета, пожалуй, что и поболее, чем подборок документации и коллекций ссылок. И всегда можно подобрать наиболее подходящий для себя - как по содержанию, так и по стилю общения. Упомяну здесь только, что существует единственный "чистый" (то есть не несущий другого контента) форум - Linuxforum (http://linuxforum.ru), вопреки названию, рассматривающий все вопросы Unix и Open Source. Впрочем, если ваши интересы лежат конкретно в сфере BSD-систем - на сей предмет существует специализированный ресурс: http://www.bsdportal.ru/.

Но, какой бы форум вы не выбрали, перед тем, как задать свой наболевший вопрос, не сочтите для себя зазорным проглядеть темы в том разделе, к которому он относится: очень может быть, что такой же или близкий вопрос был только что задан, а возможно - и обсуждён, и даже решён. Если ничего похожего на глаза не попалось - не побрезгуйте поиском, ссылка на поиск по данному форуму обычно находится на самом видном месте. Кроме того, не следует забывать и о поиске в глобальном масштабе - на сей предмет существует http://www.google.com. А на нем - такие разделы, как http://www.google.ru/linux и http://www.google.ru/bsd. О них почему-то не очень любят говорить вслух, однако обращение к ним резко сужает круг поисков, ограничивая его только соответствующей тематикой.

Впрочем, использование поисковых систем вообще и http://www.google.com в частности - совсем отдельная история. Как и чтение книг по Linux и Unix. Настоящую же заметку я хочу завершить цитированием второй половиной абзаца, первая из которого была дана в качестве эпиграфа:

Его (то есть свободный софт - А.Ф.) создали и отдали вам бесплатно люди, которые вложили в него много личного времени, не прося ничего взамен. В конце концов, не затруднит ли вас воздать им по заслугам, вложив немного своего времени, прежде чем жаловаться, что программа работает не так, как её аналог в ОС Windows".

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