Версия для печати

Архив документации на OpenNet.ru / Раздел "Документация для Linux" (Многостраничная версия)

Введение в Linux
(версия 0.25)

Николай А. Панов

26 January 2003

Оригинал:http://www.uic.nnov.ru/~nik/articles/IntroToDebian



Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Введение в Linux
(версия 0.25)

Николай А. Панов

26 January 2003



Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Кому предназначена статья

Итак, раз вы читаете эту статью, то вас, видимо, заинтересовала OS Linux. Что ж, мои поздравления. И я заранее уже готов к стандартному вопросу: ``А, собственно, зачем?''. Зачем простому пользователю нужен этот жуткий черный экран с непонятными командами и непонятными программами, если есть WindowsOS, если есть MacOS, если есть Word, пасьянс и мусорная корзина?

Ответ вас удивит: UNIX проще. UNIX удобнее. Такой страшный черный экран, пугающий новичков уже давно перестал быть необходимостью, программ, аналогичных Word и Solitair создано большое множество, даже мусорная корзина стала непременным атрибутом современных дектопных систем. Но цель этой статьи - копнуть немного глубже книжек популярной серии ``для чайников'', дать начальный запас знаний, необходимый для дальнейшего самостоятельного познания того самого пресловутого UNIX-way, о котором так любят говорить компьютерные гуру.

Но я не хочу сильно утомлять вас длинным вступлением. Поэтому перейдем к делу. Какой из многочисленных юниксов готов к тому, чтобы занять место на нашем столе? На самом-то деле, выбор не так уж и велик. Для платформы x86 существует несколько систем: Solaris, QNX, xBSD, Linux. Первые две нам, увы, вряд-ли подойдут. У Solaris слишком ограниченное число поддерживаемого аппаратного обеспечения, под QNX очень мало ``родного'' и адаптированного ПО. Под xBSD, особенно FreeBSD уже можно попытаться что-то сделать, но следует признать, что эти системы все же еще не дотягивают до повседневного использования. Остается Linux. В последнее время о нем говорят очень много. Кто-то хорошо, кто-то плохо. Как любая другая ОС, Linux имеет свои достоинства и свои недостатки. Ключевым его достоинством несомненно является широкая поддержка со стороны коммерческих компаний - производителей ПО и так называемых дистрибьюторов, которые на базе Linux и другого свободного и не очень ПО составляют различные дистрибутивы - собственно то, что и принято называть операционной системой. И именно благодаря этому из всех претендентов на наш дектоп мы выберем Linux.

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

В теории, любой дистрибутив линукса при большом желании возможно привести к виду любого другого, на чем собственно и основывается широко пропагандируемая рекомендация - ``Заводить дистрибутив как у ближайшего гуру''. Но мир на месте не стоит, прогресс идет своим ходом, и совет, который еще только пару лет назад был вполне актуальным, сегодня уже безнадежно устарел. Ведь у гуру вполне может оказаться система далеко не лучшая, а просто ``вылизанная'' за долгие годы использования... Доведение же оной системы до нужного вам вида может отнять такие же годы у ВАС!2

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

В других частях я расскажу о наиболее эффективных (на мой взгляд) приемах использования OS Linux (а также и о ней самой), затронув попутно и многие другие темы...



Footnotes

... реализацию1
Данная проблема (проблема выбора) столь часто встречается, что я решил посвятить ей отдельную часть данной статьи.
... ВАС!2
Маловажным выбор дистрибутива я считаю только в случае узкоспециализированной его заточки. Так роутером может служить практически любой Linux, аналогично практически любой можно запускать в космос. Секрет тут в предварительной работе, которую вы проводите над дистрибутивом, практически лишая его индивидуальности...
... этой3
Необходимо уточнить, что в указанной части этой статьи я имею в виду домашнюю машину (desktop), а не сервер, или Linux-систему для игровых клубов.


Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Поддержка устройств.

Сетевая карта.
По идее вы должны были добавить и настроить вашу сетевую карту на этапе инсталляции. Если же вы пропустили что-либо при установке Linux, то не помешает разобраться в сетевой поддержке самостоятельно. Я вкратце опишу то, что пришлось однажды выполнять для подключения Debian GNU/Linux к сети.

Для начала отредактируйте файл /etc/network/interfaces, если вы забыли указать соответствующие параметры во время установки.

Теперь следует добавить модуль вашей сетевой карты, для чего наберите из под рута команду modconf8, выбираем kernel/net/ne, например, для добавления модуля карты NE. В качестве параметров указываем соответствующие вашей карте io и irq, впрочем и то и другое система попытается определить самостоятельно, но если знаете - то лучше не рисковать...

Если же вы имеете несчастье использовать модем для выхода в сеть, то воспользуйтесь программой pppconfig для настройки вашего PPP соединения и демоном diald для автоматизации подключения при появлении в этом нужды.

Точно так же добавляются и другие модули - например, поддержки звуковой карты. Для моей AWE64 оказалось достаточно прописать в modules.conf (а точнее в каталог /etc/modutils, данные из которого переносятся в modules.conf при очередном update-modules):

alias sound-slot-0 sb                                                                                            
options sound dmabuf=1                                                                                           
options opl3 io=0x388                                                                                            
alias synth0 awe_wave                                                                                            
post-install awe_wave /usr/bin/sfxload /etc/midi/GU11-ROM.SF2                                                    
options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330

Вы можете столкнуться с не очевидными (по методу разрешения) проблемами при использовании новейших чипсетов. В подобных ситуациях я рекомендую в первую очередь обратится на сайт изготовителя вашего чипсета в надежде, что там окажется решение проблемы. Так, например, в обеспечении поддержки i845G с его интегрированным audio-video мне весьма помог сайт www.intel.com. Также рекомендую не забывать про существование USENET, в котором почти наверняка найдется ответ на ваш (или похожий) вопрос...



Footnotes

...modconf8
Либо, если ее нет, то воспользуйтесь командой modprobe имя_модуля, где имя модуля берите исходя из содержимого /lib/modules/ваше_ядро/kernel/


Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Файловая система

Сильно облегчает работу знание что где находится у вас на диске. Попробую вкратце описать это9:

/bin
 -- каталог с минимально необходимым софтом (например, используемым еще до этапа монтирования отличных от корневой файловых систем).
/boot
 -- ``ядерный'' каталог (здесь лежит ваше ядро).
/dev
 -- устройства.
/etc
 -- каталог настроечных файлов. Обычные программы содержат свои настройки в каталоге /etc/имя_программы, необычные - просто в /etc. Менеджеры окон кладут конфиги в /etc/X11/имя_менеджера и т.д....
/etc/init.d
 -- а здесь находятся стартовые скрипты, часть которых обрабатывается при загрузке.
/lib
 -- в частности здесь лежат все ядерные модули и системные библиотеки...
/home
 - пользовательский каталог.
/sbin
 -- аналогичен /bin, но для запуска программ обычно требуются привилегии суперпользователя.
/usr
 -- статичные программные файлы.
/usr/bin
 -- исполняемые файлы установленных пакетов.
/usr/doc
 -- документация, поставляемая с пакетами.
/usr/share
 -- статичные (но не исполняемые) файлы, установленных пакетов.
/var
 -- не статичные файлы.
/var/lib
 -- базы данных.
/var/cache
 -- кэши. В частности APT качает новые модули именно сюда (в /var/cache/apt/archives, если точнее).
/var/log
 -- логи.
/var/tmp
 -- каталог для временных файлов.
/tmp
 -- очищаемый при каждой загрузке каталог временных файлов.

В вашем домашнем каталоге могут присутствовать следующие файлы:

.Xresources
- файл ресурсов программ. Так, если вы желаете включить прозрачность во всех программах, которые ее поддерживают (например, ATerm) - добавьте в .Xresources строку *transparent: true.
.xsession
- файл, стартующий при запуске X-сервера. Так, если вы желаете автозапуска xbindkeys - ваш .xsession может выглядеть следующим образом:
#!/bin/sh
xbindkeys&
exec icewm
...
.xsession-errors
- файл, в который перенаправляется stderr запускаемых X-сервером программ.



Footnotes

... это9
Данное расположение данных характерно для Debian GNU/Linux . В других системах возможны отклонения. Вероятно вам придется смириться с ними...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Поиск файлов

Для поиска файлов на диске рекомендую использовать следующие три способа (записаны в рекомендуемом порядке их применения):

whereis
- показывает расположение бинарных файлов, файлов исходников и документации для команд. Для показа только пути к исполняемому файлу команды используйте which. Например для установки SUID бита на команду shutdown можете воспользоваться командой chmod a+s `which shutdown`.
locate
- производит поиск по заранее созданному (командой updatedb) индексу файловой системы. Соответственно работает гораздо быстрее прямого поиска. Например, для нахождения всех .mp3 файлов (без учета регистра) используйте команду locate -i .mp3.
find
- осуществляет прямой поиск. Читайте man find для освоения всех возможностей этой весьма полезной программы. Для поиска всех .mp3 файлов и назначения им прав 644 используйте, например, find / -name .mp3 -type f -print -exec chmod 644 {} $\backslash$;.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Настройка X

Можно, конечно, работать только в консоли (если сама работа не связана с графикой), но как же это не удобно! Взять хотя бы весьма ограниченное число экранов с проблематичной возможностью размещения на одном экране нескольких программ (в иксах на каждом workspace может быть несколько одновременно наблюдаемых окон10)... На мой взгляд консоль можно использовать только для трех задач:



Footnotes

... окон10
Например редактор, броузер и последние error-логи сервера.


Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Установка, русификация и настройка

Начиная с четвертой версии, X-сервер XFree86 комплектуется набором драйверов под различные видеокарты. Ранее вам пришлось бы искать отдельный X-сервер под вашу видеокарту11, либо использовать xserver-svga12. Теперь же первым делом загрузите пакет xserver-xfree86 версии, желательно, не ниже 4.2.

При установке, у вас будет спрошено многое (перед каждым вопросом вас подробно проинструктируют о вариантах ответа), из чего особо отмечу опцию XkbLayout, которую нужно установить естественно в ru, XkbVariant, что у меня является winkeys и XkbOptions, что у меня в данный момент grp:caps_toggle,grp_led:scroll, что означает привычное переключение на русский путем нажатия <CapsLock>, но при этом еще и загорается ScrollLock для индикации активного языка (Временное переключение осуществляется нажатием правого <Alt>).

Если вы никак не можете запустить иксы, а в документации нет ничего определенного про вашу видеокарту -- попробуйте указать в ее качестве vesa. Все это можно править в любое время, редактируя файл /etc/X11/XF86Config-4.

Естественно следует также загрузить шрифты. Наберите apt-get install xfonts-<TAB> и выбирайте что по нраву. Рекомендую установить все шрифты с префиксом bolkhov.

Для русификации многих приложений оказывается достаточным добавить в ваш ~/.Xresources файл строку имя_приложения*font: -*-*-*-*-*-*-*-*-*-*-*-*-koi8-r.

Если вам пришлись не по душе установленная по умолчанию частота обновления экрана и вы желаете получить от монитора и видеокарты максимум, то воспользуйтесь программой xvidtune, что входит в пакет xbase-clients. Полученную в результате работы которого ModeLine следует прописать последней в файл /etc/X11/XF86Config-4...



Footnotes

... видеокарту11
Так для видеокарты S3 Xserver называется xserver-s3.
...xserver-svga12
Для большинства тех, кому не досталось отдельного сервера.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Документация

Не пренебрегайте использованием команд whatis, man, apropos и info - внимательное чтение документации, выдаваемой которыми реально экономит ваше время в дальнейшем.

Причем используйте не только man имя_программы, но и man -k "регулярное выражение", для поиска нужной вам страницы man по содержимому некоторых их секций. Пример - вся документация о потоках (thread), что есть в ваших man-страницах - man -k thread...

Использование info несколько более прозрачно. Наберите info для доступа к списку доступной литературы.

Также рекомендую установить пакет doc-Linux-text...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Основные принципы работы в UNIX/Linux

  1. Если лень читать вывод некоторой программы, заставьте это делать другую программу.
  2. Если какую-то последовательность действий потребовалось выполнить третий раз, то можно легко проассоциировать с ней какой-нибудь ярлык, например имя (alias), и в дальнейшем использовать его как новое (комплексное) действие.

  3. Программы делают то, что приказал им пользователь (если он имеет соответствующие полномочия). Никаких ``не могу удалить файл потому что он уже используется''. Соответственно при внезапном возникновении проблем следует анализировать последние действия пользователя, а не валить все на системные глюки.
  4. Независимость работы различных пользователей в одной системе. Что бы кто ни делал от своего имени, какие бы вирусы не запускал -- на работе другого это никак не должно отражаться.



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Разрешение вопросов

UNIX/Linux система как никакая иная располагает к самостоятельному решению возникающих проблем. Но так ли это необходимо? Да - необходимо, если ваша задача, например, освоить какой-либо язык программирования. Нет лучшего способа самостоятельного освоения языка, чем решение с его помощью реальных задач. Но если вам изучение языков не столь важно, как полнота решения проблемы, то стоит задуматься о ее сути.

Если вы полагаете, что ваша проблема является далеко не уникальной и может существовать достаточно универсальное ее решение, то, скорее всего, оно и существует. И вам, соответственно, только и остается, что его найти, в чем вам помогут последовательно apropos (покажет что у нас есть на заданную тему), apt-cache search (что можно поставить), sf.net (что можно попробовать скомпилировать) и поисковик Google, который способен искать информацию не только по WWW, но и по группам новостей...

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

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Зачем нужна КС?

Следует четко разделять задачи, для которых необходим графический (``дружественный'') интерфейс и те, которым более чем достаточно стандартных потоков STDIN, STDOUT, STDERR и параметров, задаваемых при вызове. Первых, как это многим не удивительно, довольно мало и каждая их них охватывает собой некий вполне определенный класс задач. Вторые же оформляются обычно в виде команд и представляют по сути язык общения пользователя с его системой. Практически любая задача, которую можно выразить одним предложением, можно реализовать (а если задача не уникальна, то, вероятно, давно уже реализовано) в виде команды (с командой-подлежащим, или сказуемым и её параметрами-другими частями речи). Предложения конечно же могут быть сложносочиненными, то есть состоять из нескольких, разделенных, к примеру, точкой с запятой (или символом перенаправления ``|'' для команд), частей. И вполне естественно, что задача которую можно выразить в терминах, знакомых нам и понятных системе, разрешается проще и эффективнее именно набором соответствующей фразы/предложения, нежели использованием некоего интуитивно-дружелюбного интерфейса13.

Возникает вопрос -- так ли необходимо изучать командную строку, если любому доступен парк ПО на все случаи жизни? Отвечу словами Фредерика Брукса: ``не бывает серебряной пули''. Редко можно найти программу целиком и полностью отвечающую нашим потребностям в настоящем и будущем. Это возможно только тогда, когда потребности сами определяются исходя из наличия и возможностей существующего ПО. Существуют также, конечно же, и языки программирования высокого уровня (к примеру Perl, Python, Ruby14), на которых возможно довольно простое изложение любых алгоритмизируемых задач, но для этого их следует во первых знать, а во вторых -- это слишком универсальный и довольно сложный инструмент, их использование примерно аналогично самостоятельному приготовлению себе обеда, вместо заказа оного в столовой, или ресторане. Можно, конечно, готовить себе все самостоятельно (и со временем стать профессиональным поваром), но большинство людей почему-то предпочитают обедать в столовых... Вот и команды-предложения являются официантами-поварами нашей системы-столовой15. И гораздо проще (и удобнее) научиться общению с ними, нежели тратить свое время, которого, увы, на все не хватит...

Соответственно при возникновении очередной задачи в Unix принято разбивать её на максимально простые подзадачи (каждой из которых соответствует некоторая программа-команда), и запускать конвейерную обработку ими входных данных.
Например, задача: ``выделенный текст перекодировать из неизвестной, но русской кодировки в koi8r, результат поместить в буфер обмена''.
Решение: xsel|konwert any/ru-koi8r|xclip.
Как видите, результат является практически дословным переводом фразы-задачи на понятный системе язык, причем заметно более лаконичный...

Кроме того привычка к формулированию своих действий вербально (в виде слов/предложений/скриптов), позволяет заметно повысить эффективность работы и на дектопном поле. К примеру, многие догадываются, что в WindowsOS иконки существуют не только для запуска приложений, но и для удобного использования принципа Drag&Drop. То есть перетащив файл на иконку Word, мы запускаем программу на открытие данного файла. Но многие ли используют иконки для чего-либо большего? Например, для автоприведения файла к какому-либо частоиспользуемому нами виду16, что едва ли займет пол десятка строк на word-basic?



Footnotes

... интерфейса13
Естественно во множестве ситуаций использование дектопной метафоры оправдано и как следствие -- наиболее эффективно. К сожалению, в последнее время оную используют и в совершенно неадекватных задаче ситуациях, что влечет ничем неоправданные потери эффективности нашей работы.
... Ruby14
Для последнего даже есть великолепный слоган: ``предназначен уставшим от языков, начинающихся на «P»''
... системы-столовой15
Продолжая аналогию, можно найти и аналог для ``дружественного'' (кавычки я использую применительно к тому ПО, которое неоправданно использует дектопную метафору) ПО -- Макдоналдс. Одинаковые дружелюбные улыбки, унифицированная junkie-food для среднего человека со здоровым желудком. Все настолько унифицировано, что умение разговаривать становится не обязательным, но вместе с тем и снижаются возможности...
... виду16
Да, это, конечно же, можно сделать парой кликов в самом Word, но зачем заставлять себя в пустую расходовать время?

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Вопросы эффективности

Некий человек увидел в лесу дровосека, с большим
трудом пилившего дерево совершенно тупой пилой.
Человек спросил дровосека:
- Уважаемый, почему бы вам не наточить свою пилу?
- У меня нет времени точить пилу - я должен
пилить! - простонал дровосек...

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

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

Вам никогда не говорили, слова, вроде ``а в ваши то годы, имярек уже был ого-го''... Мы смотрим на добившихся успеха людей, и думаем -- ``вот ведь повезло''. Не так все. Изначально предопределенные жизненные пути встречаются крайне редко. Как правило любой человек в нашем мире может достигнуть чего угодно -- было бы желание и время 17.

Но не буду вас излишне утомлять -- перехожу к сути. Данный раздел посвящен поиску и анализу времяпотерь пользователя компьютера вообще и OS Linux в частности. Данная тема (как, впрочем, и вся статья) является открытой и я с удовольствием обсужу её с вами лично.

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

Метод разрешения проблемы -- ``SOLO на клавиатуре''. Программа, за 30 часов занятий (и вы решаете как их употребить: один месяц по часу, или пара полных дней) обучающая вас методу слепой десятипальцевой печати. Поддерживается обучение печати в кириллице, латинице, и, зачем-то, транслит.

Восприятие данных
 -- Несомненно основная проблема всех компьютерщиков. Осознать (именно осознать, а не просто прочесть) за несколько секунд всю man-страницу, иную документацию, или просто некоторый не художественный18 текст за время, измеряемое секундами... И это возможно. Скорости чтения выше 3000 символов в минуту доступны всем.

Метод разрешения проблемы -- обучение скорочтению. Данные курсы предлагает, например, школа Андреева. Время обучения -- от месяца и выше.

Неудобство работы в GUI/терминале
 -- Проблема характерна для пользователей, перешедших на Linux с WindowsOS (а таких большинство). Выражена в привычке брать то, что дают. Попытки изменить интерфейс работы под себя обычно не идут дальше расстановки быстрых клавиш и незначительных правок оформления.

Метод разрешения проблемы -- man fvwm, man xterm, man xrdb...

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

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

Вредные привычки
 -- Выражается обычно в попытках решить какую-нибудь проблему по аналогии с тем, как это решается в мире WindowsOS, или даже путем запуска виндовой программы в каком-нибудь эмуляторе (а они все глючные и кривые. В смысле эмуляторы. Неглючные и прямые виндовые программы иногда попадаются). Метод разрешения проблемы -- уметь правильно сформулировать проблему ``что мне на самом деле надо'', исключив из постановки задачи ненужные технические подробности.

Кроме этого, для того чтобы правильно решить поставленную задачу, нужно уметь пользоваться средствами поиска информации. Начиная от apropos и apt-cache, и кончая Google. Почему ``кончая'' -- потому что его база слишком универсальна.

apropos
 -- дает тебе то, что у тебя уже стоит.
apt-cache
 -- то, что ты можешь поставить, потратив несколько секунд.
freshmeat и sf.net
 -- то что в принципе можно скомпилировать и поставить.
google.com
 -- если все вышеперечисленное не помогло, приходится лезть в универсальную поисковую систему за любой релевантной информацией. На это, естественно, уйдет больше времени.

Неадекватный инструментарий
 -- Использование неадекватных задаче инструментальных средств, только потому что они широко разрекламированы. 90% применения Java, CORBA, C++ попадают именно в эту категорию. Это не значит, что нет задач для которых именно эти средства адекватны.

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



Footnotes

...время 17
Философы спросят у меня -- в чем смысл жизни? Зачем стремиться вверх, ежели все умрем? Отвечу -- стремиться следует всегда. Если мы не видим в данный конкретный момент смысла своего существования - это вовсе не означает, что его и нет. И, наконец, согласитесь, что размышлять на общефилософские темы, будучи добившимся успеха человеком куда как интереснее, чем быть поглощенным рутиной среднеросейских будней...
... художественный18
В случае художественного текста это было бы издевательством...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


А нужен ли вам Linux?

Перед началом изучения нового инструмента всегда полезно разобраться -- а нужен ли он? Не стоит попусту тратить свое время, чтобы потом признать -- ``не мое''. А времени на первичное изучение OS Linux требуется больше, чем для WindowsOS-подобных систем. Посему я и постараюсь в этом разделе очертить основные резоны ``за'' и ``против''.

Во первых -- а нужно ли вообще что-либо выбирать? Не лучше использовать наиболее популярный вариант? Да -- лучше. Тем, кому по сути компьютер (как универсальный программируемый инструмент) и не нужен (а нужен аналог Palm с парой-тройкой программ). Тем, кто использует компьютер не часто и кого не волнует эффективность и удобство его работы (достаточно привычности и однообразности). Таких большинство и это нормально.

Во вторых -- есть ли у вас время? Если со всех сторон deadlines, то познание нового сильно ограничено, а на изучение Linux и начало эффективной работы в нем уходят обычно месяцы...

В третьих -- в чем ваша специализация? Какие программы для вас необходимы? UNIX разрабатывался в первую очередь для эффективной работы программистов4 и если вас приводит в ужас программа в десяток строк, или командная строка, то Linux, вероятно, не для вас. Спектр программного обеспечения также несколько специфичен. Так, например, там есть почти все, что может понадобиться ленивому5 человеку (а тем более программисту), тогда как для музыканта, дизайнера, или представителя еще некоторых профессий в Linux, скорее всего, повышение эффективности работы с имеющимся инструментарием не сможет компенсировать потерь от недостатка необходимого им профессионального программного обеспечения. Использование Linux оправдано тогда, когда у вас нет жесткой привязки к WindowsOS-софту, либо не страшит использование их внутри эмулятора компьютера, вроде WMWare.

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

В пятых -- желателен выход в Internet. Так как данная статья распространяется только по сети, то оный выход у вас, видимо есть.

Теперь рассмотрим то, что дает Linux тем, кого не устрашили вышеприведенные пункты:

Выбор, как всегда, за вами...



Footnotes

... программистов4
В широком понимании слова ``программист'', как человека ленивого (и посему не терпящего рутины и любых иных времяпотерь), но вместе с тем и согласного на изучение (что подразумевает, например, чтение документации и написание скриптов) нового инструмента, дабы потом можно было лениться еще больше...
... ленивому5
Имеется в виду, конечно же, лень творческая...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Проблема выбора...

Довольно часто начинающие встают перед выбором. Что им делать? Моя позиция -- попробуйте все, в дальнейшем сами разберетесь. Это правильно, но все-таки я попытаюсь по возможности объективно19 поделиться с вами своими мыслями по каждому из вариантов. Моя позиция не статична и вполне возможно меня переубедить. Воспринимайте эту часть как предложение к обсуждению.



Footnotes

... объективно19
Судя по откликам на этот раздел, мне это не удалось...


Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Выбор дистрибутива

Итак - выбор. Его необходимость очевидна, стоит только взглянуть на обилие Linux дистрибутивов. Основными (то есть наиболее живыми) считаются следующие ветви: Debian GNU/Linux , RedHat, SlackWare, SuSe, ManDrake, ALT...

Обычно дистрибутивы классифицируются по основному формату их пакетов на 3 вида: RPM-based (в основном, это редхатообразные дистрибутивы), DEB (Debian GNU/Linux ), и прочие (так SlackWare можно назвать tarball-based). Что интересно, подобное разделение неплохо коррелирует20 с критерием, обычно называемым ``дружественность'', под чем многие представляют минимизацию интеллектуальной работы за счет увеличения ручной21...



Footnotes

... коррелирует20
корреляция вполне прозаически объясняется самим форматом. TAR.GZ - практически архив с исходниками, что заведомо означает ручную работу, RPM - свойственен дистрибутивам, произошедшим от RedHat и идущим (как правило) по проторенной дороге в сторону все большего ``одружествления'', ну а DEB - формат (то есть его название - формат там самый что ни на есть обыкновенный ar), используемый практически только в Debian GNU/Linux , который сам по себе отдельный класс...
... ручной21
Хотя на мой взгляд правильнее понимать под этим словом в первую очередь реальное удобство работы, которое в частности определяется тем, насколько возможно переложить на компьютер решение регулярно возникающих рутинных задач.


Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Source Based дистрибутивы

В чем достоинство tar.gz архивов с (как правило) исходниками? Видимо, в максимизации вашего контроля над системой. Вы прямо контролируете процесс настройки/инсталляции пакета и точно знаете (конечно после определенного периода печальной практики) что происходит. Эти этапы явно выделены в соответствующие команды:

./configure
make
make test
make install

Кроме того тут уж хотите вы того, или нет - придется изучать вашу систему, компилятор, программу make и по крайней мере язык C. Хорошо ли это? Вероятно, да. Настолько ли это хорошо? Решать вам.

Давайте рассмотрим вариант возникновения некоей проблемы. Проблемы всегда возникают -- особенно поначалу. Как решать? Если со сферой действия проблемы мы ранее общались только через графические программы, то очевиден весьма высокий порог вхождения в курс дела и устранение не устраивающих нас моментов вполне может быть отложено на неопределенный срок... Командный интерфейс подразумевает общение с программой на почти что языке. Почти английском. Что снижает порог вхождения по крайней мере до внимательного чтения документации. Соответственно, изначальная привычка к работе не только с интерфейсом (графическим и консольным), но и с исходным кодом, повышает вероятность решения проблемы не только в предусмотренных автором проблемной программы рамках, но и вне их. Теперь рамки устанавливают только наши способности, и если их (в чем-либо) оказывается больше, чем у авторов дистрибутивного ПО, то вероятность решения проблем довольно высока, а у автора весьма повышается вероятность получения не простого bug-report`а, но сразу patch...

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

Почему спокойно? Предсказуемость. Мы уверены, что ветер не разобьет окно, камин не подожжет ковер, из окон и дверей не дует, а книга не разочарует... Так и в своей системе, которую мы собирали по кирпичику, руками (а точнее головой -- ну почему, интересно, довольно интеллектуальную работу называют ручной?) проверили и установили все связи (не путать с зависимостями), знаем чего ожидать от системы и большинства пакетов и программ...
В противовес черному ящику под красной шляпой22 :o) ...

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



Footnotes

... шляпой22
Шутка. Не смог удержаться :o)
... SlackWare23
Впрочем советую также обратить внимание на Gentoo Linux...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


RPM-based дистрибутивы

Второй тип - RPM-based. RPM, кстати, является представителем очень любимых в open source мире рекурсивных аббревиатур (RPM = RPM Package Manager24). Данный менеджер пакетов привлекает своей простотой - rpm -i пакет.rpm, rpm -r пакет и никакой мороки с компиляцией...

Это да - с компиляцией мороки нет, но (увы) начинается морока с самим менеджером пакетов, коий у меня, к примеру, неоднократно вынуждал сказать rpm -rebuilddb, а раз, обновив себя, решил, что не поддерживает формат базы данных предыдущей версии rpm (после чего долго уверял, что не может ничего поставить по причине отсутствия как glibc пакета, так и всей остальной системы...). Также RPM-пакеты отличаются слабой системой контроля зависимостей, что часто вынуждает пользователей использовать rpm -nodeps, что является явным признаком его недоработанности...

Ну да оставим менеджер пакетов в покое - перейдем к анализу достоинств и недостатков существующих на базе RPM дистрибутивов.



Footnotes

... Manager24
Не удивляйтесь, видя вариант расшифровки вида Red Hat Package Manager - до недавних пор так оно и было...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


RedHat Linux

Данный дистрибутив по праву считается наиболее популярным, но это для нас не критерий - ведь мы не за популярностью гонимся (иначе бы не выбирали Linux, а использовали более популярную в настоящее время WindowsOS)? Но популярность дистрибутива делает свое черное дело - большая часть софта в первую очередь рассчитана на работу именно в нем (кстати и большинство бумажных книг также рассчитано на RedHat-users), в силу чего RedHat имеет славу наиболее нестабильного дистрибутива (считается, например, что x.0 версия является по сути альфа-версией, а вот x.1 - уже бета, возьмите к примеру RedHat 7.1 в котором по умолчанию не подгружается модуль CD-ROMа)25. А уж сколько этот дистрибутив ставит лишнего при инсталляции...

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

Огромное спасибо им за это (потомки не забудут, а современники всемерно способствуют постоянному росту акций этой американской компании), но нам ведь и работать надо26...



Footnotes

... CD-ROMа)25
Впрочем справедливости ради следует отметить, что глобальных ошибок в RedHat не суть как более, чем в иных. Основную массу составляют мелкие и раздражающие ошибки на манер указанных.
... надо26
Опять таки -- это мое предположение, что система ставится для работы. Это может быть не так -- вам она, возможно, нужна для изучения. Для этой цели множество мелких ошибок в RedHat будут великолепной школой. Довести же данный дистрибутив до вполне приемлемого вида вполне возможно и сравнительно не сложно...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


SuSE Linux

Этот дистрибутив очень популярен в Европе27, а в Германии, откуда он родом, является стандартом де-факто. Говорят Linux, подразумевают SuSE. Естественно, что германские производители ПО стараются ориентироваться в первую очередь на него. Разработчики SuSE тесно сотрудничают с командами XFree86 и KDE, драйвера новых видеокарт часто появляются в SuSE еще до выхода их в составе официальных релизов xfree. SuSE ориентируется в первую очередь на использование в качестве дектопа, поэтому в стандартную установку включены все пакеты, которые необходимы для повседневной работы, уже настроенные, с установленными темами и прочими красивостями. Предметом заслуженной гордости команды SuSE является процедура установки системы - достаточно вставить в дисковод загрузочный DVD или CD, ответить на пару простых вопросов и... конечно, можно во время установки сходить за кофе, но боюсь, что допивать вы его будете уже глядя на загрузившуюся, полностью готовую к работе систему SuSE Linux.



Footnotes

... Европе27
Он даже является домашней системой автора Linux -- Линуса Торвальдса, как тот однажды признался.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


ManDrake Linux

Теперь рассмотрим творение французских разработчиков - Mandrake Linux. Этот дистрибутив (начинавшийся как RedHat +KDE) ориентирован на так называемого ``конечного пользователя'', относительно неплохо настроен (хотя некоторые ляпы были за ним отмечены) и локализован. Кроме того Mandrake развивает свой централизованный конфигуратор всего и вся - DrakeConf, который неплохо заменяет (по возможностям) control panel известной системы...

Данный дистрибутив я рекомендую тем, кто только решился к переходу с WindowsOS на Linux. В Mdk они избегнут многих неожиданных для них вопросов и проблем... Любителям графического инсталлятора и зелененьких букв "OK" при загрузке...
Только им...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


ALT Linux

Начинавшийся как ``причесанный мандрейк'', и развиваемый Российской командой разработчиков, этот дистрибутив сильно оторвался от родителя. Причем в лучшую сторону. Учет национальных особенностей (что выражается, например, в превосходнейшей русификации программ -- многие серьезные продукты были локализованы именно ALT Linux Team), высококвалифицированная русскоязычная служба поддержки и сильная команда разработчиков (многие из которых также входят в команду разработчиков Debian GNU/Linux ) делает данный дистрибутив наилучшим выбором в данном классе (RPM-based, end-user oriented) для русскоязычного пользователя.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Debian GNU/Linux

И, наконец, переходим к Debian GNU/Linux. Именно под управлением этой OS я пишу эти строки. И, между прочим, вполне доволен жизнью :o)

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

В первую очередь - это порядок. Файлы настроек лежат в /etc/, коий также довольно прозрачно структурирован, статичные данные в /usr/share, документация в /usr/doc, динамичные данные в /var, базы данных в /var/lib, а логи в /var/log...

Для сравнения можно в RPM-based дистрибутивах сказать rpm -i icewm.что-то-там.rpm и узреть настройки не в /etc/X11/icewm (где лежат настройки и всех остальных WM), а в /usr/X11R6/lib/X11/icewm/ - нелегко до такого догадаться? И так почти во всем! Да - это можно бы настроить в ручную (как и многое другое) - но зачем? Любите тратить свое время на рутину, а не творчество - ставьте LFS28, или другие sourced-base дистрибутивы29...

Второе, что мне там понравилось - его высокоуровневый менеджер пакетов apt-get30. Конечно в debian есть и аналог rpm - dpkg с командами соответственно dpkg -i и dpkg -r, но все это не есть удобно - удобно, это находясь подключенным к интернету сказать apt-get install perl5.8 и возрадоваться - apt-get сам все закачает (любезно проинформировав вас предварительно о том какой объем нужно выкачать и сколько места будет занято или освобождено после распаковки) и настроит (спрашивая вас еще до инсталляции о наиболее критичных моментах, то есть после установки пакета тот, как правило, уже настроен и работоспособен, в отличии от дружественного редхатообразия, в котором после установок зачастую нужно лезть в конфиги). Заметьте - настроечные скрипты пишет автор (или мэнтейнер) данного пакета, то есть невозможна вполне рядовая ситуация при использовании внешних конфигураторов - измененный формат конфига не совместим с тем, который знает конфигуратор.

Далее - предельно проста процедура обновления дистрибутива - достаточно лишь сказать apt-get update и apt-get dist-upgrade.

И, наконец, в отличии от ``сверхсовременного'' RedHat Linux -- Debian позиционируется как дистрибутив в первую очередь надежный. Стабильный.

Для этой цели он разделен на 3 параллельно развивающиеся ветки:

stable
- почти не развивается (то есть софт обновляется крайне редко), только исправление ошибок. Плюсы - высочайшая надежность. Оперативность выпуска патчей на тему безопасности31. Минусы - софт надежен - спору нет - но вот его возраст, что исчисляется годами... Данная ветка рекомендуется на машинах типа - 'поставить, настроить и забыть на годы'... То есть обычно на серверах... Впрочем ничто не мешает использовать эту ветвь и на домашних машинах, обновив до приемлемой свежести только критичные по возрасту пакеты.

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

unstable
- несмотря на угрожающее название также довольно стабильная ветвь (более стабильна, чем тот же RedHat) существует для любителей жить на пике прогресса (ну и естественно для обкатки всем миром относительно новых пакетов), обновляется наиболее активно - практически ежедневно. Софт устаревший, обычно, не более, чем на пару месяцев... Рекомендуется тем, кому не лень запускать apt-get update && apt-get dist-upgrade ежедневно.

Основными достоинствами Debian GNU/Linux по праву считаются:

это полностью свободная операционная система
- критерий для тех, кому близка идея свободы программного обеспечения.
разрабатывается добровольцами из разных стран мира
- следовательно не тяготеет к интересам какой-либо одной страны/группы. Кроме того ВЫ можете (при желании и способностях) войти в их число, что в коммерческих дистрибутивах затруднительно. Среди разработчиков Debian GNU/Linux конечно же есть и российские программисты...
тестируется с исключительной тщательностью
- В отличие от других известных дистрибутивов, его разработчики имеют опубликованные точные критерии качества программного обеспечения и отлаживают его исключительно тщательно, что позволило Debian приобрести репутацию самого надежного дистрибутива Linux. Debian прекрасно работает на критически важных задачах, в качестве Internet-сервера, его предпочитают многие разработчики, в том числе лидер Фонда Свободного Программного Обеспечения Ричард Столлмен32.
имеет лучшую систему управления пакетами
- а также самую большую их базу в дистрибутиве33. Debian - настоящая энциклопедия свободных программ, Вы найдете в нем все, что нужно для работы в самом широком спектре областей информационных технологий. Если же вас интересуют не только свободное ПО, то специально для вас существует секция дистрибутива - non-free34. И, наконец, помимо дистрибутива существуют иные источники ПО. Как правило это персональные сайты разработчиков Debian GNU/Linux , на которые те выкладывают еще не прошедшие всех проверок, но интересные многим пакеты...
не привязана жестко к какому-либо ядру
- это независимая и гибкая система, которая может при незначительной доработке использовать любое ядро. Существует Debian GNU/Hurd, использующий в качестве ядра Hurd, которому предназначено в будущем заменить Linux в операционной системе GNU; а также проект Fink - Debian для MacOS X.
исключительно проста и логична в настройке
- Debian GNU/Linux -- дистрибутив Linux, не подверженный профанации, сохраняющий лучшие традиции Unix(tm). Он не подходит для тех, кто хочет, не желая даже разобраться в основах системы, делать все при помощи мыши, Но годы работы многих сотен разработчиков позволили сделать Debian самым простым, понятным, логичным в настройке и администрировании дистрибутивом.

В отличие от большинства современных дистрибутивов Debian GNU/Linux не идет по пути постоянного повышения требовательности к ресурсам (так у RedHat минимальным рекомендуемым объем RAM является 128Mb) -- его системные рекомендации и для последних версий содержат строки35:

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



Footnotes

... LFS28
Linux From Scratch
... дистрибутивы29
Я ни в коей мере не пытаюсь оскорбить пользователей этих систем. Помимо желания тратить время на рутину также возможно ранее упоминавшееся желание иметь полный контроль над системой.
... apt-get30
Который, кстати, уже позаимствован из Debian GNU/Linux иными системами и который уже можно обнаружить в ALT Linux, Mandrake Linux и многих иных...
... безопасности31
Зачастую патч в Debian GNU/Linux выходит раньше, чем информация об уязвимости появляется на bugtrack
... Столлмен32
Впрочем чем же еще пользоваться Столлмену, как не Debian GNU/Linux ? Иных GNU/Linux пока нет...
... дистрибутиве33
С ней можно сравнивать только базу пакетов SlackWare, но у последней не все так хорошо с зависимостями.
... non-free34
Следует воспринимать ее название, как ``не свободное'', а не ``не бесплатное'', ибо большинство пакетов, из секции non-free бесплатны, но имеют не GPL лицензию...
... строки35
Что, кстати, примерно соответствует машине Линуса Торвальдса, когда тот только начинал разработку Linux...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Выбор WM



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Основы Linux.

В данном разделе рассказывается об основных моментах, необходимых как для понимания работы Linux, так и для повышения эффективности вашей работы в нем.



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


Об этимологии буквы ``Е'' в слове KDE и GNOME

Обратите внимание, что KDE36/GNOME37 оканчиваются на ``E'', что означает слово Environment, то есть ``окружение''. В отличие от чего, например, IceWM является только WM (оконным менеджером), то есть тогда как задачей для IceWM является управление окнами (действиями с ними, оформлением), то KDE/GNOME предназначены еще и для подмены пользователю самого Linux на некое его подобие...

Учитывайте, что WindowManager (icewm, fwm, sawfish, etc...) и Desktop Environment (KDE, GNOME, ...) существенно различаются по своему назначению. Причем, почти любой WindowManager, кстати, легко может быть интегрирован в любое же окружение.

Давайте проанализируем - какие преимущества возможны при использования окружений:

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

Поясняю - задача ``отформатировать дискету''. Пользователь Linux (с оконным менеджером, скажем FluxBox) припоминает, что создание (make) файловых систем (fs) суть mkfs.имя_системы, соответственно, набрав mkfs.<TAB>, пользователь получает список систем, из которого он выбирает msdos. Прочтя же man mkfs.msdos, пользователь определяет нужные ему параметры и (при вероятности повторения подобной ситуации) дописывает alias для своего шелла (у меня это означает добавление в .zshrc строки alias format_a='sudo mkdosfs -cvn NikSiteFlop /dev/fd0')... В дальнейшем man читать, скорее всего не придется, а придется лишь вспомнить (что, конечно же облегчит автодополнение, в крайнем случае можно и в .zshrc заглянуть) команду format_a... Что делает пользователь KDE? Запускает KFloppy (графический интерфейс ко все тому-же mkfs.msdos). Еще раз? Еще раз запустит. Нужно форматировать дискеты в цикле/из скрипта? Хм... Таки придется читать man mkfs.msdos... Опять же запускать команду можно по быстрой клавише, тогда как графические приложения подразумевают множество совершенно излишних телодвижений. Конечно, можно и в KDE использовать командную строку (и даже нужно), но вот скажите честно - не лень вам будет там читать маны, когда есть весь такой из себя красивый KFloppy? Да, конечно, сурьезная экономия времени в перспективе... Но вот сейчас его потратить, at this moment?
Работая в (и с) Linux, вы пишете скрипты, облегчающие вашу повседневную деятельность. И в общем не важно на чем вы их пишете -- csh/awk/Perl, или еще что... Вы используете удобный вам инструмент. Дектопное же окружение предназначено в первую очередь для ограждения пользователя от травмирующей его нежную психику командной строки. Без которой, кстати, пользователь ставится в полную зависимость от некоих программистов-разработчиков его DE... Не столь физическое эти ограничение и зависимость, как психологическое и, надеюсь, что на примере форматирования дискет я оное ограничение вам продемонстрировал...

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

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

Это со стороны пользователя. Со стороны же разработчика - KDE/GNOME вредны тем, что провоцируют писать программы не под Linux, а под них, что есть весьма грустно, особенно в свете определенной глючности Qt/Gtk (а также их прожорливости и нестандартизированности, выраженной в распихивании API по куче слабосистематизированных функций)...

Таким образом KDE/GNOME предназначены для сотворения из Linux лучшего Windows, чем WindowsOS. Но. Зачем это нужно, если работа в Windows неудобна? А в Linux удобнее...



Footnotes

... KDE36
K Decktop Envoronment. Дектопное окружение, или (иначе) среда.
.../GNOME37
GNU Network Object Model Environment
... более38
Я не отрицаю возможности эффективной работы в них. Это возможно и мною неоднократно наблюдалось. Но то, что оные оболочки закрывают от начинающего пользователя систему, многократно увеличивая тем самым время её изучения, я считаю однозначным вредом.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


KDE

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

Рекомендуется свежеобратившимся windows`оидам. Тут вам и рабочий стол, и корзина... Вот только если людям нужно, чтобы ``как в винде'', то зачем им Linux?

Ну и в плюс к этой идеологической диверсии Linux-way`а, KDE обладает довольно красивым (для любителей красивостей) интерфейсом. Говорят. Я лично полагаю наиболее симпатичным тот интерфейс, который не видно...

Тех, кому не лень делать за компьютер его работу, KDE вполне устроит.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


GNOME

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

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: WindowMaker Up: Выбор WM Previous: GNOME   Contents

Enlightenment

This is very artistic wm, заявляет автор. Что-ж - не буду возражать. После недельной настройки я добился довольно симпатичного (мне) вида и функциональности... Пугал некоторое время знакомых windows-пользователей, имевших неосторожность заявить при мне что-либо о убогости Linux `ового GUI... Затем стер его с диска и вернулся под IceWM :) . Из минусов отмечу разве что его относительную прожорливость на ресурсы компьютера, да не самый элементарный процесс русификации (также, как и в остальных WindowManager выражающийся в замене нерусских фонтов на русские, но в таком количестве файлов, что проще написать на эту тему скрипт -- собственно он и написан - читайте доки)... По умолчанию там нет иконок. Если оные вам необходимы, то воспользуйтесь дополнительно dfm, Nautilus, iDesk...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: sawfish Up: Выбор WM Previous: Enlightenment   Contents

WindowMaker

NextStep generation. Красив (на любителя NextStep дизайна), функционален, встроенная поддержка сессии, динамически генерируемые меню, относительно быстр (относительно KDE/GNOME), имеет полнофункциональное средство настройки (при этом оно, в отличии от, например, IceWM`овского даже работает), причем не одно, а целых два -- тот, что по умолчанию и Wmakerconf.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: IceWM Up: Выбор WM Previous: WindowMaker   Contents

sawfish

Любителям EMacs`а и знатокам его E-Lisp`а. В этом WindowManager (в силу его Lisp-based ориентации) и с этим WindowManager вы можете делать все. Абсолютно.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: fvwm2 Up: Выбор WM Previous: sawfish   Contents

IceWM

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

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Выбор редактора Up: Выбор WM Previous: IceWM   Contents

fvwm2

Самый (почти) легкий, с возможностью внешней поддержки сессий, динамической генерацией произвольного числа (и состава) меню, быстрый и (вместе с этим) самый конфигурабельный WindowManager. Единственным недостатком данного WindowManager является то, что вам будет необходимо подстроить оный под себя сразу же, ибо ужасный комплект настроек по умолчанию мало кого способен удовлетворить. Приличный look и практически любой, удобный вам feel в комплекте с простым и удобным интерфейсом для написания плагинов делают fvwm2 наиболее эффективным в использовании оконным менеджером. Тем, кто предпочитает подстраивать систему под себя (а не себя под понятие автора WindowManager об удобстве), кому безразличен windows-подобный интерфейс, советую именно его, а для тех, кому небезразличен специально создана fvwm95...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Выбор shell Up: Проблема выбора... Previous: fvwm2   Contents

Выбор редактора

Консольных (и не очень) редакторов в мире Linux сейчас существует великое множество.

Наиболее маститые из них давно уже выросли из понятия ``редактор'' в скорее ``интегратор'', став своеобразными операционными системами (то есть их пользователь может в Linux и не выходить - почти все, что ему может там понадобиться уже есть в ``редакторе'').

Лидером по части ``интеграторства'' заслуженно считается Emacs, что обусловлено тем, что он по сути не просто редактор, а Lisp-машина. То есть при хорошем знании Lisp (а точнее его диалекта E-Lisp) вы сможете превратить Emacs практически во что угодно. Практическая неограниченность (то есть ограниченность только возможностями E-Lisp) настраиваемости Emacs`а привлекает к нему многих пользователей, являющихся, естественно, еще и программистами. Оные пользователи, желая облегчить себе жизнь, облегчают ее и вам. Так под Emacs появляются почтовые клиенты (Gnus - один из лучших почтовых клиентов и лучший ньюсридер, в частности и из-за конфигурябельности), файловые менеджеры и даже вездесущие игры тетрис и life...

Продолжением достоинств Emacs`а являются его недостатки. Мощнейшие возможности настроек зачастую отпугивают пользователей, не желающих разбираться в не особо нужном им e-lisp. Многим не нравятся монстры, каковым Emacs несомненно является -- большой, весьма многофункциональный, весьма не интуитивен новичкам39...

Нужна альтернатива? Их есть у нас. ViM. Присутствует (хотя бы в своей инкарнации по имени vi) практически во всех системах, легок при загрузке (хотя это не сложно исправить), также весьма многофункционален (поддерживает плагины, макросы и многое другое), неплохо настраиваем и опять-таки имеет свой язык (впрочем есть возможность использования других - например, Perl). Этот редактор также может отпугнуть новичков, переходящих на Linux с WindowsOS (и привыкших к тамошним предефинированным клавиатурным комбинациям), но не спешите отчаиваться - читайте дальше. Данная статья пишется как раз в ViM (точнее в vim-athena-plain -g) и я постараюсь рассказать о некоторых особенностях работы в нем.

Заметьте, что функционально оба эти варианта равноправны, а отличаются больше идеологически: Emacs -- система (операционная), работа идет не столько с ним, сколь в нем; тогда как ViM -- более отвечает UNIX-way, ибо хотя и позволяет практически все, что и Emacs, но располагает именно к работе с ним, вызывая его когда нужен редактор, а из него запускать только то, что имеет непосредственное отношение к редактированию текстов...



Footnotes

... новичкам39
Как сказал об этом Линус Торвальдс в своей книге Just For Fun: ``Gnu-emacs начинался как редактор, но его создатели встроили в него кучу разных функций. Они хотели, чтоб это был редактор, который можно программировать, но потом программистская часть выросла до невообразимых размеров и редактор стал настоящим кошмаром. В него входит все, кроме разве что кухонной раковины, именно поэтому кухонная раковина часто служит его значком. Программа известна как чудовищный монстр, который включает больше функций, чем в принципе может понадобиться редактору.''

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Введения... Up: Проблема выбора... Previous: Выбор редактора   Contents

Выбор shell

Обычно по умолчанию в качестве командного интерпретатора (shell) используется bash. По причине его сравнительной быстроты и богатства возможностей. Возможно его вам хватит, но опыт показывает, что усредненный из общих соображений выбор редко бывает оптимальным. Так вам может быть shell не столь важен, как скорость его работы. Тогда я вам рекомендую ash40. Если же вам интересен shell богатый возможностями (особенно по части автозавершений), имеющий csh-совместимый синтаксис - настоятельно рекомендую zsh.

Полная документация по zsh насчитывает более ста тысяч слов и я, конечно, не буду тут ее пересказывать. Сообщу основное. Возможность автодополнения в zsh активизируется, например, путем добавления в ваш .zshrc файл строк:
autoload -U compinit
compinit

Проверить возможности автодополнения можете, набрав cd /u/s/do<TAB>, где <TAB> означает нажатие клавиши <TAB>. Результатом должно быть раскрытие строки до /usr/share/doc. Автодополнение параметров команд - ls -<TAB>, дополнение аргументов - apt-g<TAB>i<TAB>xfonts-<TAB>...

Настоятельно рекомендую ознакомиться к man-страницей zsh, а также с упомянутыми в ней и ваша жизнь в командной строке существенно упростится...



Footnotes

... ash40
Команда смены shell`а, кстати - chsh.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Разделы Linux Up: Основы Linux. Previous: Основы Linux.   Contents

Установка.

Для начала вам необходим дистрибутив. Практически все основные ветви дистрибутивов сейчас доступны как ISO-образы, выложенные на официальных сайтах производителей (либо на не менее официальных ftp-зеркалах), либо в ``коробочных'' версиях, то есть полным многодисковым (если, конечно, диск не DVD) набором в красивой коробке с книжечкой в комплекте. Способ стоит выбирать исхода из доступности для вас сети и финансовых соображений. Впрочем дистрибутивы Linux высокой ценой никогда не отличались и продаются практически по цене носителей и полиграфии. Для первого раза я рекомендую ``коробочный'' вариант, как наиболее красивый (хотя и долгий).

Получив тем, или иным способом диск (или иной предусмотренный в документации на ваш дистрибутив вариант и документацию по установке, загружаем программу-инсталлятор и внимательно читаем ее пояснения к каждому действию. Особенно осторожным следует быть при переразбивке диска этой программой. Для не-Debian GNU/Linux дистрибутивов (за исключением разве что SuSE) я даже рекомендую осуществить всю переразбивку диска заранее (до начала установки Linux) и данной возможностью инсталлятора не пользоваться.



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Введение в Debian GNU/Linux Up: Введение в Linux (версия Previous: Выбор shell   Contents

Введения...

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



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Инсталляция Up: Введения... Previous: Введения...   Contents

Введение в Debian GNU/Linux

В этом разделе я попытаюсь рассказать все, что вам необходимо знать для начала полноценного использования дистрибутива Debian GNU/Linux . Если можете что-либо добавить -- присылайте!



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Русификация Up: Введение в Debian GNU/Linux Previous: Введение в Debian GNU/Linux   Contents

Инсталляция

Debian GNU/Linux предназначен в первую очередь для инсталляции его по сети (так вы получите наиболее свежую версию), но, конечно, существует и множество иных способов41. На сайте www.debian.org располагается список серверов, с которых можно скачать iso-образы дистрибутива. Текущая версия testing-ветки занимает около 8и компактов, но, конечно, совсем не обязательно закачивать все. Устанавливая Debian GNU/Linux 'Woody', я загрузил с сервера fsn.org только первые 2. Дистрибутивные компакты являются, конечно, загрузочными. Текстовое (было у меня - у вас уже может быть и графика - не важно) инсталляционное меню довольно понятно - позволяет при желании вернуться к любому пункту, немедленно подгрузить модуль вашей сетевой карты и продолжить установку уже не с компакта, а с одного из зеркал сервера debian.org.

Существует и русский перевод руководства по инсталляции Debian GNU/Linux .



Footnotes

... способов41
Так мне приходилось устанавливать Debian GNU/Linux с компакт-диска, прямо с iso-образа (лежащего на FAT-разделе), с жесткого диска, и по сети...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Авто-загрузка демонов Up: Введение в Debian GNU/Linux Previous: Инсталляция   Contents

Русификация

Русификация в последнее время уже обычно не представляет каких-либо проблем. Debian GNU/Linux тут не стал исключением. Для начала вам необходимо установить пакеты locales и console-cyrillic. При установке, у вас спросят на каких консолях вы желаете кириллизацию (оставьте /dev/tty[1-6]), используемые фонты (для начала выбирайте UniCyr), размер, клавиатуру (у меня Russian Winkeys), клавишу переключения языков (традиционный вариант - CapsLock), клавишу временного переключения языка (я использую для этой цели Right Window logo key, кодировку (вероятно KOI8-R) и не желаете ли вы активировать кириллизацию при загрузке (или будете делать это самостоятельно, путем набора команды cyr)...

Если пакет locales уже установлен, то после установки и настройки console-cyrillic наберите dpkg-reconfigure locales и активируйте ru_RU.KOI8-R локаль. Того же эффекта можно добиться, добавив в файл /etc/locale.gen строку ru_RU.KOI8-R KOI8-R и сказав locale-gen...

Также существует и пакет со скриптом автолокализации приложений (например таких, как Emacs, bash, xterm...) -- language-env. Установите его и, запустив set-language-env, выбирайте интересующий вас язык...

Вот, собственно, и все.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Просмотр файла Up: Введение в Debian GNU/Linux Previous: Русификация   Contents

Авто-загрузка демонов

По умолчанию, загружается довольно много различных программ-демонов. Скорее всего они вам все и не нужны, зато могут оказаться полезными затраченные на них ресурсы42. Для удаления демонов из авто-загрузки используйте команду update-rc.d -f имя_демона remove.



Footnotes

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

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Работа с пакетами Up: Введение в Debian GNU/Linux Previous: Авто-загрузка демонов   Contents

Просмотр файла

Предположим, что мы нашли интересующий нас файл. Что это за файл нам расскажет команда file, но что с ним можно делать? Чем, например, просмотреть?

Воспользуйтесь замечательной командой see43, что в зависимости от того, откуда вы ее вызвали (из консоли, или из иксов, например) запустит соответствующую данному файлу программу-просмотрщик. Так в консоли файлам .mp3 соответствует mpg123, а в иксах - XMMS.

MIME-тип данных регистрируется, и сопоставляется с расширением в файле /etc/mime.types. Данные о программах-обработчиках (не обязательно просмотрщиках) хранятся в файле /etc/mailcap, в котором также содержится секция User Section, содержимое которой вам позволяется редактировать. У меня, например, данная секция содержит (помимо всего прочего) запуск mplayer`а на соответствующие ему файлы, что выражено в строчке:

# ----- User Section Begins ----- #
video/mpeg; mplayer -vo sdl '%s'; test=test "$DISPLAY" != ""
# -----  User Section Ends  ----- #



Footnotes

...see43
Не забудьте сперва установить пакет mime-support, если он, конечно, еще не установлен.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Механизм альтернатив. Up: Введение в Debian GNU/Linux Previous: Просмотр файла   Contents

Работа с пакетами

Пакеты программ рекомендую устанавливать при помощи консольного их менеджера APT, либо консольной же (но псевдографической) программы aptitude. Прежде всего вам необходимо настроить файл /etc/apt/sources.list. У меня он выглядит, обычно, следующим образом:

deb http://http.us.debian.org/debian testing main contrib non-free
deb http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free

Если вы предпочитаете использовать русское зеркало debian.org, то исправьте us на ru. Если используете не testing ветку дистрибутива, а иную, то также придется чуть поправить... Если вам недостаточно содержимого дистрибутива Debian GNU/Linux , то можете посетить сайт apt-get.org и добавить в sources.list несколько дополнительных источников. Рекомендую прибегать к этому только в крайних случаях, и содержать в source.list не более одного дополнительного репозитория.

Если вам критична скорость загрузки данных, то воспользуйтесь пакетом netselect, установив который, вы сможете командой netselect-apt ваша_ветка сгенерировать файл sources.list с наилучшей для вас конфигурацией (необходима возможность работы команды bind).

В случае, если Debian GNU/Linux вы используете на машине с дорогим соединением с интернетом, либо вообще без оного, но при этом имеете доступ к более дешевому каналу и можете переносить оттуда файлы, например, на CD-RW, или ZIP и желаете использовать именно его для обновления вашей системы, то воспользуйтесь пакетом apt-zip. Последовательность действий в данном случае: загружен каким-либо образом (например apt-get update) файл Packages.gz (несколько мегабайт), говорим apt-zip-list, после чего на указанном в /etc/apt/apt-zip.conf устройстве появляется shell-скрипт, который запускаем на иной машине (требуются shell и wget), продукцию чего устанавливаем командой apt-zip-inst.

Работа с пакетами обычно ведется следующими командами:

apt-get install
- загружает и устанавливает пакет.
apt-get remove
- удаляет пакет.
apt-cache search
- показывает пакеты, имеющие отношение к параметру.
apt-cache show
- показывает информацию о пакете.
dpkg -l
- выдает список с кратким описанием всех пакетов (без параметров), или по отдельному пакету (с параметром).
dpkg -L
- выдает список файлов, установленных переданным в параметре пакетом.
dpkg -S
- определяет к какому пакету принадлежит указанный в параметре файл.

Рекомендую установить и ознакомиться с русским howto по APT, что завернуто в пакет по имени apt-howto-ru.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Проверка установленных пакетов Up: Введение в Debian GNU/Linux Previous: Работа с пакетами   Contents

Механизм альтернатив.

Зачастую одно и то же действие могут осуществлять несколько программ, или же версий одной программы. Например под оконным менеджером можно понимать как IceWM, так и WindowMaker...

Соответственно весьма желателен механизм, облегчающий результат выбора, доводящий его до системы. Именно это и обеспечивает механизм альтернатив в Debian GNU/Linux .

Для подробной информации об этом наберите man update-alternatives.

Выбор осуществляется, обычно, командой update-alternatives -config обобщающее_имя, где именем является одна из символических ссылок каталога /etc/alternatives. Так, командой update-alternatives -config x-window-manager, производится выбор оконного менеджера по умолчанию...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Документация. Up: Введение в Debian GNU/Linux Previous: Механизм альтернатив.   Contents

Проверка установленных пакетов

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

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Введение в IceWM Up: Введение в Debian GNU/Linux Previous: Проверка установленных пакетов   Contents

Документация.

Debian GNU/Linux весьма не плохо документирован (преимущественно на английском). Поиск документации можете начать с /usr/doc-каталога, продолжив сайтом Debian GNU/Linux . На сайте вы помимо англоязычной и переводной документации найдете форму подписки на новости, анонсы и почтовые рассылки как для пользователей, так и для разработчиков.

Для русскоязычных пользователей предлагается Debian-Russian-maillist и IRQ-канал #debian-russian на сервере irc.debian.org, где вы сможете задавать интересующие вас вопросы и, конечно же, получать исчерпывающие ответы. Для получения более полной и актуальной информации, посетите русскую страницу Debian GNU/Linux .

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Загрузка. Up: Установка. Previous: Установка.   Contents

Разделы Linux

Можно, конечно, ставить всю систему (включая и файл подкачки) в один раздел, но мне подобный вариант представляется неэффективным. Ведь тогда дисковое пространство системных областей становится зависимым от активности пользователя, нет возможности работать индивидуально с принципиально разными секциями (так, например, у меня раздел /mnt/music монтируется с кодировкой CP1251, /var/spool/news имеет один инод на килобайт (/usr -- 16), а наличие файла подкачки вместо аналогичного раздела способно заметно снизить скорость работы), и многое другое...

Посему предлагаю такое минимальное разделение на разделы: подкачка (удвоенный размер от объема оперативной памяти), / (порядка сотни-другой мегабайт), /usr (несколько гигабайт, обычно четырех более чем достаточно), /var (обычно достаточно и гигабайта), /var/lib (имеет смысл отделять в случае активного использования баз данных, размер данного каталога определяется в индивидуальном порядке), /home (все остальное дисковое пространство). Также можно отделить /boot и /tmp...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Введение в FVWM2 Up: Введения... Previous: Документация.   Contents

Введение в IceWM

Первым делом скопируйте файлы настроек IceWM из /etc/X11/icewm в каталог (~/.icewm). Теперь можно править.

В каталоге ~/.icewm у вас лежат следующие файлы:

preferences
- самый важный файл по части настроек. Тут вы настроите русскоязычность (путем замены указанных там шрифтов на cronyx, например и замены финальных *-* на koi8-r), вид вашей панели задач, задержки, тему (не советую пользоваться существующими - лучше скопируйте наиболее симпатичную в каталог ~/.icewm/themes/имя_темы и, опять исправив или закоментировав шрифты, поправьте по вкусу. Я, например, предельно уменьшил размеры границ окон, удалил излишние (то есть все) кнопки в заголовках и т.д.) и определите функциональные комбинации клавиш (привыкайте - в Linux вам не придется ждать годами когда в MicroSoft догадаются реализовать сворачивание текущего окна не по <Ctrl>+<Alt>+с - тут вам предлагается определить их сообразно с собственной логикой)...

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

keys
- совершенно бесполезный файл, предназначенный для определения клавиш быстрого запуска программ. Почему бесполезный? Смотрите страницу [*] на тему xbindkeys.
toolbar
- определяет программы на тулбаре...
menu
- главное меню. Для конфигурирования рекомендую использовать iceme. Не забудьте установить пакет menu для добавления общесистемного меню ``Программы'', содержащее все установленные вами иксовые приложения.
winoptions
- а вот это довольно полезный файл, определяющий помимо всего прочего на каком экране следует запускать то, или иное приложение, на каком слое и многое, многое другое...

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

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Меню. Up: Введения... Previous: Введение в IceWM   Contents

Введение в FVWM2

Данный WindowManager весьма богат возможностями, но вместе с этим (как это обычно и бывает) далеко не так прост в настройке, как рассмотренный ранее IceWM. Постараюсь указать на наиболее важные/интересные его особенности, но документацию man fvwm для эффективного использования FVWM прочитать необходимо. Также рекомендую посетить официальный сайт FVWM.

Для начала найдите в /usr/doc/fvwm набор примеров файла .fvwm2rc и ознакомьтесь с предложенными вариантами (путем копирования этих файлов в ~/.fvwm2/.fvwm2rc и последующего перезапуска FVWM). Внимательно изучайте полученный внешний вид элементов интерфейса -- ни одна из тем вас, конечно, не удовлетворит, но на их базе вы сможете создать свою. Теперь копируем файл /etc/X11/fvwm/system.fvwm2rc в ~/.fvwm2/.fvwm2rc и создаем на его основе WindowManager своей мечты. Для этого открываем в одном окне man fvwm, а в другом -- gvim ~/.fvwm/.fvwm2rc. Начали!



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Функции. Up: Введение в FVWM2 Previous: Введение в FVWM2   Contents

Меню.

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

К примеру мое главное меню создается следующим кодом:

DestroyMenu /Debian    #Уничтожили меню с этим именем, если оно было
AddToMenu /Debian      #А теперь создаем его

# Читаем автоматически генерируемое пакетом menu главное меню Debian,
# содержащее все установленные у вас интерактивные программы...
Read /etc/X11/fvwm/menudefs.hook Quiet

# Добавляем к нему несколько своих пунктов
AddToMenu /Debian
+  ""            Nop   # Полоска
+ "&Documents"   Popup Documents
+  ""            Nop
+  "Exit Fvwm"   Popup Quit-Verify
Где команда Popup означает вызов другого меню в качестве подменю данного.

Например меню Quit-Verify определяется следующим образом:

DestroyMenu Quit-Verify
# Выведем необязательный заголовок меню
AddToMenu Quit-Verify "Really quit FVWM?" Title
+ "No, restart Fvwm"   Restart  # Команда перезапуска
+ ""                   Nop
+ "Yes, really quit"   Quit     # Команда выхода

Все просто -- не так ли? Но это, конечно, далеко не все.

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

# Составляем меню (JpgMenu) из *.jpg файлов, вызывая по 
# клику на них программу xv
AddToMenu JpgMenu foo title
+ DynamicPopupAction Function MakeJpgMenu
AddToFunc MakeJpgMenu
+ I DestroyMenu recreate JpgMenu
+ I AddToMenu JpgMenu Pictures Title
+ I PipeRead 'for i in $HOME/Pictures/*.jpg; \
    do echo AddToMenu JpgMenu "`basename $i`" Exec xv $i; done'

# Более интересный пример.
# Генерирует меню, состоящее из файлов каталога, передаваемого
# функции FuncFvwmMenuDirectory...
# Для выбранного элемента вызывается команда see
DestroyFunc FuncFvwmMenuDirectory
AddToFunc FuncFvwmMenuDirectory I PipeRead 'fvwm-menu-directory \
    --dir "$0" --exec-file ^"see" --xterm=" xterm -e" \
    --icon-dir=mini.folder.xpm --icon-title=mini.term.xpm \
    --icon-file=mini.file.xpm --icon-app=mini.hex.xpm --check-subdir'

# Пример использования функции:
AddToMenu Documents MissingSubmenuFunction FuncFvwmMenuDirectory
+ "&Root dir%mini.folder.xpm%" Popup /
+ "&Home dir%mini.folder.xpm%" Popup ~
Также очень удобно подключить к меню play-list XMMS...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: События. Up: Введение в FVWM2 Previous: Меню.   Contents

Функции.

Все действия в FVWM, будь то разворот окна на весь экран, сворачивание окна, или запуск какой-либо программы (а то и все это одновременно) суть функции. И их также нужно объявлять (если, конечно, функция состоит более, чем из одного действия):

DestroyFunc deiconify-and-focus
AddToFunc   deiconify-and-focus
+ "I" Iconify -1     # Разворачиваем окно из иконки
+ "I" Focus          # Переносим на него фокус

Вызываются функции следующим образом:

DestroyMenu Window-Ops
AddToMenu Window-Ops
+ "&Переместить"         Move
+ "&Изменить размер"     Resize
+ "Свернуть/развернуть"  Maximize 100 100
+ ""                     Nop
+ "Переместить на..."    Popup Move-Window
+ ""                     Nop
+ "Сделать нечто"        My-func-name
+ ""                     Nop
+ "Destroy"              Destroy
+ "&Close"               Close
Если это меню связано с каким-либо окном (см. следующий подраздел), то функции вызываются применительно к нему, иначе FVWM попросит вас уточнить какое из окон вы имеете в виду.

Полный список поддерживаемых функций, конечно же содержится в man-странице FVWM, но все же перечислю наиболее (на мой взгляд) интересные:

Move, Resize
 -- Соответственно перемешает, и изменяет в размере окно. Без параметров может использоваться как мышь, так и клавиатура. В качестве параметров можете указать x и y координаты для немедленного перемещения/изменения. Пример:
# Интерактивное перемещение
Move
# Переместить вверх-лево на 10% и 10%
Move 10 10
# Аналогично, но пикселей.
Move 10p 10p
# Переместить окно в правый-нижний угол экрана
Move -0 -0
# Перемещаем на 5% в право и на середину по вертикали
Move w+5 50
# Перемещаем окно к точке положения курсора
Move m+0 m+0
# 80 на 24 символа
Resize 80c 24c
# Максимизирует
Resize 100 100
Также можете воспользоваться командой AnimatedMove для анимированного перемещения.

Maximize
 -- Изменяет размер окна к указанному параметром. Например:
# Максимизация по вертикали
Maximize 0 100
# Максимизация до размера половины экрана
Maximize 50 50
# Разворачивает окно, оставляя на экране еще 60 пикселей
Maximize 100 -60p

Iconify
 -- Сворачивает окно в иконку, либо разворачивает его из иконки. Параметром может быть желаемое состояние (True|False).

GotoDesk, GotoPage
 -- Соответственно переход к соответствующему деку, или странице. Дек может содержать несколько страниц. Геометрия двумерная, число деков определяется параметрами модуля Pager, размер дека параметром DeskTopSize. Пример:
# Размер дека 2x2
# Вообще же число страниц может быть до 4 миллиардов :o)
DeskTopSize 2x2
# Переходим на страницу
GotoPage 1 1
# Или дек
GotoDesk 0 0
# Перемещаем текущее окно (сами не переходим)
MoveToPage 1 1
# Или на дек (и текущую по номеру страницу)
MoveToDesk 0 0

Layer
 -- Уровень окна. Более высокие по уровню окна заведомо перекрывают более низкие (не зависимо от фокуса). Пример:
# Повышаем уровень текущего окна.
Layer 1  0
# Устанавливаем его уровень в 1
Layer 0  1

Delete, Destroy, Close
 -- Соответственно пытаемся вежливо закрыть текущее окно, принудительно, или сначала первым способом, а в случае неудачи -- вторым.

Exec
 -- Запустить указанное приложение. Например:
# Редактируем настроечный файл
Exec exec gvim /home/nik/.fvwm/.fvwm2rc

Popup
 -- Выводим меню. Учтите, что окна по умолчанию вызываются по положению курсора, но могут быть и привязаны к любому элементу интерфейса (как к соответствующей точке отсчета). Пример:
# Выводим главное меню
Popup /Debian
# Выводим меню Window-Ops, в верхнем-левом 
# углу заголовка
Popup Window-Ops Title o0 o0

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Кратко об оформлении окон Up: Введение в FVWM2 Previous: Функции.   Contents

События.

Само собой разумеется, что вызов любой функции можно привязать к наиболее интуитивному для вас событию. События могут поступать, например, от клавиатуры и мыши. Синтаксис в обоих случаях (а они не единственны -- читайте документацию) одинаков: Key Keyname Context Modifiers Function и Mouse Button Context Modifiers Function соответственно. Keyname соответствует название интересующей вас клавиши (что выдает, например, программа xev), например, Multi_key. Context означает контекст события, то есть то место, где находился фокус во время события. Это может быть ``R'' для ``рабочего стола'', ``W'' для окна приложения, ``D'' для дектопного приложения (например, Nautilus), ``T'' для заголовка окна, ``S'' для границы окна (``['',``]'',``-'' и ``_'' для каждой границы соответственно), ``F'' для уголка границы (соответственно ``<'', ``^'', ``>'' и ``v''), ``I'' для иконки окна и цифры от 0 до 9 для соответствующих им кнопок заголовка. Естественно, вы можете указывать одновременно несколько контекстов (например, ``FST''). Модификатором может служить любая не запрещенная вами (по умолчанию запрещена Caps-Lock) клавиша-модификатор, например ``C'' соответствует Ctrl, ``S'' -- Shift, ``M'' -- Meta (обычно Alt), ``L'' -- Caps-Lock (если вы отмените его игнорирование), ``N'' -- если ваше событие должно выполняться только при выключенных модификаторах и ``A'' для любого модификатора.

Как видите все очень просто. Пример:

# Выводим меню выбора параметров окна по привычной
# клавише, либо по правой (третьей) кнопке мыши на
# заголовке
Key    Menu W  N  Popup Window-Ops Title o0 o0
Mouse  3    T  A  Popup Window-Ops

# Выводим главное меню по правой Win-кнопке
Key Multi_key  A  N  Popup /Debian

# По Ctrl+TAB, или средней кнопке на ``рабочем столе''
# список окон
Mouse 2   R  A  WindowList \
    NoGeometryWithInfo NoCurrentDeskTitle
Key   TAB A  C  WindowList Root o70 o30 \
    NoGeometryWithInfo NoCurrentDeskTitle

# Ctrl-Esc для закрытия окна (ИМХО интуитивнее Alt+F4)
# А по Ctrl+Shift+Esc закрываем все окна данного класса
Key Escape A    C    Close
Key Escape A    CS   Pick All ($c) Close

# Для перемещения окна удерживая Alt
# хватаем его правой кнопкой мыши и тащим...
# Для изменения размера --- средная кнопка
Mouse 3 W M Move
Mouse 2 W M Resize
Если вам не по нраву то, что в число модификаторов разработчики FVWM включили NumLock и ScrollLock, то (конечно же) это легко исправить командой IgnoreModifiers L25

Но и это не все! Как вам возможность изобразить курсором мыши некоторую фигуру, нажать некую кнопку и тем самым запустить ассоциированную с данной фигурой и кнопкой функцию? Подробности читайте в документации. Пример, запускающий Netscape, при рисовании буквы ``N'' и правой кнопке мыши: Stroke 7415963 3 R N Exec exec netscape...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Введение в ViM Up: Введение в FVWM2 Previous: События.   Contents

Кратко об оформлении окон и модулях.

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

Внешний вид задается командами вида ``*Style''. Так, например, часть моих настроек:

# Шрифт по умолчанию. Можно использовать и TTF-ы
Style "default-style" Font -*-helvetica-medium-r-*-*-12-*-*-*-*-*-koi8-r

# Определяем вид руксора на ``рабочем столе''
CursorStyle   ROOT   left_ptr

# Определяем параметры оформления окон по умолчанию 
# Заголовок - 15 пикселей с градиентной заливкой
DestroyDecor default-decor
AddToDecor default-decor
+ TitleStyle Height 15
+ TitleStyle HGradient 300 #758591 #102030

# Добавляем вышеопределенные настройки к стилю по умолчанию
Style "default-style" UseDecor default-decor, Color Black/DarkGrey

# Применяем оный стиль ко всем возможным
Style "*" UseStyle default-style

# И комю нужны бордюры? Только место занимают :o)
Style "*" BorderWidth 0
Style "*" HandleWidth 0

# Интересный метод фокусировки
Style "*" SloppyFocus

# Размещаем новые окна с минимальным перекрытием
Style "*" MinOverlapPlacement

# Новые окна захватывают фокус
Style "*" GrabFocus

# Броузеры только на первом деке,
# терминалы на втором,
# логи и вовсе на последнем (но первой его странице)
Style "Mozilla*"    StartsOnDesk 0
Style "*term"       StartsOnDesk 1
Style "xconsole"    StartsOnDesk 3, StartsOnPage 0 0

# Часы всегда видны на всех экранах, без заголовка, не указываются 
# в списке окон и нельзя на них переглючиться по Alt+TAB
Style "*clock"      Sticky, StaysOnTop, NoTitle, CirculateSkip, WindowListSkip

# Со все той-же градиентной заливкой меню
MenuStyle * Background #455561, ActiveFore #ccfcf0, \
        ForeGround black, \
        Font -cronyx-helvetica-bold-r-*-*-12-*-*-*-*-*-koi8-r
MenuStyle * popupoffset 0 100
MenuStyle * MenuFace HGradient 64 1 #758591 100 #102030

С FVWM поставляется множество весьма полезных модулей (спросите авторов -- сколько придложенных модулей они отвергают на один принятый). Соответственно имеет смысл прочитать документацию на каждый из них (man Fvwm<TAB> в zsh), здесь я привожу пример использования пары их (FvwmButtons и FvwmPager):

#-----------------------------------------------------------
#---------А вот и панель с декером (типа пейджера)----------
#-----------------------------------------------------------

DestroyModuleConfig DeskerPanelButtons: *
DestroyModuleConfig FvwmDesker: *

Style "DeskerPanelButtons"  NoTitle,NoHandles,Sticky,\
    WindowListSkip, BorderWidth 0, CirculateSkip, StaysOnTop
Style "FvwmDesker"   NoTitle, NoHandles, Sticky, \
    WindowListSkip, CirculateSkip, StaysOnTop

*DeskerPanelButtons: Fore #102030
*DeskerPanelButtons: Back #758591
*DeskerPanelButtons: Geometry 12x73-0-0
*DeskerPanelButtons: Font -*-helvetica-bold-r-*-*-10-*-*-*-*-*-koi8-r
*DeskerPanelButtons: Rows 1
*DeskerPanelButtons: Frame 1
*DeskerPanelButtons: Padding 0 0
*DeskerPanelButtons: (Panel(left, steps 12, delay 0, position \
    module top, indicator10) "FvwmDesker" 'Module FvwmPager \
    FvwmDesker 0 3')

*FvwmDesker: Back #758591
*FvwmDesker: Fore #102030
*FvwmDesker: Hilight white
*FvwmDesker: Font -*-helvetica-bold-r-*-*-10-*-*-*-*-*-koi8-r
*FvwmDesker: Geometry 319x69+5000+5000
*FvwmDesker: MiniIcons
*FvwmDesker: Balloons
*FvwmDesker: Label 0 Web
*FvwmDesker: Label 1 Term
*FvwmDesker: Label 2 Multimedia
*FvwmDesker: Label 3 Misc
Теперь у вас в правом нижнем углу экрана выезжает переключатель экранов/деков.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Режимы работы Up: Введения... Previous: Кратко об оформлении окон   Contents

Введение в ViM



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Основные возможности Up: Введение в ViM Previous: Введение в ViM   Contents

Режимы работы

Во первых запомните, что в ViM существуют 3 режима работы:

основной
 -- предназначен, для просмотра файла, ввода команд и перехода из него в другие режимы. Из любого режима в командный можно попасть по нажатии (иногда два раза) <ESC>. При нажатии ``:'' вам становится доступна командная строка ViM в которой вы можете вводить команды. Пока запомните 3 из них - команда выхода quit (ViM понимает сокращения, так что вы можете писать q), команда сохранения write (или w), параметром которой может быть имя файла и вызов справки по, очевидно, help (или h). На остальные клавиши (и их последовательности) вы можете навесить все, что угодно, либо использовать значения по умолчанию.
визуальный
 -- предназначен в первую очередь для выделения блоков текста. Для запоминания предлагаются 3 варианта перехода в этот режим - v для посимвольного выбора, <Shift>+v для построчного и <Ctrl>+v для блочного. В нормальном режиме (при переходе по ``v'') вы можете оперировать следующими сущностями: слово (``w''), предложение (``s''), параграф (``p'') и блок (``b''). Выделение при этом начинать с позиции курсора (``a''), или же с начала блока (``i''). Например, выделение текущего блока (участка, ограниченного парными элементами) можно произвести следующим образом -- <Esc>vib44. Копирование в буфер выделенного текста осуществляется по ``y'', вырезание по ``d'' а вставка соответственно ``p''.
режим редактирования
 -- переход на него осуществляется, к примеру, нажатием <Ins>.



Footnotes

...<Esc>vib44
То же отностится и к основному режиму. Так, для удаления текущего блока можете воспользоваться командой dib

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Конфигурация Up: Введение в ViM Previous: Режимы работы   Contents

Основные возможности

Все возможности и команды редактора ViM перечислить весьма затруднительно (ибо HTML-документация по нему занимает около пяти мегабайт), но на группе наиболее (на мой взгляд) полезных остановиться необходимо. Перечисленные ниже команды вводятся в основном режиме (если нет специального уточнения). Все они имеют команднострочные аналоги и могут быть легко переопределены вами...

переходы
 -- Для перехода на строку с номером n, воспользуйтесь командой G. Так, для перехода к началу текста набирайте 0G, для сотой строки 100G, а для конца -- $G. Для перехода на n символов в нужную вам сторону можете использовать клавиши со стрелками. То есть для перехода на 1000 символов вниз наберите 1000 и нажмите стрелку вниз.

Для перемещения по тексту используйте следующие команды: ``(,)'' для перемещения по предложениям, ``{,}'' для параграфов, ``[[,]]'' для функций, ``%'' -- переход к парной скобке, ````'' -- к предыдущему положению, а ``<CTRL>-O, <CTRL>-I'' -- соответственно назад и вперед по истории переходов...

метки
 -- Используются для отметки позиции (mметка, где меткой является любая буква) и быстрого к ней перехода (`метка). Метки нижнего регистра действительны в пределах данного файла, метки же верхнего регистра действуют во всех открытых файлах. Список всех меток можно получить командой marks.

регистры
 -- Конечно же вам доступно множество именованных регистров (хранилищ данных, буферов). Регистр отмечается ``"буква''. К нему применимы все стандартные действия -- копирование в него ("меткаy), вырезание ("меткаd), и вставка из него ("меткаp, можете вместо p использовать [p,]p для вставки соответственно перед, или после курсора). В режиме редактирования вставка из регистра осуществляется по ``<Ctrl>+R метка''. Для добавления данных в регистр используйте заглавную метку.

Также вы можете писать в регистр, воспользовавшись командой ``qметка'' и завершая запись по ``q''. Таким образом вы сохраняете макрос, выполнить который можно по ``@метка''.

Регистры с метками ``*'' и ``+'' совпадают с X-Window clipboards, ``%'' -- соответствует редактируемому файлу. Для просмотра содержимого всех регистров воспользуйтесь командой :registers, либо :reg метка1метка2... для просмотра некоторых...

фолды
 -- предназначены для сокрытия не нужных в данный момент данных, дабы те не отвлекали внимания. Например, кода подпрограммы с которой вы в данный момент не работаете. По умолчанию фолды активированы в режиме их ручной расстановки. Если вы хотите их автоактивации по отношению к табуляции, то добавьте в конфиг строку set foldmethod=indent. Все команды для работы с фолдами начинаются с ``z''. Открытие фолда производится, например, по zo (или стрелке вправо) на нем, закрытие кода в фолд -- по zc...

сессии
 -- при ведении группы проектов нередко желательно сохранить текущее состояния и настройки редактора, дабы в дальнейшем продолжить работу с того же места. Для этого и предназначены сессии, что создаются командой :mksession /path/to/Session.vim, а читаются простой командой :so /path/to/Session.vim. Гораздо чаще, впрочем, возникает нужда в сохранении не всей сессии, но только текущего контекста (в что входит, например, положение курсора в коде, текущая расстановка фолдов и много другое, о чем читайте в документации). Это действие выполняет команда :mkview, чтение -- :loadview. Очень удобно сделать сохранение и чтение контекста автоматическим при начале и окончании редактирования файла. У меня это реализовано следующим кодом (применяется для всех файлов, имеющих точку в имени):
  au  BufWinLeave *.* mkview
  au  BufWinEnter *.* silent loadview

поиск и замена
 -- Поиск осуществляется командами ``/'' для поиска (по регулярному выражению) вперед, а ``?'' в обратном направлении. Для продолжения поиска используйте ``n'', а для прошлого варианта ``N''. Для поиска слова под курсором используются соответственно ``#'' и ``*''.

Для поиска с заменой используйте :%s/что/на что/gic, где ``%'' означает работу со всем текстом (а не с текущей строкой) ``g'' -- глобальная замена (а не первое совпадение), ``i'' -- игнорирование регистра, а ``c'' -- подтверждение каждого действия.

автодополнение
 -- Производится по содержимому данного файла, а также угазанных в переменной dictionary по нажатию клавиш ``
отмена
 -- ``u'' для отмены и ``
смена регистра
 -- ``~'' для выделенного участка (или буквы под курсором). ``U'' -- принудительно установить верхний регистр, а ``u'' соответственно нижний.

повторить
 -- ``.''.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Использование Up: Введение в ViM Previous: Основные возможности   Contents

Конфигурация

Основным конфигурационным файлом является, естественно, ~/.vimrc. Активация русского шрифта в GUI-режиме, плюс выбор темы для обоих режимов осуществляется, например, следующим кодом:

if has("gui_running")
    colorscheme candy
    set guifont=-cronyx-courier-medium-r-normal-*-*-120-*-*-m-*-koi8-r
endif

if !has("gui_running")
    colorscheme elflord
endif

Быстрые и, вероятно, привычные клавиши:

"Выход по F10
nmap <F10> :q<CR>
imap <F10> <ESC>:q<CR>
"Сохранение по F2
nmap <F2> :w<CR>
imap <F2> <ESC>:w<CR>i<Right>
"Компиляция по F9
nmap <F9> :make<CR>
imap <F9> <ESC>:make<CR>

Также рекомендую ознакомиться с файлом vimrc.forall, автор которого постарался пояснить каждый, могущий оказаться вам полезным параметр настройки ViM...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Мультизагрузка. Up: Основы Linux. Previous: Разделы Linux   Contents

Загрузка.

BIOS считывает с первых 512 байт вашего диска программу начальной загрузки. Таковые программы весьма различаются как внешне, так и функционально. Загрузчик от Win9x способен только на нахождение первого раздела диска (так называемого диска C:) и на загрузку и переадресацию выполнения на находящийся там код, который и производит загрузку OS. NTLoader более интеллектуален и способен на вывод загрузочного меню, в котором предлагает варианты загрузки, то есть откуда ему собственно загружаться -- с того, или иного раздела, а то и из файла... LinuxLoader (или lilo), во множестве своих модификаций способен на это и на многое другое. Также существует GRUB - GRand Unified Bootloader, который является официальным загрузчиком операционной системы GNU. GRUB несколько гибче и функциональнее lilo (так, нет нужды переустанавливать его после очередного обновления ядра), в настоящий момент все еще находится в стадии разработки, хотя уже и принят во многих дистрибутивах в качестве альтернативного.

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



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Документация Up: Введение в ViM Previous: Конфигурация   Contents

Использование

Не утруждайте себя набором часто повторяемого кода -- используйте аббревиатуры. К примеру для объявления подпрограмм на языке Perl можно в конфиге определить аббревиатуру sub следующим образом - iab sub sub<CR><CR><TAB><CR><HOME><UP><UP><UP><END>, а команда iab today <C-R>=strftime("%d/%m/%Y (%H:%M)")<CR> обеспечивает в режиме редактирования автозамену слова today на текущее время...

Также весьма интересны комбинации ``[буква, ]буква''. Так, например, ``[i'' осуществляет вывод строки с объявлением находящейся под курсором переменной (точнее первое вхождение данного идентификатора). Для перехода к находящейся под курсором функции воспользуйтесь `` Если вы желаете использовать редактор в цикле ``edit->compile->edit'', то, прочитав :h quickfix, вы определите свои варианты переменных shellpipe, errorformat, makeprg. Так у меня для работы с Perl-файлами определено:

set shellpipe=2>&1\ \|\ tee

setlocal makeprg=perl\ -wc\ %
setlocal errorformat=%m\ at\ %f\ line\ %l%.%#,
                    \%-G%.%#

Если хотите просматривать ошибки не поэлементно, а и видеть перед глазами их полный список - используйте команду :cw, которую можно вызывать автоматически после компиляции, путем небольшой правки ранее определенного поведения клавиши <F9> - map <F9> :make<CR>:cwindow<CR>...

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

Ну и, наконец, если я вас не убедил использовать собственные наработки по части быстрых клавиш и вы тоскуете по ставшим привычными за долгие годы использования иной OS <CTRL>+z,x,c,v, выделению через <SHIFT>+стрелки и тому подобному, то добавьте в конфиг строку source $VIMRUNTIME/mswin.vim.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Введение в LATEX Up: Введение в ViM Previous: Использование   Contents

Документация

Теперь рекомендую набрать в консоли команду vimtutor и прочитать (на русском языке) получасовой курс введения в использование редактора.

Также будет не лишним ознакомиться (если вы хотите овладеть редактором в полном объеме) с его основным help-файлом, что вызывается обычно по <F1>. Существует также и основанная на нем русская книга, которую не сложно найти в бумажном и электронном виде (файл имеет имя BookVim.ps).

Посетите также сайт www.vim.org - там помимо всего прочего вы найдете постоянно пополняемую коллекцию ViMTips и несколько плагинов к ViM`у. Среди последних рекомендую, например, Tags-плагины для упрощения ориентирования в вашем коде (например, сгенерированное немного доработанным плагином taglist.vim меню содержит оглавление (естественно с возможностью быстрого перехода) данного LATEX-файла), help.vim (чья немного доработанная версия вызывает по ``perldoc -f на функциях Perl, соответствующую man-страницу при курсоре на модулях Perl/функциях C/TCL/Tk/etc, встроенную справку ViM на его функциях и параметрах и так далее вплоть до вызова англо-русского словаря на простом английском тексте) и плагин closeb.vim (для закрытия текущего тега/секции/etc по `` Кроме того стоит отметить, что хотя дистрибутивный вариант консольного ViM не вызывает каких-либо нареканий, то его GUI-версия оные нарекания вполне заслуживает. Ибо далеко не всем нравиться GTK (данная статья, как я уже упоминал, пишется в vim-athena-plain -g). Соответственно я рекомендую загружать пакеты vim, vim-gui-common, vim-*-plain с сайта ftp.ice.ru...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Полезные программы Up: Введения... Previous: Документация   Contents

Введение в LATEX

Говорят, живет на свете Дональд Кнут.
Доктор Кнут, поверьте, дети, страшно крут.
И неважно что он пишет не о том,
Главное, чтоб все же вышел пятый том.
:o)

Многие пользователи, только перейдя на Linux с более распространенной системы, дружно принимаются искать в нем Word-подобные программы. И ведь находят! Open/Star-Office, AbiWord, и многое другое...

И редко кто из них перед переносом своих привычек на новую систему задумывается о их эффективности. Сама идея WYSIVYG45 изначально порочна тем, что, собственно видим мы далеко не все и не так. Вы не замечали видимой с первого взгляда разницы между сайтами новичков (к примеру только что узнавших про тег <FONT> и активно его применяющих) от сайтов уже не новичков (использующих, к примеру, CSS) и их же от профессионалов? А ведь многие новички уверены, что, например крупный фонт и яркий фон приятен их посетителям - они так видят... А уверены ли вы, что оформите свою статью, или книгу лучше профессионала-верстальщика? А если не уверены - то зачем-же тратить свои силы и время на чужую работу?

И вот именно для таких - задумавшихся - и существует программа LATEX. Написанные с использованием несложной разметки (то есть разметки смысловой; типа указания маркером на макете книги - ``тут у меня будет оглавление, тут глава, а здесь библиография''; разве не того же требуют WYSIVYG-редакторы, но в гораздо большем объеме телодвижений?) тексты будто размечены профессионалом-верстальщиком... А как вам возможность превратить свою сильно разросшуюся статью в книгу путем правки одного слова?

Показательна история возникновения TEX.
Одного программиста весьма расстраивало то, что вытворяли с его статьями издатели. Одно время он даже перестал издаваться, но, поняв, что это не выход - решил проблему по своему (а он был, да и является до сих пор большим оригиналом). Он посвятил довольно приличное время (годы) изучению издательского дела, когда же решил, что разобрался досконально - написал программу, назвал ее TEX и стал улучшать... Прошли годы... Выходили новые версии программы, асимптотически приближаясь снизу к числу $\pi$ (ну не оригинально ли?) - используемая мною версия - 3.14159... Исправлялись ошибки (автор утверждает, что ошибок в программе больше не осталось и я ему верю)... И, наконец, он выпустил (и продолжает выпускать до сих пор) свою Книгу, оформленную его же программой... Но это уже совсем другая история... :o)

Итого я, надеюсь, убедил вас. Для установки TEX (а точнее LATEX -- plain-TEX могут использовать только не меньшие оригиналы) вам потребуются tetex-* пакеты. Установите их.

Для поддержки русского языка запустите из под привилегированного пользователя стандартную конфигурационную программу texconfig -- выбирайте меню hyphenation, далее меню latex и раскомментируйте строку со словом russian (убрать знак % перед ним). При выходе из программы форматные файлы автоматически перегенерируются.

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

\documentclass{article}

\usepackage[koi8-r]{inputenc}
\usepackage[russian]{babel}
\usepackage{html,hthtml,xspace}
% и другие пакеты...

\newcommand{\Debian}{\emph{Debian GNU/\Linux}\xspace}
% и другие команды...

\author{Николай А. Панов}
\title{Введение в \Linux \\ (версия \version)}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\section{Кому предназначена статья}
...текст статьи...
\end{document}

Подробнее о русскоязычии в TEX-мире рассказывается в книге Евгения Балдина ``LaTeX, Unix и русский стиль''. Также советую прочесть пару полновесных русскоязычных книг о LATEX, имеющихся, кстати и в электронном виде: книгу ``Не очень краткое введение в LATEX'' в переводе Тоботраса (файл lshortru.pdf) и ``LATEX: подробное описание'' Львовского (файл llang.pdf).



Footnotes

... WYSIVYG45
What You See Is What You Get - что видите, то и получите

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Музыка Up: Введение в Linux (версия Previous: Введение в LATEX   Contents

Полезные программы

На текущий момент число существующих программ под Linux весьма велико. Чтобы облегчить вам поиск нужных программ я кратко опишу наиболее на мой взгляд интересные. Большинство рассмотренных програм (а точнее их исходники и DEB-пакеты) вы найдете в дистрибутиве Debian GNU/Linux , если их местонахождение не оговорено отдельно.



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Просмотр изображений/видеофайлов Up: Полезные программы Previous: Полезные программы   Contents

Музыка

Для прослушивания музыки в консоли можно использовать mpg123 (поддерживает playlist, equalizer), или mp3blaster.

Из графических программ на мой взгляд лучшей является XMMS (WinAMP подобный плейер с большими возможностями). Кроме того сам WinAMP прекрасно запускается (и даже работает) под WINE (программный эмулятор WinAPI).

Для настройки параметров вашей звуковой карты используйте программу aumix-gtk. Запускайте эту программу от имени привилегированного пользователя, либо измените права доступа к файлу /dev/mixer

Не лишним будет также посетить сайт linux-sound.org...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Клавиатурные комбинации Up: Полезные программы Previous: Музыка   Contents

Просмотр изображений/видеофайлов

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

Для просмотра видеофайлов (опять же во множестве существующих на настоящий момент форматах) можете использовать программу xine (имеет весьма не плохой графический интерфейс, поддерживает море форматов, но при всех ее достоинствах иногда умудрялась у меня тормозить на PIV 1.6ГГц), но лучшей программой на текущий момент считается mplayer (которая пока не тормозила ни разу). В дистрибутив его, к сожалению, обычно не включают (ибо производитель настаивает на индивидуальной компиляции программы под каждую машину с целью наилучшей производительности), так что вам придется загрузить его с сайта www.mplayerhq.hu, или из CVS-репозитория по адресу mplayer.sourceforge.net с последующей сборкой из исходников (советую обратить внимание на опцию -with_gui)46...



Footnotes

...-with_gui)46
Владельцам Debian GNU/Linux для компиляции и сборки mplayer.deb пекета достаточно набрать команду debuild в каталоге с исходниками mplayer.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Словарь/переводчик Up: Полезные программы Previous: Просмотр изображений/видеофайлов   Contents


Клавиатурные комбинации

С целью сделать ваши быстрые клавиши независимыми от используемого в данный момент WM, я рекомендую программу xbindkeys (можете также установить xbindkeys-config для некоторого облегчения настройки).

Замечу, что в оных комбинациях возможно использование также и клавиши/колесо мыши, а также различная интерпретация комбинаций, в зависимости от положения (Num|Caps|Scroll)Lock...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Восстановление разделов Up: Полезные программы Previous: Клавиатурные комбинации   Contents

Словарь/переводчик

Наиболее удобным из них с наибольшим числом доступных словарей является dict.

Он состоит из нескольких частей (пакетов):

dict-server
- серверная часть.
dict-client
- клиентская часть.
dict-*
- словари. Из них особо отмечу mueller7-dict - англо-русский словарь, dict-foldoc - словарь компьютерных терминов (в плюс к нему можете установить также dict-vera - словарь акронимов), dict-jargon - словарь компьютерного жаргона, dict-wn - толковый словарь и dict-web1913 - толковый словарь Вебстера.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Очистка диска от ненужных Up: Полезные программы Previous: Словарь/переводчик   Contents

Восстановление разделов

Эта тема неплохо разобрана в соответствующем mini-howto (Partition-Rescue). Из программных решений рекомендую gpart.

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

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Проверка правописания Up: Полезные программы Previous: Восстановление разделов   Contents

Очистка диска от ненужных файлов

Жизнь не стоит на месте - сегодня вам позарез необходима некая программа, а завтра вы про нее забываете навеки. Дисковое же пространство хоть и весьма дешево, но во первых - не следует разводить на нем помойку ненужных файлов, а во вторых при очередном apt-get dist-upgrade будут обновляться и не нужные вам программы, доступ же к сети бесплатен не для всех и забивать сеть никому не нужным трафиком не лучшее занятие...

Итого - проблема локализована, причем очевидна нееденичность случая ее возникновения. Следовательно? Значит она давно уже решена -- пакетом debfoster.

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

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: SysV-init. Up: Загрузка. Previous: Загрузка.   Contents

Мультизагрузка.

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

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

Теперь решайте -- будете ли вы грузить Linux из NTLoader`а (и тогда читайте Linux+NT-loader mini-HOWTO), либо пойдете более простым путем и будете грузить и Linux и NTLoader из lilo.

В первом случае вам придется после каждого перезапуска lilo набирать dd if=/dev/hdxy of=/mnt/c/linux.bin count=1 bs=512 (где /dev/hdxy -- тот раздел, куда прописывается lilo, а /mnt/c/ -- подмонтированный диск C: в нотации WindowsOS), а также прописать в C:/boot.ini строку C:/linux.bin="Linux". Во втором же, достаточно добавить ваш WindowsOS-раздел в файл /etc/lilo.conf, который у меня, например, имеет почти следующий вид:

lba32
boot=/dev/hda
root=/dev/hda7
install=/boot/boot-menu.b
map=/boot/map
delay=0
vga=normal
menu-title=" Nikolay`s home computer"
default=Linux
image=/boot/vmlinuz-2.4.20-686my
        label=Linux
        read-only
        optional
other=/dev/hda1
        label="Windows`s"

И набрать lilo.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Конвертация Up: Полезные программы Previous: Очистка диска от ненужных   Contents

Проверка правописания

Для проверки правописания обычно используется программа GNU ispell. Она имеет очень гибкие настройки и возможности для расширения. Её можно использовать при проверке правописания текстов, написанных на языках, отличных от английского, путём добавления новых словарей. Словарь поддержки русского языка хранится в пакете irussian.

Если у вас все нормально, то можете инициировать проверку правописания для русских текстов путём вызова программы ispell имя_проверяемого_файла с опцией '-d russian', или без оной опции, если при установке irussian вы выбрали русский язык как используемый по умолчанию.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Смена формата хранение данных Up: Полезные программы Previous: Проверка правописания   Contents

Конвертация

Далеко не всегда нас устраивает оригинальный формат хранения данных. Многие не любят читать word-документы, другим почему-то не нравиться кодировка CP1251... Мне, например, показалось весьма странным распространение книги Линуса Торвальдса ``Just For Fun'' в word формате -- пришлось отконвертировать ее в TXT вид...



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Перекодировка Up: Конвертация Previous: Конвертация   Contents

Смена формата хранение данных

Данная проблема обычно решается путем поиска программ вида исходный2конечный форматы. Так HTML-версия данной статьи получена из LATEX-версии благодаря работе программы latex2html47...

К сожалению не все авторы подобных программ придерживаются данного правила. Соответственно сообщу основные (на мой взгляд) программы-преобразователи:

word
 -- для преобразования word-документов в txt формат (при нежелании устанавливать, либо использовать Word-подобные программы) обычно используют catdoc (имеющую в своем составе также и графический интерфейс к ней по имени wordview), или antiword. Первый отличается подчеркнутым (его автором) пренебрежением к форматированию word-документа, тогда как второй пытается оное форматирование по возможности сохранить. Для обратного преобразования рекомендую отконвертировать ваш документ в RTF-формат и изменить расширение на .doc.
exel
 -- для этого формата из консольных перекодировщиков я нашел пока только xlhtml, что переводит Exel файды в HTML с возможностью хорошей оптимизации кода...
графика
 -- для смены графического формата хранения данных рекомендую программу convert, что входит в комплект поставки ImageMagic...



Footnotes

... latex2html47
Цыфра ``2'' в таком контесте эквивалентно примерно аналогичному по звучайнию слову ``to''. Этот пример не единственный -- аналогичным образом расшифровываются и остальные цифры, например, ``4'' эквивалентно ``for''.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Сборка пакетов из исходников Up: Конвертация Previous: Смена формата хранение данных   Contents

Перекодировка

Для перекодировки текстовых файлов рекомендую использовать программу konwert -- программа поддерживает множество возможностей, в том числе и распознавание кодировки ``на лету''.

Так, для перекодировки ошибок переполнения строк, выдаваемых программой LATEX можете воспользоваться следующим его вызовом - latex *.tex | konwert any/ru-koi8r...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Об этом документе Up: Полезные программы Previous: Перекодировка   Contents

Сборка пакетов из исходников

Иногда нужного пакета в дистрибутиве не находится (его там либо нет и не будет, либо еще нет, либо есть слишком старая версия), а в сети существует только его tar.gz, а то и RPM версия. Просто так их ставить не рекомендуется во избежание проблем при последующем удалении.

Универсальный выход предлагает программа alien, которая предназначена для конвертации пакета из исходного его формата в иной (например, DEB).

Также для заворачивания продукции make install (или иной make-команды) в DEB (или иной) формат рекомендую программу checkinstall. Синтаксис его использования элементарен - например, checkinstall make install, после чего программа спросит у вас детали INFO-секции пакета (не забудьте, что версия пакета содержит только цифры и точки)...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Благодарности Up: Введение в Linux (версия Previous: Сборка пакетов из исходников   Contents

Об этом документе

На текущий момент (26 January 2003) документ имеет версию 0.25 и статус beta-версии, что означает возможность любому желающему не только дорабатывать эту статью (путем посылки мне дополнений), но и предлагать коренные изменения в структуре, или содержании.



Subsections

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Доступные форматы Up: Об этом документе Previous: Об этом документе   Contents

Благодарности

При написании данной статьи были использованы следующие материалы:

Программы: Отдельное спасибо:
Victor Wagner
 -- за интересные слова и мысли. За от третьего и далее пункты раздела ``Вопросы эффективности''.
Vladimir Bormotov
 -- за рекомендации, вылившиеся в изменение логической структуры статьи при переходе от 0.17 к 0.20 версии.
Alex Sustavov
 -- за подраздел о SuSe Linux, еще один резон в пользу Debian GNU/Linux (не привязанность к ядру), первые три абзаца введения и множество исправлений.
Alexander Myodov
 -- за полемику, в результате которой появился не один из подразделов...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Список изменений Up: Об этом документе Previous: Благодарности   Contents

Доступные форматы

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Соглашение об использовании документа Up: Об этом документе Previous: Доступные форматы   Contents

Список изменений

0.25
 -- Начат сбор данных о пользе и противопоказаниях при использовании Linux (раздел ``А нужен ли...''). Присылайте ваши замечания. Добавлено данных о ViM, мелкие правки...
0.24
 -- Создан подраздел об основных принципах работы в Linux и пользе КС...
0.23
 -- Расширено введение в ViM, множество мелких исправлений...
0.22
 -- Расширено введение, создан раздел ``Вопросы эффективности''.
0.21
 -- Добавлено краткое описание SuSe, ``Введение в fvwm2'' и незначительные правки...
0.20
 -- Структурные изменения (первая попытка наведения логического порядка). Добавление материалов как о Linux, так и о Debian GNU/Linux ...
0.1x
 -- Смена наименования (tr/IntroToDebian/IntroToLinux/g), правка и добавление материалов (SlackWare,XFree86-4,``Конвертеры''), первый анонс статьи в fido7.ru.linux и linux.org.ru и начало отсчета версий и списка изменений...

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Up: Об этом документе Previous: Список изменений   Contents

Соглашение об использовании документа

Документ распространяется под лицензией GNU FDL48.
Вкратце: Вы можете распространять этот документ в любом виде при условии предоставления исходников; Вы можете распечатывать этот документ для себя; Вы можете его модифицировать (или копировать часть информации) при условии сохранения на результат текущей лицензии; При печати больших тиражей49, а так же для изменения текущей лицензии вам следует получить разрешение автора. Для получения более подробной информации об этом типе лицензии следует обратиться к первоисточнику по адресу www.gnu.org.

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

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

Мои реквизиты:

E-Mail
: nik@uic.nnov.ru
ICQ
# 122-40-8888



Footnotes

... FDL48
GNU Free Documentation License.
... тиражей49
100 экземпляров

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Русификация. Up: Загрузка. Previous: Мультизагрузка.   Contents

SysV-init.

Загрузившись, демон init первым делом смотрит в файл /etc/inittab, выглядящий у меня следующим образом (несколько сокращенно и с моими комментариями)6:

# runlevel по умолчанию.
id:2:initdefault:

# Скрипты этого каталога будут запущенны сначала, 
# причем независимо от выбранного вами runlevel`а.
si::sysinit:/etc/init.d/rcS

# А вот и расшифровка значений runlevel`ов.
# То есть для загрузки сразу в графическом режиме,
# вам нужно выше установить id:5:initdefault
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-4 are multi-user.
# Runlevel 5 X11.
# Runlevel 6 is reboot.

# В зависимости от установленного runlevel,
# будут выполнятся скрипты, символические ссылки на
# которые лежат в каталогах /etc/rc(runlevel).d/
# И имеют вид [SK]\d+имя_скрипта_из_/etc/init.d/
# Где \d+ - цифра, отвечающая за порядок запуска скриптов.
# Причем, начинающиеся с S скрипты выполняются с
# параметром start, тогда как К соответственно stop.

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6

# Что делать при нажатии <Ctrl>+<Alt>+<Del>,
# либо сигнала от UPS (в данном случае - выключаться)
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now

# Запускаем getty на первых трех консолях.
# Тут может быть указана любая программа. respawn 
# обеспечивает автоперезапуск ее после завершения.
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3

Все, запускаемые тут скрипты физически находятся в каталоге /etc/init.d/7. Синтаксис скриптов весьма прозрачен. Для ручного запуска/перезапуска/останова/etc демонов, запускайте отвечающий за нужного вам демона скрипт с параметрами соответственно start/restart/stop/etc.

Как видите, у меня на первых трех консолях (а больше и не надо) запускается программа getty, которая выдает приглашение login: и вызывает программу login. В принципе, процедура верификации может быть произвольной -- от привычного ввода имени и пароля (а то и без этого), до сканирования сетчатки глаза... Так, или иначе, получив подтверждение, что вы это вы, программа login производит запуск вашего shell по умолчанию, из которого вы, набрав startx (или дописав эту строку в файл .profile) переходите в X-Windows system, попутно запустив наиболее вам удобный WindowManager...

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



Footnotes

... комментариями)6
Учтите, что у вас этот файл может выглядеть иначе -- читайте man inittab для более подробной информации.
.../etc/init.d/7
В большинстве Linux систем.

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888


next up previous contents
Next: Поддержка устройств. Up: Основы Linux. Previous: SysV-init.   Contents

Русификация.

Весьма подробно вопрос русификации разобран в книге Евгения Балдина ``Cyrillic HOWTO (russian)''.

Для примера. Если вы желаете монтировать диски/дискеты/компакты с файлами в кириллической кодировке, то вам, несомненно поможет man mount и man fstab. Для примера мой /etc/fstab помимо всего прочего содержит строки:

/dev/fd0    /floppy      auto    user,noauto,codepage=866,iocharset=koi8-r 0 0
/dev/cdrom  /cdrom       iso9660 user,ro,noauto,iocharset=koi8-r 0 0
/dev/hdd1   /mnt/BACKUP  vfat    user,rw,showexec,noauto,codepage=866,iocharset=koi8-r,umask=0 0 0
/dev/hda12  /mnt/music   ntfs    user,ro,noexec,iocharset=cp1251,umask=0 0 0
/dev/hda14  /mnt/docs    ntfs    user,ro,noauto,noexec,iocharset=koi8-r,umask=0 0 0

Copyleft © 2002-2003 г.   Nikolay A. Panov, "Intro To Linux" (orig),  niksite@mail.ru,  ICQ: 122-40-8888