Linux General HOW-TO
Данный текст предназначен для тех, кто решил перейти в своей повседневной работе на Линукс или делает первые шаги в нем. Для тех, кто уже что нибудь читал о UNIX вообще, но не знает, с чего начать установку Линукса – ищите первую часть этого документа, в ней это достаточна подробно описано.
Данная же часть большей частью предназначена для тех, у кого есть уже как минимум двухнедельный обыт работы под линуксом. На данном этапе вы уже должны знать что такое symbolic link, как пользоваться chown, chmod, как монтировать/размонтировать файловые системы и т.д. Если вы этого не знаете почитайте _ЛЮБУЮ_ книжечку про UNIX или ищете UNIX-FAQ, который я также сейчас пишу… Что будет закончено первым: этот текст или FAQ – неизвестно.
В данной части рассматриваются вопросы:
Следующие части, видимо, большей частью будут посвящены работе с
Линуксом в Интернет или локальной сети. Если будет предложена тема,
достойная рассмотрения в данном документе, она также туда войдет.
Ожидаемые пополнения в следующей части:
официальных HOWTO в удобно перевариваемом виде на русском. Мои комментарии
на основе реального опыта работы с этими фичами.
других сетевых сервисов.
далее. Что нужно знать при активной работе с разными ядрами.
мультипользовательская работа в сети. Введение в UNIX-security.
Если у кого есть предложения по расширению сего документа, то они
принимаються на 2:5020/630.60@fidonet, 909:5020/8@mswnet, ivanp@dsbw.ru
Это только мини-HOWTO. Ко мне приходит огромное количество вопросов,
связанных с Линуксом. Многие из них будут попадать в мой личный FAQ, который
будет опубликован сразу, как наберет весу чуть поболее. _ЛЮБЫЕ_ вопросы по
Линуксу приветствуются. Без битвы не отдам ни единого человека в царство
Билли. В день, когда я начал написание второй части данного документа я
узнал, что в Билли запустили тортом. Вот до чего доводит плохо написанный
софт… :)
Данный документ не являеться официальным, тем не менее эксклюзивный
копирайт (C) Иван Постников. Перепечатка в любом виде, кроме как
распространения в электронном виде – только с моего разрешения в любой
форме. При использовании документа ссылка не обязательна, но желательна.
Глава 1.
DOSEMU, WABI и т.д. Эмуляция других сред под Линуксом.
Надо сразу сказать, что все эмуляторы, да и весь софт вообще делится
на два класса – свободный и коммерческий. Сначала я опишу DOSEMU, потом
WABI версии 2.2. Далее я расскажу о тех эмуляторах, о существовании которых
мне известно.
DOSEMU – свободный продукт. Делиться на два основных потока -
стабильные версии и development версии. Все то новое, что признано народом
_НЕ_ глючным, перекочевывает в стабильную версию. Самая последняя версия
всегда доступна в недрах ftp://ftp.sunsite.unc.edu.
Новая версия появляеться как правило раз в 2-3 недели. Лично у меня стоит
достаточно древняя октярьская версия под номером 0.67.13. На ее основе и
будет развиваться наше наступление :). Для начала вам надо все это дело
куда нибудь сложить.
Рекомендую положить или в /usr/src или в /usr/local/src. При сборке любого
продукта сначала почитайте README, HISTORY, Changes и остальные подобные
файлы. Они помогут избежать 70% возникающих вопросов. Как и в случае с xrus
вы найдете в каталоге с ДОСЭМУ скрипт configure. Но это более умный скрипт.
Запустите его с ключом –help и почитайте. После этого запустите его с
нужными вам параметрами. Это сконфигурит ДОСЭМУ под требования вашей
системы. Затем просто набираете ‘make’. По идее, все должно скомпилиться на
ура. Если нет, у вас просто могут отсутствовать необходимые библиотеки.
Например, могут стоять .h файлы от Иксов, но сами Иксы с их библиотеками
отсутствовать. Если все собралось ‘на ура’, говорим ‘make install’. Сам
досэму у нас уже собран и стоит. Главная проблема не в этом. Главная задача
- _ГРАМОТНО_ его настроить. Пример конфига лежит в etc/config.dist, но я
рекомендую воспользоваться утилиткой setup-dosemu из дистрибутива. После
генерации конфига его необходимо поправить. Я думаю, что вам надо будет
сказать ‘dos’ и посмотреть, на что он ругнеться. Соответствующее место и
подправить в /etc/dosemu.conf. Если вы не один работаете на линуксе, но
рекомендую компилить без параметра –enable-runasroot в целях безопасности
системы в целом, а также создать файлик /etc/dosemu.users, где перечислить
пользователей, которым разрешаеться работать с досэмой. Если вам пофигу на
security, было бы неплохо добавить опцию ‘secure off’ в /etc/dosemu.conf,
дабы разрешить запуск DOS4GW приложений и им подобных. Для нормальной работы
с ДОСЭМУ вам понядобится несколько специфических утилит (EMS драйвер,
MOUSE-драйвер, утилитка для подключения Linux раздела как буквы ДОС и т.д.),
дежащие по умолчанию в src/commands/precompiled. Вам необходимо создать на
ДОС разделе некую директорию, в которую эти фалы и поместить. У меня они
лежат на C:\DOSEMU\. После этого вам необходимо создать соответствующие
config.sys и autoexec.bat. Если вы планируете испльзовать CDROM под
эмулятором, то /dev/cdrom должен указывать на соответствующее устройство.
Даю свои config/autoexec для того, чтобы вы поправили их под свои нужды.
— Start Cut: dosemu-config.sys —
— Start Cut: dosemu-autoexec.bat —
ваш CDROM
забудьте сказать ‘internaldriver’
корневой файловой системы Линукса.
Данный вариант достаточно унифицирован под любые задачи. Не советую
пускать из под Эмулятора _НИКАКОЙ_ вариант форточек. Для этих целей есть
WABI. О ней позже. По поводу опции sb_emu в /etc/dosemu.conf… В той
версии, что у меня есть, она не работает. Вернее, при работающей
sound-драйвере в Линуксе Эму загружаеться, игры и проги карточку видят, но
не более. Издавания звука я еще не добился. Я это считаю одним из глюков
той development версии Эмулятора, которой я пользуюсь. Скорее всего в новых
версиях это пофиксено.
Если вы собираетесь использовать в ДОСЭМУ дос-разделы с тех жестких
дисков, где нет разделов с Линуксом, то для большей скорости работы советую
поключать их в ДОСЭМУ опцией ‘wholedisk’, а не опцией ‘partition’. Это
позволит вам даже переразбивать диски fdisk’ом и форматировать их, и даже
запускать NDD и подобные низкоуровневые утилиты. Я не рекомендую ставить эту
опцию при работе с теми жесткими дисками, где есть Линукс по одной причине:
ДОСЭМУ – это всегда development продукт. И заранее неизвестно про возможные
глюки в этой области. Лично мне менее болезненно увидеть кореженый ДОС
раздел, а не Линуксовый… :) Количество памяти в конфигах ДОСЭМУ можно
выставлять какое угодно… Желательно, конечно, не вылезать за размеры
реальной оперативки… :)
WABI. Для начала: WABI – коммерческий продукт, написанный Sun
Microsystems… Поэтому по всем обнаруженным глюкам – туда, не забудьте
номер вашей лицензии… :) Итак, у нас есть архив WABI – в виде .cpio (Во
всяком случае у меня). Вам также понадобиться дистрибутив Windows 3.x (Я
рекомендую Windows 3.1 Rus), все .fon шрифты от уже установленной версии.
Все это заранее положите в доступное место. Итак, man cpio, разархивируем
архив, запускаем Иксы, из xterm’а пускаем Инсталлятор WABI, слушаем ее матюки
по поводу отсутствия файла-лицензии. Берем этот файл и кладем его туда, где
она его ищет. Опять хапускаем INSTALL-wabi. Указываем, где лежит дистрибутив
MS Win. Она долго думает, все сетупит. Сама WABI поставлена. Главная проблема
здесь, как и в ДОСЭМУ, -сконфигурить. На мой взгляд – единственная вещь,
которую необходимо конфигурить – русские шрифты. Итак. В первую очередь
берем и замещаем все шрифты в ~/wabi/windows/system/ на те, .fon шрифтинусы,
которые мы заранее приготовили. Потом лезем в ~/wabi/windows/system.ini и
win.ini. Смотрим там на все большими, широко открытыми глазами, и
переправляем все ссылки на .TTF шрифты. Она любит вместо .ttf в имени фала
поставить что-нибудь еще. :)) В результате у вас там должен быть списочек
типа:
—Begin Cut: win.ini.fonts.sample —
Если после этих манипуляций и телодвижений русского текста вам так
тольком и не видно – копайте дальше, но уже на предмет fixed-fonts (*.fon).
WABI любит по дефолту ставить некий свой фонт, но делает это с вероятностью
50/50. Ваша задача поставить на место этого Latin-Only фонта что-нибудь типа
vgafix.fon. Ладно. Одна задача решена. Теперь раскладка клавиатуры…
Вариантов три:
третьем варианте…:) Проблема три – принтер. Ввиду того, что встроенные
драйвера принтеров мне запустить не удалось я делаю так: ставлю _РОДНОЙ_
дравер из пакета MS Win 3.x, и говорю ему печатать в файл. Как файл
указываю R:\DEV\LP1 (У меня на R: лежит содержимое корня… ) :)). Изврат,
но работает. Изначальный вариант WABI будет работать _ТОЛЬКО_ при условии,
что у вас X11 работают в 8-битном режиме цветности. Если вам требуюется
более 256 цветов, то ищите Upgrade в недрах ftp://ftp.caldera.com.
Что касаеться эмуляторов других сред – мне известно о наличии
более-менее нормальных эмуляторов ZX Spectrum, Amiga, Atari, Mac под
Линуксом. Ввиду того, что я их не использую, я не буду рассказывать о них,
дабы не пудрить мозги без достаточных оснований для этого. Ищите,
компилируйте, ставьте, экспериментируйте… Учитывайте, что 100%-ной
эмуляции не бывает _НИКОГДА_.
Глава 2.
Компиляция программ под Линуксом, FAQ для начинающих.
Итак. Несколько вводных слов… У вас появилась некая прога под Линукс в исходниках… Первым делом, понятное дело, разархивируем ее в отдельный каталог в районе /usr/src, /usr/local/src… _ОБЯЗАТЕЛЬНО_ читаем все фалики типа README, Changes, etc. Это позволит избежать кучи вопросов по компиляции, установке, настройке данного пакета. Я здесь рассматриваю только тот софт, который написан под Линукс. Портирование сырцов под Линукс – тема отдельного мануала, который будет еще ну Очень не скоро… :) Ввиду того, что как правило файликов с сырцами N, а из всего этого будет скомпилировано 2-3 бинарника, существует такой файл, как Makefile. В нем описаны необходимые манипуляции для компилятора, также зачастую там же определяються некоторые параметры готовых бинарников. Этот файл есть в 90% случаев. В остальных – есть скрипт configure, который сам определяет, что нужно в данном конкретном контексте, и создает соответствующий Makefile… Перед тем, как что-либо компилировать, загляните в Makefile, там может оказаться много полезной информации. Также не вредно подправить при наличии такие фалй как setup.h, config.h и так далее. Сборкой всего барахла на основании Makefile занимаеться прога под названием make. По умолчанию она пытаеться брать инфу из Makefile, потом MAKEFILE и makefile. Если у вас несколько разных Makefile’ов, то укажите конкретно нужный вам опцией -f. То есть ‘make -f MyMakefile.Test’. После прочтения всех док, редактирования конфигов компилятора смело набираете make и смотрите…:) Итак, сам FAQ.
Q: ААаааа… У меня при компиляции все вывалилось с криками о синтаксисе где-то в нутрях исходников….. ЧТО ДЕЛАТЬ ?!?!?!
Q: Прога собралась, поставилась… Но где взять хотя-бы примеры конфигов для нее ?
Q: У меня все собралось на ура, но при попытке запустить все сваливаеться с SIGSEGV (Segmentation fault, core dumped)
Глава 4.
Компиляторы, отличные от gcc, другие языки под Линуксом, Java Development Kit.
Существует уйма различных компиляторов для Linux. Начнем с компиляторов C. Их использование дает вам преимущество по стравнению с gcc по различным областям: от обего повышения скорости работы биарника, до поддрежки специфичных комманд того-же Pentium-II. Распространяються обычно в виде исходника. Обязательно перед установкой прочтите файлики Changes, etc… Это основное правило компилирования или установки _ЛЮБОГО_ пакета. После установки рекомендую скомпилировать несколько простейших прог-тестов, дабы определить, насколько установленный вами компилятор отвечает вашим требованиям.
Вся поддержка других языков делится на 2 класса: это компиляторы, выдающие бинарники, и интерпретаторы, которые используються для создания скриптов на том или ином языке. Ярчайшим представителем второго класса являеться PERL. Как правило, они все идут в виде исходников, и вы при желании можете добавить/изменить комманды и/или их синаксис. В чем их различия ? Большей частью в количестве понимаемых инструкций и в некотором изменении синтаксиса.
JDK. Java Development Kit распространяеться в виде уже готовых бинарников. Лезьте за ним на ftp://ftp.sun.com. Я рекомендую разархивировать все енто дело куда-нибудь в /usr/jdk-x.x.x, и сделать связку этого каталога на /usr/jdk. проставьте после этого /usr/jdk/bin в PATH в /etc/profile. Также не забудьте проставить каталог /usr/jdk/lib/i586/green_threads в /etc/ld.so.conf.
Если вы планируете пускать Java-бинарники, не забудьте врубить поддрежку Java в ядре.



