Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
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 (а также и о ней самой), затронув попутно и многие другие темы...
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, в котором почти наверняка найдется ответ на ваш (или похожий) вопрос...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Сильно облегчает работу знание что где находится у вас на диске. Попробую вкратце описать это9:
В вашем домашнем каталоге могут присутствовать следующие файлы:
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Для поиска файлов на диске рекомендую использовать следующие три способа (записаны в рекомендуемом порядке их применения):
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Можно, конечно, работать только в консоли (если сама работа не связана с графикой), но как же это не удобно! Взять хотя бы весьма ограниченное число экранов с проблематичной возможностью размещения на одном экране нескольких программ (в иксах на каждом workspace может быть несколько одновременно наблюдаемых окон10)... На мой взгляд консоль можно использовать только для трех задач:
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...
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 |
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 |
Возникает вопрос -- так ли необходимо изучать командную строку, если любому доступен парк ПО на все случаи жизни? Отвечу словами Фредерика Брукса: ``не бывает серебряной пули''. Редко можно найти программу целиком и полностью отвечающую нашим потребностям в настоящем и будущем. Это возможно только тогда, когда потребности сами определяются исходя из наличия и возможностей существующего ПО. Существуют также, конечно же, и языки программирования высокого уровня (к примеру Perl, Python, Ruby14), на которых возможно довольно простое изложение любых алгоритмизируемых задач, но для этого их следует во первых знать, а во вторых -- это слишком универсальный и довольно сложный инструмент, их использование примерно аналогично самостоятельному приготовлению себе обеда, вместо заказа оного в столовой, или ресторане. Можно, конечно, готовить себе все самостоятельно (и со временем стать профессиональным поваром), но большинство людей почему-то предпочитают обедать в столовых... Вот и команды-предложения являются официантами-поварами нашей системы-столовой15. И гораздо проще (и удобнее) научиться общению с ними, нежели тратить свое время, которого, увы, на все не хватит...
Соответственно при возникновении очередной задачи в Unix принято разбивать её на максимально простые подзадачи (каждой из которых соответствует некоторая программа-команда), и запускать конвейерную обработку ими входных данных.
Например, задача: ``выделенный текст перекодировать из неизвестной, но русской кодировки в koi8r, результат поместить в буфер обмена''.
Решение: xsel|konwert any/ru-koi8r|xclip.
Как видите, результат является практически дословным переводом фразы-задачи на понятный системе язык, причем заметно более лаконичный...
Кроме того привычка к формулированию своих действий вербально (в виде слов/предложений/скриптов), позволяет заметно повысить эффективность работы и на дектопном поле. К примеру, многие догадываются, что в WindowsOS иконки существуют не только для запуска приложений, но и для удобного использования принципа Drag&Drop. То есть перетащив файл на иконку Word, мы запускаем программу на открытие данного файла. Но многие ли используют иконки для чего-либо большего? Например, для автоприведения файла к какому-либо частоиспользуемому нами виду16, что едва ли займет пол десятка строк на word-basic?
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Основным и наиболее критичным ресурсом человека является его время. Именно этот ресурс столь сложно повышать (правильное питание, интеллектуальный и физический труд) и столь легко тратить (да он и сам расходуется со скоростью не меньшей 7 дней в неделю!).
И к тому, что более трети жизни человек и вовсе не живет (а спит), так ведь реальная его жизнь -- мысли, творчество -- все это забивает рутина. Понаблюдайте за собою, попытайтесь составить поминутный график расхода личного времени. Удивлены?
Вам никогда не говорили, слова, вроде ``а в ваши то годы, имярек уже был ого-го''... Мы смотрим на добившихся успеха людей, и думаем -- ``вот ведь повезло''. Не так все. Изначально предопределенные жизненные пути встречаются крайне редко. Как правило любой человек в нашем мире может достигнуть чего угодно -- было бы желание и время 17.
Но не буду вас излишне утомлять -- перехожу к сути. Данный раздел посвящен поиску и анализу времяпотерь пользователя компьютера вообще и OS Linux в частности. Данная тема (как, впрочем, и вся статья) является открытой и я с удовольствием обсужу её с вами лично.
Метод разрешения проблемы -- ``SOLO на клавиатуре''. Программа, за 30 часов занятий (и вы решаете как их употребить: один месяц по часу, или пара полных дней) обучающая вас методу слепой десятипальцевой печати. Поддерживается обучение печати в кириллице, латинице, и, зачем-то, транслит.
Метод разрешения проблемы -- обучение скорочтению. Данные курсы предлагает, например, школа Андреева. Время обучения -- от месяца и выше.
Метод разрешения проблемы -- man fvwm, man xterm, man xrdb...
Метод разрешения проблемы -- знать систему достаточно хорошо, чтобы доверять ей. Плюс немножко аутотренинга.
Кроме этого, для того чтобы правильно решить поставленную задачу, нужно уметь пользоваться средствами поиска информации. Начиная от apropos и apt-cache, и кончая Google. Почему ``кончая'' -- потому что его база слишком универсальна.
Метод разрешения проблемы -- читать умные книжки, ознакомиться по крайней мере с десятком современных ЯП...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Перед началом изучения нового инструмента всегда полезно разобраться -- а нужен ли он? Не стоит попусту тратить свое время, чтобы потом признать -- ``не мое''. А времени на первичное изучение OS Linux требуется больше, чем для WindowsOS-подобных систем. Посему я и постараюсь в этом разделе очертить основные резоны ``за'' и ``против''.
Во первых -- а нужно ли вообще что-либо выбирать? Не лучше использовать наиболее популярный вариант? Да -- лучше. Тем, кому по сути компьютер (как универсальный программируемый инструмент) и не нужен (а нужен аналог Palm с парой-тройкой программ). Тем, кто использует компьютер не часто и кого не волнует эффективность и удобство его работы (достаточно привычности и однообразности). Таких большинство и это нормально.
Во вторых -- есть ли у вас время? Если со всех сторон deadlines, то познание нового сильно ограничено, а на изучение Linux и начало эффективной работы в нем уходят обычно месяцы...
В третьих -- в чем ваша специализация? Какие программы для вас необходимы? UNIX разрабатывался в первую очередь для эффективной работы программистов4 и если вас приводит в ужас программа в десяток строк, или командная строка, то Linux, вероятно, не для вас. Спектр программного обеспечения также несколько специфичен. Так, например, там есть почти все, что может понадобиться ленивому5 человеку (а тем более программисту), тогда как для музыканта, дизайнера, или представителя еще некоторых профессий в Linux, скорее всего, повышение эффективности работы с имеющимся инструментарием не сможет компенсировать потерь от недостатка необходимого им профессионального программного обеспечения. Использование Linux оправдано тогда, когда у вас нет жесткой привязки к WindowsOS-софту, либо не страшит использование их внутри эмулятора компьютера, вроде WMWare.
В четвертых, для быстрейшего разрешения возникающих вопросов необходимо знание технического английского языка и умение читать документацию.
В пятых -- желателен выход в Internet. Так как данная статья распространяется только по сети, то оный выход у вас, видимо есть.
Теперь рассмотрим то, что дает Linux тем, кого не устрашили вышеприведенные пункты:
Выбор, как всегда, за вами...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Довольно часто начинающие встают перед выбором. Что им делать? Моя позиция -- попробуйте все, в дальнейшем сами разберетесь. Это правильно, но все-таки я попытаюсь по возможности объективно19 поделиться с вами своими мыслями по каждому из вариантов. Моя позиция не статична и вполне возможно меня переубедить. Воспринимайте эту часть как предложение к обсуждению.
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...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
В чем достоинство tar.gz архивов с (как правило) исходниками? Видимо, в максимизации вашего контроля над системой. Вы прямо контролируете процесс настройки/инсталляции пакета и точно знаете (конечно после определенного периода печальной практики) что происходит. Эти этапы явно выделены в соответствующие команды:
./configure make make test make install
Кроме того тут уж хотите вы того, или нет - придется изучать вашу систему, компилятор, программу make и по крайней мере язык C. Хорошо ли это? Вероятно, да. Настолько ли это хорошо? Решать вам.
Давайте рассмотрим вариант возникновения некоей проблемы. Проблемы всегда возникают -- особенно поначалу. Как решать? Если со сферой действия проблемы мы ранее общались только через графические программы, то очевиден весьма высокий порог вхождения в курс дела и устранение не устраивающих нас моментов вполне может быть отложено на неопределенный срок... Командный интерфейс подразумевает общение с программой на почти что языке. Почти английском. Что снижает порог вхождения по крайней мере до внимательного чтения документации. Соответственно, изначальная привычка к работе не только с интерфейсом (графическим и консольным), но и с исходным кодом, повышает вероятность решения проблемы не только в предусмотренных автором проблемной программы рамках, но и вне их. Теперь рамки устанавливают только наши способности, и если их (в чем-либо) оказывается больше, чем у авторов дистрибутивного ПО, то вероятность решения проблем довольно высока, а у автора весьма повышается вероятность получения не простого bug-report`а, но сразу patch...
Проходят годы, собран и неоднократно пересобран весь софт, получен опыт, известно, что ожидать от того, или иного пакета, и в системе становится по настоящему уютно... Визуализируйте себе понятие уют. Обычно под ним представляют человека с книгой, в собственном доме, в кресле и перед камином... За окном гроза, а нам тепло и спокойно...
Почему спокойно?
Предсказуемость.
Мы уверены, что ветер не разобьет окно, камин не подожжет ковер, из окон и дверей не дует, а книга не разочарует...
Так и в своей системе, которую мы собирали по кирпичику, руками (а точнее головой -- ну почему, интересно, довольно интеллектуальную работу называют ручной?) проверили и установили все связи (не путать с зависимостями), знаем чего ожидать от системы и большинства пакетов и программ...
В противовес черному ящику под красной шляпой22 :o) ...
Итого данный тип дистрибутивов (лучшим представителем которого является на мой взгляд SlackWare23) рекомендуется людям, желающим либо полного контроля над системой (и способных его удержать), либо в полной же мере изучить OS Linux, но себе вместе с тем особо не доверяющих (ибо изучать Linux можно и в любом ином дистрибутиве), и желающих себя заставить его изучать...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Второй тип - RPM-based. RPM, кстати, является представителем очень любимых в open source мире рекурсивных аббревиатур (RPM = RPM Package Manager24). Данный менеджер пакетов привлекает своей простотой - rpm -i пакет.rpm, rpm -r пакет и никакой мороки с компиляцией...
Это да - с компиляцией мороки нет, но (увы) начинается морока с самим менеджером пакетов, коий у меня, к примеру, неоднократно вынуждал сказать rpm -rebuilddb, а раз, обновив себя, решил, что не поддерживает формат базы данных предыдущей версии rpm (после чего долго уверял, что не может ничего поставить по причине отсутствия как glibc пакета, так и всей остальной системы...). Также RPM-пакеты отличаются слабой системой контроля зависимостей, что часто вынуждает пользователей использовать rpm -nodeps, что является явным признаком его недоработанности...
Ну да оставим менеджер пакетов в покое - перейдем к анализу достоинств и недостатков существующих на базе RPM дистрибутивов.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Данный дистрибутив по праву считается наиболее популярным, но это для нас не критерий - ведь мы не за популярностью гонимся (иначе бы не выбирали Linux, а использовали более популярную в настоящее время WindowsOS)? Но популярность дистрибутива делает свое черное дело - большая часть софта в первую очередь рассчитана на работу именно в нем (кстати и большинство бумажных книг также рассчитано на RedHat-users), в силу чего RedHat имеет славу наиболее нестабильного дистрибутива (считается, например, что x.0 версия является по сути альфа-версией, а вот x.1 - уже бета, возьмите к примеру RedHat 7.1 в котором по умолчанию не подгружается модуль CD-ROMа)25. А уж сколько этот дистрибутив ставит лишнего при инсталляции...
Авторы RedHat на мой взгляд являются пионерами, толкающими локомотив софтварного прогресса, они оказывают нам неоценимую услугу путем разработки нового софта, доработке старого и тестировании всего этого на своих пользователях (еще пример - широко известный баг в компиляторе gcc_2.96, который довели до ума именно благодаря множественным сообщениям о его ошибках, обнаружившихся после включения оной версии компилятора в дистрибутив RedHat)...
Огромное спасибо им за это (потомки не забудут, а современники всемерно способствуют постоянному росту акций этой американской компании), но нам ведь и работать надо26...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Этот дистрибутив очень популярен в Европе27, а в Германии, откуда он родом, является стандартом де-факто. Говорят Linux, подразумевают SuSE. Естественно, что германские производители ПО стараются ориентироваться в первую очередь на него. Разработчики SuSE тесно сотрудничают с командами XFree86 и KDE, драйвера новых видеокарт часто появляются в SuSE еще до выхода их в составе официальных релизов xfree. SuSE ориентируется в первую очередь на использование в качестве дектопа, поэтому в стандартную установку включены все пакеты, которые необходимы для повседневной работы, уже настроенные, с установленными темами и прочими красивостями. Предметом заслуженной гордости команды SuSE является процедура установки системы - достаточно вставить в дисковод загрузочный DVD или CD, ответить на пару простых вопросов и... конечно, можно во время установки сходить за кофе, но боюсь, что допивать вы его будете уже глядя на загрузившуюся, полностью готовую к работе систему SuSE Linux.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Теперь рассмотрим творение французских разработчиков - 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 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. Именно под управлением этой 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 параллельно развивающиеся ветки:
Основными достоинствами Debian GNU/Linux по праву считаются:
В отличие от большинства современных дистрибутивов Debian GNU/Linux не идет по пути постоянного повышения требовательности к ресурсам (так у RedHat минимальным рекомендуемым объем RAM является 128Mb) -- его системные рекомендации и для последних версий содержат строки35:
Если Вы хотите понять и эффективно использовать такой замечательный инструмент, как Linux, серьезно изучить его, не занимаясь при этом непрерывным поиском файлов настройки, документации, недостающих пакетов, если вы цените свое время, то Debian - для Вас.
Если Вам близка идея свободы программного обеспечения, если Вы хотите приобщиться к сообществу разработчиков и пользователей Linux, получить помощь от коллег и помочь им, то Debian - для Вас.
И, наконец, если Вам не безразлична надежность, если компьютер для Вас не игрушка, а рабочий инструмент -- Debian GNU/Linux наилучший выбор...
Это система, созданная для пользователей, а не покупателей (пусть и тех. поддержки)...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
В данном разделе рассказывается об основных моментах, необходимых как для понимания работы Linux, так и для повышения эффективности вашей работы в нем.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Обратите внимание, что KDE36/GNOME37 оканчиваются на ``E'', что означает слово Environment, то есть ``окружение''. В отличие от чего, например, IceWM является только WM (оконным менеджером), то есть тогда как задачей для IceWM является управление окнами (действиями с ними, оформлением), то KDE/GNOME предназначены еще и для подмены пользователю самого Linux на некое его подобие...
Учитывайте, что WindowManager (icewm, fwm, sawfish, etc...) и Desktop Environment (KDE, GNOME, ...) существенно различаются по своему назначению. Причем, почти любой WindowManager, кстати, легко может быть интегрирован в любое же окружение.
Давайте проанализируем - какие преимущества возможны при использования окружений:
Поясняю - задача ``отформатировать дискету''. Пользователь 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...
Не столь физическое эти ограничение и зависимость, как психологическое и, надеюсь, что на примере форматирования дискет я оное ограничение вам продемонстрировал...
Итого, на мой взгляд, работа в них не особо отличается по эффективности от работы, например, в WindowsXP, а к дальнейшему изучению системы они совершенно не располагают. При том, что интерфейс в последней продуман гораздо лучше, чем в указанных KDE/GNOME, которые посему воспринимаются только в качестве бесплатного аналога с потенциально богатыми возможностями, не более38...
Это со стороны пользователя. Со стороны же разработчика - KDE/GNOME вредны тем, что провоцируют писать программы не под Linux, а под них, что есть весьма грустно, особенно в свете определенной глючности Qt/Gtk (а также их прожорливости и нестандартизированности, выраженной в распихивании API по куче слабосистематизированных функций)...
Таким образом KDE/GNOME предназначены для сотворения из Linux лучшего Windows, чем WindowsOS. Но. Зачем это нужно, если работа в Windows неудобна? А в Linux удобнее...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Рекомендуется свежеобратившимся windows`оидам. Тут вам и рабочий стол, и корзина... Вот только если людям нужно, чтобы ``как в винде'', то зачем им Linux?
Ну и в плюс к этой идеологической диверсии Linux-way`а, KDE обладает довольно красивым (для любителей красивостей) интерфейсом. Говорят. Я лично полагаю наиболее симпатичным тот интерфейс, который не видно...
Тех, кому не лень делать за компьютер его работу, KDE вполне устроит.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Консольных (и не очень) редакторов в мире 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, но располагает именно к работе с ним, вызывая его когда нужен редактор, а из него запускать только то, что имеет непосредственное отношение к редактированию текстов...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Обычно по умолчанию в качестве командного интерпретатора (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, а также с упомянутыми в ней и ваша жизнь в командной строке существенно упростится...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Для начала вам необходим дистрибутив. Практически все основные ветви дистрибутивов сейчас доступны как ISO-образы, выложенные на официальных сайтах производителей (либо на не менее официальных ftp-зеркалах), либо в ``коробочных'' версиях, то есть полным многодисковым (если, конечно, диск не DVD) набором в красивой коробке с книжечкой в комплекте. Способ стоит выбирать исхода из доступности для вас сети и финансовых соображений. Впрочем дистрибутивы Linux высокой ценой никогда не отличались и продаются практически по цене носителей и полиграфии. Для первого раза я рекомендую ``коробочный'' вариант, как наиболее красивый (хотя и долгий).
Получив тем, или иным способом диск (или иной предусмотренный в документации на ваш дистрибутив вариант и документацию по установке, загружаем программу-инсталлятор и внимательно читаем ее пояснения к каждому действию. Особенно осторожным следует быть при переразбивке диска этой программой. Для не-Debian GNU/Linux дистрибутивов (за исключением разве что SuSE) я даже рекомендую осуществить всю переразбивку диска заранее (до начала установки Linux) и данной возможностью инсталлятора не пользоваться.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Данный раздел предназначен для снижения входного барьера при использовании рассмотренных в нем программ и систем. Основной упор я сделаю на нюансах использования и укажу где брать более подробную информацию.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
В этом разделе я попытаюсь рассказать все, что вам необходимо знать для начала полноценного использования дистрибутива Debian GNU/Linux . Если можете что-либо добавить -- присылайте!
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Debian GNU/Linux предназначен в первую очередь для инсталляции его по сети (так вы получите наиболее свежую версию), но, конечно, существует и множество иных способов41. На сайте www.debian.org располагается список серверов, с которых можно скачать iso-образы дистрибутива. Текущая версия testing-ветки занимает около 8и компактов, но, конечно, совсем не обязательно закачивать все. Устанавливая Debian GNU/Linux 'Woody', я загрузил с сервера fsn.org только первые 2. Дистрибутивные компакты являются, конечно, загрузочными. Текстовое (было у меня - у вас уже может быть и графика - не важно) инсталляционное меню довольно понятно - позволяет при желании вернуться к любому пункту, немедленно подгрузить модуль вашей сетевой карты и продолжить установку уже не с компакта, а с одного из зеркал сервера debian.org.
Существует и русский перевод руководства по инсталляции Debian GNU/Linux .
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Русификация в последнее время уже обычно не представляет каких-либо проблем. 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 |
По умолчанию, загружается довольно много различных программ-демонов. Скорее всего они вам все и не нужны, зато могут оказаться полезными затраченные на них ресурсы42. Для удаления демонов из авто-загрузки используйте команду update-rc.d -f имя_демона remove.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Предположим, что мы нашли интересующий нас файл. Что это за файл нам расскажет команда 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 ----- #
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Пакеты программ рекомендую устанавливать при помощи консольного их менеджера 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.
Работа с пакетами обычно ведется следующими командами:
Рекомендую установить и ознакомиться с русским howto по APT, что завернуто в пакет по имени apt-howto-ru.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Зачастую одно и то же действие могут осуществлять несколько программ, или же версий одной программы. Например под оконным менеджером можно понимать как 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 |
Иногда бывает нужно контролировать ваши установленные пакеты на тему - не изменились ли входившие в них файлы... Для этого рекомендую воспользоваться пакетом debsums.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
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 |
Можно, конечно, ставить всю систему (включая и файл подкачки) в один раздел, но мне подобный вариант представляется неэффективным. Ведь тогда дисковое пространство системных областей становится зависимым от активности пользователя, нет возможности работать индивидуально с принципиально разными секциями (так, например, у меня раздел /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 |
Первым делом скопируйте файлы настроек IceWM из /etc/X11/icewm в каталог (~/.icewm). Теперь можно править.
В каталоге ~/.icewm у вас лежат следующие файлы:
Графическими конфигураторами для настройки IceWM я пользоваться не рекомендую в силу их глючности...
Весьма подробно настройка IceWM описана в его справке, что вызывается обычно из главного меню...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Данный 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. Начали!
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
В 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 |
Все действия в 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 # Переместить вверх-лево на 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 0 100 # Максимизация до размера половины экрана Maximize 50 50 # Разворачивает окно, оставляя на экране еще 60 пикселей Maximize 100 -60p
# Размер дека 2x2 # Вообще же число страниц может быть до 4 миллиардов :o) DeskTopSize 2x2 # Переходим на страницу GotoPage 1 1 # Или дек GotoDesk 0 0 # Перемещаем текущее окно (сами не переходим) MoveToPage 1 1 # Или на дек (и текущую по номеру страницу) MoveToDesk 0 0
# Повышаем уровень текущего окна. Layer 1 0 # Устанавливаем его уровень в 1 Layer 0 1
# Редактируем настроечный файл Exec exec gvim /home/nik/.fvwm/.fvwm2rc
# Выводим главное меню 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 |
Само собой разумеется, что вызов любой функции можно привязать к наиболее интуитивному для вас событию. События могут поступать, например, от клавиатуры и мыши. Синтаксис в обоих случаях (а они не единственны -- читайте документацию) одинаков: 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 |
В этом пункте я сообщу только о тех принципах оформления и о модулях, которыми пользуюсь сам. Как я уже упоминал -- документацию на 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 |
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Во первых запомните, что в ViM существуют 3 режима работы:
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Все возможности и команды редактора ViM перечислить весьма затруднительно (ибо HTML-документация по нему занимает около пяти мегабайт), но на группе наиболее (на мой взгляд) полезных остановиться необходимо. Перечисленные ниже команды вводятся в основном режиме (если нет специального уточнения). Все они имеют команднострочные аналоги и могут быть легко переопределены вами...
Для перемещения по тексту используйте следующие команды: ``(,)'' для перемещения по предложениям, ``{,}'' для параграфов, ``[[,]]'' для функций, ``%'' -- переход к парной скобке, ````'' -- к предыдущему положению, а ``<CTRL>-O, <CTRL>-I'' -- соответственно назад и вперед по истории переходов...
Также вы можете писать в регистр, воспользовавшись командой ``qметка'' и завершая запись по ``q''. Таким образом вы сохраняете макрос, выполнить который можно по ``@метка''.
Регистры с метками ``*'' и ``+'' совпадают с X-Window clipboards, ``%'' -- соответствует редактируемому файлу. Для просмотра содержимого всех регистров воспользуйтесь командой :registers, либо :reg метка1метка2... для просмотра некоторых...
au BufWinLeave *.* mkview au BufWinEnter *.* silent loadview
Для поиска с заменой используйте :%s/что/на что/gic, где ``%'' означает работу со всем текстом (а не с текущей строкой) ``g'' -- глобальная замена (а не первое совпадение), ``i'' -- игнорирование регистра, а ``c'' -- подтверждение каждого действия.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Основным конфигурационным файлом является, естественно, ~/.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 |
BIOS считывает с первых 512 байт вашего диска программу начальной загрузки. Таковые программы весьма различаются как внешне, так и функционально. Загрузчик от Win9x способен только на нахождение первого раздела диска (так называемого диска C:) и на загрузку и переадресацию выполнения на находящийся там код, который и производит загрузку OS. NTLoader более интеллектуален и способен на вывод загрузочного меню, в котором предлагает варианты загрузки, то есть откуда ему собственно загружаться -- с того, или иного раздела, а то и из файла... LinuxLoader (или lilo), во множестве своих модификаций способен на это и на многое другое. Также существует GRUB - GRand Unified Bootloader, который является официальным загрузчиком операционной системы GNU. GRUB несколько гибче и функциональнее lilo (так, нет нужды переустанавливать его после очередного обновления ядра), в настоящий момент все еще находится в стадии разработки, хотя уже и принят во многих дистрибутивах в качестве альтернативного.
Так, или иначе, в результате работы загрузчика запускается ядро Linux, которое путем процедуры инициализации осматривается вокруг и запускает метадемона init...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888 |
Не утруждайте себя набором часто повторяемого кода -- используйте аббревиатуры. К примеру для объявления подпрограмм на языке 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'' осуществляет вывод строки с объявлением находящейся под курсором переменной (точнее первое вхождение данного идентификатора).
Для перехода к находящейся под курсором функции воспользуйтесь ``
Если хотите просматривать ошибки не поэлементно, а и видеть перед глазами их полный список - используйте команду :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
Также будет не лишним ознакомиться (если вы хотите овладеть редактором в полном объеме) с его основным help-файлом, что вызывается обычно по <F1>.
Существует также и основанная на нем русская книга, которую не сложно найти в бумажном и электронном виде (файл имеет имя BookVim.ps).
Посетите также сайт www.vim.org - там помимо всего прочего вы найдете постоянно пополняемую коллекцию ViMTips и несколько плагинов к ViM`у.
Среди последних рекомендую, например, Tags-плагины для упрощения ориентирования в вашем коде (например, сгенерированное немного доработанным плагином taglist.vim меню содержит оглавление (естественно с возможностью быстрого перехода) данного LATEX-файла), help.vim (чья немного доработанная версия вызывает по ``
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Многие пользователи, только перейдя на Linux с более распространенной системы, дружно принимаются искать в нем Word-подобные программы.
И ведь находят!
Open/Star-Office, AbiWord, и многое другое...
И редко кто из них перед переносом своих привычек на новую систему задумывается о их эффективности.
Сама идея WYSIVYG45 изначально порочна тем, что, собственно видим мы далеко не все и не так.
Вы не замечали видимой с первого взгляда разницы между сайтами новичков (к примеру только что узнавших про тег <FONT> и активно его применяющих) от сайтов уже не новичков (использующих, к примеру, CSS) и их же от профессионалов?
А ведь многие новички уверены, что, например крупный фонт и яркий фон приятен их посетителям - они так видят...
А уверены ли вы, что оформите свою статью, или книгу лучше профессионала-верстальщика?
А если не уверены - то зачем-же тратить свои силы и время на чужую работу?
И вот именно для таких - задумавшихся - и существует программа LATEX.
Написанные с использованием несложной разметки (то есть разметки смысловой; типа указания маркером на макете книги - ``тут у меня будет оглавление, тут глава, а здесь библиография''; разве не того же требуют WYSIVYG-редакторы, но в гораздо большем объеме телодвижений?) тексты будто размечены профессионалом-верстальщиком...
А как вам возможность превратить свою сильно разросшуюся статью в книгу путем правки одного слова?
Показательна история возникновения TEX.
Итого я, надеюсь, убедил вас.
Для установки TEX (а точнее LATEX -- plain-TEX могут использовать только не меньшие оригиналы) вам потребуются tetex-* пакеты.
Установите их.
Для поддержки русского языка запустите из под привилегированного пользователя стандартную конфигурационную программу texconfig -- выбирайте меню hyphenation, далее меню latex и раскомментируйте строку со словом russian (убрать знак % перед ним). При выходе из программы форматные файлы автоматически перегенерируются.
Теперь можно работать с русским языком.
Для примера - файл данной статьи имеет следующий вид, изменяя который, вы сможете создавать свои:
Подробнее о русскоязычии в TEX-мире рассказывается в книге Евгения Балдина ``LaTeX, Unix и русский стиль''.
Также советую прочесть пару полновесных русскоязычных книг о LATEX, имеющихся, кстати и в электронном виде: книгу ``Не очень краткое введение в LATEX'' в переводе Тоботраса (файл lshortru.pdf) и ``LATEX: подробное описание'' Львовского (файл llang.pdf).
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
На текущий момент число существующих программ под Linux весьма велико.
Чтобы облегчить вам поиск нужных программ я кратко опишу наиболее на мой взгляд интересные.
Большинство рассмотренных програм (а точнее их исходники и DEB-пакеты) вы найдете в дистрибутиве Debian GNU/Linux , если их местонахождение не оговорено отдельно.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Для прослушивания музыки в консоли можно использовать 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
Под Linux существует множество программ для просмотра изображений во множестве форматов.
Из них я рекомендую программу gqview как наиболее функциональную и приятную в использовании.
Для просмотра видеофайлов (опять же во множестве существующих на настоящий момент форматах) можете использовать программу xine (имеет весьма не плохой графический интерфейс, поддерживает море форматов, но при всех ее достоинствах иногда умудрялась у меня тормозить на PIV 1.6ГГц), но лучшей программой на текущий момент считается mplayer (которая пока не тормозила ни разу).
В дистрибутив его, к сожалению, обычно не включают (ибо производитель настаивает на индивидуальной компиляции программы под каждую машину с целью наилучшей производительности), так что вам придется загрузить его с сайта www.mplayerhq.hu, или из CVS-репозитория по адресу mplayer.sourceforge.net с последующей сборкой из исходников (советую обратить внимание на опцию -with_gui)46...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
С целью сделать ваши быстрые клавиши независимыми от используемого в данный момент 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
Наиболее удобным из них с наибольшим числом доступных словарей является dict.
Он состоит из нескольких частей (пакетов):
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Эта тема неплохо разобрана в соответствующем 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
Жизнь не стоит на месте - сегодня вам позарез необходима некая программа, а завтра вы про нее забываете навеки.
Дисковое же пространство хоть и весьма дешево, но во первых - не следует разводить на нем помойку ненужных файлов, а во вторых при очередном apt-get dist-upgrade будут обновляться и не нужные вам программы, доступ же к сети бесплатен не для всех и забивать сеть никому не нужным трафиком не лучшее занятие...
Итого - проблема локализована, причем очевидна нееденичность случая ее возникновения.
Следовательно?
Значит она давно уже решена -- пакетом debfoster.
Но это еще не все.
На скольких языках вы можете читать сообщения от программ?
А сколько языков поддерживаются установленными вами программами?
Так ли вам необходимы все локали, занимающие, кстати, десятки мегабайт?
И эта проблема уже решена - установите программу localepurge.
При установке ее крайне аккуратно подходите к выбору локалей, предназначенных для сохранения - тут лучше перестраховаться...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Не секрет, что большинство пользователей 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, который у меня, например, имеет почти следующий вид:
И набрать lilo.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Для проверки правописания обычно используется программа GNU ispell.
Она имеет очень гибкие настройки и возможности для расширения.
Её можно использовать при проверке правописания текстов, написанных на языках, отличных от английского, путём добавления новых словарей.
Словарь поддержки русского языка хранится в пакете irussian.
Если у вас все нормально, то можете инициировать проверку правописания для русских текстов путём вызова программы ispell имя_проверяемого_файла с опцией '-d russian', или без оной опции, если при установке irussian вы выбрали русский язык как используемый по умолчанию.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Далеко не всегда нас устраивает оригинальный формат хранения данных.
Многие не любят читать word-документы, другим почему-то не нравиться кодировка CP1251...
Мне, например, показалось весьма странным распространение книги Линуса Торвальдса ``Just For Fun'' в word формате -- пришлось отконвертировать ее в TXT вид...
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Данная проблема обычно решается путем поиска программ вида исходный2конечный форматы.
Так HTML-версия данной статьи получена из LATEX-версии благодаря работе программы latex2html47...
К сожалению не все авторы подобных программ придерживаются данного правила.
Соответственно сообщу основные (на мой взгляд) программы-преобразователи:
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Для перекодировки текстовых файлов рекомендую использовать программу 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
Иногда нужного пакета в дистрибутиве не находится (его там либо нет и не будет, либо еще нет, либо есть слишком старая версия), а в сети существует только его 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
На текущий момент (26 January 2003) документ имеет версию 0.25 и статус beta-версии, что означает возможность любому желающему не только дорабатывать эту статью (путем посылки мне дополнений), но и предлагать коренные изменения в структуре, или содержании.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
При написании данной статьи были использованы следующие материалы:
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
При размещении данной статьи на сайтах прошу указывать ссылку на оригинал (с целью обеспечения возможности читателям ознакомиться с последней версией).
При переводе статьи на иные языки, или любых ее исправлениях (добавление материалов, исправление моих ошибок и неточностей) буду благодарен за уведомление меня с предоставлением вашей версии...
Мои реквизиты:
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Загрузившись, демон init первым делом смотрит в файл /etc/inittab, выглядящий у меня следующим образом (несколько сокращенно и с моими комментариями)6:
Все, запускаемые тут скрипты физически находятся в каталоге /etc/init.d/7.
Синтаксис скриптов весьма прозрачен.
Для ручного запуска/перезапуска/останова/etc демонов, запускайте отвечающий за нужного вам демона скрипт с параметрами соответственно start/restart/stop/etc.
Как видите, у меня на первых трех консолях (а больше и не надо) запускается программа getty, которая выдает приглашение login: и вызывает программу login.
В принципе, процедура верификации может быть произвольной -- от привычного ввода имени и пароля (а то и без этого), до сканирования сетчатки глаза...
Так, или иначе, получив подтверждение, что вы это вы, программа login производит запуск вашего shell по умолчанию, из которого вы, набрав startx (или дописав эту строку в файл .profile) переходите в X-Windows system, попутно запустив наиболее вам удобный WindowManager...
Надеюсь, что снабдил вас достаточной информацией, для самостоятельно разрешения не устраивающего вас поведения системы при загрузке/выгрузке, либо при желании добавить к этим процессам что-либо свое.
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
Весьма подробно вопрос русификации разобран в книге Евгения Балдина ``Cyrillic HOWTO (russian)''.
Для примера.
Если вы желаете монтировать диски/дискеты/компакты с файлами в кириллической кодировке, то вам, несомненно поможет man mount и man fstab.
Для примера мой /etc/fstab помимо всего прочего содержит строки:
Copyleft © 2002-2003 г. Nikolay A. Panov, "Intro To Linux" (orig), niksite@mail.ru, ICQ: 122-40-8888
set shellpipe=2>&1\ \|\ tee
setlocal makeprg=perl\ -wc\ %
setlocal errorformat=%m\ at\ %f\ line\ %l%.%#,
\%-G%.%#
Next: Введение в LATEX
Up: Введение в ViM
Previous: Использование
Contents
Документация
Теперь рекомендую набрать в консоли команду vimtutor и прочитать (на русском языке) получасовой курс введения в использование редактора.
Next: Полезные программы
Up: Введения...
Previous: Документация
Contents
Введение в LATEX
Доктор Кнут, поверьте, дети, страшно крут.
И неважно что он пишет не о том,
Главное, чтоб все же вышел пятый том.
:o)
Одного программиста весьма расстраивало то, что вытворяли с его статьями издатели.
Одно время он даже перестал издаваться, но, поняв, что это не выход - решил проблему по своему (а он был, да и является до сих пор большим оригиналом).
Он посвятил довольно приличное время (годы) изучению издательского дела, когда же решил, что разобрался досконально - написал программу, назвал ее TEX и стал улучшать...
Прошли годы...
Выходили новые версии программы, асимптотически приближаясь снизу к числу (ну не оригинально ли?) - используемая мною версия - 3.14159... Исправлялись ошибки (автор утверждает, что ошибок в программе больше не осталось и я ему верю)...
И, наконец, он выпустил (и продолжает выпускать до сих пор) свою Книгу, оформленную его же программой...
Но это уже совсем другая история... :o)
\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}
Footnotes
Next: Музыка
Up: Введение в Linux (версия
Previous: Введение в LATEX
Contents
Полезные программы
Subsections
Next: Просмотр изображений/видеофайлов
Up: Полезные программы
Previous: Полезные программы
Contents
Музыка
Next: Клавиатурные комбинации
Up: Полезные программы
Previous: Музыка
Contents
Просмотр изображений/видеофайлов
Footnotes
Next: Словарь/переводчик
Up: Полезные программы
Previous: Просмотр изображений/видеофайлов
Contents
Клавиатурные комбинации
Next: Восстановление разделов
Up: Полезные программы
Previous: Клавиатурные комбинации
Contents
Словарь/переводчик
Next: Очистка диска от ненужных
Up: Полезные программы
Previous: Словарь/переводчик
Contents
Восстановление разделов
Next: Проверка правописания
Up: Полезные программы
Previous: Восстановление разделов
Contents
Очистка диска от ненужных файлов
Next: SysV-init.
Up: Загрузка.
Previous: Загрузка.
Contents
Мультизагрузка.
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"
Next: Конвертация
Up: Полезные программы
Previous: Очистка диска от ненужных
Contents
Проверка правописания
Next: Смена формата хранение данных
Up: Полезные программы
Previous: Проверка правописания
Contents
Конвертация
Subsections
Next: Перекодировка
Up: Конвертация
Previous: Конвертация
Contents
Смена формата хранение данных
Footnotes
Next: Сборка пакетов из исходников
Up: Конвертация
Previous: Смена формата хранение данных
Contents
Перекодировка
Next: Об этом документе
Up: Полезные программы
Previous: Перекодировка
Contents
Сборка пакетов из исходников
Next: Благодарности
Up: Введение в Linux (версия
Previous: Сборка пакетов из исходников
Contents
Об этом документе
Subsections
Next: Доступные форматы
Up: Об этом документе
Previous: Об этом документе
Contents
Благодарности
Программы:
Отдельное спасибо:
Next: Список изменений
Up: Об этом документе
Previous: Благодарности
Contents
Доступные форматы
Next: Соглашение об использовании документа
Up: Об этом документе
Previous: Доступные форматы
Contents
Список изменений
Up: Об этом документе
Previous: Список изменений
Contents
Соглашение об использовании документа
Документ распространяется под лицензией GNU FDL48.
Вкратце: Вы можете распространять этот документ в любом виде при условии предоставления исходников; Вы можете распечатывать этот документ для себя; Вы можете его модифицировать (или копировать часть информации) при условии сохранения на результат текущей лицензии; При печати больших тиражей49, а так же для изменения текущей лицензии вам следует получить разрешение автора.
Для получения более подробной информации об этом типе лицензии следует обратиться к первоисточнику по адресу www.gnu.org.
Footnotes
Next: Русификация.
Up: Загрузка.
Previous: Мультизагрузка.
Contents
SysV-init.
# 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
Footnotes
Next: Поддержка устройств.
Up: Основы Linux.
Previous: SysV-init.
Contents
Русификация.
/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